/*
Theme Name: Deal Corner
Theme URI: https://dealcorner.com
Author: Dexter Banfield
Author URI: https://dexterbanfield.com
Description: Deal Corner WordPress Theme
Requires PHP: 7.4
Text Domain: dealcorner
*/

@charset "UTF-8";
/* CSS Document */

/*****************************************/
/* FONTS */
/*****************************************/

@font-face {
	font-family: Poppins-Thin;
	src: url(fonts/Poppins-Thin.ttf);
	/*font-weight: 100;*/
}

@font-face {
	font-family: Poppins-Thin;
	src: url(fonts/Poppins-ThinItalic.ttf);
	font-style: italic;
	/*font-weight: 100;*/
}

@font-face {
	font-family: Poppins-ExtraLight;
	src: url(fonts/Poppins-ExtraLight.ttf);
	/*font-weight: 200;*/
}

@font-face {
	font-family: Poppins-ExtraLight;
	src: url(fonts/Poppins-ExtraLightItalic.ttf);
	font-style: italic;
	/*font-weight: 200;*/
}

@font-face {
	font-family: Poppins-Light;
	src: url(fonts/Poppins-Light.ttf);
	/*font-weight: 300;*/
}

@font-face {
	font-family: Poppins-Light;
	src: url(fonts/Poppins-LightItalic.ttf);
	font-style: italic;
	/*font-weight: 300;*/
}

@font-face {
	font-family: Poppins-Regular;
	src: url(fonts/Poppins-Regular.ttf);
	/*font-weight: 400;*/
}

@font-face {
	font-family: Poppins-Regular;
	src: url(fonts/Poppins-Italic.ttf);
	font-style: italic;
	/*font-weight: 400;*/
}

@font-face {
	font-family: Poppins-Medium;
	src: url(fonts/Poppins-Medium.ttf);
	/*font-weight: 500;*/
}

@font-face {
	font-family: Poppins-Medium;
	src: url(fonts/Poppins-MediumItalic.ttf);
	font-style: italic;
	/*font-weight: 500;*/
}

@font-face {
	font-family: Poppins-SemiBold;
	src: url(fonts/Poppins-SemiBold.ttf);
	/*font-weight: 600;*/
}

@font-face {
	font-family: Poppins-SemiBold;
	src: url(fonts/Poppins-SemiBoldItalic.ttf);
	font-style: italic;
	/*font-weight: 600;*/
}

@font-face {
	font-family: Poppins-Bold;
	src: url(fonts/Poppins-Bold.ttf);
	/*font-weight: 700;*/
}

@font-face {
	font-family: Poppins-Bold;
	src: url(fonts/Poppins-BoldItalic.ttf);
	font-style: italic;
	/*font-weight: 700;*/
}

@font-face {
	font-family: Poppins-Black;
	src: url(fonts/Poppins-Black.ttf);
	/*font-weight: 800;*/
}

@font-face {
	font-family: Poppins-Black;
	src: url(fonts/Poppins-BlackItalic.ttf);
	font-style: italic;
	/*font-weight: 800;*/
}

@font-face {
	font-family: Poppins-ExtraBold;
	src: url(fonts/Poppins-ExtraBold.ttf);
	/*font-weight: 900;*/
}

@font-face {
	font-family: Poppins-ExtraBold;
	src: url(fonts/Poppins-ExtraBoldItalic.ttf);
	font-style: italic;
	/*font-weight: 900;*/
}

/*****************************************/
/* RESET */
/*****************************************/

#wpadminbar {
	display: none;
}

*,
*:before,
*:after,
*:hover,
*:active,
*:focus {
	outline: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-overflow-scrolling: auto;
}

html {
	scroll-behavior: smooth;
}

button {
	outline: 0;
}

/*ol, ul {list-style: none }*/
blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

input,
button {
	background: transparent;
	border: 0;
	border-radius: 0;
	-webkit-border-radius: 0;
	cursor: pointer;
}

textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
	-webkit-appearance: none;
	appearance: none;
}

textarea {
	font-family: Poppins-Regular;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input.error {
	border: 2px solid #ec3f3c;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

small,
sup,
sub {
	font-size: 80%;
}

sup {
	vertical-align: super;
}

sub {
	vertical-align: sub;
}

del,
strike,
s {
	text-decoration: line-through;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

* {
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

html,
body {
	margin: 0 !important;
	padding: 0;
	font-family: Poppins-Regular, Helvetica, Arial;
	font-size: 15px;
	color: #000;
	line-height: 1.2;
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}

body.background-red-polygon,
body.page-my-account,
body.page-store-manager-sign-up,
body.page-sign-in,
body.page-my-business-account,
body.page-order-complete,
body.page-choose-a-plan,
body.page-complete-your-business-profile,
body.page-business-sign-up {
	background: #fff url("images/dealcorner-background-red-polygon.svg") no-repeat center 300px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: Poppins-SemiBold, Helvetica, Arial;
	font-weight: 600;
	color: #000;
	text-align: left;
	text-transform: uppercase;
}

h1 {
	font-size: 40px;
}


a {
	color: #ec3f3c;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

b,
strong {
	font-family: Poppins-Bold, Helvetica, Arial;
	font-weight: bold;
}

.alignleft {
	float: left;
	margin: 0px 40px 40px 0px;
}

.alignright {
	float: right;
	margin: 0px 0px 40px 40px;
}

.aligncenter {
	text-align: center;
	margin: 0 auto;
}

.textaligncenter {
	text-align: center;
}

.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

.display-inline-block {
	display: inline-block !important;
}

p.small-text {
    font-size: 12px;
}

.red-text {
	color: #ec3f3c;
}

.light-grey-text {
	color: #757575;
}

.container {
	margin: 0 auto;
	width: 100%;
	max-width: 1440px;
}

/*****************************************/
/* COMMON */
/*****************************************/

.hide {
    display: none !important;
}

.hide-on-desktop {
    display: none;
}

.hide-on-mobile {
    display: inline-block;
}

.show-on-mobile {
    display: none;
}

.loading-animation {
	margin: 0;
	padding: 0;
	border: 3px solid #ddd;
	border-radius: 50%;
	border-top: 3px solid #333;
	width: 15px;
	height: 15px;
	-webkit-animation: spin .8s linear infinite;
	animation: spin .8s linear infinite;
	vertical-align: middle;
	display: inline-block;
}

@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/*****************************************/
/* WEBSITE HEADER */
/*****************************************/

#page-header {
	margin: 20px 0 40px 0;
	float: left;
	width: 100%;
	background: #fff;
}

body.home #page-header,
body.business #page-header {
	margin: 20px 0 0 0;
}

.header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#hamburger-menu-button {
    display: none;
}

#page-header .logo {
	flex: 1;
	text-align: left;
}

#page-header .logo-mobile {
    display: none;
}

#page-header .logo img,
#footer .logo img {
	width: 300px;
	height: auto;
}

.search-bar {
	flex: 2;
	display: flex;
	justify-content: center;
}

#page-header .search-bar {
    position: relative;
}

.search-form {
	margin: 0 auto;
	width: 230px;
}

.search-field {
	float: left;
	height: 33px;
	padding: 8px 0 8px 8px;
	border: 1px solid #ccc;
	border-radius: 10px 0 0 10px;
	border-right: none;
	background: #fff;
}

/* Standard selector */
::placeholder {
    font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #757575;
}

/* WebKit browsers */
::-webkit-input-placeholder {
    font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #757575;
}

/* Firefox 4 - 18 */
:-moz-placeholder {
    font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #757575;
    opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
    font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #757575;
    opacity: 1;
}

/* Internet Explorer 10-11 */
:-ms-input-placeholder {
    font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #757575;
}

/* Microsoft Edge */
::-ms-input-placeholder {
    font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #757575;
}

textarea::placeholder {
	font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #757575;
}

textarea::-webkit-input-placeholder {
	font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #757575;
}

textarea:-moz-placeholder {
	font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #757575;
	opacity: 1;
}

textarea::-moz-placeholder {
	font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #757575;
	opacity: 1;
}

textarea:-ms-input-placeholder {
	font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #757575;
}


.search-submit {
	float: left;
	height: 33px;
	border: 1px solid #ccc;
	border-radius: 0 10px 10px 0;
	border-left: none;
	padding-left: 0;
	background: #fff;
}

.search-submit i {
	color: #000;
}

.user-navigation {
	flex: 1;
	text-align: right;
}

/* heart icon */

.far.heart-icon {
	font-size: 20px;
	color: #000;
}

.fas.heart-icon {
	font-size: 20px;
}

/* notification bell */

.notification-container {
	position: relative;
	display: inline-block;
	margin-left: 20px;
	font-size: 20px;
	/* Adjust icon size */
	color: #000;
	/* Default icon color */
}

.notification-bell {
	cursor: pointer;
    color: #000;
}

.badge {
	position: absolute;
	top: -10px;
	/* Adjust position */
	right: -10px;
	/* Adjust position */
	background-color: black;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

/* sign in / sign up */

.user-dropdown {
	position: relative;
	display: inline-block;
}

.user-dropdown a {
	text-decoration: none !important;
}

.user-dropdown-button {
	color: #000;
	background: #fff;
	padding: 10px 20px;
	margin-left: 20px;
	font-size: 15px;
	border: none;
	cursor: pointer;
	border-radius: 5px;
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid #777;
	border-radius: 10px;
}

.user-dropdown-button i {
	font-size: 18px;
	color: #000;
}

.user-dropdown-content {
	position: absolute;
	top: 100%;
	left: 50%;
	margin: 0 0 0 -100px;
	width: 200px;
	background-color: white;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	border: 1px solid #dcdcdc;
	z-index: 10;
	overflow: hidden;
	display: none;
}

.user-dropdown-content a {
	color: #333;
	padding: 5px;
	font-size: 12px;
	text-decoration: none;
	text-align: center;
	display: block;
	border-bottom: 1px solid #dcdcdc;
}

.user-dropdown-content a:hover {
	color: #fff;
	background-color: #ec3f3c;
	border-bottom: 1px solid #ec3f3c;
}

.user-dropdown:hover .user-dropdown-content {
	display: block;
}

/*************************************************/
/* DEALS SEARCH */
/*************************************************/    

#deal-search-results{
    position: absolute;
    margin-top:40px;
    padding:8px;
    width: 100%;
    max-width:360px;
    max-height:70vh;
    background:#fff;
    overflow-y:auto;
    border:1px solid #e4e4e4;
    border-radius:10px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    z-index:9999;
    display:none;
}

.deal-search-empty {
    padding: 14px;
    color: #666;
    font-size: 14px;
}

.deal-search-result {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 10px;
    padding: 10px;
    border-radius: 10px;
}

.deal-search-result+.deal-search-result {
    border-top: 1px solid #f2f2f2;
}

.deal-search-result .deal-image img {
    width: 76px;
    height: 76px;
    object-fit: cover;
    display: block;
}

.deal-search-result .deal-info a.business-name {
    display: inline-block;
    font-family: Poppins-Regular;
    font-size: 11px;
    text-decoration: none;
    margin-bottom: 2px;
    color: #000;
}

.deal-search-result .deal-info a.deal-name {
    display: block;
    font-family: Poppins-SemiBold;
    font-size: 14px;
    margin-bottom: 4px;
    text-decoration: none;
    color: #000;
}

.deal-search-result .deal-info a.business-name:hover,
.deal-search-result .deal-info a.deal-name:hover {
    text-decoration: underline;
}

.deal-search-result .deal-info .rating-reviews {
    font-size: 11px;
    color: #444;
    margin-bottom: 6px;
}

.deal-search-result .deal-info .deal-start-end-date div,
.deal-search-result .deal-info .deal-start-end-date div i {
    font-size: 11px;
}

/*****************************************/
/* WEBSITE NAVGIATION */
/*****************************************/

#desktop-menu-container {
	float: left;
	width: 100%;
    margin-top: 20px;
	padding: 20px 0;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

#desktop-menu {
	margin: 0;
	padding: 0;
	text-align: center;
}

#desktop-menu li {
	padding: 0 40px;
	display: inline-block;
}

#desktop-menu li a {
	padding: 0 0 10px 0;
	font-family: Poppins-SemiBold;
	font-weight: 600;
	color: #000;
	text-decoration: none;
}

#desktop-menu li a:hover,
#desktop-menu li.current_page_item a,
#desktop-menu li.current-menu-item a,
#desktop-menu li.current-category-ancestor a {
	color: #ec3f3c;
	border-bottom: 4px solid #ec3f3c;
}

/*****************************************/
/* WEBSITE FOOTER */
/*****************************************/

#footer {
	float: left;
	width: 100%;
	padding: 40px 0;
	background: #fff;
}

#footer .logo {
	float: left;
	margin: 0 100px 0 0;
}

#footer .logo img {
	width: 75px;
	height: auto;
}

.footer-menu-column {
	float: left;
	margin: 0 100px 0 0;
    font-size: 15px;
}

.footer-menu-column p {
    font-size: 13px;
}

.footer-menu-column h2,
.footer-menu-column h3 {
	margin: 0 0 15px 0;
	font-size: 15px !important;
	text-transform: none;
	text-align: left;
}

.footer-menu-column ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu-column ul li {
	margin: 0;
	padding: 0;
}

.footer-menu-column ul li a {
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 13px;
	color: #000;
	display: block;
	text-decoration: none;
}

