/*
Template:       onelisting
Theme Name:     OneListing Child
Theme URI:      https://directorist.com/product/onelisting/
Author:         wpWax
Author URI:     https://wpwax.com/
Description:    OneListing - Smart and Powerful Directory & Listing WordPress Theme
Version:        1.0
Text Domain:    onelisting-child
*/

.theme-header-logo-brand .ds-header-branding {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 3px;
}

.theme-header-logo-brand .ds-header-branding .custom-logo-link {
	display: block;
	line-height: 0;
}

.theme-header-logo-brand .ds-header-tagline {
	display: block;
	color: #08733f;
	font-size: 9px;
	font-weight: 750;
	letter-spacing: .015em;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}

/* Discount Suriname homepage */
body.home .theme-banner-breadcrumb {
	display: none;
}

body.home #primary,
body.home .main-content {
	padding-top: 0;
}

body.home .ds-home-hero {
	position: relative;
	min-height: 0;
	margin: 28px 0 60px;
	padding: 18px;
	border: 1px solid rgba(8, 115, 63, .13);
	border-radius: 24px;
	background: linear-gradient(135deg, #f4faf6 0%, #fff9e8 100%);
	box-shadow: 0 16px 46px rgba(26, 63, 43, .1);
	overflow: hidden;
}

body.home .ds-home-hero > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(320px, .75fr);
	grid-template-areas:
		"banner title"
		"banner intro"
		"banner search";
	align-items: start;
	gap: 10px 24px;
}

body.home .ds-home-hero > .wp-block-group__inner-container > h1,
body.home .ds-home-hero > .wp-block-group__inner-container > p {
	color: #123d2a !important;
	text-align: left !important;
	text-shadow: none;
}

body.home .ds-home-hero > .wp-block-group__inner-container > h1 {
	grid-area: title;
	align-self: end;
	margin: 18px 10px 0 0;
	font-size: clamp(28px, 3vw, 38px) !important;
	font-weight: 850;
	letter-spacing: -.035em;
	line-height: 1.08;
}

body.home .ds-home-hero > .wp-block-group__inner-container > p {
	grid-area: intro;
	margin: 0 10px 4px 0;
	color: #607269 !important;
	font-size: 15px !important;
	line-height: 1.55;
}

body.home .ds-home-hero .ds-home-banner-slider {
	grid-area: banner;
	align-self: center;
}

body.home .ds-home-hero .directorist-search-contents {
	grid-area: search;
	align-self: start;
	margin: 0;
	padding: 0 !important;
}

body.home .ds-home-hero .directorist-container-fluid {
	padding: 0;
}

body.home .ds-home-hero .directorist-search-top {
	display: none;
}

body.home .ds-home-hero .directorist-search-form-wrap,
body.home .ds-home-hero .directorist-search-form__wrap {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.home .ds-home-hero .directorist-search-form__box,
body.home .ds-home-hero .directorist-search-form-top,
body.home .ds-home-hero .directorist-search-form__top {
	display: block;
}

body.home .ds-home-hero .directorist-search-field {
	margin: 0;
}

body.home .ds-home-hero .directorist-search-field__input {
	height: 48px;
	border: 1px solid #cbdad1;
	border-radius: 10px;
	background: #fff;
}

body.home .ds-home-hero .directorist-search-form-action {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 10px;
	width: 100%;
	margin-top: 12px;
}

body.home .ds-home-hero .directorist-search-form-action > div,
body.home .ds-home-hero .directorist-search-form-action .directorist-btn {
	width: 100%;
}

body.home .ds-home-hero .directorist-search-form-action .directorist-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 12px;
}

.ds-home-banner-slider {
	position: relative;
	min-height: 300px;
	border-radius: 18px;
	background: #e8f1eb;
	box-shadow: 0 9px 28px rgba(18, 61, 42, .12);
	overflow: hidden;
}

.ds-home-banner-slider__slides,
.ds-home-banner-slider__slide,
.ds-home-banner-slider__slide > a {
	position: absolute;
	inset: 0;
	display: block;
}

.ds-home-banner-slider__slide {
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	transition: opacity .6s ease;
}

.ds-home-banner-slider__slide.is-active {
	z-index: 2;
	opacity: 1;
	pointer-events: auto;
}

.ds-home-banner-slider__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.ds-home-banner-slider__label {
	position: absolute;
	z-index: 4;
	top: 12px;
	left: 12px;
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(18, 61, 42, .86);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1;
	text-transform: uppercase;
}

.ds-home-banner-slider__navigation {
	position: absolute;
	z-index: 4;
	right: 14px;
	bottom: 14px;
	display: flex;
	gap: 7px;
}

.ds-home-banner-slider__navigation button {
	width: 9px;
	height: 9px;
	margin: 0;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 999px;
	background: rgba(18, 61, 42, .45);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
	cursor: pointer;
}

.ds-home-banner-slider__navigation button[aria-current="true"] {
	width: 25px;
	background: #ffbe00;
}

.ds-home-banner-slider--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 6px;
	background: linear-gradient(135deg, #e8f5ec, #fff3c7);
	color: #123d2a;
}

@media (prefers-reduced-motion: reduce) {
	.ds-home-banner-slider__slide {
		transition: none;
	}
}

body.home .ds-home-section {
	position: relative;
	margin: 0 0 88px;
	padding: 62px 38px 68px;
	border: 1px solid #dbe9df;
	border-radius: 26px;
	background: linear-gradient(145deg, #f4faf6 0%, #ffffff 56%, #fff9e9 100%);
	box-shadow: 0 18px 50px rgba(20, 72, 45, .08);
	overflow: hidden;
}

body.home .ds-home-section::before {
	position: absolute;
	top: -90px;
	right: -90px;
	width: 250px;
	height: 250px;
	border: 46px solid rgba(255, 190, 0, .09);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

body.home .ds-home-section > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
}

body.home .ds-home-heading {
	margin: 0 0 10px;
	color: #123d2a;
	font-size: clamp(30px, 3.4vw, 42px);
	font-weight: 850;
	letter-spacing: -.025em;
}

body.home .ds-home-intro {
	max-width: 690px;
	margin: 0 auto 36px;
	color: #64746c;
	font-size: 17px;
}

body.home .ds-home-section .directorist-container-fluid {
	padding: 0;
}

body.home .ds-home-section .directorist-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
}

body.home .ds-home-section .directorist-row > [class*="directorist-col-"] {
	width: 100%;
	max-width: none;
	padding: 0;
}

