body {
	background-color: #fbfbfe;
}

/* Hero Section Styles */
.hero-section {
	padding: 40px 35px;
}

@media (max-width: 768px) {
	.hero-section {
		padding: 10px 0;
	}
}

.hero-section .container {
	max-width: 1400px;
	padding: 0;
	width: calc(100% - 30px);
	margin: 0 auto;
}

.hero-content {
	display: flex;
	gap: 160px;
	align-items: flex-start;
}

.hero-left {
	flex: 1;
	max-width: 60%;
}

.hero-right {
	flex: 1;
	max-width: 36%;
}

/* Brand Logo */
.brand-logo {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}

.brand-icon {
	font-size: 24px;
	background: #FF7BDA;
	border-radius: 50%;
	width: 27px;
	height: 27px;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.brand-text {
	font-weight: 600;
	font-size: 17px;
	line-height: 160%;
	letter-spacing: 0%;
	color: #1F4388;
}

/* Main Title */
.hero-title {
	font-weight: 700;
	font-size: 55px;
	line-height: 67px;
	letter-spacing: 0%;

	color: #1F4388;
	margin: 16px 0;
}

/* Address */
.hero-address {
	font-weight: 400;
	font-size: 20px;
	font-style: normal;
	line-height: 160%;
	letter-spacing: 0%;
	color: #1A1A1A;
	margin-bottom: 16px;
}

/* CTA Buttons */
.hero-ctas {
	display: flex;
	gap: 16px;
	margin-bottom: 0;
	padding-bottom: 36px;
	border-bottom: 1px solid #AEC7F9;
}

@media (max-width: 768px) {
	.hero-ctas {
		border-bottom: none;
		padding-bottom: 0;
	}
}

.hero-ctas .btn {
	padding: 15px 21px;
	border-radius: 4px;
	border: 1px solid #FFFFFF;
	text-decoration: none;
	font-weight: 600;
	font-size: 18px !important;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-block;
	color: #1F4388;
}

.hero-ctas .btn-phone {
	font-weight: 700;
	font-size: 20px !important;
	line-height: 160%;
	letter-spacing: 0%;
	color: #1F4388;
	text-decoration: underline;
}

.hero-ctas .btn-phone:hover {
	background-color: transparent;
	color: #1F4388;
}

.btn-primary {
	background-color: #FFCD55;
	color: #1F4388;
}

.btn-primary:hover {
	background-color: #f4b31d;
	color: #1F4388;
}

.btn-phone {
	background-color: transparent;
	color: #1F4388;
	border: 2px solid #1F4388;
}

.btn-phone:hover {
	background-color: #1F4388;
	color: white;
}

/* Hero Images */
.hero-image-main {
	margin-bottom: 16px;
	margin-right: 8px;
}

.hero-image-main .main-image {
	width: 100%;
	height: 498px;
	object-fit: cover;
	border-radius: 12px;
	border: 1px solid #1F4388;
	box-shadow: 8px 8px 0px 0px #AEC7F9;
	margin-top: 73px;
}

@media (max-width: 768px) {
	.hero-image-main .main-image {
		width: 100%;
		height: 285px;
		margin-top: 0;
	}
}


.placeholder-image {
	width: 100%;
	height: 300px;
	background: #e9ecef;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6c757d;
	font-size: 16px;
}

/* Breadcrumbs */
.breadcrumbs-mobile {
	display: none;
}

.breadcrumbs-desktop {
	display: block;
}

/* Mobile Breadcrumbs Styles */
@media (max-width: 768px) {
	.breadcrumbs-desktop {
		display: none;
	}

	.breadcrumbs-mobile {
		display: flex;
		gap: 10px;
	}

	.breadcrumb-level {
		margin-bottom: 8px;
		display: flex;
	}

	.breadcrumb-level:last-child {
		margin-bottom: 0;
	}

	.breadcrumb-back {
		display: flex;
		align-items: center;
		text-decoration: none;
		color: #1A1A1A;
		font-size: 14px;
		line-height: 160%;
		letter-spacing: 0%;
		font-weight: 400;
		transition: all 0.2s ease;
	}

	.breadcrumb-back:hover {
		color: #1F4388;
	}

	.breadcrumb-level.current-level .breadcrumb-arrow,
	.breadcrumb-level.current-level .breadcrumb-label {
		color: #1A1A1A;
		font-weight: 700;
	}

	.breadcrumb-arrow {
		margin-right: 8px;
		font-size: 12px;
		color: #666;
		font-weight: normal;
	}

	.breadcrumb-label {
		font-size: 14px;
		line-height: 160%;
		letter-spacing: 0%;
	}

	.current-level {
		pointer-events: none;
	}

	.current-level .breadcrumb-arrow {
		color: #1A1A1A;
	}
}

/* Gallery Thumbnails */
.hero-gallery-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	max-width: 510px;
	/* Increased to accommodate 382px viewport + buttons + gaps */
	margin: 0 auto;
	position: relative;
}

/* Viewport container - handles overflow and sizing */
.gallery-viewport {
	overflow: hidden;
	width: 382px;
	/* 100px + 150px (center) + 100px + 24px (gaps) */
}

/* Moving content container - handles transform */
.hero-gallery-thumbnails {
	display: flex;
	gap: 12px;
	transition: transform 0.3s ease;
	width: max-content;
}

.thumbnail-item {
	flex: 0 0 auto;
	min-width: 100px;
}