.footer-menu-column ul li a:hover {
	text-decoration: underline;
}

.footer-menu-column p.small-text {
    margin: 0 0 10px 0;
}

.footer-column-right {
	float: right;
}

.footer-column-right .follow-us {
    padding-right: 15px;
	color: #ec3f3c;
	font-family: Poppins-SemiBold;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
}

#footer-newsletter-sign-up-submitted {
    max-width: 196px;
}

.mobile-accordion { border: 0; }

.mobile-accordion > summary {
    cursor: default;
    padding-left: 0;
}

.mobile-accordion > summary::before { content: ""; }

.mobile-accordion > summary {
    list-style: none;
}
.mobile-accordion > summary::marker {
    content: "";
}
.mobile-accordion > summary::-webkit-details-marker {
    display: none !important;
}

.mobile-accordion > summary::before,
.mobile-accordion[open] > summary::before {
    content: "";
}

body.business-logged-in .footer-menu-column ul li.my-account a {
    display: none;
}

body.customer-logged-in .footer-menu-column ul li.manage-business a,
body.customer-logged-in .footer-menu-column ul li.business-dashboard a,
body.customer-logged-in .footer-menu-column ul li.business-contact-us a  {
    display: none;
}

.social-icons {
	margin: 10px 0 0 0;
	display: flex;
	gap: 15px;
}

.social-link {
	color: #ec3f3c;
	font-size: 24px;
	text-decoration: none;
	text-align: center;
	display: inline-block;
}

.follow-us-large-icons {
	text-align: center;
	display: block;
}

.follow-us-large-icons .social-icons {
	margin: 40px auto;
	justify-content: center;
}


.follow-us-large-icons .social-link {
	font-size: 42px;
}

.social-link:hover {
	transform: scale(1.1);
	color: #c22b29;
	/* Slightly darker red on hover */
}

#copyright {
	clear: both;
	float: left;
	margin: 20px 0 0 0;
	font-size: 12px;
	text-align: left;
}

.terms-privacy {
	clear: both;
    float: right;
	margin: 0;
}

.terms-privacy a {
	font-size: 12px;
	color: #000;
	text-decoration: none;
}

.terms-privacy a:hover {
	text-decoration: underline;
}

/*****************************************/
/* CUSTOMER SIGN-UP */
/*****************************************/

.divider {
	display: flex;
	align-items: center;
	text-align: center;
	margin: 20px 0;
}

.divider::before,
.divider::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid #757575;
}

.divider:not(:empty)::before {
	margin-right: 10px;
}

.divider:not(:empty)::after {
	margin-left: 10px;
}

/*************************************************/
/* COMPLETE CUSTOMER PROFILE - BUSINESS DROPDOWN */
/*************************************************/

.select-businesses-dropdown-container {
	position: relative;
	width: 100%;
}

.select-businesses-dropdown-toggle {
	padding: 10px;
	border: 1px solid #ccc;
	cursor: pointer;
	background-color: #f9f9f9;
	border-radius: 30px;
}

.select-businesses-dropdown-toggle.active {
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
    color: #000;
}

.select-businesses-dropdown-container .select-businesses-dropdown-toggle::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 20px;
	width: 10px;
	height: 10px;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #757575;
	border-bottom: 2px solid #757575;
}

.select-businesses-search-input {
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

.select-businesses-dropdown-list {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
	max-height: 200px;
	overflow-y: auto;
	border: 1px solid #ccc;
	background-color: #fff;
	border-top: none;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.business-option {
	padding: 10px;
	cursor: pointer;
	border-bottom: 1px solid #eee;
}

.business-option:hover,
.business-option.keyboard-highlight {
	background-color: #f0f0f0;
}

.business-option.selected {
	background-color: #ec3f3c;
	color: #fff;
	font-weight: bold;
}

/**************************************************************/
/* COMPLETE CUSTOMER PROFILE - SELECT PREFERRED SHOPPING AREA */
/**************************************************************/

#page-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 99999999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#page-overlay .loading-animation {
    width: 50px;
    height: 50px;
}

.loading-message {
    margin-top: 30px;
    font-size: 18px;
    color: #333;
    text-align: center;
}

#select-shopping-area {
    clear: both;
    float: right;
    margin: 0 0 10px 0;
}

.location-dropdown-container {
	width: 100%;
	position: relative;
}

body.home .location-dropdown-container {
    float: right;
    margin: 20px 0 0 0;
    width: auto;
}

.location-dropdown-toggle {
	padding: 10px;
	border: 1px solid #ccc;
	background: #f9f9f9;
	border-radius: 30px;
	cursor: pointer;
}

.location-dropdown-toggle.active {
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.location-dropdown-container .location-dropdown-toggle::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 20px;
	width: 10px;
	height: 10px;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #757575;
	border-bottom: 2px solid #757575;
}


#select-shopping-area .location-dropdown-toggle {
    padding: 10px;
    border: 2px solid #000;
    border-radius: 12px;
    font-family: Poppins-SemiBold;
    font-size: 18px;
    background: #fff;
}

#select-shopping-area .location-dropdown-toggle::after {
    border: 0 !important;
}

#select-shopping-area .location-dropdown-list {
    left: auto;
    width: 320px;
}

.down-arrow {
    margin: 0 0 0 10px;
    padding: 0;
    width: 10px;
    height: 10px;
    pointer-events: none;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #757575;
    border-bottom: 2px solid #757575;
    display: inline-block;
}

.preferred-shopping-area .down-arrow {
    display: none !important;
}

.location-dropdown-list {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 9999;
	background: #fff;
	border: 1px solid #ccc;
	max-height: 250px;
	overflow-y: auto;
	border-top: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.region {
	position: relative;
	padding: 10px;
    padding-right: 30px;
	font-weight: bold;
	background: #eef;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
}

.region::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #757575;
	border-bottom: 2px solid #757575;
	transition: transform 0.2s;
}

.region.active {
	background-color: #888;
	color: #fff;
}

.region.active::after {
	transform: translateY(-50%) rotate(-135deg);
	border-color: #fff;
}

.town-option {
	padding: 10px;
	cursor: pointer;
	border-bottom: 1px solid #eee;
}

.town-option:hover {
	background: #f0f0f0;
}

.region.selected-region {
	background-color: #444;
	color: #fff;
}

.region.selected-region::after {
	border-color: #fff;
	transform: translateY(-50%) rotate(-135deg);
}

.town-option.selected {
	background-color: #ec3f3c;
	color: #fff;
	font-weight: bold;
}

.town-option.disabled {
	background: #eee;
	color: #999;
	cursor: not-allowed;
}

/*****************************************/
/* SIGN IN */
/*****************************************/

.sign-in-form {
	margin: 20px 0;
}

.sign-in-form input[type=text],
.sign-in-form input[type=password] {
	width: 100%;
	max-width: 480px;
}

.sign-in-tabs {
	margin: 0 auto 40px 0;
	padding: 20px;
}

.tab-buttons {
	margin: 0 0 40px 0;
	float: left;
	width: 100%;
}

.tab-buttons button {
	float: left;
	margin: 0;
	padding: 10px 20px;
	width: 50%;
	font-weight: 600;
    color: #000;
	border: none;
	border-bottom: 2px solid rgba(0, 0, 0, .2);
	cursor: pointer;
}

.tab-buttons button.active {
	border-bottom: 2px solid #000;
}

.sign-in-tab-content {
	font-family: Poppins-Light;
	font-size: 12px;
	line-height: 1.2;
	text-align: center;
	display: none;
}

.sign-in-tab-content.active {
	display: block;
}

/*************************************************/
/* CUSTOMER FAVOURITES */
/*************************************************/    

.favourites-column {
    float: left;
    width: 50%;
}

.favourites-column:nth-child(1) {
    padding-right: 40px;
}

.favourites-column:nth-child(2) {
    padding-left: 40px;
}

/*************************************************/
/* CUSTOMER NOTIFICATIONS */
/*************************************************/    

#notifications-mark-all-as-read {
    padding: 0 0 0 20px;
    font-size: 16px;
    font-family: Poppins-Regular;
    text-transform: none;
    display: inline-block;
}

.notification-line {
    display: flex;
    align-items: flex-start; /* top-align children */
    padding-bottom: 20px;
    margin-bottom: 20px;
    font-family: Poppins-Regular;
    font-size: 16px;
    border-bottom: 1px solid #dcdcdc;
}

.notification-line:last-child {
    border-bottom: 0;
}

.notification-dot {
    width: 10px;
    height: 10px;
    flex: 0 0 10px; /* prevent shrinking or stretching */
    border-radius: 50%;
    margin-right: 8px;
    margin-top: 3px; /* micro-adjust top spacing */
}

/* unread state */
.unread .notification-dot {
    background-color: #ec3f3c;
}

/* default grey dot */
.notification-dot {
    background-color: #999;
}

.notification-message,
.notification-message a {
    color: #999 !important;
}

.unread .notification-message,
.unread .notification-message a {
    color: #000 !important;
}

.notification-date-read {
    padding: 10px 0 0 0;
    display: inline-block;
    font-size: 13px;
    color: #999;
}

.notification-mark-as-read {
    text-decoration: underline;
    cursor: pointer;
}

.notification-mark-as-read:hover {
    text-decoration: none;
}

/*****************************************/
/* PAGE CONTENT */
/*****************************************/

#page-content {
	clear: both;
	float: left;
	margin: 0 0 40px 0;
	width: 100%;
	min-height: 600px;
}

/*****************************************/
/* BUSINESSES - BUSINESS SIGN-UP */
/*****************************************/

#business-logo-missing,
#business-photos-missing {
    padding: 20px 0 10px 10px;
    font-size: 16px;
    color: #ec3f3c;
    display: none;
}

.curved-box-container {
	position: relative;
	margin: 0 auto;
	max-width: 780px;
	padding: 50px;
	width: 100%;
	min-height: 780px;
	border-radius: 20px;
	border: 1px solid rgba(0, 0, 0, .3);
	background: #fff;
}

.curved-box-container-no-min-height {
	min-height: auto !important;
}

.curved-box-container.fifty-percent-complete::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10px;
	height: 3px;
	/* Thickness of the red line */
	width: calc(50% - 10px);
	/* Halfway across */
	background-color: #ec3f3c;
}

.curved-box-container.one-hundred-percent-complete::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10px;
	height: 3px;
	/* Thickness of the red line */
	width: calc(100% - 20px);
	/* Halfway across */
	background-color: #ec3f3c;
}

.curved-box-container ul {
    margin: 10px 0 20px 15px;
    padding: 0;
}

h1.curved-box {
	margin: 10px 0;
	padding: 0;
	font-family: Poppins-SemiBold;
	font-weight: 600;
	font-size: 26px;
	color: #ec3f3c;
	text-transform: none;
    text-align: center;
}

h2.curved-box {
	margin: 40px 0 10px 10px;
	padding: 0;
	width: auto;
	font-family: Poppins-Medium;
	font-weight: normal !important;
	font-size: 15px !important;
	text-align: left !important;
	text-transform: none !important;
	display: block;
}

p.curved-box {
	margin: 0;
	padding: 0;
	font-family: Poppins-Medium;
	font-size: 22px;
	text-align: center;
}

.field-description {
	font-size: 12px;
	color: #757575;
}

#business-sign-up-form,
#customer-sign-up-form {
	margin: 0 auto;
	max-width: 540px;
    width: 100%;
}

select {
	appearance: none;
	/* Removes default arrow in most browsers */
	-webkit-appearance: none;
	/* Safari/Chrome */
	-moz-appearance: none;
	/* Firefox */
	color: #757575;
}

textarea,
select,
input[type="text"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="number"] {
	width: 100%;
	padding: 10px 15px;
	margin: 0 0 10px 0;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 30px;
	font-family: Poppins-Regular, Helvetica, Arial, sans-serif;
    font-size: 14px;
	display: inline-block;
    background: #fff;
}

#business-sign-up-form .select-business-category {
	position: relative;
}

#business-name-check-result,
#email-check-result {
	margin: 0 0 10px 10px;
	font-size: 12px;
	display: none;
}

.select-business-category::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 20px;
	width: 10px;
	height: 10px;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #757575;
	border-bottom: 2px solid #757575;
}

label.business-logo,
label.business-photos {
	margin: 0 0 0 10px;
	font-size: 14px;
	color: #ec3f3c;
	display: inline-block;
	cursor: pointer;
	border: 0;
}

label.business-photos i {
    float: left;
    height: 40px;
}

.business-logo .fa-solid.fa-upload .business-photos .fa-solid.fa-upload {
	margin-left: 10px;
	margin-right: 8px;
}

#logo-preview-container {
	margin: 0 0 0 20px;
    text-align: left;
}

#logo-preview-container .logo-preview {
    position: relative;
    display: inline-block;
}

.logo-thumb {
	width: 50px;
	height: 50px;
	object-fit: contain;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.remove-logo {
	position: absolute;
	top: -8px;
	right: -8px;
	background: #000;
	color: white;
	border-radius: 50%;
	font-size: 12px;
	width: 18px;
	height: 18px;
	text-align: center;
	line-height: 18px;
	cursor: pointer;
	font-weight: 600;
}


#first-name,
#last-name,
#email,
#phone {
	width: calc(50% - 10px);
}

#first-name,
#email {
	clear: both;
	margin-right: 12px;
}

.email-container,
.password-container {
	position: relative;
}