body.home .ds-home-section .directorist-categories__single {
	position: relative;
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	align-items: center;
	gap: 15px;
	min-height: 130px;
	padding: 22px 19px;
	border: 1px solid #dce7e0;
	border-radius: 18px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 9px 24px rgba(18, 65, 40, .07);
	text-decoration: none;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.home .ds-home-section .directorist-categories__single:hover,
body.home .ds-home-section .directorist-categories__single:focus {
	transform: translateY(-5px);
	border-color: rgba(8, 115, 63, .36);
	box-shadow: 0 18px 34px rgba(18, 65, 40, .14);
}

body.home .ds-home-section .directorist-categories__single::after {
	position: absolute;
	right: 15px;
	top: 15px;
	color: #8aa095;
	content: "›";
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
}

body.home .ds-home-section .directorist-categories__single figure {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin: 0;
	border-radius: 17px;
	background: linear-gradient(145deg, #e3f5e9, #cdebd7);
	color: #08733f;
	box-shadow: inset 0 0 0 1px rgba(8, 115, 63, .08);
}

body.home .ds-home-section .directorist-categories__single figure::before {
	content: "★";
	font-family: "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
	font-size: 27px;
	line-height: 1;
}

body.home .ds-home-section a[href*="/winkelen/"] figure {
	background: linear-gradient(145deg, #fff0c9, #ffd875);
}
body.home .ds-home-section a[href*="/winkelen/"] figure::before { content: "🛍"; }

body.home .ds-home-section a[href*="/eten-restaurants/"] figure {
	background: linear-gradient(145deg, #ffe2dc, #ffb6a7);
}
body.home .ds-home-section a[href*="/eten-restaurants/"] figure::before { content: "🍽"; }

body.home .ds-home-section a[href*="/hotels-reizen/"] figure {
	background: linear-gradient(145deg, #fff4cc, #ffe08a);
}
body.home .ds-home-section a[href*="/hotels-reizen/"] figure::before { content: "🏨"; }

body.home .ds-home-section a[href*="/autos-voertuigen/"] figure {
	background: linear-gradient(145deg, #dfeeff, #afd3ff);
}
body.home .ds-home-section a[href*="/autos-voertuigen/"] figure::before { content: "🚗"; }

body.home .ds-home-section a[href*="/elektronica/"] figure {
	background: linear-gradient(145deg, #ebe3ff, #cab8ff);
}
body.home .ds-home-section a[href*="/elektronica/"] figure::before { content: "📱"; }

body.home .ds-home-section a[href*="/schoonheid-wellness/"] figure {
	background: linear-gradient(145deg, #ffe5f1, #ffbdd9);
}
body.home .ds-home-section a[href*="/schoonheid-wellness/"] figure::before { content: "✨"; }

body.home .ds-home-section a[href*="/entertainment/"] figure {
	background: linear-gradient(145deg, #e0f5e8, #afe5c1);
}
body.home .ds-home-section a[href*="/entertainment/"] figure::before { content: "🎟"; }

body.home .ds-home-section a[href*="/diensten/"] figure {
	background: linear-gradient(145deg, #dff5f2, #afe5dd);
}
body.home .ds-home-section a[href*="/diensten/"] figure::before { content: "🧰"; }

body.home .ds-home-section a[href*="/las-constructie-bouw/"] figure {
	background: linear-gradient(145deg, #ffe8cc, #f5bd79);
}
body.home .ds-home-section a[href*="/las-constructie-bouw/"] figure::before { content: "🏗"; }

body.home .ds-home-section .cat-box {
	min-width: 0;
}

body.home .ds-home-section .cat-name {
	margin: 0 22px 10px 0;
	color: #183c2b;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

body.home .ds-home-section .cat-count {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #eff5f1;
	color: #62746b;
	font-size: 12px;
	line-height: 1;
}

body.home .ds-deals-section {
	position: relative;
	margin: 0 0 76px;
	padding: 58px 34px 52px;
	border: 1px solid #f0d277;
	border-radius: 26px;
	background: linear-gradient(140deg, #fff5ce 0%, #fffaf0 52%, #f4fbf6 100%);
	box-shadow: 0 20px 55px rgba(106, 82, 5, .12);
	overflow: hidden;
}

body.home .ds-deals-section::before {
	position: absolute;
	left: -85px;
	top: -105px;
	width: 240px;
	height: 240px;
	border: 44px solid rgba(255, 190, 0, .11);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

body.home .ds-deals-section > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
}

body.home .ds-deals-section .ds-home-intro {
	margin-bottom: 38px;
}

@media (max-width: 1024px) {
	body.home .ds-home-section .directorist-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	body.home .ds-home-hero > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		grid-template-areas:
			"banner"
			"title"
			"intro"
			"search";
		gap: 12px;
	}

	body.home .ds-home-hero > .wp-block-group__inner-container > h1 {
		margin: 12px 4px 0;
	}

	body.home .ds-home-hero > .wp-block-group__inner-container > p {
		margin: 0 4px;
	}

	.ds-home-banner-slider {
		min-height: 250px;
	}
}

@media (max-width: 767px) {
	body.home .ds-home-hero {
		min-height: 0;
		margin: 18px 0 48px;
		padding: 12px;
		border-radius: 18px;
	}

	body.home .ds-home-hero > .wp-block-group__inner-container > h1 {
		font-size: 28px !important;
	}

	.ds-home-banner-slider {
		min-height: 210px;
		border-radius: 14px;
	}

	body.home .ds-home-section {
		margin-bottom: 66px;
		padding: 44px 20px 48px;
		border-radius: 20px;
	}

	body.home .ds-deals-section {
		padding: 44px 20px 42px;
		border-radius: 20px;
	}
}

@media (max-width: 560px) {
	.ds-home-banner-slider {
		min-height: 165px;
	}

	body.home .ds-home-hero .directorist-search-form-action {
		grid-template-columns: 1fr;
	}

	body.home .ds-home-section .directorist-row {
		grid-template-columns: 1fr;
	}

	body.home .ds-home-section .directorist-categories__single {
		min-height: 112px;
	}
}

/* Discount Suriname listing detail page */
.single-at_biz_dir .directorist-single {
	background: #f5f7f6;
	color: #17211d;
}

/* Legal pages and global legal footer. */
.ds-legal-template .entry-header,
.ds-legal-template .page-header,
.ds-legal-template .entry-title,
.ds-legal-template .theme-banner-breadcrumb {
	display: none;
}

.ds-legal-template .site-content,
.ds-legal-template .content-area,
.ds-legal-template .entry-content {
	max-width: none;
	margin: 0;
	padding: 0;
}

.ds-legal-template .site-content > .content-area > .theme-container {
	width: 100%;
	max-width: none;
	padding: 0;
}

.ds-legal-template .site-content > .content-area > .theme-container > .row {
	margin: 0;
}

.ds-legal-template .site-content > .content-area > .theme-container > .row > .col-sm-12 {
	width: 100%;
	max-width: none;
	padding: 0;
}

.ds-legal-page {
	background: #f6f8f4;
	color: #1c2923;
	font-size: 16px;
	line-height: 1.75;
}

.ds-legal-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #063c27 0%, #08733f 72%, #0b8f4c 100%);
	color: #fff;
	padding: 78px 24px 74px;
}

.ds-legal-hero::after {
	position: absolute;
	right: -110px;
	top: -170px;
	width: 440px;
	height: 440px;
	border: 74px solid rgba(255, 190, 0, .14);
	border-radius: 50%;
	content: "";
}

.ds-legal-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 920px;
	margin: 0 auto;
}

.ds-legal-hero__eyebrow {
	display: inline-flex;
	margin-bottom: 16px;
	color: #ffd05a;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ds-legal-hero h1 {
	margin: 0 0 18px;
	color: #fff;
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.ds-legal-hero p {
	max-width: 700px;
	margin: 0 0 20px;
	color: rgba(255, 255, 255, .88);
	font-size: clamp(17px, 2vw, 20px);
	line-height: 1.65;
}

.ds-legal-hero__date {
	display: inline-block;
	color: rgba(255, 255, 255, .7);
	font-size: 14px;
}

.ds-legal-layout {
	display: grid;
	grid-template-columns: 230px minmax(0, 760px);
	gap: 58px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 64px 24px 86px;
}

.ds-legal-nav {
	position: sticky;
	top: 110px;
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 23px;
	border: 1px solid #dfe8e1;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(20, 64, 42, .06);
}

.ds-legal-nav strong {
	margin-bottom: 5px;
	color: #173f2d;
	font-size: 15px;
}

.ds-legal-nav a {
	color: #557064;
	font-size: 14px;
	text-decoration: none;
}

.ds-legal-nav a:hover,
.ds-legal-nav a:focus {
	color: #08733f;
	text-decoration: underline;
}

.ds-legal-content {
	min-width: 0;
}

.ds-legal-content section {
	margin: 0 0 44px;
	scroll-margin-top: 120px;
}

.ds-legal-content h2 {
	margin: 0 0 14px;
	color: #123d2a;
	font-size: clamp(24px, 3vw, 31px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.25;
}

.ds-legal-content h3 {
	margin: 22px 0 6px;
	color: #1b5138;
	font-size: 18px;
}

.ds-legal-content p {
	margin: 0 0 14px;
	color: #455d52;
}

.ds-legal-content a {
	color: #08733f;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(8, 115, 63, .3);
	text-underline-offset: 3px;
}

.ds-legal-contact {
	padding: 28px 30px;
	border-left: 5px solid #ffbd00;
	border-radius: 4px 14px 14px 4px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(20, 64, 42, .07);
}

.ds-legal-contact h2 {
	font-size: 24px;
}

.ds-legal-contact p:last-child {
	margin-bottom: 0;
}

.ds-legal-footer {
	position: relative;
	z-index: 2;
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: #082d1f;
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
}

.ds-legal-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	max-width: 1180px;
	margin: 0 auto;
	padding: 18px 24px;
}

.ds-legal-footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.ds-legal-footer__credit {
	text-align: center;
}

.ds-legal-footer__credit a {
	font-weight: 750;
}

.ds-legal-footer a {
	color: rgba(255, 255, 255, .84);
	text-decoration: none;
}

.ds-legal-footer a:hover,
.ds-legal-footer a:focus {
	color: #ffd05a;
	text-decoration: underline;
}

@media (max-width: 820px) {
	.ds-legal-hero {
		padding: 58px 21px 54px;
	}

	.ds-legal-layout {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 38px 20px 64px;
	}

	.ds-legal-nav {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ds-legal-nav strong {
		grid-column: 1 / -1;
	}

	.ds-legal-footer__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.ds-legal-footer__credit {
		text-align: left;
	}
}

@media (max-width: 480px) {
	.ds-legal-nav {
		grid-template-columns: 1fr;
	}

	.ds-legal-contact {
		padding: 23px 21px;
	}
}

.single-at_biz_dir .theme-single-listing-slider-wrap {
	padding: 28px 20px 0;
	background: linear-gradient(180deg, #eef7ed 0%, #f5f7f6 100%) !important;
}

.single-at_biz_dir .theme-single-listing-slider {
	max-width: 1180px;
	margin: 0 auto;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 42px rgba(14, 58, 38, 0.12);
}

.single-at_biz_dir .theme-single-listing-slider__item img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.single-at_biz_dir .directorist-single-listing-header-wrap {
	background: transparent;
	padding: 30px 0 8px;
}

.single-at_biz_dir .directorist-single-listing-header {
	position: relative;
	display: block;
}

.single-at_biz_dir .directorist-single-listing-header__left {
	width: 100%;
}

.single-at_biz_dir .directorist-single-listing-header__listing-title-wrapper {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.single-at_biz_dir .directorist-single-listing-header__listing-title {
	max-width: calc(100% - 310px);
	margin: 0 0 8px;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.single-at_biz_dir .directorist-single-listing-header__right {
	position: absolute;
	top: 0;
	right: 0;
}

.single-at_biz_dir .directorist-single-listing-content {
	padding-top: 18px;
	padding-bottom: 54px;
}

.single-at_biz_dir .directorist-single-listing-content .directorist-row > .directorist-col-lg-8 {
	flex: 0 0 100%;
	max-width: 100%;
}

.single-at_biz_dir .directorist-single-listing-content .directorist-row > .directorist-col-lg-4 {
	display: none;
}

.single-at_biz_dir .directorist-single-listing-content .directorist-single-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.single-at_biz_dir .directorist-single-listing-content .directorist-card,
.single-at_biz_dir .directorist-review-container {
	margin: 0;
	border: 1px solid #e2e9e5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(24, 45, 35, 0.06);
	overflow: hidden;
}

.single-at_biz_dir .directorist-single-listing-content .directorist-card:first-child,
.single-at_biz_dir .directorist-single-listing-content .directorist-review-container {
	grid-column: 1 / -1;
}

.single-at_biz_dir .directorist-card__header,
.single-at_biz_dir .directorist-review-container__header {
	border-bottom-color: #edf1ef;
}

.single-at_biz_dir .directorist-card__header h4,
.single-at_biz_dir .directorist-review-container h3,
.single-at_biz_dir .directorist-review-container h4 {
	color: #173d2d;
}

.single-at_biz_dir .directorist-card-general-section .directorist-single-info-textarea .directorist-single-info__label {
	display: none;
}

.single-at_biz_dir .directorist-card-general-section .directorist-single-info-textarea .directorist-single-info__value {
	color: #455950;
	font-size: 16px;
	line-height: 1.7;
}

.ds-detail-deal {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
	width: 100%;
	margin: 26px 0 18px;
	border: 1px solid #c9dfd0;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(17, 75, 48, 0.11);
	overflow: hidden;
}

.ds-detail-deal__main {
	padding: 32px 34px;
	background:
		radial-gradient(circle at 90% 0%, rgba(255, 190, 0, 0.16), transparent 30%),
		linear-gradient(135deg, #f4fbf4 0%, #fffdf2 100%);
}

.ds-detail-deal__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	color: #547064;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.ds-detail-deal__status {
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	border-radius: 999px;
	background: #08733f;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
}

.ds-detail-deal.is-expired .ds-detail-deal__status {
	background: #7b8380;
}

.ds-detail-deal h2 {
	margin: 0 0 20px;
	color: #102d21;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.16;
	letter-spacing: -0.025em;
}

.ds-detail-deal__price-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 16px;
	margin-bottom: 24px;
}

.ds-detail-deal__price {
	color: #0a6b3c;
	font-size: clamp(29px, 4vw, 43px);
	line-height: 1;
}

.ds-detail-deal__price-row del {
	color: #77837d;
	font-size: 18px;
}

.ds-detail-deal__discount {
	display: inline-flex;
	padding: 7px 11px;
	border-radius: 8px;
	background: #ffc400;
	color: #21281f;
	font-size: 14px;
	font-weight: 800;
}

.ds-detail-deal__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.ds-detail-deal__facts div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 14px;
	border-top: 1px solid rgba(18, 79, 49, 0.13);
}

.ds-detail-deal__facts span,
.ds-detail-deal__code-label {
	color: #6f7d76;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.055em;
}

.ds-detail-deal__facts strong {
	color: #263d33;
	font-size: 15px;
}

.ds-detail-deal__redeem {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 15px;
	padding: 30px;
	border-left: 1px solid #e2e9e5;
}

.ds-detail-deal__code-wrap {
	display: flex;
	align-items: stretch;
	margin-top: -7px;
}

.ds-detail-deal__code-wrap code {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	padding: 12px 14px;
	border: 2px dashed #9ec2aa;
	border-right: 0;
	border-radius: 10px 0 0 10px;
	background: #f7fbf8;
	color: #104c30;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.ds-copy-code {
	padding: 0 14px;
	border: 0;
	border-radius: 0 10px 10px 0;
	background: #173d2d;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.ds-detail-deal__redeem p {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	color: #53655c;
	font-size: 14px;
	line-height: 1.55;
}

.ds-detail-deal__redeem p strong {
	color: #243a30;
}

.ds-detail-deal__actions {
	display: grid;
	gap: 10px;
}

.ds-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 16px;
	border-radius: 10px;
	font-weight: 750;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ds-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(18, 65, 43, 0.14);
}

.ds-button--primary,
.ds-button--primary:hover {
	background: #08733f;
	color: #fff;
}

.ds-button--whatsapp,
.ds-button--whatsapp:hover {
	border: 1px solid #b9d9c4;
	background: #eff9f2;
	color: #11653b;
}

.ds-detail-deal__terms {
	grid-column: 1 / -1;
	padding: 0 32px;
	border-top: 1px solid #e4ebe7;
	background: #fff;
}

.ds-detail-deal__terms summary {
	padding: 17px 0;
	color: #264b3a;
	font-weight: 700;
	cursor: pointer;
}

.ds-detail-deal__terms p {
	margin: -4px 0 20px;
	color: #5c6d65;
	line-height: 1.65;
}

@media (max-width: 991px) {
	.single-at_biz_dir .directorist-single-listing-header__listing-title {
		max-width: 100%;
	}

	.single-at_biz_dir .directorist-single-listing-header__right {
		position: static;
		margin-top: 14px;
	}

	.ds-detail-deal {
		grid-template-columns: 1fr;
	}

	.ds-detail-deal__redeem {
		border-top: 1px solid #e2e9e5;
		border-left: 0;
	}
}

@media (max-width: 767px) {
	.single-at_biz_dir .theme-single-listing-slider-wrap {
		padding: 14px 12px 0;
	}

	.single-at_biz_dir .theme-single-listing-slider {
		border-radius: 15px;
	}

	.single-at_biz_dir .theme-single-listing-slider__item img {
		height: 280px;
	}

	.single-at_biz_dir .directorist-single-listing-header-wrap {
		padding-top: 22px;
	}

	.single-at_biz_dir .directorist-single-listing-content .directorist-single-wrapper {
		grid-template-columns: 1fr;
	}

	.single-at_biz_dir .directorist-single-listing-content .directorist-card,
	.single-at_biz_dir .directorist-review-container {
		grid-column: 1;
	}

	.ds-detail-deal {
		margin-top: 20px;
		border-radius: 16px;
	}

	.ds-detail-deal__main,
	.ds-detail-deal__redeem {
		padding: 23px 20px;
	}

	.ds-detail-deal__facts {
		grid-template-columns: 1fr;
	}

	.ds-detail-deal__terms {
		padding: 0 20px;
	}
}

/* Dedicated offers directory */
.ds-offers-page .theme-banner-breadcrumb {
	display: none;
}

.ds-offers-page .site-content,
.ds-offers-page .main-content {
	background: #f5f7f6;
}

.ds-offers-page .content-area {
	padding-top: 0;
}

.ds-offers-page .main-content {
	padding: 0;
}

.ds-offers-page article.page {
	margin: 0;
}

.ds-deals-directory {
	width: 100%;
	padding: 28px 0 70px;
	color: #1a2922;
}

.ds-deals-directory__intro {
	position: relative;
	margin-bottom: 28px;
	padding: 42px 44px;
	border: 1px solid #d4e4d7;
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% 15%, rgba(255, 197, 0, 0.28), transparent 27%),
		linear-gradient(135deg, #eaf7eb 0%, #fff9df 100%);
	overflow: hidden;
}

.ds-deals-directory__intro::after {
	content: "%";
	position: absolute;
	right: 45px;
	top: 50%;
	transform: translateY(-50%) rotate(-8deg);
	color: rgba(8, 115, 63, 0.09);
	font-size: 150px;
	font-weight: 900;
	line-height: 1;
}

.ds-deals-directory__ad {
	position: absolute;
	top: 15px;
	bottom: 15px;
	right: 15px;
	width: 385px;
}

.ds-deals-directory__ad img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ds-deals-directory__intro.has-ad-image::after {
	display: none;
}

.ds-deals-directory__eyebrow {
	display: block;
	margin-bottom: 10px;
	color: #08733f;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.ds-deals-directory__intro h1 {
	position: relative;
	z-index: 1;
	max-width: 740px;
	margin: 0 0 12px;
	color: #133528;
	font-size: clamp(34px, 5vw, 54px);
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.ds-deals-directory__intro p {
	position: relative;
	z-index: 1;
	max-width: 670px;
	margin: 0;
	color: #52675d;
	font-size: 17px;
	line-height: 1.65;
}

.ds-deals-filter {
	display: grid;
	grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(150px, 1fr));
	gap: 16px;
	padding: 24px;
	border: 1px solid #e0e8e3;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(26, 60, 43, 0.07);
}

.ds-deals-filter__field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-width: 0;
}

.ds-deals-filter label {
	margin: 0;
	color: #3b5147;
	font-size: 13px;
	font-weight: 750;
}

.ds-deals-filter input,
.ds-deals-filter select {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #cad7d0;
	border-radius: 10px;
	background-color: #fbfdfc;
	color: #22352c;
	font-size: 14px;
	box-shadow: none;
}

.ds-deals-filter input:focus,
.ds-deals-filter select:focus {
	border-color: #08733f;
	box-shadow: 0 0 0 3px rgba(8, 115, 63, 0.12);
	outline: none;
}

.ds-deals-filter__actions {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 2px;
}

.ds-deals-filter__actions button {
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	background: #08733f;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.ds-deals-filter__actions button:hover {
	background: #065d33;
	transform: translateY(-1px);
}

.ds-deals-filter__actions a {
	color: #486157;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ds-deals-results-bar {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 32px 2px 18px;
}

.ds-deals-results-bar strong {
	color: #173d2d;
	font-size: 20px;
}

.ds-deals-results-bar span {
	color: #718078;
	font-size: 14px;
}

.ds-deals-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.ds-special-deals-slider {
	position: relative;
	width: 100%;
}

.ds-special-deals-slider__viewport {
	overflow: hidden;
}

.ds-special-deals-slider__track {
	display: flex;
	align-items: stretch;
	transform: translate3d(0, 0, 0);
	transition: transform .65s cubic-bezier(.22, .61, .36, 1);
	will-change: transform;
}

.ds-special-deals-slider__slide {
	flex: 0 0 100%;
	min-width: 100%;
}

.ds-special-deals-slider__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 24px;
}

.ds-special-deals-slider__dot {
	width: 11px;
	height: 11px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #c8d8cf;
	box-shadow: none;
	cursor: pointer;
	transition: width .2s ease, background .2s ease, transform .2s ease;
}

.ds-special-deals-slider__dot:hover,
.ds-special-deals-slider__dot:focus-visible {
	background: #66a882;
	outline: 3px solid rgba(8, 115, 63, .15);
	outline-offset: 3px;
}

.ds-special-deals-slider__dot[aria-current="true"] {
	width: 30px;
	background: #08733f;
}

@media (prefers-reduced-motion: reduce) {
	.ds-special-deals-slider__track {
		transition: none;
	}
}

.ds-special-deals__footer {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.ds-special-deals__footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 22px;
	border: 2px solid #08733f;
	border-radius: 10px;
	color: #08733f;
	font-weight: 800;
	text-decoration: none;
}

.ds-special-deals__footer a:hover,
.ds-special-deals__footer a:focus {
	background: #08733f;
	color: #fff;
}

.ds-deal-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	border: 1px solid #e0e8e3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(22, 53, 38, 0.06);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ds-deal-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 35px rgba(17, 61, 39, 0.13);
}

.ds-deal-card__image {
	position: relative;
	display: block;
	aspect-ratio: 48 / 35;
	background: #eaf0ec;
	overflow: hidden;
}

.ds-deal-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.ds-deal-card:hover .ds-deal-card__image img {
	transform: scale(1.035);
}

.ds-deal-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.ds-deal-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.ds-deal-card__meta span {
	display: inline-flex;
	padding: 5px 8px;
	border-radius: 999px;
	background: #edf7ef;
	color: #276344;
	font-size: 11px;
	font-weight: 750;
}

.ds-deal-card__meta span + span {
	background: #f4f3ed;
	color: #665f43;
}

.ds-deal-card h2 {
	margin: 0 0 7px;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: -0.015em;
}

.ds-deal-card h2 a,
.ds-deal-card h2 a:hover {
	color: #18392b;
}

.ds-deal-card__business {
	margin: 0 0 20px;
	color: #6c7a73;
	font-size: 13px;
}

.ds-deal-card__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #edf1ef;
}

.ds-deal-card__price {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ds-deal-card__price strong {
	color: #08733f;
	font-size: 21px;
	line-height: 1.1;
}

.ds-deal-card__price del {
	color: #87928c;
	font-size: 12px;
}

.ds-deal-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 7px 11px;
	border-radius: 8px;
	background: #08733f;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.ds-deal-card__link:hover {
	background: #065d33;
	color: #fff;
}

.ds-deal-card__expiry {
	margin: 13px 0 0;
	color: #77847e;
	font-size: 12px;
}

.ds-deals-empty {
	padding: 64px 24px;
	border: 1px dashed #b9ccc0;
	border-radius: 18px;
	background: #fff;
	text-align: center;
}

.ds-deals-empty h2 {
	margin: 0 0 9px;
	color: #173d2d;
}

.ds-deals-empty p {
	margin: 0 0 20px;
	color: #67786f;
}

.ds-deals-empty a {
	display: inline-flex;
	padding: 11px 17px;
	border-radius: 9px;
	background: #08733f;
	color: #fff;
	font-weight: 750;
}

.ds-deals-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 34px;
}

.ds-deals-pagination a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid #ccd9d2;
	border-radius: 9px;
	background: #fff;
	color: #305342;
	font-weight: 750;
}

.ds-deals-pagination a[aria-current="page"] {
	border-color: #08733f;
	background: #08733f;
	color: #fff;
}

@media (max-width: 1100px) {
	.ds-deals-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ds-deals-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 800px) {
	.ds-deals-directory {
		padding-top: 28px;
	}

	.ds-deals-directory__intro {
		padding: 32px 28px;
		border-radius: 18px;
	}

	.ds-deals-directory__intro::after {
		right: 20px;
		font-size: 110px;
	}

	.ds-deals-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ds-deals-directory {
		padding: 18px 0 50px;
	}

	.ds-deals-directory__intro {
		margin-bottom: 18px;
		padding: 25px 20px;
	}

	.ds-deals-directory__intro::after {
		display: none;
	}

	.ds-deals-filter {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.ds-deals-filter__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ds-deals-filter__actions button {
		width: 100%;
	}

	.ds-deals-results-bar {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.ds-deals-grid {
		grid-template-columns: 1fr;
	}
}

/* About, Contact and Submit pages */
.ds-about-page .theme-banner-breadcrumb,
.ds-contact-page .theme-banner-breadcrumb,
.ds-submit-page .theme-banner-breadcrumb {
	display: none;
}

.ds-about-page .site-content,
.ds-contact-page .site-content,
.ds-submit-page .site-content,
.ds-about-page .main-content,
.ds-contact-page .main-content,
.ds-submit-page .main-content {
	background: #f5f7f6;
}

.ds-about-page .main-content,
.ds-contact-page .main-content,
.ds-submit-page .main-content {
	padding: 0;
}

.ds-about-page article.page,
.ds-contact-page article.page,
.ds-submit-page article.page {
	margin: 0;
}

.ds-info-page,
.ds-submit-intro {
	width: 100%;
	color: #1b2d24;
}

.ds-info-page {
	padding: 48px 0 72px;
}

.ds-info-eyebrow {
	display: block;
	margin-bottom: 9px;
	color: #08733f;
	font-size: 12px;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: 0.09em;
}

.ds-info-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	align-items: center;
	gap: 36px;
	min-height: 420px;
	margin-bottom: 34px;
	padding: 48px;
	border: 1px solid #d5e4d9;
	border-radius: 26px;
	background:
		radial-gradient(circle at 88% 15%, rgba(255, 196, 0, 0.25), transparent 29%),
		linear-gradient(135deg, #e9f7eb 0%, #fff8dd 100%);
	overflow: hidden;
}

.ds-info-hero__content h1 {
	max-width: 780px;
	margin: 0 0 18px;
	color: #123528;
	font-size: clamp(38px, 5vw, 58px);
	line-height: 1.06;
	letter-spacing: -0.045em;
}

.ds-info-hero__content > p {
	max-width: 700px;
	margin: 0;
	color: #53685e;
	font-size: 18px;
	line-height: 1.65;
}

.ds-info-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.ds-info-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 11px 19px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 800;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ds-info-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(18, 65, 43, 0.13);
}

.ds-info-button--primary,
.ds-info-button--primary:hover {
	background: #08733f;
	color: #fff;
}

.ds-info-button--secondary,
.ds-info-button--secondary:hover {
	border: 1px solid #b8d3c1;
	background: rgba(255, 255, 255, 0.78);
	color: #145638;
}

.ds-info-hero__visual {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding-top: 150px;
}

.ds-info-hero__mark {
	position: absolute;
	right: 20px;
	top: -35px;
	color: rgba(8, 115, 63, 0.11);
	font-size: 210px;
	font-weight: 900;
	line-height: 1;
	transform: rotate(-8deg);
}

.ds-info-hero__stat {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	padding: 20px;
	border: 1px solid rgba(8, 115, 63, 0.14);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.77);
	box-shadow: 0 10px 26px rgba(16, 70, 43, 0.07);
}

.ds-info-hero__stat strong {
	color: #08733f;
	font-size: 36px;
	line-height: 1;
}

.ds-info-hero__stat span {
	margin-top: 6px;
	color: #5a6c63;
	font-size: 13px;
	font-weight: 700;
}

.ds-about-mission {
	display: grid;
	grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
	gap: 54px;
	align-items: start;
	margin: 0 0 34px;
	padding: 42px;
	border-radius: 20px;
	background: #173d2d;
}

.ds-about-mission h2,
.ds-info-cta h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(28px, 3.5vw, 40px);
	line-height: 1.16;
	letter-spacing: -0.025em;
}

.ds-about-mission p {
	margin: 0;
	color: #d7e6de;
	font-size: 17px;
	line-height: 1.75;
}

.ds-about-mission .ds-info-eyebrow,
.ds-info-cta .ds-info-eyebrow {
	color: #ffc929;
}

.ds-info-section,
.ds-info-steps {
	margin-bottom: 34px;
	padding: 42px;
	border: 1px solid #e0e8e3;
	border-radius: 20px;
	background: #fff;
}

.ds-info-section__header {
	margin-bottom: 26px;
}

.ds-info-section__header h2,
.ds-contact-form-card h2,
.ds-contact-aside h2,
.ds-submit-prep h2,
.ds-submit-form-heading h2 {
	margin: 0;
	color: #173d2d;
	font-size: clamp(27px, 3.2vw, 38px);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.ds-value-grid,
.ds-info-steps__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ds-value-grid article {
	padding: 25px;
	border: 1px solid #e2e9e5;
	border-radius: 15px;
	background: #f9fbfa;
}

.ds-value-grid article > span {
	display: inline-flex;
	margin-bottom: 20px;
	color: #0a7542;
	font-size: 13px;
	font-weight: 900;
}

.ds-value-grid h3,
.ds-info-steps__grid h3 {
	margin: 0 0 8px;
	color: #213c30;
	font-size: 20px;
}

.ds-value-grid p,
.ds-info-steps__grid p {
	margin: 0;
	color: #687970;
	line-height: 1.65;
}

.ds-audience-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 34px;
}

.ds-audience-card {
	padding: 38px;
	border-radius: 20px;
}

.ds-audience-card--visitor {
	border: 1px solid #dbe6df;
	background: #fff;
}

.ds-audience-card--business {
	background: linear-gradient(145deg, #fff5c8, #fffaf0);
	border: 1px solid #eadb9f;
}

.ds-audience-card h2 {
	margin: 0 0 18px;
	color: #173d2d;
	font-size: 31px;
	letter-spacing: -0.025em;
}

.ds-audience-card ul,
.ds-submit-prep ul {
	display: grid;
	gap: 11px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.ds-audience-card li,
.ds-submit-prep li {
	position: relative;
	padding-left: 25px;
	color: #52665c;
	line-height: 1.55;
}

.ds-audience-card li::before,
.ds-submit-prep li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #08733f;
	font-weight: 900;
}

.ds-audience-card > a {
	color: #08733f;
	font-weight: 850;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ds-info-steps__grid > div {
	position: relative;
	padding: 4px 10px 4px 66px;
}

.ds-info-steps__grid > div > strong {
	position: absolute;
	left: 0;
	top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #08733f;
	color: #fff;
	font-size: 20px;
}

.ds-info-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 38px 42px;
	border-radius: 20px;
	background: #173d2d;
}

/* Contact */
.ds-contact-hero {
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	min-height: 350px;
}

.ds-contact-hero__links {
	display: grid;
	gap: 13px;
}

.ds-contact-hero__links a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px;
	border: 1px solid rgba(8, 115, 63, 0.17);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 8px 20px rgba(21, 67, 43, 0.06);
}

.ds-contact-hero__links strong {
	color: #155537;
	font-size: 16px;
}

.ds-contact-hero__links span {
	color: #6e7d75;
	font-size: 13px;
}

.ds-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	gap: 26px;
}

.ds-contact-form-card,
.ds-contact-aside {
	padding: 38px;
	border: 1px solid #e0e8e3;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 9px 27px rgba(23, 60, 43, 0.06);
}

.ds-contact-form-card > p {
	margin: 10px 0 25px;
	color: #687970;
	line-height: 1.6;
}

.ds-form-notice {
	margin-bottom: 20px;
	padding: 13px 15px;
	border-radius: 9px;
	font-weight: 700;
}

.ds-form-notice--success {
	border: 1px solid #b8dac3;
	background: #eef9f1;
	color: #15613a;
}

.ds-form-notice--error {
	border: 1px solid #efc0c0;
	background: #fff2f2;
	color: #8b2929;
}

.ds-contact-form {
	display: grid;
	gap: 18px;
}

.ds-contact-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ds-contact-form > div,
.ds-contact-form__row > div {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.ds-contact-form label {
	margin: 0;
	color: #354f43;
	font-size: 13px;
	font-weight: 750;
}

.ds-contact-form label span {
	color: #b42828;
}

.ds-contact-form input[type="text"],
.ds-contact-form input[type="email"],
.ds-contact-form select,
.ds-contact-form textarea {
	width: 100%;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #cbd8d1;
	border-radius: 9px;
	background: #fbfdfc;
	color: #24372e;
	box-shadow: none;
}

.ds-contact-form input[type="text"],
.ds-contact-form input[type="email"],
.ds-contact-form select {
	height: 48px;
}

.ds-contact-form textarea {
	min-height: 160px;
	resize: vertical;
}

.ds-contact-form input:focus,
.ds-contact-form select:focus,
.ds-contact-form textarea:focus {
	border-color: #08733f;
	box-shadow: 0 0 0 3px rgba(8, 115, 63, 0.12);
	outline: none;
}

.ds-contact-form__website {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.ds-contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #5a6d63 !important;
	font-weight: 500 !important;
	line-height: 1.5;
}

.ds-contact-form__consent input {
	margin-top: 3px;
}

.ds-contact-form__consent span {
	color: inherit !important;
}

.ds-contact-form button {
	justify-self: start;
	min-height: 48px;
	padding: 0 23px;
	border: 0;
	border-radius: 10px;
	background: #08733f;
	color: #fff;
	font-size: 14px;
	font-weight: 850;
	cursor: pointer;
}

.ds-contact-aside h2 {
	margin-bottom: 21px;
}

.ds-contact-details {
	margin-bottom: 30px;
	padding-bottom: 26px;
	border-bottom: 1px solid #e6ece8;
}

.ds-contact-details h2 {
	margin: 7px 0 14px;
}

.ds-contact-details > a {
	display: block;
	margin: 7px 0;
	color: #08733f;
	font-weight: 750;
}

.ds-contact-details > p {
	margin: 12px 0;
	color: #66786e;
	line-height: 1.55;
}

.ds-contact-details nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.ds-contact-details nav a {
	padding: 7px 10px;
	border-radius: 999px;
	background: #edf7ef;
	color: #276344;
	font-size: 12px;
	font-weight: 800;
}

.ds-contact-aside details {
	border-top: 1px solid #e6ece8;
}

.ds-contact-aside details:last-child {
	border-bottom: 1px solid #e6ece8;
}

.ds-contact-aside summary {
	padding: 17px 2px;
	color: #284639;
	font-weight: 800;
	cursor: pointer;
}

.ds-contact-aside details p {
	margin: -4px 2px 18px;
	color: #66786e;
	font-size: 14px;
	line-height: 1.65;
}

/* Business submission */
.ds-submit-intro {
	padding-top: 48px;
}

.ds-submit-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 250px;
	align-items: center;
	gap: 34px;
	margin-bottom: 24px;
	padding: 42px;
	border: 1px solid #d4e4d8;
	border-radius: 24px;
	background:
		radial-gradient(circle at 90% 20%, rgba(255, 196, 0, 0.25), transparent 30%),
		linear-gradient(135deg, #eaf7eb, #fff9df);
}

.ds-submit-hero h1 {
	margin: 0 0 14px;
	color: #133528;
	font-size: clamp(36px, 5vw, 52px);
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.ds-submit-hero p {
	max-width: 760px;
	margin: 0;
	color: #53675d;
	font-size: 17px;
	line-height: 1.65;
}

.ds-submit-hero__badge {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 25px;
	border: 1px solid rgba(8, 115, 63, 0.16);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.78);
	text-align: center;
}

.ds-submit-hero__badge strong {
	color: #08733f;
	font-size: 36px;
	line-height: 1;
}

.ds-submit-hero__badge span {
	color: #63736b;
	font-size: 13px;
	line-height: 1.45;
}

.ds-submit-guide {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.ds-submit-guide > div {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 19px;
	border: 1px solid #e0e8e3;
	border-radius: 14px;
	background: #fff;
}

.ds-submit-guide > div > strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #08733f;
	color: #fff;
}

.ds-submit-guide span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: #697970;
	font-size: 13px;
	line-height: 1.5;
}

.ds-submit-guide b {
	color: #29463a;
	font-size: 14px;
}

.ds-submit-prep {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.65fr);
	gap: 30px;
	align-items: center;
	margin-bottom: 35px;
	padding: 32px;
	border: 1px solid #e0e8e3;
	border-radius: 18px;
	background: #fff;
}

.ds-submit-prep h2 {
	margin-bottom: 18px;
	font-size: 28px;
}

.ds-submit-prep ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 0;
}

.ds-submit-prep > p {
	margin: 0;
	padding: 20px;
	border-left: 4px solid #ffc400;
	border-radius: 0 10px 10px 0;
	background: #fff8dc;
	color: #5f5a43;
	line-height: 1.6;
}

.ds-submit-form-heading {
	margin-bottom: 20px;
}

.ds-submit-form-heading p {
	margin: 7px 0 0;
	color: #6a7a72;
}

.ds-submit-page .directorist-add-listing-wrapper {
	padding-bottom: 70px;
}

.ds-submit-page #directorist-add-listing-form .directorist-add-listing-form {
	border: 1px solid #dfe7e2;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(22, 58, 41, 0.07);
	overflow: hidden;
}

.ds-submit-page .multistep-wizard__nav {
	padding: 10px;
	background: #eef5f0;
	overflow-x: auto;
}

.ds-submit-page .multistep-wizard__nav__btn {
	border-radius: 9px;
	white-space: nowrap;
}

.ds-submit-page .multistep-wizard__nav__btn.active {
	background: #08733f;
	color: #fff;
}

.ds-submit-page .multistep-wizard__content {
	padding: 8px 24px 28px;
}

.ds-submit-page .directorist-content-module {
	border-color: #e1e8e4;
	border-radius: 14px;
	box-shadow: none;
}

.ds-submit-page .directorist-content-module__title {
	color: #173d2d;
}

.ds-submit-page #directorist-add-listing-form input[type="text"],
.ds-submit-page #directorist-add-listing-form input[type="email"],
.ds-submit-page #directorist-add-listing-form input[type="url"],
.ds-submit-page #directorist-add-listing-form input[type="number"],
.ds-submit-page #directorist-add-listing-form input[type="date"],
.ds-submit-page #directorist-add-listing-form select,
.ds-submit-page #directorist-add-listing-form textarea {
	border-color: #cbd8d1;
	border-radius: 8px;
	background-color: #fbfdfc;
}

