/**
 * Official Esteponeros brand system and native Directorist Divi corrections.
 *
 * The Divi Integration assigns fixed positions to individual badge modules.
 * The saved card now groups those modules in a native Divi flex row; these
 * selectors neutralize the extension's default offsets so only visible badges
 * consume space and the row stays over the listing image.
 */

body.esteponeros-directory-surface {
	--esteponeros-ground: #f7f9fa;
	--esteponeros-ink: #0d1c26;
	--esteponeros-abyss: #0b3d5c;
	--esteponeros-shelf: #1d7f9e;
	--esteponeros-signal: #c4562f;
	--esteponeros-line: #d9e2e7;
	--esteponeros-space-1: 4px;
	--esteponeros-space-2: 8px;
	--esteponeros-space-3: 12px;
	--esteponeros-space-4: 16px;
	--esteponeros-space-6: 24px;
	--esteponeros-space-8: 32px;
	--esteponeros-space-12: 48px;
	background: var(--esteponeros-ground);
	color: var(--esteponeros-ink);
	font-family: "Hanken Grotesk", "Open Sans", Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
}

body.esteponeros-directory-surface #main-content {
	background: var(--esteponeros-ground);
}

body.esteponeros-directory-surface #logo {
	width: min(205px, 50vw);
	height: auto !important;
	max-width: 205px !important;
	max-height: 60px;
}

body.esteponeros-directory-surface h1,
body.esteponeros-directory-surface h2,
body.esteponeros-directory-surface h3,
body.esteponeros-directory-surface h4,
body.esteponeros-directory-surface h5,
body.esteponeros-directory-surface h6,
body.esteponeros-directory-surface .directorist-listing-title,
body.esteponeros-directory-surface .directorist-pricing__title,
body.esteponeros-directory-surface .directorist-pricing-plan__title {
	color: var(--esteponeros-ink);
	font-family: "Outfit", "Open Sans", Arial, sans-serif;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.05;
}

body.esteponeros-directory-surface .et_pb_fullwidth_header {
	background: var(--esteponeros-abyss) !important;
}

body.esteponeros-directory-surface .et_pb_fullwidth_header_container,
body.esteponeros-directory-surface .et_pb_row {
	max-width: 1120px;
}

body.esteponeros-directory-surface .et_pb_fullwidth_header_container {
	padding-inline: var(--esteponeros-space-6);
}

body.esteponeros-directory-surface .et_pb_fullwidth_header h1,
body.esteponeros-directory-surface .et_pb_fullwidth_header .et_pb_module_header,
body.esteponeros-directory-surface .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
	color: #fff;
}

body.esteponeros-directory-surface .et_pb_fullwidth_header h1,
body.esteponeros-directory-surface .et_pb_fullwidth_header .et_pb_module_header {
	font-size: clamp(32px, 4vw, 52px);
}

body.esteponeros-directory-surface .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
	font-family: "Hanken Grotesk", "Open Sans", Arial, sans-serif;
	font-size: clamp(16px, 1.5vw, 18px);
	font-weight: 400;
	line-height: 1.55;
}

body.esteponeros-directory-surface :is(.directorist-btn, button, input, select, textarea) {
	border-radius: 6px;
	font-family: "Hanken Grotesk", "Open Sans", Arial, sans-serif;
}

body.esteponeros-directory-surface .directorist-btn-primary,
body.esteponeros-directory-surface .directorist-filter-btn,
body.esteponeros-directory-surface .directorist-pricing__action--btn,
body.esteponeros-directory-surface .directorist-pricing-plan__action .directorist-btn {
	background: var(--esteponeros-shelf) !important;
	border-color: var(--esteponeros-shelf) !important;
	color: #fff !important;
}

body.esteponeros-directory-surface .directorist-btn-primary:hover,
body.esteponeros-directory-surface .directorist-filter-btn:hover,
body.esteponeros-directory-surface .directorist-pricing__action--btn:hover,
body.esteponeros-directory-surface .directorist-pricing-plan__action .directorist-btn:hover {
	background: var(--esteponeros-abyss) !important;
	border-color: var(--esteponeros-abyss) !important;
}

/*
 * Directorist's archive selector has higher specificity and otherwise keeps
 * the filter trigger on its light background while our white label remains.
 */
body.esteponeros-directory-surface.directorist-content-active .directorist-listings-header__left .directorist-filter-btn {
	min-height: 44px;
	background-color: var(--esteponeros-shelf) !important;
	border-color: var(--esteponeros-shelf) !important;
	color: #fff !important;
}