.password-container {
	margin: 0 auto;
	width: 100%;
}

.sign-in-tab-content .password-container {
    max-width: 480px;
}

.toggle-password,
.info-icon-form-field {
	position: absolute !important;
	top: 10px;
	right: 10px;
	cursor: pointer;
	font-size: 18px;
	color: #666;
}

.toggle-password:hover {
	color: #333;
}

#password-feedback {
	margin: 0 0 0 10px;
	padding: 0;
	line-height: 1 !important;
	display: none;
}

#password-feedback ul {
	margin: 10px 0 20px 0;
	padding: 0 0 0 20px;
}

.checkbox-field {
	float: left;
	margin: 0 0 0 10px;
}

input[type="checkbox"] {
	accent-color: #ec3f3c;
	/* changes checkbox background in supported browsers */
}

input[type="checkbox"]:checked {
	color: #fff;
	/* only works in some contexts */
}

.checkbox-label {
	float: left;
	margin: 0 0 0 10px;
	width: calc(100% - 40px);
}

.valid,
.error {
	font-size: 12px;
}

a.button-action,
input[type="submit"] {
	margin: 30px auto 0 auto;
	padding: 10px 30px;
    width: auto;
	font-size: 18px;
	font-family: Poppins-SemiBold;
	font-weight: 600;
	color: #fff;
	background: #000;
	border-radius: 30px;
    text-decoration: none;
	display: inline-block;
}

input[type="submit"] {
    display: block;
}

#receive-reminders,
#send-private-message-to-business {
    margin: 0 auto 0 auto;
}

.footer-menu-column input[type="submit"] {
    margin: 0;
    padding: 5px 15px;
    width: auto;
    font-size: 13px;    
    border-radius: 15px;
}

.three-column-layout {
	display: flex;
	gap: 30px;
	justify-content: center;
	padding: 30px;
}

.column {
	float: left;
	width: 100%;
}

.step-number {
	float: left;
	margin: 0;
	padding: 0 20px 0 0;
	width: 120px;
	font-size: 120px;
	text-align: right;
	color: #ec3f3c;
	line-height: 1;
}

.step-description {
	float: left;
	margin: 15px 0 0 0;
	padding: 0;
	width: calc(100% - 140px);
	font-size: 22px;
}

/***********************************************/
/* BUSINESSES - BUSINESS COMPLETE YOUR PROFILE */
/***********************************************/

#preview-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0 0 10px;
}

.preview-thumb {
	position: relative;
	width: 50px;
	height: 50px;
}

.preview-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.remove-thumb {
	position: absolute;
	top: -6px;
	right: -6px;
	background: #000;
	color: white;
	font-size: 12px;
	width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	border-radius: 50%;
	cursor: pointer;
}

#preview-count {
	margin: 10px 0 0 10px;
	font-size: 12px;
	color: #757575;
}

#tag-selector,
#category-selector {
	display: flex;
	gap: 10px;
	width: 100%;
	height: 45px;
	overflow-x: auto;
	/* Horizontal scroll only */
	overflow-y: hidden;
	white-space: nowrap;
	/* Prevent wrapping if you want a scroll row */
    -webkit-overflow-scrolling: touch;
        scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE/Edge legacy */
}



#category-selector::-webkit-scrollbar {
display: none;              /* Chrome/Safari */
}

#category-selector {
    display: block;
    max-width: 600px;
}

.tag-item,
a.tag-item,
.category-item,
.sub-category-item {
	vertical-align: middle;
	height: 25px;
	font-size: 12px;
	color: #757575;
    text-decoration: none;
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 5px 12px;
	margin: 0 0 5px 0;
	cursor: pointer;
	display: inline-block;
	/* Ensure it sizes to content */
	white-space: nowrap;
	/* Prevent multi-line tags */
}

a.tag-item:hover {
    color: #000;
    border: 1px solid #000;
}

.sub-category-item {
    margin: 0 5px 5px 0;
}

.tag-item.selected,
.category-item.selected,
.sub-category-item.selected {
	background-color: #ec3f3c;
	color: #fff;
	border-color: #ec3f3c;
}

.category-item {
	height: auto;
	font-family: Poppins-SemiBold;
	font-size: 15px;
	padding: 12px 24px;
	margin: 0 0 5px 0;
}

#category-selector {
	padding: 0 10px;
	height: auto;
	white-space: wrap;
}

#new_tag_input {
	width: 180px;
    border-radius: 5px;
}

#add_new_tag {
	vertical-align: middle;
	font-size: 26px;
	color: #757575;
}

#add_new_tag:hover {
	color: #ec3f3c;
}

.opening-hours {
	margin: 0 10px 40px 10px;
	font-size: 16px;
}

.opening-hours tr.today {
    background: #efefef;
}

.opening-hours table td {
	padding: 0 10px 5px 0;
	height: 60px;
    vertical-align: baseline;
}

.opening-hours table td:nth-of-type(2) {
	font-size: 12px;
	color: #757575;
}

.opening-hours .select-hours {
	position: relative;
	width: 120px;
	display: inline-block;
}

.opening-hours .select-hours-to {
	width: 20px;
}

.opening-hours .select-hours::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 20px;
	width: 10px;
	height: 10px;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #757575;
	border-bottom: 2px solid #757575;
}

.opening-hours .select-hours .hours {
	width: 120px;
	display: inline-block;
}

#apply-to-all {
	font-family: Poppins-SemiBold;
	font-size: 12px;
	color: #ec3f3c;
	text-decoration: underline;
	vertical-align: middle;
}

/*#store-location,
#store-phone,
#instagram-link,
#facebook-link,
#url,
#business-email {
    width: calc(50% - 10px);
}*/

.form-field {
	width: calc(50% - 10px);
	display: inline-block;
}

.form-field label {
	margin: 0 0 5px 10px;
	display: block;
	font-size: 11px;
	color: #757575;
}

#store-location,
#instagram-link,
#url {
	margin-right: 12px;
}

.skip-for-now {
	position: absolute;
	bottom: 60px;
	right: 40px;
	color: #757575;
	font-size: 14px;
}

/*****************************************/
/* BUSINESSES - CHOOSE A PLAN */
/*****************************************/

.plan-details-wrapper {
	margin: 40px 0 80px 0;
	display: flex;
	justify-content: space-between;
	gap: 5px;
}

.plan-details {
	position: relative;
	flex: 1;
	padding: 10px;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
	font-size: 12px;
	display: flex;
	flex-direction: column;
	justify-content: top;
}

.plan-details.selected {
	border: 1px solid #000;
}

.plan-details:hover {
	border: 1px solid #aaa;
}

.plan-details h2 {
	font-family: Poppins-SemiBold;
	font-size: 22px !important;
	text-transform: none;
}

.highlight-text {
	height: 20px;
	font-family: Poppins-Medium;
	font-size: 11px;
	color: #ec3f3c;
	text-align: center;
}

.plan-description {
	margin: 0 0 20px 0;
}

.plan-features {
	height: 360px;
}

.plan-features ul {
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
}

.plan-features ul li {
	position: relative;
	padding-left: 15px;
	margin-bottom: 10px;
	font-family: Poppins-Regular;
	font-size: 12px;
}

.plan-features ul li::before {
	content: "\f00c";
	/* Font Awesome check icon */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #ec3f3c;
	/* Red */
	position: absolute;
	left: 0;
	top: 0;
}

.info-icon {
	display: inline-block;
	margin-left: 0;
	color: #757575;
	cursor: pointer;
	position: relative;
}

.tooltip {
	visibility: hidden;
	opacity: 0;
	width: 200px;
	background: #000;
	color: #fff;
	padding: 8px 12px;
	border-radius: 6px;
	position: absolute;
	left: 120%;
	top: 50%;
	transform: translateY(-50%);
	white-space: normal;
	transition: opacity 0.3s ease;
	z-index: 999;
	font-size: 10px;
	line-height: 1.4;
}

.info-icon:hover .tooltip {
	visibility: visible;
	opacity: 1;
}

.bottom-section {
	position: absolute;
	bottom: 10px;
}

.plan-payment-title {
	padding: 10px 0 0 0;
	border-top: 1px solid #dcdcdc;
	height: 40px;
	font-family: Poppins-Medium;
}

.plan-payment-description {
	margin: 10px 0 0 0;
	font-family: Poppins-Light;
	font-size: 10px;
	height: 60px;
}

.plan-payment-renewal-cycle {
	margin: 20px 0;
	font-family: Poppins-Medium;
	font-size: 10px;
	color: #757575;
}

.plan-details button {
	margin: 30px auto 0 auto;
	padding: 10px 30px;
	font-family: Poppins-SemiBold;
	font-weight: 600;
	font-size: 14px;
	color: #fff;
	background: #000;
	border-radius: 30px;
	display: block;
}

.plan-details button.selected {
	background: #ec3f3c;
}

#plan-selected,
#add-money-to-your-click-wallet,
#continue-to-pay {
	display: none;
}

#plan-selected {
	font-family: Poppins-SemiBold;
	font-weight: 600;
	font-size: 22px;
	text-align: center;
}

#click-wallet {
	width: 80px;
	text-align: center;
	display: inline-block;
}

/*****************************************/
/* BUSINESSES - ORDER COMPLETE */
/*****************************************/

.order-details {
	margin: 40px auto 0 auto;
	width: 320px;
}

.order-details th {
	font-family: Poppins-SemiBold;
	text-align: right;
}

.order-details td {
	padding: 10px;
}

/************************************************/
/* BUSINESSES & CUSTOMERS - MY BUSINESS ACCOUNT */
/************************************************/

.my-business-account-notice {
   margin: 20px 0 0 0;
   padding: 10px;
   width: 100%;
   font-size: 16px;
   color: #fff;
   background: #ec3f3c;
   text-align: center;
}

.my-business-account-notice a {
    color: #fff;
}

.my-business-account-menu-grid,
.my-customer-account-menu-grid {
	margin: 40px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	/* 20px gap between columns */
	width: 100%;
}

.my-business-account-menu-block,
.my-customer-account-menu-block {
	padding: 20px;
	border-radius: 20px;
	border: 1px solid #E00606;
	height: 180px;
}

.my-business-account-menu-block.single,
.my-customer-account-menu-block.single {
	margin: 0 auto;
	width: 50%;
	display: block;
}

a.my-business-account-menu,
a.my-customer-account-menu {
	text-decoration: none;
}

a.my-business-account-menu .my-business-account-menu-block h2,
a.my-customer-account-menu .my-customer-account-menu-block h2 {
	font-family: Poppins-SemiBold;
	color: #ec3f3c;
	text-transform: none;
    text-align: center;
	display: block;
}

a.my-business-account-menu:hover .my-business-account-menu-block h2,
a.my-customer-account-menu:hover .my-customer-account-menu-block h2 {
	text-decoration: underline !important;
}

a.my-business-account-menu .my-business-account-menu-block p,
a.my-customer-account-menu .my-customer-account-menu-block p {
	color: #ec3f3c;
	font-size: 13px;
}

a.my-customer-account-menu .my-customer-account-menu-block p {
	text-align: center;
	font-size: 15px;
}

/*****************************************/
/* ALL BUSINESSES */
/*****************************************/

body.page-all-deals #map-button-location-switcher,
body.category #map-button-location-switcher,
body.page-all-businesses #map-button-location-switcher {
    float: left;
    width: 100%;
    margin-bottom: 10px;
}

body.page-all-deals #select-shopping-area,
body.category #select-shopping-area,
body.page-all-businesses #select-shopping-area {
    clear: both;
    width: auto;
}

.view-toggle {
    float: right;
	margin: 0 0 10px 0;
}

.toggle-btn {
    padding: 8px 12px;
    width: 180px;
	font-family: Poppins-SemiBold;
    font-size: 12px;
    text-align: center;
    line-height: 1.4;
    color: #fff !important;
    background: #ec3f3c;
    border-radius: 6px;
    white-space: normal;
}

body.home .toggle-btn {
    width: 150px;
}

.toggle-btn.selected {
	display: none;
}

#business-directory,
#all-deals {
	display: flex;
	gap: 80px;
	align-items: flex-start;
    clear: both;
}

.filters {
    flex: 0 0 300px;
	width: 300px;
	height: auto;
	padding: 20px;
	font-size: 12px;
	color: #1e1e1e;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
}

.filters .category-filters {
    margin-bottom: 20px;
}

.filters .category-filter {
    margin-bottom: 5px;
    cursor: pointer;
}

.filters .category-filter.active {
    color: #ec3f3c;
}

.filters .category-filter i {
    display: inline-block;
    margin-right: 5px;
}

.filters .search-bar {
    position: relative;
	margin: 0;
	display: block;
}

.filters .search-form {
	margin: 0;
	float: left;
	width: 222px;
}

#search-bar {
    float: left;
}

#deal-types,
#sort-options {
    clear: both;
    float: left;
    margin-top: 30px;
}

#deal-types label,
#sort-options label {
    cursor: pointer;
}

.search-field {
	width: 200px;
}

#business-search.active,
#deals-search.active {
    border-bottom-left-radius: 0;
}

#business-search-submit.active,
#deals-search-submit.active {
    border-bottom-right-radius: 0;
}