.ds-submit-page #directorist-add-listing-form input:focus,
.ds-submit-page #directorist-add-listing-form select:focus,
.ds-submit-page #directorist-add-listing-form textarea:focus {
	border-color: #08733f;
	box-shadow: 0 0 0 3px rgba(8, 115, 63, 0.11);
}

.ds-submit-page #directorist-add-listing-form .directorist-btn-primary,
.ds-submit-page #directorist-add-listing-form button[type="submit"] {
	border-color: #08733f;
	background: #08733f;
}

.ds-submit-page .ds-submit-hidden,
.ds-submit-page .ds-offer-field-hidden {
	display: none !important;
}

.ds-submit-page .ds-required-mark {
	color: #c02b2b;
	font-weight: 800;
}

.ds-submit-page .ds-submit-help {
	margin: 8px 0 0;
	color: #718078;
	font-size: 13px;
	line-height: 1.5;
}

.ds-submit-page .ds-contact-requirement,
.ds-submit-page .ds-review-notice,
.ds-submit-page .ds-form-errors {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0 0 22px;
	padding: 16px 18px;
	border-radius: 10px;
}

.ds-submit-page .ds-contact-requirement,
.ds-submit-page .ds-review-notice {
	border: 1px solid #cfe5d6;
	background: #eff8f1;
	color: #315443;
}