.thumbnail-image {
	width: 100px;
	height: 105px;
	object-fit: cover;
	border-radius: 8px;
	border: 0.46px solid #1F4388;
	cursor: pointer;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

/* Center/featured thumbnail is wider */
.thumbnail-image.center {
	width: 150px;
	height: 105px;
	/* Same height as others */
}

.thumbnail-image:hover {
	transform: scale(1.02);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.thumbnail-image.active {
	border-color: #1F4388;
}

/* Gallery Navigation */
.gallery-nav {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 4px;
	border-radius: 50%;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 49px;
	flex-shrink: 0;
}

.gallery-nav:hover {
	background-color: rgba(31, 67, 136, 0.1);
	transform: scale(1.05);
}

.gallery-nav:focus {
	outline: 2px solid #1F4388;
	outline-offset: 2px;
}

.gallery-nav:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

.gallery-nav:disabled:hover {
	background-color: transparent;
	transform: none;
}

.gallery-nav img {
	width: 48px;
	height: 49px;
	pointer-events: none;
}

/* Main Content Section (Map & Hours) */
.main-content-section {
	padding: 60px 0;
	background: #ffffff;
}

.main-content-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.content-grid {
	display: flex;
	gap: 60px;
	align-items: flex-start;
	margin-top: 42px;
}

.map-column {
	flex: 1;
	max-width: 312px;
}

.hours-column {
	flex: 1;
}

/* Map Styles */
.location-map-container {
	border-radius: 12px;
	overflow: hidden;
}

.location-map {
	width: 306px;
	height: 318px;
	border-radius: 10px;
	border: 1px solid #1F4388
}

.map-cta {
	padding: 20px;
	text-align: center;
}

.map-cta .btn-directions {
	font-weight: 700;
	font-size: 18px;
	line-height: 150%;
	letter-spacing: 0%;
	text-decoration: underline;
	color: #1F4388;
	display: inline-block;
	transition: background-color 0.3s ease;
	margin-bottom: 15px;
}

@media (max-width: 768px) {
	.map-cta .btn-directions {
		font-size: 16px !important;
	}
}

.map-cta .btn-directions:hover {
	color: #093484;
}

/* Hours Styles */
.hours-container {
	margin-top: 22px;
}

.hours-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	margin-bottom: 22px;
	padding-bottom: 8px;
	border-bottom: 1px solid #AEC7F9;
}

.hours-header:hover {
	opacity: 0.8;
}

.hours-title {
	font-weight: 700;
	font-size: 28px;
	line-height: 120%;
	letter-spacing: 0%;
	color: #1F4388;
	margin: 0 0 30px 0;
}

.toggle-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease;
}

.hours-header[aria-expanded="true"] .toggle-icon {
	transform: rotate(180deg);
}

.hours-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Desktop styles - always visible */
@media (min-width: 769px) {
	.hours-header {
		border-bottom: none;
		cursor: default;
		margin-bottom: 22px;
		padding-bottom: 0;
	}

	.hours-header:hover {
		opacity: 1;
	}

	.toggle-icon {
		display: none;
	}

	.hours-list {
		opacity: 1 !important;
		max-height: none !important;
	}
}

.hour-item {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	color: #101820;
	margin-bottom: 5px;
}

.hour-item:last-child {
	border-bottom: none;
}

.day-name {
	font-weight: 400;
	color: #101820;
	flex: 0 0 130px;
	text-align: left;
}

.hour-item.today .day-name {
	flex: 0 0 130px;
	color: #101820;
	font-weight: 700;
}

.day-hours {
	color: #101820;
	flex: 1;
}

.hour-item.today .day-hours {
	text-align: left;
	color: #101820;
	font-weight: 600;
	padding: 0;
}

.about-section {
	position: relative;
	background-color: #EDF2F9;
	margin-top: -70px;
	margin-bottom: 117px;
}

@media (max-width:768px) {
	.about-section {
		margin-top: 10px;
		margin-bottom: 57px;
	}
}

/*.about-section::before {
        background-image: url('/wp-content/plugins/dac-locator/public/images/top-blue-curve.svg');
        background-size: 100%;
        background-repeat: no-repeat;
        content: '';
        position: absolute;
        top: -117px;
        left: 0;
        width: 100%;
        height: 117px;
    }*/
.about-section::after {
	background-image: url('/wp-content/plugins/dac-locator/public/images/bottom-blue-curve.svg');
	background-size: 100%;
	background-repeat: no-repeat;
	content: '';
	position: absolute;
	bottom: -117px;
	left: 0;
	width: 100%;
	height: 117px;
}

.about-section .container {
	display: flex;
	padding-top: 100px;
	padding-bottom: 0;
	justify-content: space-between;
}

.about-section .about-content {
	flex-basis: 40%;
	padding-left: 64px;
}

.about-section .services-content {
	flex-basis: 45%;
}

.about-content .about-title {
	font-weight: 700;
	font-size: 45px;
	line-height: 120%;
	letter-spacing: 0%;
	color: #1F4388;
}

@media (max-width: 768px) {
	.about-content .about-title {
		font-size: 24px;
	}

	.about-content .about-description {
		font-size: 16px !important;
	}
}

.about-content .about-eyebrow {
	margin-top: 24px;
	margin-bottom: 24px;
}

.about-content .about-description {
	font-weight: 400;
	font-size: 18px;
	line-height: 150%;
	letter-spacing: 0%;
	color: #1A1A1A;
	margin-bottom: 24px;
}

.about-content .btn-appointment {
	font-weight: 600;
	font-size: 18px;
	line-height: 120%;
	letter-spacing: 0%;
	color: #1F4388;

	background: transparent;
	border-radius: 4px;
	padding-top: 15px;
	padding-right: 21px;
	padding-bottom: 15px;
	padding-left: 21px;
	border-width: 2px;
	border: 2px solid #1F4388
}

@media (max-width: 768px) {
	.about-section .container {
		flex-direction: column;
		padding-top: 45px;
	}

	.about-section .about-content {
		flex-basis: 100%;
		padding-left: 0;
	}

	.about-section .services-content {
		flex-basis: 100%;
		padding-left: 0;
		margin-top: 40px;
	}

	.services-content .services-box .services-grid .service-item {
		flex-basis: 100%;
	}
}

.services-content {
	padding-left: 64px;
}

.services-content .services-box {
	background: #ffffff;
	border-radius: 22px;
	padding: 50px 60px;
	border: 1px solid #1F4388;
	box-shadow: 8px 8px 0px 0px #AEC7F9;
}

.services-content .services-box .services-header .services-title {
	font-weight: 700;
	font-size: 28px;
	line-height: 120%;
	letter-spacing: 0%;
	color: #1F4388;
}

@media (max-width: 768px) {
	.services-content .services-box .services-header .services-title {
		font-size: 22px;
	}
}

.services-content .services-box .services-grid {
	display: flex;
	flex-wrap: wrap;
	margin-top: 14px;
}

@media (max-width: 768px) {
	.services-content .services-box .services-grid {
		flex-direction: column;
	}
}