.business-suggest,
.deals-suggest {
  position: absolute;
  top: 30px;
  z-index: 9999;
  background: #fff;
  border: 1px solid #ddd;
  width: 100%;
  max-width: 220px;
  max-height: 200px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  display: none;
}
.business-suggest li a,
.deals-suggest li a {
  display: block;
  padding: 10px 7px;
  text-decoration: none;
  font-size: 16px;
  color: #333;
}
.business-suggest li a:hover,
.deals-suggest li a:hover {
  background: #f5f5f5;
}
#business-search-suggestions li,
#deals-keyword-search-suggestions li {
  cursor: pointer;
  will-change: background;
  box-sizing: border-box;
}
#business-search-suggestions li.active,
#business-search-suggestions li:hover,
#deals-keyword-search-suggestions li.active, 
#deals-keyword-search-suggestions li:hover {
  background-color: #f0f0f0;
}
#business-search-suggestions li a,
#deals-keyword-search-suggestions li a {
  display: block;
  color: #333;
  text-decoration: none;
}

.filters .category-item {
	padding: 5px 12px;
    margin: 0 5px 5px 0;
	height: 25px;
    font-family: Poppins-Regular;
	font-size: 12px;
	border-radius: 5px;
	vertical-align: middle;
	cursor: pointer;
}

.filters .category-item.selected {
	background-color: #ec3f3c;
	color: #fff;
}

.content  { flex: 1 1 auto; min-width: 0; position: relative; }

#businesses {
    width: 100%;
    max-width: 760px;
}

.btn-load-more {
    clear: both;
    margin: 20px auto;
    font-size: 14px;
    font-family: Poppins-bold;
    text-decoration: underline;
    display: block;
}

.btn-load-more:disabled {
    font-family: Poppins-bold;
    text-decoration: none;
}

.business-card {
	float: left;
	width: 100%;
	max-width: 760px;
	padding: 20px 10px 10px 10px;
	margin: 0 0 20px 0;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
}

.business-card .header {
    display: flex; 
    justify-content: space-between;
}

.business-card .logo {
	float: left;
	margin: 0 20px 0 0;
	width: 120px;
}

.business-card .logo img {
	width: 120px;
	height: 120px;
	object-fit: contain;
}

.business-card .info {
	float: left;
	width: calc(100% - 160px);
}

.business-name,
.business-name a {
	margin: 0 0 10px 0;
	font-family: Poppins-SemiBold;
	font-size: 21px;
	color: #000;
	text-decoration: none;
}

.business-name a:hover {
	text-decoration: underline;
}

.deal-alert {
	position: relative;
	width: auto;
	background: #e74c3c !important;
	color: #fff !important;
	padding: 8px 12px;
	border-radius: 6px;
	white-space: normal;
	font-size: 10px;
	line-height: 1.4;
}

.deal-alert::after {
	content: '';
	position: absolute;
	top: 100%;
	/* Bottom of tooltip */
	left: 25%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #e74c3c transparent transparent transparent;
}

.heart-icon {
	color: #e74c3c;
	margin-left: 10px;
	cursor: pointer;
}

.nearby-locations {
	margin: 0 0 10px 0;
	font-size: 12px;
	color: #3b3b3b;
}

.nearby-locations .fa-store {
    margin-right: 5px;
    display: inline-block;
}

.rating-reviews,
.rating-reviews a {
	font-size: 12px;
	color: #3b3b3b;
	text-decoration: none;
}

.rating-reviews a:hover {
	text-decoration: underline;
}

.rating-reviews .rating {
	color: #e74c3c;
	font-weight: 600;
}

.tags {
	margin: 10px 0;
	display: flex;
	gap: 10px;
}

.tags-no-flex {
	margin: 15px 0;
	gap: 10px;
}

.business-tags-no-flex .tag-item {
	margin: 5px 0;
}

.business-card .tags-no-flex {
    margin: -40px 0 0 140px;
    float: left;
    clear: both;
}

.gm-style-iw-chr {
	display: none;
}

/* Pulsing effect for user location marker */
.pulse-marker {
  width: 16px;
  height: 16px;
  background: #4285F4;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 rgba(66, 133, 244, 0.5);
  animation: pulse 2s infinite;
  pointer-events: none;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(66, 133, 244, 0.4);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(66, 133, 244, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(66, 133, 244, 0);
  }
}


/*************************************************/
/* GOOGLE MAPS */
/*************************************************/    

/* OPTIONAL: scope to a specific map container to avoid global overrides */
/* #map-container */ .gm-style-iw-c,
.gm-style-iw-d,
.gm-style-iw,
.gm-style-iw-chr {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Kill the right-side gutter that’s reserved for the close button */
.gm-style-iw-c {
  max-width: none !important;      /* let your card control width */
  max-height: none !important;
  background: transparent !important;
}

/* Remove inner wrapper margins Google sometimes adds */
.gm-style-iw-d > div {
  margin: 0 !important;
  padding: 0 !important;
}

/* Shrink & float the close button so it doesn’t create extra space */
.gm-ui-hover-effect {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.gm-ui-hover-effect > span {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

/* If you see a vertical scrollbar from tiny overflow, allow natural height */
.gm-style-iw-d {
  overflow: auto !important;  /* or 'hidden' if you never want scrollbars */
  max-height: none !important;
}

.gm-style .gm-style-iw-d {
  padding: 20px !important;  /* inner gutters of the dialog */
}

.gm-style .gm-style-iw-tc {
    top: -20px;
}

body.home .gm-style .gm-style-iw-tc,
body.category .gm-style .gm-style-iw-tc,
body.page-all-deals .gm-style .gm-style-iw-tc {
    top: -42px;
}

/*************************************************/
/* MAP CARDS */
/*************************************************/    

.map-card,
.deal-card {
	position: relative;
	float: left;
	padding: 20px;
	width: 300px;
    background: #fff;
    -webkit-box-shadow: 0 2px 7px 1px rgba(0, 0, 0, .3);
    box-shadow: 0 2px 7px 1px rgba(0, 0, 0, .3);
    border-radius: 10px;
}

body.page-all-businesses .map-card,
body.page-all-businesses .deal-card {
    padding: 50px 20px 20px 20px;
    width: 340px;
}

body.home .map-card,
body.category .map-card,
body.page-all-deals .map-card {
    transform: scale(0.9);
}

.deal-card {
    padding: 30px 10px 20px 10px;
}

.map-card.view-on-google-maps,
.deal-card.view-on-google-maps {
    width: auto;
}

.deal-card {
    width: 400px;
}

.map-card .deal-grid-item {
    flex: initial;
    float: left;
}

.map-card a.see-more-from-business {
    float: right;
    font-weight: bold;
    margin-bottom: 10px;
}

.map-card .deal-alert-favourite {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 10000;
}

.map-card-business-logo {
	float: left;
	width: 100px;
	height: 100px;
	padding: 10px;
	/*border: 2px solid #e74c3c;*/
	border-radius: 10px;
	background: #fff;
}

.map-card-business-logo img {
	width: 80px !important;
	height: 80px !important;
	object-fit: contain !important;
}

.map-card-business-details,
.map-card-deal-details {
	float: left;
	margin: 0 0 0 10px;
}

.map-card-deal-details {
    width: calc(100% - 140px);
}

.map-card-business-name {
	margin: 10px 0;
	font-family: Poppins-SemiBold;
	font-size: 19px;
}

.map-card-business-name a {
	color: #000;
	text-decoration: none;
}

.map-card-business-name a:hover {
	text-decoration: underline;
}

.map-card-nearby-locations,
.map-card-rating-reviews {
	margin: 0 0 10px 0;
}

.map-card-nearby-locations a {
	color: #000;
	text-decoration: none;
}

.map-card-nearby-locations a:hover {
	text-decoration: underline;
}

.map-card .tags-no-flex {
	clear: both;
	float: left;
	margin: 20px 0 0 0;
}

/*****************************************/
/* BUSINESS PROFILE */
/*****************************************/

#breadcrumbs {
	margin: 30px 0 30px 0;
}

#breadcrumbs,
#breadcrumbs a {
	font-size: 14px;
	color: #757575;
	text-decoration: none;
}

#breadcrumbs a:hover {
	text-decoration: underline;
}

.carousel-wrapper {
	position: relative;
	height: 240px;
}

.carousel {
	position: relative;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: -1;
}

.carousel .slick-slide {
	display: inline-block;
	margin-right: 0;
    height: 240px;
}

.carousel.slick-initialized {
	visibility: visible;
	opacity: 1;
}

.carousel img {
	max-height: 240px;
	height: 100%;
	width: auto;
	object-fit: cover;
}

.carousel-arrows {
	position: absolute;
	top: 50%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.carousel-arrows button {
	position: relative;
	background: rgba(0, 0, 0, 0.5);
	border: none;
	color: white;
	font-size: 24px;
	width: 35px;
	height: 48px;
	padding: 10px;
	z-index: 9999;
	pointer-events: auto;
	cursor: pointer !important;
}

.business-header {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-top: -20px;
}

.business-logo {
	margin: -20px 0 0 80px;
	padding: 10px;
	border: 2px solid #e74c3c;
	border-radius: 10px;
	background: #fff;
}

.business-logo.black-border {
    border: 2px solid #000;
}

.business-logo img {
	object-fit: contain;
}

.business-info {
	float: left;
	width: calc(100% - 450px);
	margin-top: 20px;
}

.business-info h1 {
	margin: 10px 0;
	padding: 0;
	font-size: 32px;
	text-transform: none;
	text-align: left;
}

.share-favourite {
	padding-top: 40px;
	text-align: center;
}

#deal-header .share-favourite {
	padding-top: 0;
}

.share {
	position: relative;
	width: auto;
	background: #e74c3c !important;
	font-family: Poppins-SemiBold;
	color: #fff !important;
	padding: 8px 12px;
	border-radius: 6px;
	white-space: normal;
	font-size: 12px;
	line-height: 1.4;
	display: inline-block;
	cursor: pointer;
}

.share:before {
	margin-right: 10px;
	content: "\f064" !important;
	/* Unicode for fa-chart-pie */
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
}

#deal-header .share {
	font-size: 16px;
}

#deal-header .far.heart-icon,
#deal-header .fas.heart-icon  {
	font-size: 32px;
	vertical-align: middle;
}

.share-popup,
#sign-in-sign-up-popup,
#customer-thumbs-up-popup,
#customer-thumbs-down-popup,
#get-whatsapp-reminders-popup {
	position: fixed;
	top: 50%;
	left: 50%;
	margin: -75px 0 0 -200px;
	width: 400px;
	height: 150px;
	background: #fff;
	border: 1px solid #ddd;
	padding: 10px;
	box-shadow: 0 0 100px rgba(0, 0, 0, 0.5);
	text-align: center;
	z-index: 999999;
}

#get-whatsapp-reminders-popup,
#customer-thumbs-down-popup {
    margin: -125px 0 0 -200px;
    height: 250px;
}

.share-popup h3,
#sign-in-sign-up-popup h3,
#get-whatsapp-reminders-popup h3,
#customer-thumbs-up-popup h3,
#customer-thumbs-down-popup h3 {
	margin-top: 0;
    text-align: center;
}

#contact-business-privately-button {
    color: #ec3f3c;
    text-decoration: underline;
    cursor: pointer;
}

.close-button {
	background: none;
	border: none;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	color: #333;
	padding: 0;
	margin: 0;
	position: absolute;
	top: 20px;
	right: 20px;
}

.share-popup ul {
	margin: 0;
	padding: 0;
	text-align: center;
}

.share-popup ul li {
	display: inline-block;
	margin-right: 12px;
}

.share-popup i {
	font-size: 30px;
	color: #e74c3c;
	cursor: pointer;
	transition: color 0.2s;
}

.share-popup i:hover {
	color: #000;
}

.favourite {
	display: inline-block;
}

.tab-nav {
	display: flex;
	margin: 60px 0 0 0;
	padding: 0;
	gap: 0;
	width: calc(100% - 415px);
	cursor: pointer;
	list-style: none;
}

.tab-nav li {
	flex: 1;
	padding: 13px 80px;
    margin: 0 10px 0 -10px;
	font-family: Poppins-SemiBold, Helvetica, Arial;
	font-weight: 600;
	border-right: 1px solid #dcdcdc;
	text-align: center;
}

body.business .tab-nav li:nth-of-type(4) {
	border-right: none;
}

.tab-nav li.active {
	color: #e74c3c;
	border-bottom: 2px solid #e74c3c;
}

.tab-content {
	margin: 0;
	padding: 60px 100px 0 80px;
	width: calc(100% - 415px);
	min-height: 600px;
	border-top: 1px solid #dcdcdc;
	border-right: 1px solid #dcdcdc;
    border-top-right-radius: 10px;
	display: none;
}

.tab-content.active {
	display: block;
}

.tab-content h2,
.tab-content h3 {
	text-align: left;
	text-transform: none;
}

.sidebar p {
    text-align: center;
}

#deals-tab p {
    text-align: left;
}

#about-tab {
	font-size: 20px;
}

#about-tab .tag-item {
	height: 27px;
	font-size: 14px;
}

.business-tagline {
	margin: 0 0 20px 0;
	font-family: Poppins-SemiBold, Helvetica, Arial;
	font-weight: 600;
}

.business-description {
	font-style: italic;
	line-height: 1.5;
}

.red-line {
	width: 100%;
	margin: 60px 0;
	border: 1px solid red;
}

.keep-up-with a.url {
	color: #000;
	text-decoration: none;
}