.ds-submit-page .ds-contact-requirement strong,
.ds-submit-page .ds-review-notice strong {
	color: #145c39;
	font-size: 14px;
}

.ds-submit-page .ds-contact-requirement span,
.ds-submit-page .ds-review-notice span {
	font-size: 13px;
	line-height: 1.5;
}

.ds-submit-page .ds-form-errors {
	margin-top: 20px;
	border: 1px solid #e3a4a4;
	background: #fff1f1;
	color: #7f2424;
}

.ds-submit-page .ds-form-errors strong {
	font-size: 15px;
}

.ds-submit-page .ds-form-errors ul {
	margin: 3px 0 0 19px;
	padding: 0;
}

.ds-submit-page .ds-field-error input,
.ds-submit-page .ds-field-error select,
.ds-submit-page .ds-field-error textarea,
.ds-submit-page .ds-field-error .select2-selection {
	border-color: #c02b2b !important;
	box-shadow: 0 0 0 3px rgba(192, 43, 43, 0.1) !important;
}

.ds-submit-page .multistep-wizard__single[hidden] {
	display: none !important;
}

.ds-submit-page #add-listing-content-aanbieding .directorist-content-module__title::after {
	content: "Optioneel";
	display: inline-flex;
	margin-left: 10px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef5f0;
	color: #48705b;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