.services-content .services-box .services-grid .service-item {
	margin-top: 30px;
	flex-basis: 50%;
	font-weight: 500;
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 1px;
	text-decoration: underline;
	color: #1F4388;
}

@media (max-width: 768px) {
	.services-content .services-box {
		margin-right: 8px;
		padding: 40px;
		margin-bottom: 20px;
	}
}

/* Payment Section Styles */
.payment-section {
	padding: 80px 0;
}

.payment-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.payment-content {
	display: flex;
	gap: 80px;
	align-items: flex-start;
}

.payment-info {
	flex: 1;
	max-width: 60%;
}

.payment-title {
	font-size: 48px;
	font-weight: 700;
	color: #1F4388;
	line-height: 1.2;
	margin: 0 0 16px 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.payment-eyebrow {
	margin-bottom: 24px;
}

.payment-description {
	margin-bottom: 40px;
}

.payment-description p {
	font-size: 18px;
	color: #666;
	line-height: 1.6;
	margin: 0;
}

.insurance-logos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.insurance-logos .logo-item {
	height: 80px;
}

.insurance-logos .logo-item img {
	max-width: 100%;
	max-height: 50px;
	object-fit: contain;
}

.payment-cta .btn-secondary {
	background-color: transparent;
	color: #1F4388;
	border: 2px solid #1F4388;
	padding: 12px 32px;
	border-radius: 0;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
}

.payment-cta .btn-secondary:hover {
	background-color: #1F4388;
	color: white;
}

.promotional-card {
	flex: 1;
	max-width: 40%;
	background: white;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 13.65px 13.65px 0px 0px #95CFF8;
	border: 1px solid #1F4388;
}

.promo-content {
	background-color: #FFCD55;
	padding: 32px;
}

.promo-title {
	font-size: 24px;
	font-weight: 700;
	color: #1F4388;
	line-height: 1.3;
	margin: 0 0 16px 0;
}

.promo-text {
	font-size: 16px;
	color: #666;
	line-height: 1.5;
	margin: 0 0 24px 0;
}

.promo-cta .btn-primary {
	background-color: #ffffff;
	color: #1F4388;
	border: 2px solid #1F4388;
	padding: 12px 32px;
	border-radius: 0;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
}

.payment-cta .btn-secondary:hover {
	background-color: #1F4388;
	color: white;
}

.promo-cta .btn-primary:hover {
	background-color: #e6940a;
	color: white;
}

.promo-image {
	height: 374px;
	overflow: hidden;
}

.promo-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

/* Responsive Design */
@media (max-width: 768px) {
	.hero-content {
		flex-direction: column;
		gap: 30px;
	}

	.hero-left,
	.hero-right {
		max-width: 100%;
	}

	.hero-title {
		font-size: 30px;
		line-height: 120%;
	}

	.hero-ctas {
		flex-direction: column-reverse;
	}

	.hero-ctas .btn-phone {
		border: 2px solid #1F4388;
		border-radius: 4px;
		padding: 15px 21px;
		text-decoration: underline;
	}

	.btn {
		text-align: center;
	}

	/* Gallery responsive styles */
	.hero-gallery-container {
		gap: 8px;
		max-width: 100%;
		padding: 0;
	}

	.gallery-viewport {
		width: 296px;
		/* 80px + 120px (center) + 80px + 16px (gaps) */
	}

	.hero-gallery-thumbnails {
		gap: 8px;
	}

	.thumbnail-item {
		min-width: 80px;
	}

	.thumbnail-image {
		width: 80px;
		height: 84px;
	}

	/* Mobile center thumbnail */
	.thumbnail-image.center {
		width: 120px;
		height: 84px;
		/* Same height as others */
	}

	.gallery-nav {
		width: 40px;
		height: 41px;
	}

	.gallery-nav img {
		width: 40px;
		height: 41px;
	}

	.content-grid {
		flex-direction: column;
		gap: 0;
	}

	.map-column {
		flex: 1;
		width: 100%;
		max-width: 100%;
	}

	#locationMapMain {
		width: 99%;
	}

	.hours-column {
		width: 100%;
	}

	.hours-title {
		font-size: 28px;
		margin: 0;
	}

	.location-map {
		height: 300px;
	}

	/* Hours toggle mobile styles */
	.hours-header {
		border-bottom: none;
		cursor: pointer !important;
		padding-bottom: 8px !important;
	}

	.hours-header:hover {
		opacity: 0.8 !important;
	}

	.toggle-icon {
		display: flex !important;
	}

	.hours-list {
		transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
		overflow: hidden;
		max-height: 0;
		opacity: 0;
	}

	.hours-header[aria-expanded="true"]+.hours-list {
		max-height: 500px;
		opacity: 1;
	}

	/* Payment Section Mobile Styles */
	.payment-content {
		flex-direction: column;
		gap: 40px;
	}

	.payment-info,
	.promotional-card {
		max-width: 100%;
	}

	.payment-title {
		font-size: 36px;
	}

	.insurance-logos {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.promotional-card {
		box-shadow: 8px 8px 0px 0px #95CFF8;
	}
}

/* Testimonials Section Styles */
.testimonials-section {
	padding: 80px 0;
}

.testimonials-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.testimonials-header {
	text-align: center;
	margin-bottom: 60px;
}

.testimonials-title {
	font-size: 48px;
	font-weight: 700;
	color: #1F4388;
	line-height: 1.2;
	margin: 0 0 16px 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.testimonials-eyebrow {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
}

.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.testimonial-card {
	background: white;
	border: 1px solid #e9ecef;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 8px 8px 0px 0px #95CFF8;
	position: relative;
}

.testimonial-quote-icon {
	background: white;
	padding: 8px;
	border-radius: 8px;
}

.testimonial-quote {
	margin: 20px 0 24px 0;
}

.testimonial-quote p {
	font-size: 16px;
	color: #333;
	line-height: 1.5;
	margin: 0;
}

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

.reviewer-name {
	font-size: 16px;
	font-weight: 700;
	color: #1F4388;
	font-style: normal;
}

.star-rating img {
	width: 100px;
	height: 20px;
	object-fit: contain;
}

/* Responsive Design for Testimonials */
@media (max-width: 768px) {
	.testimonials-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.testimonials-title {
		font-size: 36px;
	}

	.testimonial-card {
		padding: 24px;
		box-shadow: 6px 6px 0px 0px #95CFF8;
	}

	.testimonial-quote-icon {
		left: 24px;
	}
}

/* Nearby Locations Section Styles */
.nearby-section {
	padding: 80px 0;
}

@media (max-width: 768px) {
	.nearby-section {
		padding: 40px 0;
	}
}

.nearby-header {
	text-align: center;
	margin-bottom: 60px;
}

.nearby__title {
	font-size: 45px;
	font-weight: 700;
	color: #1F4388;
	line-height: 1.2;
	margin: 0 0 16px 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.nearby-eyebrow {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
}

.nearby__locations {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin-bottom: 60px;
}

.nearby__locations-card {
	background: white;
	border: 1px solid #1F4388;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 8px 8px 0px 0px #AEC7F9;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.nearby__locations-card:hover {
	transform: translateY(-2px);
	box-shadow: 10px 10px 0px 0px #AEC7F9;
}

.nearby-card-header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 5px;
}

.nearby-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: #FF7BDA;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nearby-icon img {
	width: 24px;
	height: 24px;
}

.nearby-info {
	flex: 1;
	border-bottom: 1px solid #AEC7F9
}

.nearby__locations-card-title {
	font-size: 18px;
	font-weight: 700;
	color: #1F4388;
	margin: 0;
	line-height: 1.3;
	text-decoration: none;
}

.nearby__locations-card-title:hover {
	text-decoration: underline;
}

.nearby-info a {
	text-decoration: none;
}

.nearby-specialty {
	font-weight: 400;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0%;
	color: #1F4388;
}

@media (max-width: 768px) {
	.nearby-specialty {
		font-size: 16px;
	}
}

.nearby-address {
	margin-bottom: 24px;
	padding-left: 62px;
}

@media (max-width: 768px) {
	.nearby-address {
		padding-left: 52px;
	}
}

.nearby__locations-card-address {
	font-size: 14px;
	color: #333;
	line-height: 1.5;
	margin: 0 0 12px 0;
}

.nearby-phone {
	margin-bottom: 0;
	padding-left: 62px;
}

@media (max-width: 768px) {
	.nearby-phone {
		padding-left: 52px;
	}
}

.nearby__locations-card-phone {
	font-size: 18px;
	font-weight: 600;
	color: #1F4388;
	text-decoration: none;
	display: inline-block;
}

.nearby__locations-card-phone:hover {
	text-decoration: underline;
}

.nearby__more {
	text-align: center;
}

.nearby__more .btn {
	padding: 12px 32px;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 8px;
	display: inline-block;
	transition: all 0.3s ease;
}

.nearby__more .btn-secondary {
	background: transparent;
	color: #1F4388;
	border: 2px solid #1F4388;
}

.nearby__more .btn-secondary:hover {
	background: #1F4388;
	color: white;
}

/* Responsive Design for Nearby Locations */
@media (max-width: 768px) {
	.nearby__title {
		font-size: 36px;
	}

	.nearby__locations {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.nearby__locations-card {
		padding: 24px;
		box-shadow: 6px 6px 0px 0px #AEC7F9;
	}

	.nearby__locations-card:hover {
		box-shadow: 8px 8px 0px 0px #AEC7F9;
	}

	.nearby-card-header {
		gap: 12px;
		margin-bottom: 20px;
	}

	.nearby-icon {
		width: 40px;
		height: 40px;
	}

	.nearby-icon img {
		width: 20px;
		height: 20px;
	}

	.nearby__locations-card-title {
		font-size: 18px;
	}
}

/* FAQ Section Styles */
.faq-section {
	position: relative;
	background-color: #EDF2F9;
	margin-top: 117px;
	margin-bottom: 117px;
	padding: 80px 0;
}

.faq-section::before {
	background-image: url('/wp-content/plugins/dac-locator/public/images/top-blue-curve.svg');
	background-size: 100%;
	background-repeat: no-repeat;
	content: '';
	position: absolute;
	top: -117px;
	left: 0;
	width: 100%;
	height: 117px;
}

.faq-section::after {
	background-image: url('/wp-content/plugins/dac-locator/public/images/bottom-blue-curve.svg');
	background-size: 100%;
	background-repeat: no-repeat;
	content: '';
	position: absolute;
	bottom: -117px;
	left: 0;
	width: 100%;
	height: 117px;
}


.faq-accordion-wrapper {
	width: 100%;
}

.faq-accordion-wrapper .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.faq-header {
	text-align: center;
	margin-bottom: 60px;
}

.faq-title {
	font-size: 48px;
	font-weight: 700;
	color: #1F4388;
	line-height: 1.2;
	margin: 0 0 16px 0;
}

.faq-eyebrow {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
}

.faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 800px;
	margin: 0 auto;
}

.faq-item {
	background: white;
	border: 1px solid #e9ecef;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 8px 8px 0px 0px #95CFF8;
}

.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 32px;
	margin: 0;
	background: white;
	border: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	color: #1F4388;
	text-align: left;
	width: 100%;
	transition: background-color 0.3s ease;
}