.keep-up-with a.url:hover {
	text-decoration: underline;
}

.store-location-dropdown {
	position: relative;
	max-width: 420px;
}

.dropdown-toggle {
	position: relative;
	font-size: 16px;
	background: #ec3f3c;
	font-family: Poppins-Light;
	color: #fff !important;
	padding: 10px 20px;
	cursor: pointer;
	border-radius: 30px;
}

.dropdown-toggle.show-arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 12px solid #fff;
	/* Arrow color */
}

.dropdown-toggle.active {
	border-radius: 30px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.dropdown-menu {
	position: absolute;
	padding: 0;
	margin: 0;
	width: 100%;
	background: #eeeeee;
	color: #757575;
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
	list-style: none;
	display: none;
	z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.dropdown-menu li {
	padding: 10px 20px;
	cursor: pointer;
}

.dropdown-menu li:last-of-type {
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
}

.dropdown-menu li:hover {
	color: #000;
	background: #efefef;
}

.dropdown-menu li.active {
	display: none;
}

.select-store,
.store-name {
	font-family: Poppins-SemiBold;
	font-size: 20px
}

.store-location-details {
	display: none;
}

.store-location-details h4 {
	text-align: left;
	text-transform: none;
}

.store-location-details table td {
	padding: 5px 10px;
}

.store-location-details table td.time {
	width: 100px;
	text-align: center;
}

.store-location-details table td.open-closed {
	width: 140px;
	text-align: center;
	color: #e74c3c;
}

.store-location-details table td.open-closed .open {
    color: #2B9E76;
}

.store-location-details p {
	margin: 0 0 0 20px;
}

.store-location-details a {
	color: #000;
	text-decoration: none;
}

.store-location-details a:hover {
	text-decoration: underline;
}

.sidebar {
	margin: 27px 0 0 0;
	padding: 20px;
	float: right;
	width: 385px;
	border-radius: 10px;
}

.sidebar h2 {
	text-transform: none;
    text-align: center;
}

/*****************************************/
/* SINGLE DEAL */
/*****************************************/

#deal-header {
	float: left;
	width: 100%;
}

#deal-header .deal-images {
	float: left;
	width: auto;
}

#deal-header .deal-images {
	width: 300px;
}

.deal-media-grid a { position: relative; display: inline-block; }
.deal-image-thumb { width:120px; height:80px; object-fit:cover; display:block; background:#000; }

/* never let the thumbnail video intercept clicks */
a[data-fancybox] .deal-video-thumb,
a[data-fancybox] .deal-video-play { pointer-events: none; }

.deal-video-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:30px; height:30px; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:16px;
}

/* When opened in Fancybox: fill the entire viewport, keep aspect ratio */
.fancybox__content .fit-screen-video {
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
  display: block;
  object-fit: contain;     /* show whole video, no cropping */
  background: #000;        /* nice letterbox */
}

/* Optional: remove inner padding around content for a true edge-to-edge look */
.fancybox__content:has(.fit-screen-video) {
  padding: 0 !important;
}

/* Fallback sizing (if this element is ever shown outside Fancybox) */
.deal-inline .fit-screen-video {
  width: 100%;
  height: auto;
  max-height: 80vh;
}


#deal-featured-image {
	width: 300px;
	height: 300px;
	object-fit: contain;
	padding: 8px;
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
}

#deal-header .deal-image-thumb {
	padding: 2px;
	width: 55px;
	height: 55px;
	display: inline-block;
}

#deal-header .deal-info {
	margin: 0 0 0 30px;
    width: calc(100% - 744px);
}

#deal-header .deal-info a.business-name {
	font-family: Poppins-Regular;
	font-size: 25px;
	text-decoration: none;
}

#deal-header .deal-info a.business-name:hover {
	text-decoration: underline;
}

#deal-header .deal-info h1 {
	margin: 10px 0;
	padding: 0;
	text-transform: none;
	font-size: 32px;
	text-align: left;
}

#deal-header .locations-reviews {
	float: left;
	padding: 0 0 20px 0;
	width: 100%;
	border-bottom: 1px solid #dcdcdc;
}

#deal-header .deal-description {
    margin: 20px 0 0 0;
    clear: both;
    float: left;
    width: 100%;
}

#deal-header .deal-start-end-date {
	margin: 20px 0 10px 0;
}

.deal-start-end-date {
	padding: 5px 10px;
	font-family: Poppins-Medium;
	font-size: 14px;
	color: #ec3f3c;
	background: #feeded;
	border-radius: 10px;
    display: inline-block;
}

.deal-start-end-date div {
    display: flex;
  align-items: center;
  gap: 0.5em;
  white-space: nowrap;
}


.deal-start-end-date i {
	font-size: 19px;
}

.price {
	float: left;
	margin: 10px 0;
	width: 100%;
}

.discount {
	font-family: Poppins-Regular;
	font-size: 34px;
	color: #ec3f3c;
}

.discounted-price {
	font-family: Poppins-SemiBold;
	font-size: 34px;
}

.original-price {
	margin: 10px 0 20px 0;
	font-family: Poppins-Regular;
	font-size: 16px;
}

.strikethrough {
	text-decoration: line-through;
}

.deal-tags {
	clear: both;
	display: block;
}

.share-favourite-redeem {
	float: right;
	width: 355px;
}

.thumbs-up-thumbs-down {
    margin: 80px 0 0 0;
    padding: 30px;
    border: 1px solid #dcdcdc;
    border-radius: 30px;
}

#number-of-users-redeemed {
	margin: 0;
	font-family: Poppins-SemiBold;
	font-size: 16px;
	text-align: center;
}

#did-this-deal-work-for-you {
	margin: 30px 0 10px 0;
	font-family: Poppins-Regular;
	font-size: 16px;
	text-align: center;
}

.thumb-buttons {
	margin: 0 auto;
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
}

.thumb {
	background-color: #f0f0f0;
	border: none;
	padding: 12px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 16px;
	transition: background-color 0.2s ease, transform 0.2s;
}

.thumb:hover {
	background-color: #e0e0e0;
	transform: scale(1.05);
}

.thumb.up {
	color: #000;
}

.thumb.down {
	color: #000;
}

.thumb.greyed-out {
	color: #ccc;
}

#deal-content {
	clear: both;
	float: left;
	margin: 30px 0;
	width: 100%;
}

#deal-content .sidebar {
	padding: 30px 0 30px 30px;
}

#deal-content .sidebar h2 {
   margin: 10px 0;
}

.left-content a.social-link,
.left-content a.url {
	color: #000;
}

body.single-deal .tab-nav li:nth-of-type(3) {
    border-right: none;
}

#locations-and-hours-tab {
	padding-right: 30px;
}

#locations-and-hours-tab #map-view {
	float: right;
    margin-top: -100px;
	width: calc(100% - 460px);
	height: 600px;
}

body.single-deal #locations-and-hours-tab {
	padding-left: 30px;
}

body.single-deal article.deal {
    border: 0 !important;
}

#deals-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.deal {
	clear: both;
	float: left;
	width: 100%;
	margin: 0 0 30px 0;
	padding: 10px;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
    background: #fff;
}

.deal-grid-item {
	position: relative;
	clear: none;
	float: none;
	margin: 0;
	padding: 10px;
	border: 1px solid #dcdcdc;
}

.deal .deal-image {
	float: left;
	width: 100px;
}

.deal .deal-image img {
	width: 100px;
	height: 100px;
	object-fit: contain;
}

.deal-grid-item .deal-image,
.deal-grid-item .deal-image img {
	width: 100%;
	height: auto;
}

.deal-grid-item .deal-image img {
	aspect-ratio: 1 / 1;
}

.deal-grid-item .favourite {
	position: absolute;
	top: 12px;
	right: 12px;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
	z-index: 1000;
}

.deal-grid-item .featured-deal {
    padding: 5px 10px;
    position: absolute;
    top: 12px;
    left: 12px;
    width: auto;
    height: auto;
    color: #fff;
    background: #f7822c;
    border-radius: 10px;
    z-index: 1000;
}

.deal-grid-item .favourite .heart-icon {
    position: absolute;
    top: 5px;
    right: 5px;
}

.deal .deal-info {
	float: left;
	width: calc(100% - 115px);
	margin: 0 0 0 10px;
}

.deal-grid-item .deal-info {
	width: 100%;
	margin: 0;
}

.deal .deal-info a.business-name {
	margin: 0 0 5px 0;
	padding: 0;
	text-transform: none;
	font-family: Poppins-Regular;
	font-size: 15px;
	text-decoration: none;
	display: block;
}

.deal .deal-info a.business-name:hover {
	text-decoration: underline;
}

.deal .deal-info a.deal-name {
	margin: 0 0 5px 0;
	padding: 0;
	text-transform: none;
	font-family: Poppins-SemiBold;
	font-size: 15px;
	color: #000;
	text-decoration: none;
	display: block;
}

.deal .deal-info a.deal-name:hover {
	text-decoration: underline;
}

.deal .deal-info .rating-reviews,
.deal .deal-info .nearby-locations {
	margin: 0 0 5px 0;
}

.deal .deal-info .nearby-locations a {
	color: #000;
	text-decoration: none;
}

.deal .deal-info .nearby-locations a:hover {
	text-decoration: underline;
}

.deal .deal-info .deal-start-end-date {
	margin: 0;
	font-family: Poppins-SemiBold;
	font-size: 12px;
}

/*************************************************/
/* HOME */
/*************************************************/    

.full-width-row {
    float: left;
    padding: 0 0 40px 0;
    width: 100%;
    
}

.pink-background {
    padding: 20px 0;
    background: #FDF5F5;
}

body.home h2 {
    font-size: 26px;
    text-transform: none;
    text-align: left;
    display: inline-block;
}

#home-notices {
    padding: 20px 0 !important;
    border-top: 4px solid #dbdbdb;
    background: #FDF5F5;
}

.notice-container {
    float: left;
    width: 50%;
    font-family: Poppins-SemiBold;
    font-size: 13px;
    color: #E00606;
}

#middle-line {
    float: left;
    margin-top: 10px;
    width: 2px;
    height: 22px;
    background: #dadada;
}

.notice {
    margin: 0 auto;
    width: 350px;
}

.notice:first-child {
    width: 435px;
}

.notice.signed-in {
    width: 535px;
}

.notice.signed-in:first-child {
    width: 440px;
}

.notice-icon,
.notice-text {
    float: left;
}

.notice-icon {
    margin-right: 30px;
}

.notice-icon i {
    font-size: 35px;
    color: #E00606;
}

.notice-text {
    text-align: center;
}

body.home .view-toggle {
    float: right;
    margin: 20px 0;
}

body.home #map-view {
    clear: both;
}

#top-picks-for-you-nearby,
#trending-deals-nearby {
    margin-top: -60px;
}

.category-selector-wrapper {
    float: left;
    position: relative;
    width: 400px;
}

.category-dropdown-toggle {
    cursor: pointer;
}

/*.category-dropdown-toggle::after {
    content: "";
    position: absolute;
    top: 35px;
    right: 20px;
    width: 10px;
    height: 10px;
    pointer-events: none;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #757575;
    border-bottom: 2px solid #757575;
}*/

.category-dropdown-toggle h2 {
    width: auto;
}

.category-selector-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    border: 1px solid #ccc;
    background: #fff;
    z-index: 9999;
    max-height: 200px;
    overflow-y: auto;
}

.category-option {
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
}

.category-option:hover {
    background: #F0F0F0;
}

.category-option.selected {
    color: #fff;
    background: #ec3f3c;
}


a.see-all {
    float: right;
    margin: 30px 0 0 0;
    font-family: Poppins-Regular;
    font-size: 16px;
    color: #000;
    text-decoration: none;
}

a.see-all:hover {
    text-decoration: underline;
}

.deal-carousel-wrapper {
    clear: both;
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 1520px;
    display: flex;
    align-items: center;
}

.map-card-deal-details .deal-carousel-wrapper {
    max-width: 100%;
}

/* always take up space, but start hidden */
.deal-carousel-btn {
  visibility: hidden;
  /* (keep the rest as-is) */
  background: #EEEBEB;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;         /* changed from none → flex so it always occupies its box */
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  margin: 0 10px;        /* optional: add horizontal gutter so items never bump into buttons */
}

/* when “enabled” make button visible */
.deal-carousel-btn.enabled {
  visibility: visible;
}

.map-card-deal-details .deal-carousel-wrapper .deal-carousel-btn {
    display: none;
}

.deal-carousel-btn i {
  pointer-events: none;
  color: #989797;
}

.deal-carousel-container {
  overflow-x: scroll;
  scrollbar-width: none;   /* Firefox */
  -ms-overflow-style: none;/* IE 10+ */
  flex: 1;
  background: #fff;
  padding: 0 10px;
}

.deal-carousel-container::-webkit-scrollbar {
  display: none;           /* Chrome, Safari, Opera */
}

.deal-carousel-track {
  display: flex;
  gap: 20px;
  padding: 10px 0;          /* optional vertical padding */
}

.deal-carousel-item {
  flex: 0 0 240px;
}

#featured-deals {
    position: relative;
    background: #fff url("images/dealcorner-background-red-polygon.svg") no-repeat center 200px;
    min-height: 800px;
}

.all-your-deals {
    float: left;
    margin: 60px 0 0 40px;
    font-family: Poppins-Regular;
    color: #fff;
    font-size: 22px;
}