@media (max-width: 991px) {
	.ds-info-hero,
	.ds-contact-hero,
	.ds-contact-layout,
	.ds-submit-hero,
	.ds-submit-prep {
		grid-template-columns: 1fr;
	}

	.ds-info-hero__visual {
		padding-top: 100px;
	}

	.ds-about-mission {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.ds-value-grid,
	.ds-info-steps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ds-submit-guide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ds-submit-hero__badge {
		align-items: center;
		text-align: left;
	}
}

@media (max-width: 700px) {
	.ds-info-page {
		padding: 20px 0 50px;
	}

	.ds-info-hero,
	.ds-contact-hero,
	.ds-submit-hero {
		min-height: 0;
		padding: 28px 22px;
		border-radius: 18px;
	}

	.ds-info-hero__visual {
		display: none;
	}

	.ds-about-mission,
	.ds-info-section,
	.ds-info-steps,
	.ds-contact-form-card,
	.ds-contact-aside,
	.ds-submit-prep {
		padding: 25px 21px;
		border-radius: 16px;
	}

	.ds-value-grid,
	.ds-info-steps__grid,
	.ds-audience-grid,
	.ds-contact-form__row,
	.ds-submit-guide,
	.ds-submit-prep ul {
		grid-template-columns: 1fr;
	}

	.ds-audience-card {
		padding: 27px 22px;
	}

	.ds-info-cta {
		align-items: flex-start;
		flex-direction: column;
		padding: 28px 22px;
	}

	.ds-contact-form button {
		width: 100%;
	}

	.ds-submit-intro {
		padding-top: 20px;
	}

	.ds-submit-page .multistep-wizard__content {
		padding: 4px 12px 18px;
	}
}

/* Account, login and business dashboard */
.ds-dashboard-page .theme-banner-breadcrumb,
.ds-auth-page .theme-banner-breadcrumb {
	display: none;
}

.ds-dashboard-page .site-content,
.ds-auth-page .site-content {
	padding: 40px 0 76px;
	background: #f5f7f6;
}

.ds-account-hero,
.ds-auth-hero {
	width: calc(100% - 40px);
	max-width: 1180px;
	margin: 0 auto 28px;
	border: 1px solid #d4e4d8;
	border-radius: 22px;
	background:
		radial-gradient(circle at 88% 15%, rgba(255, 196, 0, 0.28), transparent 31%),
		linear-gradient(135deg, #eaf7eb, #fff9df);
}

.ds-account-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px;
	padding: 36px 40px;
}

.ds-account-hero h1,
.ds-auth-hero h1 {
	margin: 5px 0 10px;
	color: #153b2b;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.ds-account-hero p,
.ds-auth-hero p {
	max-width: 670px;
	margin: 0;
	color: #5e6e66;
	font-size: 16px;
	line-height: 1.65;
}

.ds-account-hero__actions {
	display: flex;
	align-items: stretch;
	flex-direction: column;
	gap: 10px;
	min-width: 230px;
}

.ds-account-hero__actions a {
	padding: 13px 18px;
	border: 1px solid #08733f;
	border-radius: 9px;
	background: #08733f;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	text-align: center;
}

.ds-account-hero__actions a + a {
	border-color: #c8d8ce;
	background: rgba(255, 255, 255, 0.78);
	color: #22533b;
}

.ds-dashboard-page .directorist-user-dashboard {
	width: calc(100% - 40px);
	max-width: 1180px;
	margin: 0 auto;
}

.ds-dashboard-page .directorist-user-dashboard__contents {
	gap: 24px;
}

.ds-dashboard-page .directorist-user-dashboard__nav,
.ds-dashboard-page .directorist-user-dashboard__tab-content {
	border: 1px solid #e0e8e3;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(22, 58, 41, 0.06);
}

.ds-dashboard-page .directorist-tab__nav__link {
	border-radius: 8px;
	color: #466055;
}

.ds-dashboard-page .directorist-tab__nav__link.directorist-tab__nav__active,
.ds-dashboard-page .directorist-tab__nav__link:hover {
	background: #eaf6ee !important;
	color: #08733f !important;
}

.ds-dashboard-page .directorist-btn--add-listing,
.ds-dashboard-page .directorist-dashboard-listings-tbody .directorist-btn-primary,
.ds-dashboard-page .directorist-user-profile__submit {
	border-color: #08733f !important;
	background: #08733f !important;
	color: #fff !important;
}

body.ds-dashboard-page .directorist-user-dashboard .directorist-btn.directorist-btn--add-listing {
	border-color: #08733f !important;
	background-color: #08733f !important;
	text-transform: none;
}

body.ds-dashboard-page .directorist-user-dashboard-tab__nav a.directorist-tab__nav__active {
	border-bottom-color: #08733f !important;
	color: #08733f !important;
}

.ds-dashboard-page .directorist-dashboard-listings-thead {
	background: #f2f7f4;
}

.ds-dashboard-page .directorist-tab__nav__action {
	border-top-color: #e3ebe6;
}

.ds-auth-hero {
	max-width: 900px;
	padding: 38px 42px;
	text-align: center;
}

.ds-auth-hero p {
	margin-right: auto;
	margin-left: auto;
}

.ds-auth-hero > div {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-top: 18px;
	color: #2f6349;
	font-size: 13px;
	font-weight: 750;
}

.ds-auth-page .directorist-authentication {
	max-width: 620px;
	margin-right: auto;
	margin-left: auto;
}

.ds-auth-page .directorist-authentication__form {
	padding: 32px;
	border: 1px solid #e0e8e3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(22, 58, 41, 0.07);
}

.ds-auth-page .directorist-authentication input[type="text"],
.ds-auth-page .directorist-authentication input[type="email"],
.ds-auth-page .directorist-authentication input[type="password"] {
	border-color: #cad7d0;
	border-radius: 8px;
	background: #fbfdfc;
}

.ds-auth-page .directorist-authentication__form__btn {
	border-color: #08733f !important;
	background: #08733f !important;
	color: #fff !important;
}

.ds-auth-page .directorist-authentication__btn {
	color: #08733f !important;
	font-weight: 800;
}

@media (max-width: 760px) {
	.ds-dashboard-page .site-content,
	.ds-auth-page .site-content {
		padding-top: 20px;
	}

	.ds-account-hero {
		grid-template-columns: 1fr;
		padding: 28px 22px;
	}

	.ds-account-hero__actions {
		min-width: 0;
	}

	.ds-auth-hero {
		padding: 30px 22px;
	}

	.ds-dashboard-page .directorist-user-dashboard,
	.ds-account-hero,
	.ds-auth-hero {
		width: calc(100% - 24px);
	}

	.ds-auth-page .directorist-authentication__form {
		padding: 24px 20px;
	}
}

/* Business directory and category overview */
.ds-businesses-page .theme-banner-breadcrumb,
.ds-categories-page .theme-banner-breadcrumb {
	display: none;
}

.ds-businesses-page .site-content,
.ds-categories-page .site-content,
.ds-businesses-page .main-content,
.ds-categories-page .main-content {
	background: #f5f7f6;
}

.ds-businesses-page .content-area {
	padding-top: 0;
}

.ds-businesses-page .main-content,
.ds-categories-page .main-content {
	padding: 0;
}

.ds-businesses-page article.page,
.ds-categories-page article.page {
	margin: 0;
}

.ds-business-directory,
.ds-category-directory {
	width: 100%;
	padding: 28px 0 72px;
	color: #1b2d24;
}

.ds-business-directory__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	align-items: center;
	gap: 40px;
	margin-bottom: 26px;
	padding: 42px 44px;
	border: 1px solid #d4e4d8;
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 20%, rgba(255, 196, 0, 0.25), transparent 30%),
		linear-gradient(135deg, #eaf7eb, #fff9df);
}

.ds-business-directory__hero h1,
.ds-category-directory__hero h1 {
	margin: 0 0 13px;
	color: #133528;
	font-size: clamp(38px, 5vw, 55px);
	line-height: 1.07;
	letter-spacing: -0.04em;
}

.ds-business-directory__hero p,
.ds-category-directory__hero p {
	margin: 0;
	color: #596b62;
	font-size: 17px;
	line-height: 1.65;
}

.ds-business-directory__hero > a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px;
	border: 1px solid rgba(8, 115, 63, 0.16);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 0 9px 24px rgba(20, 66, 42, 0.07);
}