body.esteponeros-directory-surface.directorist-content-active .directorist-listings-header__left .directorist-filter-btn:hover,
body.esteponeros-directory-surface.directorist-content-active .directorist-listings-header__left .directorist-filter-btn:focus-visible {
	background-color: var(--esteponeros-abyss) !important;
	border-color: var(--esteponeros-abyss) !important;
}

body.esteponeros-directory-surface.directorist-content-active .directorist-listings-header__left .directorist-filter-btn .directorist-icon-mask::after {
	background-color: #fff !important;
}

body.esteponeros-directory-surface .directorist-listing-card,
body.esteponeros-directory-surface .directorist-pricing,
body.esteponeros-directory-surface .directorist-pricing-plan,
body.esteponeros-directory-surface .directorist-category-single,
body.esteponeros-directory-surface .directorist-location-single,
body.esteponeros-directory-surface .directorist-advanced-filter {
	background: #fff;
	border: 1px solid var(--esteponeros-line);
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(13, 28, 38, 0.06);
}

body.esteponeros-directory-surface .directorist-listing-card img {
	border-radius: 8px 8px 0 0;
}

body.esteponeros-directory-surface .directorist-pricing-plan--recommended,
body.esteponeros-directory-surface .directorist-pricing-special,
body.esteponeros-directory-surface .directorist-pricing-plan.is-recommended {
	border-top: 2px solid var(--esteponeros-signal);
}

body.esteponeros-directory-surface .directorist-pricing-plan-recommended-badge {
	background: var(--esteponeros-signal);
	color: #fff;
}