.all-your-deals i,
.all-your-deals div {
    float: left;
}

.all-your-deals i {
    margin: 0 20px 0 0;
    font-size: 50px;
}

#btn-explore-our-deals-map {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 60px;
    padding: 10px;
    border-radius: 5px;
    background: #fff;
    font-family: Poppins-SemiBold;
    font-size: 20px;
    color: #000;
}

.powered-by {
    display: none;
}

#recently-viewed {
    margin: 0 auto;
    padding: 30px;
    width: 100%;
    max-width: 1060px;
    background: #FDF5F5;
    border-radius: 30px;
}

#recently-viewed .container {
    padding: 0;
}

#recently-viewed-deals-grid {
  /* existing scrolling setup */
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 320px;
  column-gap: 16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 8px 8px 12px;
  
  /* hide scrollbar (Firefox + old IE/Edge) */
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE 10+ / old Edge */
}

/* hide scrollbar (WebKit: Chrome, Safari, new Edge) */
#recently-viewed-deals-grid::-webkit-scrollbar {
  height: 0;                      /* horizontal bar hidden */
  width: 0;                       /* just in case */
  background: transparent;
}

/* cards (unchanged) */
#recently-viewed-deals-grid > .deal-grid-item {
  width: 320px;
  scroll-snap-align: start;
}

#recently-viewed .deal-grid-item .deal-image,
#recently-viewed .deal-grid-item .deal-image img {
    position: relative;
    width: 80px;
    height: auto;
} 

#recently-viewed .deal-grid-item .favourite {
    top: 0 !important;
    right: 0 !important;
}

#recently-viewed .deal-grid-item .deal-info {
    margin-left: 10px;
    width: calc(100% - 100px);
} 

#browse-by-category {
    background: #fef5f6;
}

#browse-by-category .category-container {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
  /* evenly distribute items across each row */
  justify-content: space-between;
  /* only vertical spacing between rows */
  row-gap: 40px;
}

#browse-by-category .category-container .category {
  display: flex;
  justify-content: center; /* horiz center within the circle */
  align-items: center;     /* vert center within the circle */
  width: 160px;
  height: 160px;
  border-radius: 50%;
  font-family: Poppins-SemiBold;
  font-size: 20px;
  color: #000;
  background: #fff;
  /* remove any horizontal margins—spacing now comes from justify-content */
  margin: 0;
  text-decoration: none;
}

#browse-by-category .category-container .category:hover {
    color: #fff;
    background: #E00606;
}

#homepage-footer-forms {
    margin-top: 30px;
    display: flex;
    align-items: stretch;
    gap: 30px;
    flex-wrap: nowrap; /* keep them side by side on desktop */
}

/* LEFT COLUMN: newsletter + notifications */
#newsletter-notification-sign-up {
    flex: 0 0 60%;
    max-width: 60%;
    padding: 30px 60px;
    border-radius: 30px;
    background: #FAD3D1;
    box-sizing: border-box;
}

/* RIGHT COLUMN: business contact */
#business-contact {
    flex: 0 0 40%;
    max-width: 40%;
    padding: 30px 60px;
    border-radius: 30px;
    background: #FAD3D1;
    box-sizing: border-box;
}

#newsletter-notification-sign-up h2,
#business-contact h2 {
    text-align: left;
    font-size: 26px;
    text-transform: none;
}

#newsletter-notification-sign-up h3,
#business-contact h3 {
    text-align: left;
    font-size: 20px;
    text-transform: none;
}

#newsletter-notification-sign-up p a,
#business-contact p a {
    color: #000;
}

/* two-column layout inside the left 60% block */
#newsletter-notification-sign-up .column {
    float: left;
    width: 50%;
    box-sizing: border-box;
}

#newsletter-notification-sign-up .column:last-of-type {
    width: calc(50% - 30px);
    margin-left: 30px;
}

/* hide by default */
#categories-dropdown.hidden {
    display: none;
}

/* optional: style the dropdown and button */
.select-dropdown {
    margin: 0 0 10px 0;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

#categories-dropdown {
    position: absolute;
    list-style: none;
    margin: 5px 0 0 0;
    padding: 10px;
    width: 200px;
    border-radius: 30px;
    background: #fff;
    z-index: 10;
}

#categories-dropdown li {
    margin-bottom: 5px;
    font-size: 12px;
}

#categories-dropdown input[type="checkbox"] {
    color: #fff;
    accent-color: #000;
}

#categories-dropdown input[type="checkbox"]:checked {
    color: #fff;
}

#business-contact #first-name,
#business-contact #last-name {
    width: calc(50% - 10px);
    box-sizing: border-box;
}

/*****************************************/
/* MEDIA QUERIES */
/*****************************************/

@media all and (max-width: 1470px) {

	.container {
		padding: 0 20px;
	}

    #home-notices .container {
        padding: 0;
    }

}

@media all and (max-width: 1360px) {

    #locations-and-hours-tab #map-view {
        float: none;
        margin: 30px auto;
        width: 100%;
    }

}

@media all and (max-width: 1300px) {

    #homepage-footer-forms {
        flex-wrap: wrap; /* allow stacking */
    }

    #newsletter-notification-sign-up,
    #business-contact {
        flex: 0 0 100%;
        max-width: 100%;
    }

    #newsletter-notification-sign-up {
        margin-bottom: 30px;
    }

    #newsletter-notification-sign-up input[type="submit"] {
        margin: 20px 0 0 0;
    }

    #deals-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media all and (max-width: 1207px) {

    #desktop-menu li {
        padding: 0 30px;
    }

    #business-directory, #all-deals {
        gap: 40px;
    }

}

@media all and (max-width: 1160px) {

    #home-notices.signed-in {
        display: none;
    }

}

@media all and (max-width: 1120px) {

    /* favourites */

    .favourites-column #deals-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    /* single business */

    #business-profile-tabs-sidebar {
        padding: 0;
    }

    body.business .sidebar {
        display: none;
    }

    .tab-nav {
        border-top: 2px solid #dcdcdc;
        border-bottom: 2px solid #dcdcdc;
    }

    body.business .tab-nav {
      display: flex;
      flex-direction: row;
    }

    .tab-nav li.active {
        border-bottom: 3px solid #e74c3c;
    }

    body.business .tab-nav li:nth-child(1) { order: 1; }
    body.business .tab-nav li:nth-child(2) { order: 3; }
    body.business .tab-nav li:nth-child(3) { order: 2; }
    body.business .tab-nav li:nth-child(4) { order: 4; }

    body.business .tab-nav li:nth-of-type(3){
        border-right: 1px solid #dcdcdc;
    }

    body.business .tab-nav li:nth-of-type(4){
        border-right: none;
    }

    body.business .tab-content {
        border-top: 0;
    }

    /* single deal */

    #deal-header {
        display: flex;
        flex-direction: column;
    }

    .deal-images.hide-on-mobile {
        display: none;
    }

    #deal-featured-image {
        border: 0;
        padding: 0;
    }

    .deal-images   { order: 3; }
    .deal-info   { order: 1; }
    .share-favourite-redeem { order: 2; display: none }

    #deal-header .deal-info {
        margin: 0;
        width: 100%;
    }

    #deals-tab .deal {
        background: #FDF5F5;
        border: 0;
    }

    #deal-content-container {
        padding: 0;
    }

    #deal-content {
        margin: 0;
    }

    #deal-content .sidebar {
        display: none;
    }

    body.single-deal .tab-nav.no-top-margin {
        margin-top: 0;
    }

    .tab-nav {
        width: 100%;
    }

    .tab-nav li {
        padding: 10px;
        margin: 0;
        font-family: Poppins-Medium, Helvetica, Arial;
    }

    body.single-deal .tab-nav li:nth-of-type(3){
        border-right: 1px solid #dcdcdc;
    }

    body.single-deal .tab-nav li:nth-of-type(4){
        border-right: none;
    }

    #about-tab-label.hide-on-desktop,
    #deals-tab-label.hide-on-desktop {
        display: block;
    }

    .tab-content {
        padding: 20px;
        width: 100%;
        border-right: 0;
    }

    .thumbs-up-thumbs-down {
        margin: 0;
        padding: 0;
        border: 0;
    }

    /* reviews */

    .dc-average-rating span.average-rating {
        font-size: 18px;
    }

    .dc-average-rating i {
        font-size: 15px;
    }

    .dc-text-rating {
        display: inline-block;
        width: 60px;
        font-size: 12px;
    }

    .dc-review-summary {
        display: flex;
        flex-direction: column; /* stack items vertically */
        align-items: stretch;   /* let children take full width */
        gap: 10px;              /* optional spacing between button and reviews */
    }

    .dc-leave-a-review   { order: 1; }
    .dc-customer-reviews   { order: 2; }

    .dc-leave-a-review,
    .dc-customer-reviews {
        width: 100%; /* force reviews section to span the container */
    }

    .dc-leave-a-review {
        margin-top: 10px;
    }

    .dc-review-toggle {
        width: 100%;
        display: block;
        font-size: 16px;
        padding: 10px 12px;
        max-width: 500px;
        margin: 20px auto;
    }


}

@media all and (max-width: 1080px) {

    #browse-by-category-container {
        padding: 0;
    }

    #browse-by-category .category-container {
        gap: 20px;
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE/Edge legacy */
    }

  #browse-by-category .category-container::-webkit-scrollbar {
    display: none;              /* Chrome/Safari */
  }

    #browse-by-category .category-container .category {
        flex: 0 0 auto;
    }

    #browse-by-category .category-container .category:first-of-type {
        margin-left: 20px;
    }

    #browse-by-category a.see-all {
        float: left;
    }

}

@media all and (max-width: 1070px) {

    #home-notices {
        display: none;
    }

}

@media all and (max-width: 1067px) {

    .search-bar {
        flex: 1;
    }

    .logo,
    .user-navigation {
        display: initial;
    }

    .logo {
        padding-right: 40px;
    }

    /* Make the inner nav a horizontal scroll container */
  .desktop-menu {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth on iOS */
    scrollbar-width: none;
  }

  /* Lay out items in a single row without wrapping */
  #desktop-menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start; /* avoid centering that can clip edges */
    gap: 0;                       /* keep your existing LI padding */
    margin: 0;
    padding: 0;
  }

  .desktop-menu::-webkit-scrollbar {
    display: none;          /* Chrome, Safari */
  }

  /* Ensure items don’t shrink and stay side-by-side */
  #desktop-menu li {
    flex: 0 0 auto;
    padding: 0 20px;
    display: inline-block; /* keep your existing inline-block behavior */
  }    

    .notice {
        padding: 0 20px;
    }

}

@media all and (max-width: 970px) {

    .notice {
        font-size: 12px;
    }

}

@media all and (max-width: 910px) {

    .deal-alert-mobile {
        position: absolute;
        top: 0;
        left: -10px;
        width: 100px;
        height: 57px;
        padding: 15px 12px;
        font-size: 13px;
        color: #fff !important;
        background: url("images/deal-alert.png") no-repeat center;
        background-size: 100px 57px;
    }

    .deal-alert-mobile.show-on-mobile {
        display: block;
    }

    .deal-alert.hide-on-mobile {
        display: none;
    }

    .business-card {
        position: relative;
    }

    .business-card .logo,
    .business-card .info {
        margin-top: 20px;
    }

    .business-card .header div.deal-alert-favourite {
        position: absolute;
        top: 10px;
        right: 10px;
    }

}

@media all and (max-width: 880px) {

    .notification-container {
        margin-left: 10px;
    }

    .user-dropdown-button {
        padding: 0;
        margin-left: 10px;
        border: 0;
    }

    .user-dropdown-button i.sign-in-down-arrow,
    #sign-in-text{
        display: none;
    }

    .user-dropdown-content {
        top: 20px;
        left: auto;
        right: -10px;
    }

    #deals-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 767px) {

    .gm-style .gm-style-iw-c,
    .gm-style .gm-style-iw-d {
        max-width: 300px !important;
    }

    .gm-style .gm-style-iw-tc {
        top: -45px;
    }

    body.home .gm-style .gm-style-iw-tc,
    body.category .gm-style .gm-style-iw-tc,
    body.page-all-deals .gm-style .gm-style-iw-tc,
    body.page-all-businesses .gm-style .gm-style-iw-tc {
        display: none;
    }

    .map-card,
    body.home .map-card,
    body.category .map-card,
    body.page-all-deals .map-card {
       transform: scale(0.7);
       transform-origin: center center; /* Adjust origin as needed */
    }

    body.page-all-businesses .map-card,
    body.page-all-businesses .deal-card {
        transform: scale(0.7);
        transform-origin: center center; /* Adjust origin as needed */
        width: 320px;
    }

  input, select, textarea, button {
    font-size: 16px !important; /* prevents zoom */
  }

  .location-dropdown-toggle,
  .select-businesses-dropdown-toggle {
    font-size: 16px;
  }

  .select-businesses-search-input {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  /* Standard selector */
    ::placeholder {
        font-size: 16px;
    }

    /* WebKit browsers */
    ::-webkit-input-placeholder {
        font-size: 16px;
    }

    /* Firefox 4 - 18 */
    :-moz-placeholder {
        font-size: 16px;
    }

    /* Firefox 19+ */
    ::-moz-placeholder {
        font-size: 16px;
    }

    /* Internet Explorer 10-11 */
    :-ms-input-placeholder {
        font-size: 16px;
    }

    /* Microsoft Edge */
    ::-ms-input-placeholder {
        font-size: 16px;
    }

    textarea::placeholder {
        font-size: 16px;
    }

    textarea::-webkit-input-placeholder {
        font-size: 16px;
    }

    textarea:-moz-placeholder {
        font-size: 16px;
    }

    textarea::-moz-placeholder {
        font-size: 16px;
    }

    textarea:-ms-input-placeholder {
        font-size: 16px;
    }

    .toggle-password,
    .info-icon-form-field {
        font-size: 22px;
    }

    .tooltip {
        left: -75px;
        right: auto;
        top: calc(100% + 2px);        /* show below the trigger */
        transform: translateX(-50%);  /* center horizontally */
        width: 200px;
        font-size: 12px;
        background: #444;
        white-space: normal;          /* wrap as needed */
      }

    /* favourites */

    .favourites-column {
        padding: 0 !important;
        width: 100%;
        clear: both;
    }

    .favourites-column #deals-grid {
        grid-template-columns: repeat(3, 1fr);
    }


}