.ds-business-directory__hero > a strong {
	color: #155638;
	font-size: 16px;
}

.ds-business-directory__hero > a span {
	color: #6b7b73;
	font-size: 13px;
	line-height: 1.45;
}

.ds-business-filter {
	display: grid;
	grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(150px, 1fr));
	gap: 16px;
	padding: 24px;
	border: 1px solid #e0e8e3;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(26, 60, 43, 0.07);
}

.ds-business-filter__field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-width: 0;
}

.ds-business-filter label {
	margin: 0;
	color: #3b5147;
	font-size: 13px;
	font-weight: 750;
}

.ds-business-filter input,
.ds-business-filter select {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #cad7d0;
	border-radius: 10px;
	background-color: #fbfdfc;
	color: #22352c;
	font-size: 14px;
	box-shadow: none;
}

.ds-business-filter input:focus,
.ds-business-filter select:focus {
	border-color: #08733f;
	box-shadow: 0 0 0 3px rgba(8, 115, 63, 0.12);
	outline: none;
}

.ds-business-filter__actions {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 16px;
}

.ds-business-filter__actions button {
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	background: #08733f;
	color: #fff;
	font-size: 14px;
	font-weight: 850;
	cursor: pointer;
}

.ds-business-filter__actions a {
	color: #486157;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ds-business-results {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 32px 2px 18px;
}