.faq-question:hover {
	background-color: #f8f9fa;
}

.faq-question-text {
	flex: 1;
	padding-right: 20px;
}

.faq-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: #1F4388;
	position: relative;
	transition: transform 0.3s ease;
}

.faq-icon::before,
.faq-icon::after {
	content: '';
	position: absolute;
	background-color: white;
}

.faq-icon::before {
	width: 12px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.faq-icon::after {
	width: 2px;
	height: 12px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease;
}

.faq-question[aria-expanded="true"] .faq-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-answer {
	padding: 0 32px 24px 32px;
	background: white;
}

.faq-answer[hidden] {
	display: none;
}

.faq-answer:not([hidden]) {
	animation: slideDown 0.3s ease-out;
}

.faq-answer p {
	font-size: 16px;
	color: #666;
	line-height: 1.6;
	margin: 0 0 16px 0;
}

.faq-answer p:last-child {
	margin-bottom: 0;
}

.faq-answer ul {
	font-size: 16px;
	color: #666;
	line-height: 1.6;
	margin: 0 0 16px 0;
	padding-left: 20px;
}

.faq-answer ul:last-child {
	margin-bottom: 0;
}

.faq-answer li {
	margin-bottom: 8px;
}

.faq-answer li:last-child {
	margin-bottom: 0;
}

.faq-answer strong {
	color: #333;
	font-weight: 600;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Responsive Design for FAQ */
@media (max-width: 768px) {
	.faq-title {
		font-size: 36px;
	}

	.faq-question {
		padding: 20px 24px;
		font-size: 16px;
	}

	.faq-answer {
		padding: 0 24px 20px 24px;
	}

	.faq-item {
		box-shadow: 6px 6px 0px 0px #95CFF8;
	}
}

.location-single .dac-locator-title-heading {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	border-bottom: 1px solid rgba(0, 0, 0, 0.25);
	width: 100%;
}

.location-single .dac-locator-title-heading .results-title {
	flex-basis: 65%;
	margin-bottom: 20px;
	font-size: 30px;
}

.location-single .dac-locator-title-heading .today-opening-hours {
	flex-basis: 35%;
	color: #1F4388;
	font-size: 28px;
	line-height: 32px;
	font-weight: 700;
	text-transform: none;
	text-align: right;
}

.location-single .opening-hours .store-hours-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0%;
	text-transform: capitalize;
	color: #4C3017;
}

.lang-fr .location-single .dac-locator-title-heading .today-opening-hours {
	flex-basis: 55%;
	text-align: right;
}

.single-location {
	margin-top: 35px;
}

.single-location__header {
	margin-bottom: 2rem;
}

.single-location__back {
	display: inline-flex;
	align-items: center;
	color: #666;
	text-decoration: none;
	margin-bottom: 1rem;
}

.single-location__title-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.single-location__title {
	font-size: 2.5rem;
	margin: 0;
}

.single-location__status {
	font-size: 1.25rem;
	color: #e44d26;
}

.single-location__info-description p {
	padding: 0;
	margin: 0;
	color: #4C3017;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0%;
}

.single-location__content {
	display: flex;
	gap: 2rem;
	justify-content: space-between;
}

.single-location__main {
	flex-basis: 65%;
}

.single-location__info {
	margin-bottom: 41px;
}

.single-location__details {
	display: flex;
	justify-content: space-between;
	margin-top: 35px;
	padding-right: 20px;
}

.single-location__details__col-left {
	flex-basis: 50%;
}

.single-location__opening-hours {
	flex-basis: 50%;
}

.single-location__opening-hours h5 {
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0%;
	color: #4C3017;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 0;
	margin-bottom: 15px;
}

.single-location__opening-hours .day-hours {
	font-weight: 400;
	font-size: 16px;
	line-height: 36px;
	letter-spacing: 0px;
	color: #4C3017;
	padding: 0;
	padding-right: 5px;
}

.single-location__opening-hours .day-hours .day {
	max-width: 126px;
}

.single-location__opening-hours .day-hours.today {
	font-weight: 700;
	color: #1F4388;
	padding-right: 0px;
}

.single-location__opening-hours .day-hours.today .day,
.single-location__opening-hours .day-hours.today .time {
	font-weight: 700;
	color: #1F4388;
}

.single-location__opening-hours .special-hours {
	margin-top: 30px;
}

.single-location__opening-hours .special-hours .day-hours .day {
	max-width: 190px;
}

.single-location__opening-hours .special-hours .day-hours,
.single-location__opening-hours .special-hours .time {
	color: #1F4388;
	font-weight: 700;
}

.single-location__address {
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0%;
	font-style: normal;
	color: #4C3017;
}

.single-location__actions {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.single-location__share {
	font-weight: 600;
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0%;
	text-decoration: underline;
	text-decoration-style: solid;
	margin-top: 5px;
	margin-bottom: 0px;
	color: #4C3017;
	width: fit-content;
}

.single-location__share img {
	margin-left: 15px;
}

.single-location__actions .location__phone {
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0%;
	text-decoration: underline;
	text-decoration-style: solid;
	color: #4C3017;
	width: fit-content;
}

.single-location__cta {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.single-location__cta .button {
	padding: 16px 0;
	border-radius: 4px;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.3px;
	max-width: 208px;
	width: 100%;
}

.lang-fr .single-location__cta .button {
	max-width: 265px;
}

.single-location__cta .button--primary {
	background-color: #1F4388;
	color: #ffffff;
	text-transform: uppercase;
}

.single-location__cta .button--secondary {
	background-color: #ffffff;
	border: 1px solid #000000;
	text-transform: uppercase;
	color: #4C3017;
}

.single-location__cta .button--secondary:hover {
	opacity: 0.9;
	background-color: #ffffff;
}

.single-location__service-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.single-location__service {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.single-location__services .amenities__title {
	color: #4C3017;
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0%;
}

.amenities {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
	width: 100%;
}

.amenities__list {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.amenities__list.features {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
	column-gap: 80px;
}

.amenities__column .amenities__title {
	color: #4C3017;
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0%;
}

.amenities__item {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 400;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0%;
	color: #4C3017;
}

/* Service section styles for SEO headings */
.amenities__service-section {
	margin-bottom: 10px;
}

.amenities__service-title {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 400;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0%;
	color: #4C3017;
}

.amenities__service-title img {
	height: 20px;
}

.single-location__amenities {
	padding: 46px 0 30px;
	border-top: 1px solid #000000;
	border-bottom: 2px solid #000000;
}

.single-location__section-title {
	font-weight: 700;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: 0%;
	color: #4C3017;
	text-transform: none;
	margin-top: 0;
	margin-bottom: 0;
}

.hours-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2rem;
}

.hours-table__row--current {
	font-weight: bold;
	background-color: rgba(228, 77, 38, 0.1);
}

.hours-table__day {
	padding: 0.75rem;
	text-align: left;
}

.hours-table__hours {
	padding: 0.75rem;
	text-align: right;
}

.hours-table__special {
	margin-top: 1.5rem;
}

.hours-table__special-title {
	font-size: 1.1rem;
	margin-bottom: 1rem;
}

.single-location__status {
	font-weight: bold;
	padding: 0.5rem 1rem;
	border-radius: 4px;
}

.single-location__status--open {
	background-color: #e8f5e9;
	color: #2e7d32;
}

.single-location__status--closed {
	background-color: #ffebee;
	color: #c62828;
}


/** Map Box **/
.single-location__map {
	flex-basis: 35%;
	width: 419px;
	height: 484px;
	max-width: 419px;
	margin-top: 45px;
}

.custom-marker {
	background-size: 100% !important;
	cursor: pointer;
	box-shadow: none !important;
	border: none !important;
	border-radius: 0 !important;
}

/** NEAR BY LOCATIONS **/
.nearby {
	padding: 40px 0;
}

/* Contenedor de tarjetas con Flexbox */
.nearby__locations {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

@media (max-width: 1370px) {
	.nearby__locations {
		flex-wrap: wrap;
	}
}

.nearby h4 {
	font-weight: 700;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: 0%;
	text-transform: none;
	color: #1f4388;
	text-align: center;
	margin-bottom: 60px;
}

/* Tarjetas individuales */
.nearby__locations-card {
	display: flex;
	flex-direction: column;
	flex: 1;
	background-color: #fff;
	border-radius: 10px;
	padding: 25px 15px 20px 22px;
	min-width: 268px;
	max-width: 374px;
	text-align: left;
}

/* Título de cada ubicación */
.nearby__locations-card-title {
	font-weight: 700;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0%;
	text-decoration: underline;
	text-decoration-style: solid;
	color: #1F4388;
	margin-top: 0;
	margin-bottom: 16px;
}

.nearby__locations-bottom-ctas {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	border-top: 1px solid #EDF2F5;
	padding-top: 15px;
}

/* Address and Phone */
.nearby__locations-card-phone {
	font-weight: 400;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 0%;
	color: #1A1A1A;
}

.nearby__locations-card-phone {
	font-weight: 600;
	font-size: 18px;
	line-height: 120%;
	letter-spacing: 0%;
	text-decoration: underline;
	text-decoration-style: solid;
	color: #1F4388;
}

.nearby__locations-card-address {
	padding-bottom: 10px;
	margin-bottom: 0;
	margin-top: 0;
	text-decoration: none;
}

.nearby__locations-card-delimiter {
	width: 1px;
	height: 15px;
	background-color: #4C3017;
}

/* Link "Get Directions" */
.nearby__locations-card-directions {
	color: #1F4388;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
	text-decoration: underline;
	text-decoration-style: solid;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.nearby__locations-card-directions:hover {
	text-decoration: underline;
}

/* Botón "Find More Locations" */
.nearby__more {
	text-align: center;
	margin-top: 40px;
}

.nearby .button--secondary {
	background-color: #1F4388;
	color: white;
	padding: 16px 25px;
	font-weight: 700;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.3px;
	border-radius: 5px;
	text-decoration: none;
	display: inline-block;
	border: none;
	cursor: pointer;
	text-transform: uppercase;
}

.button--secondary:hover {
	background-color: #a83737;
}

/* 📱 Responsive: 2 columns in tablets */
@media (max-width: 1024px) {
	.nearby__locations-card {
		flex: 1 1 calc(50% - 1rem);
		/* 2 columns */
	}
}

/** DEALS SLIDER **/
.menu-slider {
	margin: 0 auto;
}

.menu-title {
	font-size: 36px;
	font-weight: 700;
	text-align: left;
	margin-bottom: 40px;
	margin-top: 75px;
	color: #4C3017;
}

.slider-container {
	position: relative;
	overflow: hidden;
	margin: 0 -20px;
}

.slider-track {
	display: flex;
	transition: transform 0.3s ease;
}

.slider-item {
	flex: 0 0 100%;
	padding: 0 20px;
}

.slider-dot {
	border-radius: 0;
	margin: 0 5px;
	transition: background-color 0.3s ease;
	cursor: pointer;
}

.slider-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}

.slider-dot.active {
	background-color: #E65300 !important;
	/* Or your preferred active color */
}

.pizza-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	max-width: 269px;
}

.pizza-image {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.category-title {
	font-size: 24px;
	font-weight: bold;
	padding: 15px;
	margin: 0;
}

.pizza-info {
	display: flex;
	align-items: center;
	padding: 15px;
	background: #f5f5f5;
}

.cheese-icon {
	width: 40px;
	height: 40px;
	margin-right: 10px;
}

.pizza-info p {
	margin: 0;
	font-size: 14px;
}

.view-category {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #e31837;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin: 15px;
}

.view-category:hover {
	background: #b9162c;
	/* Color oscuro manual para hover */
}

.circle-arrow {
	width: 20px;
	height: 20px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

.slider-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 96px;
	background: url('/wp-content/plugins/dac-locator/public/images/slider-navigation-button.svg');
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9;
}

.slider-nav.prev {
	left: 20px;
}

.slider-nav.prev .arrow-icon {
	transform: rotate(135deg);
}

.slider-nav.next {
	right: 0;
}

.slider-nav.next .arrow-icon {
	transform: rotate(-45deg);
}

.arrow-icon {
	width: 12px;
	height: 12px;
	border-right: 2px solid #333;
	border-bottom: 2px solid #333;
}

.slider-nav:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.slider-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}

.slider-dot {
	width: 30px;
	height: 4px;
	border: none;
	border-radius: 0;
	background-color: #ccc;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.slider-dot.active {
	background-color: #e31837;
}

.order-now-container {
	text-align: center;
	margin-top: 40px;
}

.order-now-button {
	background: #1F4388;
	font-weight: 700;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.3px;

	color: #ffffff;
	border: none;
	padding: 16px 25px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 5px;
	cursor: pointer;
	text-transform: uppercase;
}

.order-now-button:hover {
	background: #b9162c;
	/* dark color for hover */
}

/* Responsiveness */
@media (min-width: 768px) {
	.slider-item {
		flex: 0 0 auto !important;
		width: auto !important;
	}
}

@media (min-width: 1024px) {
	.slider-item {
		flex: 0 0 auto !important;
		width: auto !important;
	}
}

/** DEALS **/
.location-single .deals-title {
	margin-top: 75px;
}




/** Featured Specials **/


.dac-locator-deals.featured-specials {
	font-size: 18px;
	gap: 20px;
}

.dac-locator-deals.featured-specials .dac-locator-deals__item {
	max-width: 420px;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.dac-locator-deals.featured-specials h3 {
	font-weight: 700;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: 0%;
	color: #4C3017;
	text-transform: uppercase;
	margin-top: 20px;
}

.dac-locator-deals.featured-specials p {
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0%;
	color: #4C3017;
}

.dac-locator-deals.featured-specials strong {
	font-size: 18px;
	color: #4C3017;
}

.dac-locator-deals.featured-specials .deal-content {
	padding-top: 0;
}

.dac-locator-deals.featured-specials .deal-footer {
	padding: 25px 21px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: auto;
}

.dac-locator-deals.featured-specials .price {
	font-weight: 800;
	font-size: 28px;
	line-height: 48px;
	letter-spacing: 0px;
	color: #4C3017;
}

.dac-locator-deals.featured-specials .order-now {
	font-weight: 700;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.3px;
	color: #ffffff;
	text-decoration: none;
	max-width: 160px;
	padding: 16px 30px;
	width: fit-content;
	text-transform: uppercase;
	text-align: center;
}

.lang-fr .dac-locator-deals.featured-specials .order-now {
	max-width: 420px;
	width: auto;
}

/** SHARE MODAL **/
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
}

.modal[aria-hidden="false"] {
	display: block;
}

.modal__overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 1001;
}

.modal__container {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 0;
	max-width: 600px;
	width: 90%;
	max-width: 680px;
	border-radius: 8px;
	z-index: 1002;
}

.modal__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
	padding: 28px 28px 24px 44px;
	background-color: #EDF2F5;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom: 1px solid #C81400;
}

.modal__header h2 {
	font-size: 22px;
	font-weight: 700;
	color: #D3421F;
}

.modal__close {
	background: none;
	border: none;
	font-size: 30px;
	font-weight: 400;
	cursor: pointer;
	padding: 0.5rem;
	color: #1F4388;
}

.modal__content {
	padding: 49px 48px 63px;
	display: flex;
	flex-wrap: wrap;
}

.modal__map {
	height: 74px;
	width: 74px;
}

.modal__map-container {
	flex-basis: 20%;
	height: 74px;
	margin-bottom: 50px;
}

.modal__location-info {
	flex-basis: 80%;
	height: 74px;
	align-content: center;
}

.modal__location-info h4 {
	font-size: 24px;
	line-height: 24px;
	font-weight: 400;
	margin: 0 0 7px 0;
	color: #4C3017;
}

.modal__location-info p {
	font-weight: 400;
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0%;
	color: #5A5A5A;
	margin: 0;
}

.modal__share-link {
	flex-basis: 100%;
}

.modal__share-link label {
	font-weight: 400;
	font-size: 18px;
	line-height: 18px;
	color: #5A5A5A;
}

.modal__share-link input {
	flex-basis: 80%;
	border: none;
	border-bottom: 1px solid #5A5A5A;
	font-weight: 400;
	font-size: 16px;
	line-height: 16px;
}

.modal__share-link-container {
	display: flex;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.modal__footer {
	border-top: 1px solid #C81400;
	padding: 31px 100px;
	background: #EDF2F5;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.modal__share-buttons {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

.share-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	font-weight: 600;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0%;
	color: #4C3017;
	text-align: center;
}

.share-button img {
	width: auto;
	height: 30px;
	margin-bottom: 7px;
}

.share-button.share-x img {
	margin-bottom: 16px;
}

.share-button.share-email img {
	margin-bottom: 16px;
}

.share-button.share-whatsapp img {
	height: 38px;
}

.copy-link {
	color: #C81400;
	background: #ffffff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-weight: 600;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0%;
	flex-basis: 20%;
}

.single-location__desktop_map {
	display: none;
}

/** Featured Specials & Deals **/
@media (min-width: 768px) {
	.location-single-container .container-featured-specials .deals-title {
		margin-bottom: 35px;
	}

	.location-single-container .container-deals .deals-title {
		margin-top: 55px;
		margin-bottom: 35px;
	}
}


/* Mobile Styles */
@media (max-width: 768px) {
	.location-single .dac-locator-title-heading {
		flex-direction: column;
		align-items: flex-start;
		border-bottom: none;
	}

	.location-single .dac-locator-title-heading .results-title {
		flex-basis: 100%;
		font-size: 28px;
		margin-bottom: 10px;
	}

	.single-location__actions .location__phone {
		font-size: 18px;
	}

	.location-single .opening-hours .store-hours-title {
		font-size: 18px;
	}

	.lang-fr .location-single .dac-locator-title-heading .today-opening-hours {
		text-align: left;
	}

	.location-single .dac-locator-title-heading .today-opening-hours {
		font-size: 22px;
		margin: 0;
	}

	.amenities__item {
		font-size: 16px;
	}

	.single-location {
		margin-top: 10px;
	}

	.nearby__locations {
		flex-direction: column;
		align-items: center;
	}

	.nearby__locations-card {
		width: 100%;
		max-width: 90%;
	}

	.single-location__info {
		margin-bottom: 20px;
	}

	.single-location__info-description p {
		font-size: 16px;
		color: #4C3017;
	}

	.single-location__info-description.xs {
		margin-top: 10px;
		flex-direction: column;
	}

	.single-location__info-description.xs .about-location-title {
		font-weight: 700;
		font-size: 20px;
		line-height: 100%;
		letter-spacing: 0px;
		text-transform: none;
		color: #4C3017;
	}

	.single-location__info-description.xs .toggle__about-location .toggle-icon {
		margin-top: 15px;
	}

	.single-location__amenities .single-location__section-title {
		font-size: 20px;
	}

	.amenities__column .toggle__amenities .amenities__title {
		font-size: 20px;
	}

	.amenities__column .amenities__title {
		font-size: 18px;
	}

	.nearby__title {
		font-size: 24px;
		margin-bottom: 23px;
	}

	.nearby__locations-card-title {
		font-size: 18px;
	}

	.single-location__content {
		flex-direction: column-reverse;
	}

	.single-location__details {
		flex-direction: column;
		padding-right: 0;
		margin-top: 0;
	}

	.single-location__map {
		height: 300px;
		flex-basis: auto;
		width: 100%;
		margin-top: 0;
	}

	.single-location__title-wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	.single-location__address {
		font-size: 18px;
	}

	.single-location .single-location__opening-hours {
		margin-top: 35px;
	}

	.lang-fr .single-location__cta .button,
	.single-location__cta .button {
		max-width: 100%;
	}

	.deals-title {
		font-size: 26px;
		text-transform: uppercase;
	}

	.faq-title {
		font-size: 26px;
		text-transform: uppercase;
		margin-top: 45px;
		margin-bottom: 0;
	}

	.dac-locator-download-app__teaser h2 {
		font-size: 26px;
		text-transform: uppercase;
	}

	.modal__header {
		padding: 18px 22px;
	}

	.modal__content {
		padding: 15px;
		gap: 15px;
	}

	.modal__location-info {
		flex-basis: 70%;
	}

	.modal__location-info h3 {
		font-size: 22px;
	}

	.modal__location-info p {
		font-size: 16px;
		line-height: 16px;
	}

	.modal__map-container {
		margin-bottom: 14px;
	}

	.modal__share-link input {
		flex-basis: 60%;
		width: 200px;
	}

	.modal__content .copy-link {
		font-size: 16px;
		line-height: 16px;
		flex-basis: 35%;
		width: 95px;
	}

	.modal__footer {
		padding: 35px 46px;
	}

	.modal__footer .share-button {
		font-size: 16px;
	}

	.modal__footer .share-text img {
		width: 36px;
		height: 30px;
	}

	.modal__footer .share-email img {
		width: 38px;
		height: 27px;
		margin-bottom: 11px;
	}

	.modal__footer .share-whatsapp img {
		width: 30px;
		height: 30px;
	}


	.dac-locator-container {
		display: flex;
		flex-direction: column;
	}

	.nearby {
		order: 0;
		margin-top: 0;
		margin-bottom: 20px;
		padding: 20px 0;
	}

	.container-featured-specials {
		order: 1;
	}

	.nearby h4 {
		margin: 10px 0;
	}

	.menu-slider {
		order: 3;
	}

	.container-deals {
		order: 4;
		margin-top: 20px;
	}

	.faq-accordion {
		order: 5;
	}

	.dac-locator-download-app {
		order: 6;
	}

	.single-location__desktop_map {
		display: initial;
	}

	.single-location__desktop_map--heading {
		display: flex;
		width: 100%;
		padding-bottom: 15px;
	}

	.single-location__desktop_map h3 {
		font-weight: 700;
		font-size: 20px;
		line-height: 100%;
		letter-spacing: 0px;
		text-transform: none;
		color: #4C3017;
		margin-bottom: 0;
	}

	.single-location__desktop_map--heading .toggle-icon {
		cursor: pointer;
		margin-top: 18px;
	}

	.toggle__store-hours .toggle-icon {
		margin-top: 20px;
	}

	.modal__container {
		top: 20%;
		left: 5px;
		transform: initial;
		max-width: calc(100vw - 10px);
		width: 100%;
	}

	.modal__content {
		flex-direction: row;
	}

	.modal__content .modal__location-info h4 {
		margin-top: 0;
		margin-bottom: 5px;
		font-size: 18px;
	}

	.faq-question,
	.faq-answer {
		padding-left: 0;
	}

	.faq-question {
		padding: 0;
	}

	.faq-answer p {
		margin-bottom: 10px;
	}

	.dac-locator-deals.featured-specials .order-now {
		max-width: 100%;
	}

}

/** Toggable headers on mobile **/
.toggle-header {
	border-bottom: none;
	margin-bottom: 0;
}

.toggle-header .toggle-icon {
	display: none;
}

/* Rotate chevron when toggle header is active */
.toggle-header .toggle-icon svg {
	transition: transform 0.3s ease;
	transform: rotate(180deg);
}

.toggle-header[aria-expanded="true"] .toggle-icon svg {
	transform: rotate(360deg);
}

.show_more_less {
	color: #4C3017;
	font-weight: 600;
	font-size: 16px;
	line-height: 27px;
	letter-spacing: 0%;
	border-bottom: 1px solid #4C3017;
	gap: 20px;
	align-items: center;
	display: flex;
	padding-bottom: 5px;
	margin-top: 15px;
	width: fit-content;
	cursor: pointer;
	text-transform: uppercase;
}

@media (max-width: 768px) {
	.toggle-header {
		display: flex;
		justify-content: space-between;
		border-bottom: none;
		margin-bottom: 20px;
		cursor: pointer;
	}

	.toggle-header .toggle-icon {
		display: block;
	}

	.toggle-header.toggle__amenities {
		align-items: center;
	}
}

/* Animation for amenities */
.single-location__amenities .amenities {
	transition: max-height 0.3s ease-in-out;
	max-height: none;
	overflow: hidden;
}

.single-location__amenities .amenities.hidden {
	max-height: 0;
}

.single-location__amenities .amenities__column:first-child {
	display: block;
}


.location-single .dac-locator-title h1 {
	font-size: 42px;
}

@media (max-width: 768px) {
	.featured-offer__button a {
		width: 100%;
	}
}

/* Blocks */
.single-location-featured-offer,
.single-location-testimonials {
	margin-bottom: 50px;
}

.single-location-featured-offer {
	padding-top: 40px;
}

.single-location-featured-offer .featured-offer__offer-title {
	font-size: 32px !important;
}

.single-location-featured-offer .featured-offer__offer {
	height: 573px;
}

.single-location-featured-offer .featured-offer__offer-text p {
	font-size: 16px !important;
}

/*.single-location-featured-offer .featured-offer__disclaimer {
	margin-top: -20px;
}*/

.single-location-faqs .faqs-layout__container {
	padding-bottom: 40px;
}

.about-section .sc_underline svg {
	margin-left: 0;
	margin-right: 0;
}

.single-location-standard-text {
	margin-top: 40px;
}

@media (max-width: 768px) {
	.single-location-faqs .cta__curve-bottom {
		height: 50px !important;
		bottom: -50px !important;
	}

	.single-location-featured-offer .featured-offer__offer {
		height: 383px;
	}
}