@media all and (max-width: 720px) {

    /* common */

    .hide-on-desktop {
        display: block;
    }

    .hide-on-mobile {
        display: none !important;
    }

    .show-on-mobile {
        display: block;
    }

    .tab-content h2 {
        font-size: 21px;
    }


    h1.mobile {
        margin: 0 0 20px 0;
        padding: 0;
        /*color: #e74c3c;*/
        color: #000;
        font-size: 26px;
        text-transform: none;
    }

    .view-toggle button { 
        float: none;
        width: 100%;
    }

    #page-content {
        margin: 0;
    }

    .curved-box-container {
        padding: 20px 0;
        border: 0;
        font-size: 12px;
        min-height: auto;
    }

    .field-description {
        padding-left: 10px;
        display: block;
    }

    .opening-hours table td.full-width {
        display: block;
    }

    .opening-hours table td {
        height: auto;
    }

    .opening-hours table tr {
        display: block;
        margin-bottom: 20px;
    }

    .opening-hours table td.full-width tr {
        margin-bottom: 0;
    }

      .plan-details-wrapper {
        flex-direction: column;
        margin-bottom: 0;
      }

      .plan-details {
        width: 100%;
      }

      .plan-features {
        height: auto;
      }

      .bottom-section {
        position: static;
      }

      .plan-details button {
        margin-top: 0;
      }

    .skip-for-now {
        position: static;
        clear: both;
        margin: 20px 0 0 0;
        text-align: center;
        display: block;
    }

    .three-column-layout {
        display: block;
        float: left;
        padding: 0;
        margin: 20px 0 40px 0;
    }

    .three-column-layout .column {
        margin-bottom: 10px;
    }

    .step-number {
        width: 60px;
        font-size: 60px;
        text-align: center;
    }

    .step-description {
        margin: 5px 0 0 0;
        font-size: 14px;
        width: calc(100% - 60px);
    }

    .my-business-account-menu-block,
    .my-customer-account-menu-block {
        height: 220px;
    }

    #page-content {
        background: #fff;
    }

    /* favourites  */

    .favourites-column #deals-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* header */

    #page-header,
    body.business #page-header {
        margin: 20px 0 20px 0;
    }

    body.home #page-header {
        margin: 20px 0 10px 0;
    }

    .header {
        flex-wrap: wrap;
    }

    #hamburger-menu-button {
        position: relative;
    margin-right: 10px;
    padding: 0;
      width: 25px;
      height: 20px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      cursor: pointer;
      z-index: 9999999;
    }

    #hamburger-menu-button span {
      display: block;
      width: 100%;
      height: 3px;
      background: #000; /* black lines */
      border-radius: 2px;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    /* Active state (turn into X) */
    #hamburger-menu-button.active span:nth-child(1) {
      transform: translateY(8px) rotate(45deg);
    }
    #hamburger-menu-button.active span:nth-child(2) {
      opacity: 0;
    }
    #hamburger-menu-button.active span:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }

    /* Overlay */
    #page-overlay-mobile-menu {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.45); /* semi transparent */
      opacity: 0;
      visibility: hidden;
      transition: opacity 200ms ease, visibility 0s linear 200ms;
      z-index: 99999; /* below the nav */
    }

    /* Slide-out menu */
    #mobile-menu-container {
      position: fixed;
      top: 0;
      left: 0;
      padding-top: 70px;
      width: 80vw;
      max-width: 480px;           /* optional cap */
      height: 100vh;
      background: #fff;
      transform: translateX(-100%);
      transition: transform 250ms ease;
      z-index: 999999;              /* above overlay */
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

    .mobile-menu-container h3 {
        margin: 0;
        padding: 0;
        text-transform: none;
    }

    .mobile-menu-container h3 a {
        color: #000;
    }

    #mobile-menu-container p.weekly-round-up {
        padding: 0;
        margin: 5px 0 0 0;
        text-align: left;
    }

    hr.line-separator {
        margin: 20px 0;
        padding: 0;
        width: 100%;
        height: 1px;
        background: #9d9d9d;
    }

    #learn-more-menu {
        margin: 0;
        padding: 20px 0 0 0;
    }

    #learn-more-menu li a {
        padding-left: 0;
    }

    /* Target just this accordion */
    .mobile-menu-accordion > summary {
      position: relative;
      display: block;
      padding-right: 36px;            /* space for right arrow */
      cursor: pointer;
      list-style: none;               /* Firefox */
    }
    .mobile-menu-accordion > summary::marker { content: ""; }           /* Firefox */
    .mobile-menu-accordion > summary::-webkit-details-marker { 
      display: none;                                                      /* Chrome/Safari */
    }

    /* Put the arrow on the RIGHT */
    .mobile-menu-accordion > summary::after {
      content: "▸";                   /* right-pointing chevron */
      position: absolute;
      right: 12px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 26px;
      color: #EC3F3C;                 /* your color */
      transition: transform .2s ease;
    }

    /* Rotate arrow down when open */
    .mobile-menu-accordion[open] > summary::after {
      transform: translateY(-50%) rotate(90deg);
    }

    /* Optional: tidy the H2 inside summary */
    .mobile-menu-accordion > summary > h2 {
      margin: 0;
      font-size: inherit; /* or set your size */
      font-weight: 700;   /* adjust to taste */
    }


    /* Open state */
    body.nav-open #mobile-menu-container {
      transform: translateX(0);
    }
    body.nav-open #page-overlay-mobile-menu {
      opacity: 1;
      visibility: visible;
      transition: opacity 200ms ease;
    }

    /* Prevent background scroll when nav is open */
    body.nav-open {
      overflow: hidden;
    }

    .mobile-menu-container {
        padding: 0 20px;
        font-size: 13px;
    }

    #mobile-menu-container h2 {
        font-family: Poppins-SemiBold, Helvetica, Arial;
        font-weight: 600;
        font-size: 15px;
        color: #ec3f3c;
        text-transform: uppercase;
    }

    #mobile-menu-container a.button {
        margin: 20px 0;
        padding: 10px 15px;
        width: 100%;
        font-size: 13px;
        font-family: Poppins-SemiBold;
        font-weight: 600;
        text-align: center;
        color: #fff;
        background: #ec3f3c;;
        border-radius: 30px;
        text-decoration: none;
        display: inline-block;
    }

    #mobile-menu-container p {
        font-family: Poppins-Light;
    }

    #mobile-menu {
        margin-top: 40px;
        padding: 0;
        text-align: left;
    }

    .mobile-menu li {
        padding: 0;
        display: block;
    }

    .mobile-menu li a {
        padding: 10px 0 10px 20px;
        font-family: Poppins-SemiBold;
        font-weight: 600;
        color: #000;
        border-left: 4px solid #fff;
        text-decoration: none;
        display: block;
    }

    .mobile-menu li.current_page_item a,
    .mobile-menu li.current-menu-item a,
    .mobile-menu li.current-category-ancestor a {
        color: #ec3f3c;
        border-left: 4px solid #ec3f3c;
        border-bottom: 0;
    }

    .mobile-menu-container .social-icons {
        padding-bottom: 40px;
        justify-content: left;
    }

    #page-header .logo {
        display: none;
    }

    #page-header .logo-mobile {
        height: 40px;
        margin-right: 15px;
        display: block;
    }

    #page-header .logo-mobile img {
        width: auto;
        height: 40px;
    }

    .search-bar {
        margin-top: 20px;
        order: 100;               /* push to the end (bottom) */
        flex: 0 0 100%;           /* take full width */
        width: 100%;
        justify-content: center;  /* keep content centered if desired */
      }
      /* make the inner form stretch nicely */
      .search-bar #search,
      .search-bar .search-form {
        width: 100%;
        display: flex;
      }
      .search-bar .search-field {
        padding: 12px 0 12px 12px;
        flex: 1;                  /* input expands */
        border: 2px solid #ec3f3c;
        border-radius: 20px 0 0 20px;
        border-right: none;
      }
      .search-bar .search-submit {
        flex: 0 0 auto;
        border: 2px solid #ec3f3c;
        border-left: none;
        border-radius: 0 20px 20px 0;
      }

    body.page-all-businesses .search-bar,
    body.business .search-bar,
    body.page-all-deals .search-bar,
    body.category .search-bar,
    body.single-deal .search-bar {
        display: none;
    }

    #deal-search-results {
        max-width: 720px;
    }

    body.page-all-businesses #deal-search-results,
    body.business #deal-search-results,
    body.page-all-deals #deal-search-results,
    body.category #deal-search-results,
    body.single-deal #deal-search-results {
        margin-top: 5px;
    }

    /* home */

    #desktop-menu-container {
        display: none;
    }

    body.home h2,
    #select-shopping-area .location-dropdown-toggle {
        font-size: 20px;
        border: 0;
    }

    #select-shopping-area .location-dropdown-list {
        left: 10px;
        right: auto;
        width: 280px;
    }

    #map-button-location-switcher {
        display: flex;
        flex-direction: column;
        padding: 0;
        scroll-padding-top: 0;
        scroll-margin-top: 0;
    }

    #select-shopping-area { 
        order: 1;
        float: left;
        text-align: left;
        padding-left: 0;
        margin-bottom: 20px;
    }

    body.home #select-shopping-area {
        padding-left: 10px;
        margin-bottom: 0;
    }

    #view-toggle { 
        order: 2;        
        margin: 0;        
    }

    body.home #view-toggle { 
        background: #FDF5F5;
        padding: 20px;
    }

    #view-toggle button { 
        float: none;
        width: 100%;
    }

    #top-picks-for-you-nearby,
    #trending-deals-nearby {
        margin-top: 0;
    }

    .category-dropdown-toggle::after {
        top: 20px;
        right: 30px;
    }

    .full-width-row {
        padding: 0 0 20px 0;
    }

    .pink-background-mobile {
        background: #FDF5F5;
    }

    .no-deals-found {
        padding: 0 0 0 10px;
        font-size: 17px;
    }

    a.see-all {
        margin: 17px 0 0 0;
    }

    body.home .category-selector-wrapper {
        width: 260px;
    }

    .category-dropdown-toggle::after {
        top: 25px;
        right: 10px;
    }

    .deal-carousel-btn {
        display: none;
    }

    .deal-carousel-container {
        background: #FDF5F5;
    }

    .deal-carousel-track {
        gap: 10px;
    }

    .deal-carousel-item {
        position: relative;
        min-height: 330px !important;
        flex: 0 0 210px;
    }

    .deal .deal-info a.business-name {
        font-size: 14px;
    }

    .deal .deal-info a.deal-name {
        font-size: 16px;
    }

    .deal .deal-info .rating-reviews, 
    .deal .deal-info .rating-reviews a {
        font-size: 12px;
    }

    .deal .deal-info a.deal-name {
        display: -webkit-box;          
        -webkit-line-clamp: 2;          
        -webkit-box-orient: vertical;   
        overflow: hidden;               
        text-overflow: ellipsis;
    }

    .deal-start-end-date i {
        font-size: 19px;
    }

    .deal .deal-info .deal-start-end-date {
        font-size: 12px;
    }

    #recently-viewed {
        padding: 20px;
    }

    #featured-deals {
        min-height: auto;
        background: #fff url("images/dealcorner-background-red-polygon.svg") no-repeat center bottom;
        display: none;
    }

    .all-your-deals {
        margin: 20px;
        font-size: 16px;
        display: none;
    }

    .all-your-deals i {
        margin: 0 10px 0 0;
        font-size: 30px;
    }

    #btn-explore-our-deals-map {
        display: none;
    }

    #browse-by-category .category-container .category {
        font-size: 17px;
        color: #fff;
        background: #E00606;
        width: 130px;
        height: 130px;
    }

    /* footer */

    #homepage-mobile-footer {
        margin-top: 20px;
        color: #757575;
    }

    #homepage-mobile-footer .row:first-child {
        padding: 20px 0;
        border-bottom: 1px solid #ccc;
    }

    #homepage-mobile-footer h2 {
        font-size: 26px;
    }

    #homepage-mobile-footer a {
        color: #757575;
    }

    #homepage-mobile-footer a.button-action {
        width: 100%;
        color: #fff;
        max-width: 320px;
    }

    #footer {
        margin: 20px 0;
        padding: 0;
        background: #fef8f8;
    }

    #footer .container {
        padding: 0;
    }

    #footer-newsletter-sign-up-submitted {
        max-width: 100%;
        padding: 0 20px;
    }

    #footer-newsletter-sign-up-form {
        padding: 0 20px;
    }

    #footer-newsletter-sign-up-form h2 {
        text-align: left;
    }

    #footer-newsletter-sign-up-form .loading-animation {
        width: 40px;
        height: 40px;
    }

    #footer-newsletter-sign-up-form input[type="email"] {
        width: calc(100% - 54px);
        margin-right: 10px;
    }

    #sign-up-for-our-newsletter-button {
        padding: 5px;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        font-size: 20px;
        color: #fff;
        background: #e00506;
        display:inline-block;
    }

    #footer .logo {
        display: none;
    }

    .footer-menu-column,
    .footer-column-right {
        clear: both;
        float: none;
        margin: 20px 0 0 0;
        width: 100%;
        text-align: left;
    }

     .footer-column-right {
        margin-top: 40px;
     }

    .footer-menu-column.for-customers {
        margin: 0;
    }

    .footer-menu-column h2 {
        text-align: center;
    }

    .footer-menu-column summary h2 {
        font-family: Poppins-Light;
        text-align: left;
    }

    .footer-menu-column .mobile-menu li a {
        margin: 0 0 0 24px;
        padding: 0;
        border: 0;
        font-family: Poppins-Light;
    }

    .footer-column-right .follow-us {
        padding: 0;
    }

    .mobile-accordion {
        margin-bottom: 2px;
        border: 0;
        overflow: hidden;
        background: #fce9e9;
      }

      .mobile-accordion > summary {
        list-style: none;                 /* remove default marker */
        cursor: pointer;
        padding: 10px 16px 0 40px;
        position: relative;
        font-size: 18px;
        font-weight: 700;
      }
      .mobile-accordion > summary::-webkit-details-marker { display: none; }

      /* + / − icon */
      .mobile-accordion > summary::before {
        content: "+";
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-family: Poppins-ExtraLight;
        line-height: 1;
      }
      .mobile-accordion[open] > summary::before { content: "−"; }

      .mobile-accordion .mobile-menu {
        padding: 8px 16px 14px 16px;
      }
      .mobile-accordion .mobile-menu .menu-items {
        margin: 0;
        padding: 0;
        list-style: none;
      }
      .mobile-accordion .mobile-menu .menu-item a {
        display: block;
        padding: 10px 0;
        text-decoration: none;
      }
      .mobile-accordion .mobile-menu .menu-item + .menu-item a {
        border-top: 1px solid #f1f5f9;
      }

    .social-icons {
        justify-content: center;
    }

    .terms-privacy,
    #copyright {
        width: 100%;
        text-align: center;
    }

    #copyright {
        margin: 40px 0 0 0;
    }

    /* home footer */

    #homepage-footer-forms {
        display: block;
    }

    #newsletter-notification-sign-up, 
    #business-contact {
        float: left;
        margin: 0 0 20px 0;
        padding: 10px 20px;
        font-size: 16px;
    }

    #newsletter-notification-sign-up div {
        float: left;
        width: 100%;
    }

    #newsletter-notification-sign-up h2, 
    #business-contact h2 {
        font-size: 20px;
    }

    #newsletter-notification-sign-up h3, 
    #business-contact h3 {
        font-size: 18px;
    }

    #newsletter-notification-sign-up .column,
    #newsletter-notification-sign-up .column:last-of-type {
        margin: 0;
        width: 100%;
    }

    #newsletter-notification-sign-up .column:last-of-type {
        margin-top: 40px;
    }

    a.button-action, 
    input[type="submit"] {
        margin: 10px 0 0 0;
        font-size: 18px;
        width: 100%;
        text-align: center;
    }

    /* single deal */

    body.single-deal article.deal {
        padding: 0;
    }

    #breadcrumbs, #breadcrumbs a {
        font-size: 10px;
    }

    #breadcrumbs {
        margin-top: 0;
    }

    #deal-header .deal-info a.business-name {
        font-size: 16px;
    }

    #deal-header .deal-info h1 {
        font-size: 20px;
    }

    body.single-deal .rating-reviews, 
    body.single-deal .rating-reviews a {
        font-size: 12px !important;
    }

    #deal-header .deal-info .deal-description {
        display: none;
    }

    #deal-header .deal-info .locations-reviews {
        padding-bottom: 10px;
    }

    #deal-header .deal-info .deal-start-end-date {
        margin: 10px 0 0 0;
        font-size: 14px;
    }

    #deal-header .deal-info .deal-tags {
        display: none;
    }

    /* Keep everything in one horizontal row */
    #deal-header .deal-images {
      margin-bottom: 40px;
      display: flex;
      flex-wrap: nowrap;      /* don't wrap to new line */
      align-items: center;
      overflow-x: auto;
      overflow-y: hidden;
      gap: 15px;
      width: 100%;
      scroll-snap-type: x proximity;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;        /* Firefox */
      -ms-overflow-style: none;     /* IE + Edge legacy */
    }

    /* Every direct child (including the grid) is a fixed-width flex item */
    #deal-header .deal-images > * {
      flex: 0 0 auto;
      min-width: 0;           /* iOS/Safari flex quirk fix */
    }

    /* Remove the line break inside the flex row */
    #deal-header .deal-images > br,
    #deal-header .deal-images .hide-on-mobile {
      display: none !important;
    }

    #deal-header .deal-images::-webkit-scrollbar {
          display: none;                /* Chrome, Safari, Edge (Chromium) */
        }

    /* Grid itself is a horizontal strip */
    #deal-header .deal-media-grid {
      display: flex;
      flex-wrap: nowrap;
      gap: 15px;
    }

    /* Anchors and thumbs behave like tiles */
    #deal-header .deal-media-grid a {
      flex: 0 0 auto;
      display: block;
    }

    #deal-header .deal-image-thumb {
      height: 75vw;    /* adjust as needed */
      width: auto;
      display: block;
      object-fit: contain;
      background: transparent;
    }

    /* Feature image can stay tall */
    #deal-header #deal-featured-image {
      height: 75vw;    /* matches container height if you keep it */
      width: auto;
      display: block;
    }

    #deal-header .deal-images img {
       border: 1px solid #ccc;
     }

     #deal-header .deal-images.hundred-percent-width {
      display: block;
      overflow: none;
    }

     #deal-header .deal-images img.hundred-percent-width {
       width: 100% !important;
       height: auto !important;
     }

    .tab-content h2,
    .tab-content h3 {
        font-size: 15px;
    }

    .tab-content p {
        font-size: 13px;
    }

    .tab-content h4 {
        font-size: 13px;
    }

    .select-store, .store-name {
        font-size: 15px;
    }

    .dropdown-toggle {
        font-size: 13px;
    }

    .store-location-details table td {
        padding: 5px;
        font-size: 13px;
    }

    #locations-and-hours-tab #map-view {
        width: 300px;
        height: 300px;
    }

    /* deals */

    #deals-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px;
    }

    /* single business */

    #business-carousel-and-header-container {
        padding: 0;
    }

    body.business .business-header {
        position: relative;
        z-index: 1;
    }

    body.business .business-logo {
        margin: -20px 0 0 20px;
    }

    body.business .business-logo img {
        width: 100px;
        height: 100px;
    }

    .business-info {
        width: 100%;
    }

    .business-info h1 {
        font-size: 20px;
    }

    .carousel {
        z-index: 0;
    }

    .share-favourite {
        padding-top: 0;
        position: absolute;
        top: -200px;
        right: 20px;
    }

    .share-favourite .share,
    .share-favourite .favourite {
      position: absolute;
    }

    .share-favourite .share {
        right: 40px;
    }

    body.business .business-header .favourite {
        position: absolute;
        right: 0;
        margin: 0;
        background: #fff;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        z-index: 3;
    }

    .share-favourite .favourite .heart-icon {
        position: absolute;
        top: 4px;
        right: 4px;
        font-size: 22px;
    }

    #about-tab {
        font-size: 16px;
    }

    .business-description {
        font-size: 14px;
    }

    /* all businesses / all deals */

    #business-directory, #all-deals {
        display: block;
        gap: 0;
    }

    p.refine {
        font-size: 10px;
        text-align: left;
        display: none;
    }

    #location-search-filter-sort {
        margin: 0 0 20px 0;
        display: flex;
        width: 100%;
    }

    #location-search-filter-sort .icon-buttons {
        flex: 0 0 140px;
        height: 40px;
    }

    #location-search-filter-sort .icon-buttons button {
        padding: 7px 10px;
    }

    #location-search-filter-sort .category-buttons {
        flex: 1;
        height: 40px;
        overflow-x: auto;
        overflow-y: hidden; /* prevent vertical scroll */
        white-space: nowrap; /* keep buttons in one line */
        -webkit-overflow-scrolling: touch; /* smooth scrolling on mobile */
        scrollbar-width: none;
    }

    #location-search-filter-sort .category-buttons::-webkit-scrollbar {
        display: none; /* Chrome, Safari, Edge */
    }


    #location-search-filter-sort .category-buttons button {
        display: inline-block;
        margin-right: 10px; /* spacing between buttons */
    }

    #location-search-filter-sort button {
        padding: 5px 10px;
        border-radius: 30px;
        border: 1px solid #dcdcdc;
        cursor: pointer;
        white-space: nowrap; /* prevent text wrapping */
        color: #000;
        font-size: 18px;
    }

    #location-search-filter-sort .icon-buttons button {
        border-radius: 50%;
        width: 40px;
    }

    #location-search-filter-sort button:active {
        color: #fff;
        background: #000;
    }

    #location-search-filter-sort button.category-button {
        font-family: Poppins-Light;
        font-size: 16px;
    }

    #button-location-switcher.current-location,
    #button-location-switcher.current-location i {
        color: #fff;
    }

    #button-location-switcher.current-location {
        background: #000;
    }

    #button-location-switcher.active i,
    #button-sort.active i {
        color: #fff;
    }

    #location-search-filter-sort button.category-button.selected,
    #button-location-switcher.active,
    #button-sort.active,
    #button-search.active {
        color: #fff;
        background: #ec3f3c;
    }

    .filters {
        padding: 0;
        float: left;
        width: 100%;
        border: 0;
    }

    #categories {
        display: none;
    }

    #deal-types, 
    #sort-options {
        clear: none;
        margin: 0 0 20px 0;
        padding: 5px;
        float: left;
        width: 50%;
    }

    .results {
        width: 100%;
    }

    .business-card .logo {
        width: 100px;
    }

    .business-card .logo img {
        width: 100px;
        height: 100px;
    }
    

    .business-card .tags-no-flex {
        margin: 0;
    }

    body.business .deal .deal-info {   
        width: calc(100% - 125px);
        margin: 0 0 0 20px;
    }

    /* business sign up */
    .contact-info-form-field {
        width: 100%;
    }

    /* choose a plan */

    .plan-details .highlight-text {
        margin-top: 10px;
        font-size: 12px;
    }

    .plan-details .plan-description {
        font-size: 13px;
    }

    .plan-details .plan-features ul li {
        font-size: 13px;
    }

    .plan-details .plan-payment-title {
        font-size: 15px;
    }

    .plan-details .plan-payment-renewal-cycle {
        font-size: 11px;
    }

    .plan-details  .plan-payment-description {
        font-size: 11px;
    }

    /* Make each plan a vertical flex container */
    .plan-details {
      display: flex;
      flex-direction: column;
    }

    /* Show the highlight text first, then the H2 (visual order only) */
    .plan-details > .highlight-text { order: 1; }
    .plan-details > h2              { order: 2; }

    /* (Optional) keep everything else after */
    .plan-details > *:not(.highlight-text):not(h2) { order: 3; }

    /* (Optional) spacing tweaks since margins don’t collapse inside flex */
    .plan-details > h2 { margin-top: .25rem; }


    #add-money-to-your-click-wallet,
    #continue-to-pay {
        font-size: 14px;
    }

}