.ds-business-results strong {
	color: #173d2d;
	font-size: 20px;
}

.ds-business-results span {
	color: #718078;
	font-size: 14px;
}

.ds-business-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.ds-business-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	border: 1px solid #e0e8e3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(22, 53, 38, 0.06);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ds-business-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 35px rgba(17, 61, 39, 0.13);
}

.ds-business-card__image {
	position: relative;
	display: block;
	aspect-ratio: 48 / 35;
	background: #eaf0ec;
	overflow: hidden;
}

.ds-business-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.ds-business-card:hover .ds-business-card__image img {
	transform: scale(1.035);
}

.ds-business-card__image span {
	position: absolute;
	left: 13px;
	top: 13px;
	padding: 7px 10px;
	border-radius: 8px;
	background: #ffc400;
	color: #242b20;
	font-size: 11px;
	font-weight: 850;
	box-shadow: 0 4px 12px rgba(66, 50, 0, 0.15);
}

.ds-business-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.ds-business-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.ds-business-card__meta span {
	display: inline-flex;
	padding: 5px 8px;
	border-radius: 999px;
	background: #edf7ef;
	color: #276344;
	font-size: 11px;
	font-weight: 750;
}

.ds-business-card__meta span + span {
	background: #f4f3ed;
	color: #665f43;
}