/* Keep the native Divi pricing modules, but give both plans one card rhythm. */
body.esteponeros-page-1217 .directorist-divi-pricing-plans__grid {
	align-items: stretch;
	row-gap: 32px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plans__item {
	display: flex;
	margin-top: 16px;
	margin-bottom: 24px;
}

body.esteponeros-page-1217 .directorist_divi_builder_integration_pricing_plan_template,
body.esteponeros-page-1217 .directorist-pricing {
	width: 100%;
	height: 100%;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
	padding: 24px;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_recommended_badge {
	min-height: 27px;
	margin: 0 0 8px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_recommended_badge:empty {
	visibility: hidden;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_active_badge:empty,
body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_trial_note:empty {
	display: none;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_title {
	margin: 0 0 12px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_type_badge {
	margin: 0 0 8px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_price {
	margin: 0 0 12px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_description {
	margin: 0 0 20px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_features {
	margin: 0 0 24px !important;
}

body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content > .directorist_divi_builder_integration_pricing_plan_action_button {
	margin: auto 0 0 !important;
}

@media (max-width: 767px) {
	body.esteponeros-page-1217 .directorist-divi-pricing-plans__grid {
		row-gap: 24px !important;
	}

	body.esteponeros-page-1217 .directorist-divi-pricing-plans__item {
		margin-top: 12px;
		margin-bottom: 16px;
	}

	body.esteponeros-page-1217 .directorist-divi-pricing-plan-template__content {
		padding: 20px;
	}
}

@media (max-width: 359px) {
	body.esteponeros-page-1217 .directorist-pricing-plan-price__value {
		flex-wrap: nowrap;
		justify-content: center;
		white-space: nowrap;
	}

	body.esteponeros-page-1217 .directorist-pricing-plan-price__amount {
		font-size: 38px !important;
	}

	body.esteponeros-page-1217 .directorist-pricing-plan-price__duration {
		margin-left: 4px !important;
	}
}

body.esteponeros-directory-surface .directorist-badge,
body.esteponeros-directory-surface .directorist-pricing-plan__badge,
body.esteponeros-directory-surface .directorist-pagination .page-numbers {
	border-radius: 6px;
}

body.esteponeros-directory-surface .directorist-pagination .page-numbers.current,
body.esteponeros-directory-surface .directorist-pagination .page-numbers:hover {
	background: var(--esteponeros-shelf);
	border-color: var(--esteponeros-shelf);
	color: #fff;
}

body.esteponeros-directory-surface .directorist-archive-contents .directorist-archive-items-found,
body.esteponeros-directory-surface .directorist-listing-single__meta,
body.esteponeros-directory-surface .directorist-pricing-plan__period {
	font-family: "IBM Plex Mono", monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

body.esteponeros-directory-surface :focus-visible {
	outline: 2px solid var(--esteponeros-signal);
	outline-offset: 2px;
}

/*
 * Divi changes to its desktop header at 981px. The full Esteponeros menu is
 * slightly wider than the available space until 1200px, so compact only that
 * transition range to keep every link and the search control on one row.
 */
@media (min-width: 981px) and (max-width: 1199px) {
	body.esteponeros-directory-surface #top-menu > li {
		padding-right: 4px !important;
	}

	body.esteponeros-directory-surface #top-menu > li > a {
		font-size: 13px !important;
	}

	body.esteponeros-directory-surface #et_top_search {
		margin-left: 6px !important;
	}

	body.esteponeros-directory-surface .directorist-divi-homepage-search-form__children > .directorist_divi_builder_integration_homepage_search_field {
		flex-basis: min(100%, 200px) !important;
		min-width: min(100%, 200px) !important;
	}

	body.esteponeros-directory-surface .directorist-divi-homepage-search-filter-button {
		flex-basis: 120px !important;
	}

	body.esteponeros-directory-surface .directorist-divi-homepage-search-submit {
		flex-basis: 140px !important;
	}

	body.esteponeros-directory-surface .directorist-divi-homepage-search-filter-trigger,
	body.esteponeros-directory-surface .directorist-divi-homepage-search-submit .directorist-btn {
		width: 100% !important;
		min-width: 0 !important;
	}
}

body.esteponeros-page-1201 .directorist-listing-card > .et_pb_row:has(.directorist_divi_builder_integration_listings_featured, .directorist_divi_builder_integration_listings_new) {
	position: absolute !important;
	inset: 20px 70px auto 20px !important;
	z-index: 3;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.esteponeros-page-1201 .directorist-listing-card > .et_pb_row:has(.directorist_divi_builder_integration_listings_featured, .directorist_divi_builder_integration_listings_new) > .et_pb_column {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_featured,
body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_new {
	position: static !important;
	inset: auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_featured:empty,
body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_new:empty,
body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_pricing:empty {
	display: none !important;
}

body.esteponeros-page-1201 .directorist-listing-card > .et_pb_row:has(.directorist_divi_builder_integration_listings_rating) > .et_pb_column {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 20px 8px !important;
}

body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_pricing,
body.esteponeros-page-1201 .directorist-listing-card .directorist_divi_builder_integration_listings_rating {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media (min-width: 981px) and (max-width: 1199px) {
	body.esteponeros-page-1201 .directorist-archive-grid-view .directorist-row > .directorist-col-4 {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
}

@media (max-width: 359px) {
	body.esteponeros-page-1201 .directorist-listing-card > .et_pb_row:has(.directorist_divi_builder_integration_listings_featured, .directorist_divi_builder_integration_listings_new) {
		right: 50px !important;
	}

	body.esteponeros-page-1201 .directorist-listing-card > .et_pb_row:has(.directorist_divi_builder_integration_listings_featured, .directorist_divi_builder_integration_listings_new) > .et_pb_column {
		column-gap: 4px !important;
	}

	body.esteponeros-page-1201 .directorist-listing-card .directorist-badge {
		gap: 4px !important;
		padding: 3px 5px !important;
		font-size: 11px !important;
	}

	body.esteponeros-page-1201 .directorist-listing-card .directorist-badge .directorist-icon-mask,
	body.esteponeros-page-1201 .directorist-listing-card .directorist-badge .directorist-icon-mask::after {
		width: 10px !important;
		height: 10px !important;
	}
}

/* Preserve native single-listing actions on phones without blank controls. */
@media (max-width: 767px) {
	body.esteponeros-directory-surface .directorist-single-listing-top {
		flex-wrap: wrap !important;
		gap: 12px !important;
	}

	body.esteponeros-directory-surface .directorist-single-listing-quick-action {
		flex: 0 0 100% !important;
		width: 100% !important;
	}

	body.esteponeros-directory-surface .directorist-listing-single__quick-actions {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
		width: 100% !important;
	}

	body.esteponeros-directory-surface .directorist-listing-single__quick-actions > .directorist-single-listing-action {
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 44px !important;
		font-size: 12px !important;
	}

	body.esteponeros-directory-surface .directorist-single-listing-top > .directorist-single-listing-action {
		min-width: 44px !important;
		min-height: 44px !important;
	}

	body.esteponeros-directory-surface .directorist-action-report .directorist-single-listing-action__text {
		font-size: inherit !important;
	}

	body.esteponeros-directory-surface .directorist-social-share-links {
		left: 0 !important;
		right: auto !important;
	}
}