@media all and (max-width: 500px) {

    .user-dropdown-content a {
        padding: 10px 0;
        font-size: 14px;
    }

    .my-business-account-menu-grid, .my-customer-account-menu-grid {
        margin: 40px 0 20px 0;
        grid-template-columns: 1fr;
    }

    .my-business-account-menu-block, .my-customer-account-menu-block {
        height: auto;
    }

    .my-business-account-menu-block.single, .my-customer-account-menu-block.single {
        width: 100%;
    }

    .deal-grid-item {
        min-height: 345px;
    }

    .map-card .deal-grid-item {
        min-height: auto;
    }

    #recently-viewed-deals-grid > .deal-grid-item {
        min-height: auto !important;
    }

    .bottom-content {
        position: absolute;
        bottom: 10px;
    }

    .map-card .bottom-content {
        position: static;
    }

}


@media all and (max-width: 414px) {

    .deal-grid-item {
        min-height: 300px;
    }

    .map-card .deal-grid-item {
        min-height: auto;
    }

}

@media all and (max-width: 384px) {

    .user-navigation .favourites {
        display: none;
    }

}


@media (max-width: 310px) {

    .gm-style .gm-style-iw-c,
    .gm-style .gm-style-iw-d {
        max-width: 280px !important;
    }

}

@media (max-width: 290px) {

    .gm-style .gm-style-iw-c,
    .gm-style .gm-style-iw-d {
        max-width: 260px !important;
    }

}