.ds-business-card h2 {
	margin: 0 0 9px;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.ds-business-card h2 a,
.ds-business-card h2 a:hover {
	color: #18392b;
}

.ds-business-card__body > p {
	margin: 0 0 18px;
	color: #687970;
	font-size: 13px;
	line-height: 1.58;
}

.ds-business-card__stats {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
	padding-top: 13px;
	border-top: 1px solid #edf1ef;
	color: #6f7d76;
	font-size: 11px;
}

.ds-business-card__stats span {
	display: flex;
	flex-direction: column;
}

.ds-business-card__stats strong {
	color: #173d2d;
	font-size: 14px;
}

.ds-business-card__stats small {
	color: #7b8882;
	font-size: 10px;
}

.ds-business-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: 15px;
	padding: 9px 14px;
	border-radius: 9px;
	background: #08733f;
	color: #fff;
	font-size: 13px;
	font-weight: 850;
}

.ds-business-card__link:hover {
	background: #065d33;
	color: #fff;
}

.ds-business-empty {
	padding: 64px 24px;
	border: 1px dashed #b9ccc0;
	border-radius: 18px;
	background: #fff;
	text-align: center;
}

.ds-business-empty h2 {
	margin: 0 0 9px;
	color: #173d2d;
}

.ds-business-empty p {
	margin: 0 0 20px;
	color: #67786f;
}

.ds-business-empty a {
	display: inline-flex;
	padding: 11px 17px;
	border-radius: 9px;
	background: #08733f;
	color: #fff;
	font-weight: 750;
}

.ds-business-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 34px;
}

.ds-business-pagination a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid #ccd9d2;
	border-radius: 9px;
	background: #fff;
	color: #305342;
	font-weight: 750;
}

.ds-business-pagination a[aria-current="page"] {
	border-color: #08733f;
	background: #08733f;
	color: #fff;
}

/* Category overview */
.ds-category-directory__hero {
	position: relative;
	margin-bottom: 28px;
	padding: 45px;
	border: 1px solid #d4e4d8;
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% 15%, rgba(255, 196, 0, 0.25), transparent 28%),
		linear-gradient(135deg, #eaf7eb, #fff9df);
}

.ds-category-directory__hero h1,
.ds-category-directory__hero p {
	max-width: 780px;
}

.ds-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ds-category-card {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr) 32px;
	align-items: start;
	gap: 17px;
	min-height: 190px;
	padding: 25px;
	border: 1px solid #e0e8e3;
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(22, 53, 38, 0.05);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ds-category-card:hover {
	transform: translateY(-4px);
	border-color: #b7d1c0;
	box-shadow: 0 15px 32px rgba(18, 61, 40, 0.11);
}

.ds-category-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 16px;
	background: #edf7ef;
	color: #08733f;
	font-size: 27px;
	font-weight: 900;
}

.ds-category-card h2 {
	margin: 1px 0 8px;
	color: #18392b;
	font-size: 21px;
	line-height: 1.25;
}

.ds-category-card p {
	margin: 0 0 15px;
	color: #6a7a72;
	font-size: 13px;
	line-height: 1.58;
}

.ds-category-card strong {
	color: #08733f;
	font-size: 12px;
}

.ds-category-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f2f5f3;
	color: #416052;
	font-size: 18px;
	transition: background 0.2s ease, color 0.2s ease;
}

.ds-category-card:hover .ds-category-card__arrow {
	background: #08733f;
	color: #fff;
}

.ds-category-directory__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: 28px;
	padding: 32px 36px;
	border-radius: 18px;
	background: #173d2d;
}

.ds-category-directory__cta .ds-info-eyebrow {
	color: #ffc929;
}

.ds-category-directory__cta h2 {
	margin: 0;
	color: #fff;
	font-size: 29px;
}

.ds-category-directory__cta > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 18px;
	border-radius: 9px;
	background: #fff;
	color: #145237;
	font-weight: 850;
}

@media (max-width: 1100px) {
	.ds-business-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ds-business-grid,
	.ds-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 800px) {
	.ds-business-directory,
	.ds-category-directory {
		padding-top: 28px;
	}

	.ds-business-directory__hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ds-business-directory__hero,
	.ds-category-directory__hero {
		padding: 32px 28px;
		border-radius: 18px;
	}
}

@media (max-width: 600px) {
	.ds-business-directory,
	.ds-category-directory {
		padding: 18px 0 50px;
	}

	.ds-business-filter {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.ds-business-filter__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ds-business-filter__actions button {
		width: 100%;
	}

	.ds-business-results {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.ds-business-grid,
	.ds-category-grid {
		grid-template-columns: 1fr;
	}

	.ds-category-card {
		grid-template-columns: 52px minmax(0, 1fr);
		min-height: 0;
		padding: 21px;
	}

	.ds-category-card__icon {
		width: 52px;
		height: 52px;
		font-size: 23px;
	}

	.ds-category-card__arrow {
		display: none;
	}

	.ds-category-directory__cta {
		align-items: flex-start;
		flex-direction: column;
		padding: 27px 22px;
	}
}
