/*
Theme Name: Twenty Twenty Child
Theme URI: https://ccwpdoker.permaiserver.com
Description: Child theme for Twenty Twenty — Ciputra Healthcare doctor directory customizations.
Author: Ciputra Healthcare
Author URI: https://ccwpdoker.permaiserver.com
Template: twentytwenty
Version: 1.5.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwenty-child
*/

/* ==========================================================================
   COLOR PALETTE & CSS CUSTOM PROPERTIES
   ========================================================================== */

:root {
	--ch-primary: #0c4a6e;
	--ch-primary-light: #0ea5e9;
	--ch-secondary: #0d9488;
	--ch-accent: #f97316;
	--ch-text: #1e293b;
	--ch-text-light: #64748b;
	--ch-bg-light: #f0f9ff;
	--ch-bg-dark: #0f172a;
	--ch-border: #e2e8f0;
	--ch-white: #ffffff;
	--ch-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
	--ch-card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
	--ch-radius: 10px;
	--ch-radius-sm: 6px;
	--ch-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ch-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 002 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zM9 14H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2zm-8 4H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2z'/%3E%3C/svg%3E");
	--ch-icon-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z'/%3E%3C/svg%3E");
}


/* ==========================================================================
   HEADER & NAVIGATION
   ========================================================================== */

#site-header {
	border-bottom: 1px solid var(--ch-border);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

#site-header .header-inner {
	padding: 12px 0;
}

/* Hide the search toggle button in the header */
.search-toggle {
	display: none !important;
}

.site-description,
#site-header .site-description {
	display: none !important;
}

.primary-menu > li > a,
.primary-menu > li > button,
ul.primary-menu > li > a {
	color: var(--ch-primary) !important;
	font-weight: 600;
	font-size: 1.5rem !important;
	letter-spacing: 0.02em;
	transition: color 0.2s ease;
}

.primary-menu > li > a:hover,
ul.primary-menu > li > a:hover {
	color: var(--ch-primary-light) !important;
	text-decoration: none;
}

.nav-toggle .toggle-inner .toggle-text {
	color: var(--ch-primary);
	font-weight: 600;
}

/* Hide nav menu toggle on homepage — menu items are redundant here */
body.home .nav-toggle {
	display: none !important;
}


/* ==========================================================================
   HOMEPAGE HERO / SEARCH SECTION
   ========================================================================== */

.directorist-search-contents.directorist-contents-wrap {
	background: linear-gradient(135deg, #0c4a6e 0%, #0891b2 60%, #0d9488 100%) !important;
	padding: 30px 20px 10px !important;
	position: relative;
}

.directorist-search-top__title h2,
.directorist-search-top__title {
	color: var(--ch-white) !important;
	font-size: 2rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

@media (min-width: 700px) {
	.directorist-search-top__title h2,
	.directorist-search-top__title {
		font-size: 2.6rem;
	}
}

.directorist-search-form-wrap,
.directorist-search-form__wrap {
	background: var(--ch-white);
	border-radius: var(--ch-radius);
	padding: 10px;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.06);
	margin-top: 15px;
}

.directorist-search-form-top,
.directorist-search-form__top {
	border-radius: var(--ch-radius-sm);
}

/* Reorganize search form: full-width search bar on top, dropdowns + button below */
.directorist-search-form__box {
	flex-direction: column !important;
}

.directorist-search-form-top,
.directorist-search-form__top,
.directorist-search-form-action {
	width: 100% !important;
	flex: 0 0 100% !important;
}

/* Search button — full width below the dropdowns */
.directorist-search-form-action {
	margin-top: 10px !important;
}

.directorist-search-form-action__submit {
	width: 100% !important;
}

.directorist-btn-search,
.directorist-search-form-action__submit .directorist-btn-search {
	width: 100% !important;
	justify-content: center !important;
}

.directorist-search-field__input input,
.directorist-search-field input[type="text"],
.directorist-search-field input[type="search"] {
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	padding: 10px 14px !important;
	font-size: 1.4rem !important;
	transition: border-color 0.2s;
}

.directorist-search-field__input input:focus,
.directorist-search-field input:focus {
	border-color: var(--ch-primary-light) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15) !important;
	outline: none !important;
}

.directorist-btn-search,
.directorist-search-form-action__submit .directorist-btn-primary,
.directorist-btn-primary.directorist-btn-search {
	background: var(--ch-primary) !important;
	border: none !important;
	border-radius: var(--ch-radius-sm) !important;
	padding: 12px 28px !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: var(--ch-white) !important;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
}

.directorist-btn-search:hover,
.directorist-search-form-action__submit .directorist-btn-primary:hover {
	background: var(--ch-primary-light) !important;
	transform: translateY(-1px);
}

.directorist-search-form-action__modal .directorist-btn {
	background: var(--ch-white) !important;
	color: var(--ch-primary) !important;
	border: 2px solid rgba(255, 255, 255, 0.5) !important;
	border-radius: 50px !important;
	padding: 12px 32px !important;
	font-weight: 600 !important;
	font-size: 1.5rem !important;
}


/* ==========================================================================
   SELECT2 DROPDOWN STYLING (Homepage search form)
   Select2 appends the dropdown to <body>, so these use global selectors.
   ========================================================================== */

/* Dropdown panel — wider, shadowed, rounded */
.select2-container--open .select2-dropdown {
	min-width: 420px !important;
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius) !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12), 0 4px 10px rgba(0, 0, 0, 0.06) !important;
	background: var(--ch-white) !important;
	overflow: hidden !important;
}

/* Search input inside dropdown */
.select2-container--open .select2-search--dropdown {
	padding: 10px 12px !important;
	border-bottom: 1px solid var(--ch-border) !important;
	background: #f8fafc !important;
}

.select2-container--open .select2-search__field {
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	padding: 8px 12px !important;
	font-size: 1.4rem !important;
	font-family: var(--ch-font-family) !important;
	outline: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s !important;
}

.select2-container--open .select2-search__field:focus {
	border-color: var(--ch-primary-light) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.12) !important;
}

/* Options list container */
.select2-container--open .select2-results__options {
	max-height: 280px !important;
	overflow-y: auto !important;
	padding: 6px 0 !important;
}

/* Individual option items */
.select2-container--open .select2-results__option {
	padding: 10px 16px !important;
	font-size: 1.4rem !important;
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text) !important;
	cursor: pointer !important;
	transition: background 0.15s, color 0.15s !important;
	line-height: 1.4 !important;
}

/* Option hover / highlighted state */
.select2-container--open .select2-results__option--highlighted,
.select2-container--open .select2-results__option--highlighted.select2-results__option {
	background: var(--ch-bg-light) !important;
	color: var(--ch-primary) !important;
}

/* Selected option */
.select2-container--open .select2-results__option[aria-selected="true"] {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	font-weight: 600 !important;
}

/* Select2 trigger field styling (these ARE inside the search form) */
.directorist-search-contents .select2-selection--single,
.directorist-search-form-wrap .select2-selection--single {
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	height: 44px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 12px !important;
	background: var(--ch-white) !important;
	transition: border-color 0.2s !important;
}

.directorist-search-contents .select2-container--open .select2-selection--single,
.directorist-search-form-wrap .select2-container--open .select2-selection--single {
	border-color: var(--ch-primary-light) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.12) !important;
}

.directorist-search-contents .select2-selection__rendered,
.directorist-search-form-wrap .select2-selection__rendered {
	font-size: 1.4rem !important;
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text) !important;
	line-height: 44px !important;
	padding: 0 !important;
}

.directorist-search-contents .select2-selection__placeholder,
.directorist-search-form-wrap .select2-selection__placeholder {
	color: var(--ch-text-light) !important;
}

/* Dropdown arrow */
.directorist-search-contents .select2-selection__arrow,
.directorist-search-form-wrap .select2-selection__arrow {
	height: 44px !important;
	width: 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Custom scrollbar for dropdown list */
.select2-container--open .select2-results__options::-webkit-scrollbar {
	width: 6px;
}

.select2-container--open .select2-results__options::-webkit-scrollbar-track {
	background: #f1f5f9;
}

.select2-container--open .select2-results__options::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 3px;
}

.select2-container--open .select2-results__options::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

/* Mobile: ensure dropdown doesn't overflow viewport */
@media (max-width: 700px) {
	.select2-container--open .select2-dropdown {
		min-width: 280px !important;
	}
}


/* ==========================================================================
   CATEGORY QUICK-LINK PILLS (Homepage)
   ========================================================================== */

.directorist-search-tags,
.directorist-listing-category-top,
.directorist-listing-category-top ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center !important;
	padding: 12px 10px 5px !important;
	list-style: none !important;
	overflow-x: visible !important;
}

.directorist-search-tags li,
.directorist-listing-category-top li {
	list-style: none !important;
}

.directorist-search-tags li a,
.directorist-search-field-tag a,
.directorist-listing-category-top li a {
	display: inline-block !important;
	padding: 8px 22px !important;
	background: rgba(255, 255, 255, 0.15) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 50px !important;
	color: var(--ch-white) !important;
	text-decoration: none !important;
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
}

.directorist-search-tags li a:hover,
.directorist-search-field-tag a:hover,
.directorist-listing-category-top li a:hover {
	background: rgba(255, 255, 255, 0.3) !important;
	border-color: rgba(255, 255, 255, 0.6) !important;
	transform: translateY(-1px) !important;
}


/* ==========================================================================
   REMOVE EXCESSIVE WHITESPACE
   ========================================================================== */

.page-template-default .post-inner,
.page-template-default .entry-content,
body.page .post-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

body.page .entry-content:empty,
body.page .post-inner:empty {
	display: none !important;
}

.footer-nav-widgets-wrapper,
#site-footer {
	margin-top: 0 !important;
}

#site-content {
	padding-bottom: 0 !important;
}

.entry-content {
	margin-bottom: 0;
}

.directorist-archive-contents {
	padding-top: 20px !important;
}

.entry-header::after,
.entry-header .post-inner::after,
.singular .entry-header::after {
	display: none !important;
}

.entry-header-inner {
	border-bottom: none !important;
}

hr.post-separator,
.post-separator {
	display: none !important;
}

.directorist-pagination,
nav.navigation.pagination {
	margin-bottom: 20px !important;
	padding-bottom: 20px !important;
}

/* WordPress native pagination (search results) — match Directorist pagination style */
nav.navigation.pagination .nav-links {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	justify-content: center !important;
}

nav.navigation.pagination .nav-links a,
nav.navigation.pagination .nav-links span.page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 4px 12px !important;
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	font-family: var(--ch-font-family) !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
}

nav.navigation.pagination .nav-links a {
	color: var(--ch-text) !important;
	background: var(--ch-white) !important;
}

nav.navigation.pagination .nav-links a:hover {
	background: var(--ch-bg-light) !important;
	border-color: var(--ch-primary-light) !important;
	color: var(--ch-primary) !important;
}

nav.navigation.pagination .nav-links span.page-numbers.current {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	border-color: var(--ch-primary) !important;
}

nav.navigation.pagination .nav-links span.page-numbers.dots {
	border: none !important;
	background: transparent !important;
	min-width: auto !important;
	padding: 4px 4px !important;
	color: var(--ch-text-light) !important;
}

nav.navigation.pagination .nav-links a.next,
nav.navigation.pagination .nav-links a.prev {
	padding: 4px 16px !important;
	font-size: 1.3rem !important;
}


/* ==========================================================================
   CUSTOMER CARE WHATSAPP BANNER (above footer)
   ========================================================================== */

.ch-customer-care {
	background: #2d3748 url("pattern-bg.webp") no-repeat center center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

.ch-customer-care-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.ch-customer-care-text {
	color: #ffffff !important;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
	margin: 0;
	max-width: 700px;
}

.ch-customer-care-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	background: #c4a97d;
	color: #ffffff !important;
	border-radius: 4px;
	text-decoration: none !important;
	font-size: 1.6rem;
	font-weight: 700;
	white-space: nowrap;
	transition: background 0.2s, transform 0.1s;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.ch-customer-care-btn:hover {
	background: #b89968;
	transform: translateY(-1px);
	color: #ffffff !important;
}

.ch-customer-care-btn svg {
	flex-shrink: 0;
}

@media (max-width: 700px) {
	.ch-customer-care-inner {
		flex-direction: column;
		text-align: center;
		padding: 30px 20px;
		gap: 20px;
	}

	.ch-customer-care-text {
		font-size: 1.5rem;
	}

	.ch-customer-care-btn {
		width: 100%;
		justify-content: center;
		padding: 14px 24px;
	}
}


/* ==========================================================================
   FOOTER STYLING — matches ciputrahospital.com
   ========================================================================== */

#site-footer.header-footer-group {
	background: #ffffff !important;
	color: #444752 !important;
	padding: 0 !important;
	border-top: 1px solid #e5e7eb;
}

.ch-footer-main {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1fr;
	gap: 30px;
	padding: 40px 0 30px;
	max-width: 1200px;
	margin: 0 auto;
}

/* Logo column */
.ch-footer-brand {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ch-footer-logo {
	max-width: 229px;
	height: auto;
	display: block;
}

.ch-footer-brand p {
	color: #444752 !important;
	font-size: 1.4rem;
	line-height: 1.7;
	margin: 0;
}

/* Footer column headings */
.ch-footer-heading {
	color: #444752 !important;
	font-size: 1.4rem;
	line-height: 1.7;
	margin: 0 0 8px;
}

.ch-footer-heading strong {
	font-weight: 700;
}

/* Footer column links */
.ch-footer-col p {
	color: #444752 !important;
	font-size: 1.4rem;
	line-height: 1.7;
}

.ch-footer-main a {
	color: #444752 !important;
	font-size: 1.4rem;
	line-height: 1.7;
	text-decoration: none;
	transition: color 0.2s;
}

.ch-footer-main a:hover {
	color: var(--ch-primary) !important;
	text-decoration: underline;
}

.ch-footer-main ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ch-footer-main ul li {
	margin-bottom: 4px;
	color: #444752 !important;
	font-size: 1.4rem;
	line-height: 1.7;
}

.ch-footer-sublink {
	margin: 12px 0 0;
	font-size: 1.4rem;
}

.ch-footer-sublink a {
	color: #444752 !important;
}

#site-footer .footer-credits,
#site-footer .to-the-top {
	display: none !important;
}

/* Tablet: 2x2 grid between 701px–900px */
@media (max-width: 900px) and (min-width: 701px) {
	.ch-footer-main {
		grid-template-columns: 1fr 1fr;
		gap: 30px 40px;
	}
}

/* Mobile: single column */
@media (max-width: 700px) {
	.ch-footer-main {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 24px 0 20px;
	}
}

/* ==========================================================================
   PAGE HEADER STYLING (Search Results, Category, Profile pages)
   ========================================================================== */

.singular .entry-header,
.archive .entry-header,
body.page .entry-header {
	background: #2d3748 url("pattern-bg.webp") no-repeat center center !important;
	background-size: cover !important;
	padding: 20px 0 24px !important;
}

.singular .entry-header .entry-title,
.archive .entry-header .entry-title,
body.page .entry-header .entry-title {
	color: var(--ch-white) !important;
	font-size: 2.4rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.entry-header .intro-text {
	margin-top: 8px !important;
	font-size: 1.4rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	opacity: 0.9 !important;
}

.entry-header .intro-text p {
	font-size: inherit !important;
	line-height: inherit !important;
}

.directorist-single-listing-header .directorist-listing-details__text,
.singular .entry-header .entry-categories,
.entry-header .post-meta {
	color: var(--ch-white) !important;
}

.entry-header .post-meta a {
	color: var(--ch-white) !important;
}

.singular .entry-header p,
.singular .entry-header span,
.archive .entry-header p,
body.page .entry-header p {
	color: var(--ch-white) !important;
}

/* ==========================================================================
   DOCTOR CARDS (Search Results & Category Listings)
   ========================================================================== */

.directorist-listing-single {
	background: var(--ch-white) !important;
	border-radius: var(--ch-radius) !important;
	border: 1px solid var(--ch-border) !important;
	box-shadow: var(--ch-card-shadow) !important;
	overflow: hidden !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.directorist-listing-single:hover {
	box-shadow: var(--ch-card-shadow-hover) !important;
	transform: translateY(-3px) !important;
}

.directorist-listing-single figure,
.directorist-listing-single .directorist-listing-single__info figure {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.directorist-listing-single figure img,
.directorist-listing-single .directorist-listing-single__info figure img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
}

/* Card info section — tighten padding and gap between name/description/pills */
.directorist-listing-single .directorist-listing-single__info {
	padding: 12px 16px 0 !important;
	font-family: var(--ch-font-family) !important;
	gap: 0 !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.directorist-listing-single h2,
.directorist-listing-single h2 a {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: var(--ch-text) !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
	margin: 0 0 4px !important;
}

.directorist-listing-single h2 a:hover {
	color: var(--ch-primary) !important;
}

/* Hide empty info list that adds gap (whitespace prevents :empty matching) */
.directorist-listing-single__info__list:empty,
.directorist-listing-single__info ul:empty,
.directorist-listing-single__info__list:not(:has(li)) {
	display: none !important;
}

.directorist-listing-single .directorist-listing-details__text p,
.directorist-listing-single .directorist-listing-single__info p {
	font-size: 1.3rem !important;
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text-light) !important;
	line-height: 1.5 !important;
	margin: 0 0 2px !important;
}

.directorist-listing-single a[href*="/directory/"].directorist-btn-sm,
.directorist-listing-single .directorist-listing-details__text a[href*="/directory/"] {
	display: inline-block !important;
	padding: 4px 14px !important;
	background: var(--ch-bg-light) !important;
	color: var(--ch-primary) !important;
	border-radius: 4px !important;
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: background 0.2s, color 0.2s !important;
	margin-left: 4px !important;
}

.directorist-listing-single a[href*="/directory/"].directorist-btn-sm:hover,
.directorist-listing-single .directorist-listing-details__text a[href*="/directory/"]:hover {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
}

/* Category badge wrapper — divider line between pills */
.directorist-listing-single__meta {
	padding: 0 !important;
	border-top: 1px solid var(--ch-border) !important;
}

/* Category badge on listing cards — tight spacing, left-aligned, inline pills */
.directorist-listing-category {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
	align-self: stretch !important;
	padding: 6px 0 !important;
	border-top: none !important;
	margin-top: 0 !important;
	justify-content: flex-start !important;
}

.directorist-listing-category a,
.directorist-listing-single .directorist-listing-category a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 3px 12px !important;
	background: var(--ch-bg-light) !important;
	color: var(--ch-primary) !important;
	border: 1px solid #bae6fd !important;
	border-radius: 100px !important;
	font-size: 1.1rem !important;
	font-weight: 500 !important;
	font-family: var(--ch-font-family) !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
	line-height: 1.6 !important;
}

.directorist-listing-category a:hover,
.directorist-listing-single .directorist-listing-category a:hover {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	border-color: var(--ch-primary) !important;
}

/* Hide the folder icon on category badge — replace with cleaner look */
.directorist-listing-category .directorist-icon-mask,
.directorist-listing-category svg {
	display: none !important;
}

.directorist-listing-category__popup {
	display: contents !important;
}

.directorist-listing-category__extran-count {
	display: none !important;
}

.directorist-listing-category__popup__content {
	display: contents !important;
	position: static !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* When AJAX swaps category into meta — add horizontal padding (meta has none) */
.directorist-listing-single__meta__left .directorist-listing-category {
	padding: 6px 16px !important;
}

/* Location badges on doctor listing cards — tight spacing, left-aligned */
.ch-location-badges {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
	padding: 6px 16px !important;
	justify-content: flex-start !important;
}

/* When AJAX swaps location into info — remove horizontal padding (info has 16px) */
.directorist-listing-single__info .ch-location-badges {
	padding: 6px 0 !important;
}

.ch-location-badge {
	display: inline-block !important;
	padding: 3px 12px !important;
	background: #f0f4f8 !important;
	color: #2d3748 !important;
	border: 1px solid #cbd5e0 !important;
	border-radius: 100px !important;
	font-size: 1.1rem !important;
	font-weight: 500 !important;
	font-family: var(--ch-font-family) !important;
	line-height: 1.6 !important;
	white-space: nowrap !important;
}

.directorist-archive-contents .directorist-content-active {
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: var(--ch-text) !important;
}

/* Filter/header bar — override parent serif font */
.directorist-header-bar,
.directorist-header-found-title,
.directorist-listings-header,
.directorist-dropdown {
	font-family: var(--ch-font-family) !important;
}

.directorist-header-found-title {
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	color: var(--ch-text-light) !important;
}

.directorist-header-found-title span {
	font-weight: 700 !important;
	color: var(--ch-primary) !important;
}

.directorist-pagination a,
.directorist-pagination span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 4px 12px !important;
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
}

.directorist-pagination a {
	color: var(--ch-text) !important;
	background: var(--ch-white) !important;
}

.directorist-pagination a:hover {
	background: var(--ch-bg-light) !important;
	border-color: var(--ch-primary-light) !important;
	color: var(--ch-primary) !important;
}

.directorist-pagination span:not(.dots) {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	border-color: var(--ch-primary) !important;
}


/* ==========================================================================
   DOCTOR PROFILE PAGE
   ========================================================================== */

.directorist-single-listing-header {
	padding: 10px 0 0 !important;
}

/* Hide the empty slider section on doctor profiles */
.directorist-single-listing-slider-wrap {
	display: none !important;
}

/* Tighten Go Back button area spacing */
.directorist-single-listing-top {
	margin: 0 0 10px !important;
}

/* Back button + quick info bar — integrated clean layout */
.directorist-single-listing-header .directorist-return-back {
	margin-bottom: 12px !important;
}

.directorist-return-back .directorist-btn__back,
.directorist-btn__back {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 8px 20px !important;
	background: var(--ch-white) !important;
	color: var(--ch-primary) !important;
	border-radius: var(--ch-radius-sm) !important;
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: 1px solid var(--ch-border) !important;
	transition: all 0.2s !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.directorist-return-back .directorist-btn__back:hover,
.directorist-btn__back:hover {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	border-color: var(--ch-primary) !important;
}

/* Quick info pills (category + location) */
.directorist-listing-single-quickinfo {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 16px !important;
	background: var(--ch-white) !important;
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius) !important;
	box-shadow: var(--ch-card-shadow) !important;
}

.directorist-listing-single-quickinfo a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 6px 16px !important;
	background: var(--ch-bg-light) !important;
	color: var(--ch-primary) !important;
	border-radius: var(--ch-radius-sm) !important;
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	font-family: var(--ch-font-family) !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
	border: 1px solid transparent !important;
}

.directorist-listing-single-quickinfo a:hover {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
}

/* Quick info separator dot between pills */
.directorist-listing-single-quickinfo .directorist-listing-single-quickinfo__separator {
	color: var(--ch-border) !important;
	font-size: 0.8rem !important;
}

.directorist-card {
	border-radius: var(--ch-radius) !important;
	border: 1px solid var(--ch-border) !important;
	box-shadow: var(--ch-card-shadow) !important;
	overflow: hidden !important;
	margin-bottom: 20px !important;
}

.directorist-card__header {
	background: var(--ch-bg-light) !important;
	border-bottom: 1px solid var(--ch-border) !important;
	padding: 14px 20px !important;
}

.directorist-card__header-text,
.directorist-card__header__title {
	font-weight: 700 !important;
	color: var(--ch-primary) !important;
	font-size: 1.5rem !important;
}

.directorist-card__body {
	padding: 24px 20px !important;
	font-family: var(--ch-font-family) !important;
}

/* Doctor name heading inside profile card — normalize from parent theme 32px */
.directorist-card__body h4 {
	font-size: 1.8rem !important;
	font-weight: 700 !important;
	color: var(--ch-text) !important;
	line-height: 1.4 !important;
	margin: 16px 0 12px !important;
	font-family: var(--ch-font-family) !important;
}

/* Specialty list and paragraphs — consistent sizing */
.directorist-card__body ul,
.directorist-card__body li {
	font-size: 1.4rem !important;
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text) !important;
	line-height: 1.6 !important;
}

.directorist-card__body p {
	font-size: 1.4rem !important;
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text) !important;
	line-height: 1.6 !important;
	margin: 8px 0 !important;
}

.directorist-listing-single-quickinfo {
	font-family: var(--ch-font-family) !important;
}

.directorist-card__body img[src*="uploads"] {
	border-radius: var(--ch-radius) !important;
	box-shadow: var(--ch-card-shadow) !important;
	max-width: 250px !important;
	display: block !important;
	margin: 0 !important;
}

/* === Doctor profile card: specialty pills (all breakpoints) === */
.directorist-single-info.directorist-listing-details__text > ul {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
	width: 100% !important;
}
.directorist-single-info.directorist-listing-details__text > ul li {
	background: #e8f4fd !important;
	color: #0c4a6e !important;
	border: 1px solid #bcd8ee !important;
	border-radius: 20px !important;
	padding: 4px 14px !important;
	font-size: 1.3rem !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
}
.directorist-single-info.directorist-listing-details__text > ul li {
	list-style: none !important;
}
.directorist-single-info.directorist-listing-details__text > ul li::marker {
	display: none !important;
}

/* === Doctor profile card: location pills (all breakpoints) === */
.ch-location-pills {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
	width: 100% !important;
}
.ch-location-pill {
	background: #f0fdf4 !important;
	color: #166534 !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 20px !important;
	padding: 4px 14px !important;
	font-size: 1.3rem !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
}

/* === Doctor profile: schedule cards === */
.ch-schedule-card {
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius) !important;
	padding: 20px 24px !important;
	margin-bottom: 16px !important;
	background: #fff !important;
}

.ch-schedule-header {
	font-weight: 700 !important;
	color: var(--ch-primary) !important;
	font-size: 1.5rem !important;
	margin: 0 0 12px 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.ch-schedule-header::before {
	content: '📍';
	font-style: normal !important;
}

/* === Doctor profile card: 2-col grid layout (desktop) === */
@media (min-width: 768px) {
	/* Container: override Directorist's display:flex with CSS grid */
	.directorist-single-info.directorist-listing-details__text {
		display: grid !important;
		grid-template-columns: 200px 1fr !important;
		gap: 0 52px !important;
		align-items: start !important;
	}

	/* Photo <p>: pin to left column, span rows to cover h4 + ul + location pills height */
	.directorist-single-info.directorist-listing-details__text > p:first-child {
		grid-column: 1 !important;
		grid-row: 1 / span 4 !important;
		margin: 0 !important;
	}
	.directorist-single-info.directorist-listing-details__text > p:first-child img {
		margin: 0 !important;
		width: 200px !important;
	}

	/* h4 title: right column row 1 */
	.directorist-single-info.directorist-listing-details__text > h4 {
		grid-column: 2 !important;
		grid-row: 1 !important;
		margin: 4px 0 12px 0 !important;
		font-size: 1.55rem !important;
		line-height: 1.4 !important;
	}

	/* ul specialties: right column row 2 */
	.directorist-single-info.directorist-listing-details__text > ul {
		grid-column: 2 !important;
		grid-row: 2 !important;
		margin: 0 !important;
	}

	/* location pills: right column row 3 */
	.ch-location-pills {
		grid-column: 2 !important;
		grid-row: 3 !important;
		margin: 12px 0 16px 0 !important;
		width: auto !important;
	}

	/* Schedule cards: full width */
	.ch-schedule-card {
		grid-column: 1 / -1 !important;
	}

	/* All other siblings (schedule labels, tables, CTA buttons): full width */
	.directorist-single-info.directorist-listing-details__text > p:not(:first-child),
	.directorist-single-info.directorist-listing-details__text > table {
		grid-column: 1 / -1 !important;
	}
}

/* Schedule table */
.directorist-card__body table,
.directorist-single-contents-area table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: var(--ch-radius) !important;
	overflow: hidden !important;
	border: 1px solid var(--ch-border) !important;
	margin: 16px 0 24px !important;
}

.directorist-card__body table td,
.directorist-single-contents-area table td {
	padding: 12px 16px !important;
	border: 1px solid var(--ch-border) !important;
	font-size: 1.4rem !important;
	text-align: center !important;
}

.directorist-card__body table td strong,
.directorist-single-contents-area table td strong {
	color: var(--ch-primary) !important;
	font-weight: 700 !important;
}

/* CTA button row — side-by-side on desktop */
.directorist-card__body p:has(a[href*=".as.me"]),
.directorist-card__body p:has(a[href*="cderma.id"]),
.directorist-card__body p:has(a[href*="whatsapp"]),
.directorist-card__body p:has(a[href*="wa.me"]) {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: nowrap !important;
}

/* CTA buttons — icon-enhanced pill buttons */
.directorist-card__body a[href*=".as.me"],
.directorist-card__body a[href*="cderma.id"],
.directorist-card__body a[href*="whatsapp"],
.directorist-card__body a[href*="wa.me"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 14px 24px !important;
	border-radius: 50px !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	letter-spacing: 0.03em !important;
	transition: all 0.25s ease !important;
	margin: 0 !important;
	flex: 1 1 0 !important;
	text-align: center !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

.directorist-card__body a[href*=".as.me"],
.directorist-card__body a[href*="cderma.id"] {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
}

.directorist-card__body a[href*=".as.me"]:hover,
.directorist-card__body a[href*="cderma.id"]:hover {
	background: var(--ch-primary-light) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(12, 74, 110, 0.4) !important;
}

.directorist-card__body a[href*="whatsapp"],
.directorist-card__body a[href*="wa.me"] {
	background: #25d366 !important;
	color: var(--ch-white) !important;
}

.directorist-card__body a[href*="whatsapp"]:hover,
.directorist-card__body a[href*="wa.me"]:hover {
	background: #1da851 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4) !important;
}

.directorist-card__body a[href*=".as.me"] img,
.directorist-card__body a[href*="cderma.id"] img,
.directorist-card__body a[href*="whatsapp"] img,
.directorist-card__body a[href*="wa.me"] img {
	display: none !important;
}

/* Icon: calendar for Buat Janji */
.directorist-card__body a[href*=".as.me"]::before,
.directorist-card__body a[href*="cderma.id"]::before {
	content: "" !important;
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
	background: var(--ch-icon-calendar) no-repeat center / contain !important;
}

.directorist-card__body a[href*=".as.me"]::after,
.directorist-card__body a[href*="cderma.id"]::after {
	content: "Buat Janji" !important;
}

/* Icon: WhatsApp logo */
.directorist-card__body a[href*="whatsapp"]::before,
.directorist-card__body a[href*="wa.me"]::before {
	content: "" !important;
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
	background: var(--ch-icon-whatsapp) no-repeat center / contain !important;
}

.directorist-card__body a[href*="whatsapp"]::after,
.directorist-card__body a[href*="wa.me"]::after {
	content: "Hubungi WhatsApp" !important;
}

/* Quick info box moved to bottom — clean layout */
.directorist-single-wrapper > .directorist-listing-details {
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}

/* Hide zip/post code field on doctor profiles */
.directorist-single-info.directorist-single-info-zip {
	display: none !important;
}

/* Hide empty badges element inside quick info */
.directorist-listing-single-quickinfo .directorist-info-item-badges {
	display: none !important;
}

/* Reset card-level category styles inside quick info box */
.directorist-listing-single-quickinfo .directorist-listing-category {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	border-top: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Align category + location pills side by side inside quick info */
.directorist-listing-single-quickinfo .directorist-listing-single__info {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 8px !important;
}

/* Hide icons inside quick info pills — cleaner look */
.directorist-listing-single-quickinfo .directorist-icon-mask {
	display: none !important;
}

/* Hide comma/dot text separators between pills — font-size:0 hides text, restore on links */
.directorist-listing-single-quickinfo .directorist-listing-location span,
.directorist-listing-single-quickinfo .directorist-listing-category span {
	font-size: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.directorist-listing-single-quickinfo .directorist-listing-location span a,
.directorist-listing-single-quickinfo .directorist-listing-category span a {
	font-size: 1.4rem !important;
}

/* Location info-item — flex wrap for multiple pills */
.directorist-listing-single-quickinfo .directorist-listing-location {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Unified pill style for both category and location in quick info */
.directorist-listing-single-quickinfo .directorist-listing-category a,
.directorist-listing-single-quickinfo .directorist-listing-location a {
	display: inline-flex !important;
	align-items: center !important;
	padding: 4px 14px !important;
	border-radius: 100px !important;
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	font-family: var(--ch-font-family) !important;
	text-decoration: none !important;
	line-height: 1.6 !important;
	transition: all 0.2s !important;
}

.directorist-listing-single-quickinfo .directorist-listing-category a {
	background: var(--ch-bg-light) !important;
	color: var(--ch-primary) !important;
	border: 1px solid #bae6fd !important;
}

.directorist-listing-single-quickinfo .directorist-listing-location a {
	background: #f0f4f8 !important;
	color: #2d3748 !important;
	border: 1px solid #cbd5e0 !important;
}

.directorist-listing-single-quickinfo .directorist-listing-category a:hover {
	background: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	border-color: var(--ch-primary) !important;
}

.directorist-listing-single-quickinfo .directorist-listing-location a:hover {
	background: #15803d !important;
	color: var(--ch-white) !important;
	border-color: #15803d !important;
}

/* Tags — hide entirely (duplicates quick info) */
.directorist-card:has(.directorist-single-tag-list),
.directorist-card:has([class*="tag"]:not([class*="search-tag"])) {
	display: none !important;
}

/* Contact info section — proper two-column layout */
.directorist-single-info {
	display: flex !important;
	flex-direction: row !important;
	align-items: baseline !important;
	gap: 12px !important;
	padding: 12px 0 !important;
}

.directorist-single-info + .directorist-single-info {
	border-top: 1px solid var(--ch-border) !important;
}

/* Remove border-top from first visible info row (address is hidden above it) */
.directorist-single-info-address + .directorist-single-info {
	border-top: none !important;
}

/* Label column — fixed width, inline icon + text */
.directorist-single-info__label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-width: 140px !important;
	flex-shrink: 0 !important;
	font-family: var(--ch-font-family) !important;
	font-weight: 600 !important;
	color: var(--ch-text) !important;
	font-size: 1.4rem !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
}

.directorist-single-info__label__text {
	font-family: var(--ch-font-family) !important;
	font-weight: 600 !important;
	color: var(--ch-text) !important;
	font-size: 1.4rem !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
}

/* Hide the colon pseudo-element on contact info labels */
.directorist-single-info__label__text::before {
	display: none !important;
}

/* Label icon — consistent size and alignment */
.directorist-single-info__label-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	flex-shrink: 0 !important;
}

.directorist-single-info__label-icon .directorist-icon-mask {
	width: 16px !important;
	height: 16px !important;
	color: var(--ch-primary) !important;
}

/* Value column — flexible, consistent typography */
.directorist-single-info__value,
.directorist-single-info__value span {
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text-light) !important;
	font-size: 1.4rem !important;
	line-height: 1.6 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.directorist-single-info__value a {
	font-family: var(--ch-font-family) !important;
	color: var(--ch-primary) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	font-size: 1.4rem !important;
}

.directorist-single-info__value a:hover {
	color: var(--ch-primary-light) !important;
	text-decoration: underline !important;
}


/* ==========================================================================
   DOCTOR CARD GRID — RESPONSIVE COLUMNS
   Show more cards per row on wider screens instead of stretching.
   Directorist uses .directorist-col-4 (33.33% = 3/row) by default.
   ========================================================================== */

@media (min-width: 1200px) {
	.directorist-archive-grid-view .directorist-col-4 {
		max-width: 25% !important;
		flex: 0 0 25% !important;
	}
}

@media (min-width: 1600px) {
	.directorist-archive-grid-view .directorist-col-4 {
		max-width: 20% !important;
		flex: 0 0 20% !important;
	}
}


/* ==========================================================================
   MOBILE RESPONSIVE OVERRIDES
   ========================================================================== */

@media (max-width: 700px) {

	.directorist-search-contents.directorist-contents-wrap {
		padding: 35px 16px 30px !important;
	}

	.directorist-search-top__title h2,
	.directorist-search-top__title {
		font-size: 1.8rem !important;
	}

	.directorist-search-tags,
	.directorist-listing-category-top,
	.directorist-listing-category-top ul {
		gap: 8px !important;
		padding: 16px 8px !important;
		overflow-x: visible !important;
	}

	.directorist-search-tags li a,
	.directorist-search-field-tag a {
		padding: 6px 16px !important;
		font-size: 1.3rem !important;
	}


	.directorist-listing-single h2,
	.directorist-listing-single h2 a {
		font-size: 1.4rem !important;
	}

	.singular .entry-header .entry-title {
		font-size: 2.2rem !important;
		line-height: 1.3 !important;
	}

	.entry-header .intro-text {
		font-size: 1.3rem !important;
	}

	.directorist-card__body p:has(a[href*=".as.me"]),
	.directorist-card__body p:has(a[href*="cderma.id"]),
	.directorist-card__body p:has(a[href*="whatsapp"]),
	.directorist-card__body p:has(a[href*="wa.me"]) {
		flex-direction: column !important;
		gap: 8px !important;
	}

	.directorist-card__body a[href*=".as.me"],
	.directorist-card__body a[href*="cderma.id"],
	.directorist-card__body a[href*="whatsapp"],
	.directorist-card__body a[href*="wa.me"] {
		width: 100% !important;
	}

	.directorist-card__body table td {
		padding: 8px 6px !important;
		font-size: 1.2rem !important;
	}

	.ch-footer-main {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 24px 16px 20px;
	}

}

@media (max-width: 480px) {
	.directorist-search-top__title h2,
	.directorist-search-top__title {
		font-size: 1.6rem !important;
	}

}


/* ==========================================================================
   FILTER MODAL (Category/Search Results "More Filters" popup)
   ========================================================================== */

/* Modal container — all variants */
.directorist-search-modal .directorist-search-modal__contents {
	border-radius: var(--ch-radius) !important;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.2) !important;
	border: 1px solid var(--ch-border) !important;
	overflow: hidden !important;
}

/* Modal header */
.directorist-search-modal__contents__header {
	background: var(--ch-primary) !important;
	border-bottom: none !important;
	padding: 16px 24px !important;
	border-radius: 0 !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 10 !important;
	margin: 0 !important;
}

.directorist-search-modal__contents__title {
	color: var(--ch-white) !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	font-family: var(--ch-font-family) !important;
}

.directorist-search-modal__contents__btn--close {
	background: rgba(255, 255, 255, 0.2) !important;
	color: var(--ch-white) !important;
	transition: background 0.2s !important;
}

.directorist-search-modal__contents__btn--close:hover {
	background: rgba(255, 255, 255, 0.35) !important;
}

.directorist-search-modal__contents__btn--close .directorist-icon-mask {
	background-color: var(--ch-white) !important;
}

/* Modal minimizer bar */
.directorist-search-modal__contents__header .directorist-search-modal__minimizer {
	display: none !important;
}

/* Modal body — fix excessive spacing and height */
.directorist-search-modal__contents__body {
	padding: 20px 24px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	height: auto !important;
	max-height: 60vh !important;
	overflow-y: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

/* Override Directorist floating label — use standard above-field labels */
.directorist-search-modal__contents__body .directorist-search-field__label {
	position: static !important;
	transform: none !important;
	display: block !important;
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	color: var(--ch-text) !important;
	margin-bottom: 6px !important;
	opacity: 1 !important;
	font-family: var(--ch-font-family) !important;
}

/* Show Select2 labels too */
.directorist-search-modal__contents__body .directorist-search-field .directorist-select .directorist-search-field__label {
	opacity: 1 !important;
	position: static !important;
	transform: none !important;
}

/* Undo Directorist's "focused" shift on inputs/selects */
.directorist-search-modal__contents__body .directorist-search-field.input-is-focused .directorist-search-field__input,
.directorist-search-modal__contents__body .directorist-search-field.input-is-focused .directorist-select,
.directorist-search-modal__contents__body .directorist-search-field.input-is-focused .directorist-search-field__label {
	bottom: auto !important;
	top: auto !important;
	position: static !important;
	transform: none !important;
}

/* Search field containers — remove excessive bottom margin/border/padding */
.directorist-search-modal__contents__body .directorist-search-field {
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
}

/* Form fields inside the modal (match all modal variants) */
.directorist-search-modal__contents__body .directorist-advanced-filter__basic {
	width: 100% !important;
	flex: 0 0 100% !important;
}

.directorist-search-modal__contents__body .directorist-advanced-filter__basic__element {
	width: 100% !important;
	flex: 0 0 100% !important;
	margin-bottom: 16px !important;
}

/* Text inputs inside modal */
.directorist-search-modal__contents__body .directorist-search-field input[type="text"],
.directorist-search-modal__contents__body .directorist-search-field input[type="search"],
.directorist-search-modal__contents__body .directorist-search-field__input input,
.directorist-search-modal__contents__body .directorist-form-element {
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	padding: 10px 14px !important;
	font-size: 1.4rem !important;
	width: 100% !important;
	font-family: var(--ch-font-family) !important;
	box-sizing: border-box !important;
}

.directorist-search-modal__contents__body .directorist-search-field input:focus,
.directorist-search-modal__contents__body .directorist-form-element:focus {
	border-color: var(--ch-primary-light) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15) !important;
	outline: none !important;
}

/* Select2 inside modal — proper height and border */
.directorist-search-modal__contents__body .select2-container--default .select2-selection--single {
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 12px !important;
}

.directorist-search-modal__contents__body .select2-selection__rendered {
	font-size: 1.4rem !important;
	font-family: var(--ch-font-family) !important;
	color: var(--ch-text) !important;
	line-height: 42px !important;
	padding: 0 !important;
}

.directorist-search-modal__contents__body .select2-selection__placeholder {
	color: var(--ch-text-light) !important;
}

/* Hide Tag section from filter modal */
.directorist-search-modal__contents__body .directorist-advanced-filter__advanced {
	display: none !important;
}

/* Modal footer */
.directorist-search-modal__contents__footer {
	background: var(--ch-bg-light) !important;
	border-top: 1px solid var(--ch-border) !important;
	border-radius: 0 !important;
	padding: 0 !important;
	position: sticky !important;
	bottom: 0 !important;
}

.directorist-advanced-filter__action {
	padding: 16px 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

/* "Cari Dokter" submit button */
.directorist-search-modal__contents .directorist-btn-submit,
.directorist-advanced-filter__action .directorist-btn-submit {
	background: var(--ch-primary) !important;
	border-color: var(--ch-primary) !important;
	color: var(--ch-white) !important;
	border-radius: var(--ch-radius-sm) !important;
	font-size: 1.4rem !important;
	font-weight: 600 !important;
	padding: 10px 28px !important;
	transition: background 0.2s !important;
	font-family: var(--ch-font-family) !important;
}

.directorist-search-modal__contents .directorist-btn-submit:hover,
.directorist-advanced-filter__action .directorist-btn-submit:hover {
	background: var(--ch-primary-light) !important;
	border-color: var(--ch-primary-light) !important;
}

/* "Reset Filters" button */
.directorist-btn-reset-js {
	color: var(--ch-text-light) !important;
	font-size: 1.4rem !important;
	font-weight: 500 !important;
	transition: color 0.2s !important;
	font-family: var(--ch-font-family) !important;
}

.directorist-btn-reset-js:hover {
	color: var(--ch-accent) !important;
}

/* Modal overlay backdrop */
.directorist-search-modal__overlay {
	background: rgba(15, 23, 42, 0.5) !important;
}

/* "Cari Dokter Disini" filter button */
.directorist-filter-btn.directorist-modal-btn {
	background: var(--ch-white) !important;
	color: var(--ch-primary) !important;
	border: 1px solid var(--ch-border) !important;
	border-radius: var(--ch-radius-sm) !important;
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	padding: 8px 16px !important;
	transition: all 0.2s !important;
	font-family: var(--ch-font-family) !important;
}

.directorist-filter-btn.directorist-modal-btn:hover {
	background: var(--ch-bg-light) !important;
	border-color: var(--ch-primary-light) !important;
}

/* Mobile modal adjustments */
@media (max-width: 700px) {
	.directorist-search-modal__contents__body {
		padding: 16px 20px !important;
		max-height: 55vh !important;
	}

	.directorist-search-modal__contents__header {
		padding: 14px 20px !important;
	}

	.directorist-advanced-filter__action {
		padding: 14px 20px !important;
	}
}



/* ==========================================================================
   POLISH & NICE-TO-HAVES
   ========================================================================== */

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
	#site-content {
		animation: fadeIn 0.3s ease-in;
	}

	@keyframes fadeIn {
		from { opacity: 0; transform: translateY(8px); }
		to { opacity: 1; transform: translateY(0); }
	}
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: 2px solid var(--ch-primary-light) !important;
	outline-offset: 2px !important;
}

.powered-by-wordpress,
.flavor-flavor {
	display: none !important;
}



/* ==========================================================================
   BUGFIXES — Footer layout, author meta, whitespace
   ========================================================================== */

/* Footer section-inner must not use parent theme grid */
#site-footer .section-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	display: block !important;
}

@media (max-width: 700px) {
	#site-footer .section-inner {
		padding: 0 12px !important;
	}
}

/* Hide author/date meta on doctor profile pages */
.single-at_biz_dir .entry-header .post-meta,
.singular .entry-header .post-meta {
	display: none !important;
}

/* Hide address on doctor profile pages */
.directorist-single-info-address {
	display: none !important;
}

/* Remove post navigation on doctor profile */
.single-at_biz_dir nav.pagination-single,
.single-at_biz_dir nav[aria-label="Post"] {
	display: none !important;
}

/* Body background — light warm tone instead of plain white */
body,
body.custom-background {
	background-color: #f8fafc !important;
}

/* Ensure page headers don't have extra inner padding from parent theme */
.entry-header .section-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Remove the empty gap between homepage hero and footer */
body.page .post-inner .entry-content {
	padding: 0 !important;
}

/* Search results page extra gap removal */
.entry-header + .post-inner {
	padding-top: 0 !important;
}

/* Homepage Elementor section — remove gaps around hero */
body.home .elementor-section.elementor-top-section {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.home .elementor-widget-wrap {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}


/* ==========================================================================
   CUSTOM HOMEPAGE SEARCH — Two-Section Layout (v1.4.0)
   ========================================================================== */

.ch-search-wrapper {
	background: linear-gradient(135deg, #0c4a6e 0%, #0891b2 60%, #0d9488 100%);
	padding: 40px 20px 50px;
}

.ch-search-hero {
	text-align: center;
	margin-bottom: 28px;
}

.ch-search-hero h2 {
	color: var(--ch-white) !important;
	font-size: 2.4rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
	margin: 0;
	line-height: 1.3;
}

.ch-search-sections {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ch-search-section {
	background: var(--ch-white);
	border-radius: var(--ch-radius);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.06);
	padding: 24px;
}

.ch-search-section h3 {
	color: var(--ch-primary);
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 16px;
	line-height: 1.3;
}

.ch-search-row {
	display: flex;
	gap: 10px;
	align-items: stretch;
}

.ch-search-row input[type="text"],
.ch-search-row select {
	flex: 1 1 0;
	min-width: 0;
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-sm);
	padding: 12px 14px;
	font-size: 1.4rem;
	font-family: var(--ch-font-family);
	color: var(--ch-text);
	background: var(--ch-white);
	transition: border-color 0.2s, box-shadow 0.2s;
	appearance: none;
	-webkit-appearance: none;
}

.ch-search-row input[type="text"]:focus,
.ch-search-row select:focus {
	border-color: var(--ch-primary-light);
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15);
	outline: none;
}

.ch-search-row input[type="text"]::placeholder {
	color: var(--ch-text-light);
}

/* Custom dropdown arrow for selects */
.ch-search-row select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}

.ch-search-row select:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	background-color: #f8fafc;
}

.ch-search-row select optgroup {
	font-weight: 700;
	color: #0c4a6e;
	font-style: normal;
}

/* ── Custom Dropdown ─────────────────────────────── */
.ch-custom-select {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	font-family: var(--ch-font-family);
}

.ch-custom-select select {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.ch-select-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 14px;
	border: 1.5px solid var(--ch-border);
	border-radius: var(--ch-radius-sm);
	background: var(--ch-white);
	cursor: pointer;
	font-size: 1.4rem;
	color: var(--ch-text);
	transition: border-color 0.2s, box-shadow 0.2s;
	user-select: none;
	min-height: 46px;
}

.ch-select-trigger:hover {
	border-color: var(--ch-primary-light);
}

.ch-select-trigger.ch-select-open {
	border-color: var(--ch-primary-light);
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15);
}

.ch-select-trigger.ch-select-disabled {
	opacity: 0.5;
	cursor: not-allowed;
	background-color: #f8fafc;
}

.ch-select-trigger.ch-select-disabled:hover {
	border-color: var(--ch-border);
}

.ch-select-label {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ch-select-label.ch-placeholder {
	color: var(--ch-text-light);
}

.ch-select-arrow {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	color: var(--ch-text-light);
	transition: transform 0.2s ease;
}

.ch-select-open .ch-select-arrow {
	transform: rotate(180deg);
	color: var(--ch-primary-light);
}

.ch-select-dropdown {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 1000;
	background: var(--ch-white);
	border: 1.5px solid var(--ch-border);
	border-radius: var(--ch-radius);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12), 0 4px 10px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.ch-select-open ~ .ch-select-dropdown {
	display: block;
	animation: chDropdownIn 0.15s ease-out;
}

@keyframes chDropdownIn {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ch-select-group-label {
	padding: 10px 14px 4px;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--ch-primary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.ch-select-group-label:not(:first-child) {
	border-top: 1px solid var(--ch-border);
	margin-top: 4px;
	padding-top: 12px;
}

.ch-select-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	font-size: 1.4rem;
	color: var(--ch-text);
	cursor: pointer;
	transition: background 0.12s;
}

.ch-select-option:hover {
	background: var(--ch-bg-light);
}

.ch-select-option.ch-selected {
	background: var(--ch-bg-light);
	color: var(--ch-primary);
	font-weight: 600;
}

.ch-select-option.ch-selected::before {
	content: "";
	display: block;
	width: 3px;
	height: 20px;
	background: var(--ch-primary-light);
	border-radius: 2px;
	margin-left: -6px;
	margin-right: -4px;
}

.ch-select-option.ch-grouped {
	padding-left: 22px;
}

.ch-select-city-label {
	padding: 8px 14px 2px 14px;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--ch-text-light);
	letter-spacing: 0.02em;
}

.ch-select-city-label:not(:first-child) {
	margin-top: 2px;
}

.ch-select-option.ch-city-grouped {
	padding-left: 30px;
}

.ch-select-search,
.ch-search-row input[type="text"].ch-select-search {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: none;
	border-bottom: 1px solid var(--ch-border);
	font-size: 1.4rem;
	font-family: var(--ch-font-family);
	color: var(--ch-text);
	background: #f8fafc;
	outline: none;
	flex: 0 0 auto;
}

.ch-select-search::placeholder {
	color: var(--ch-text-light);
}

.ch-select-search:focus {
	background: var(--ch-white);
	border-bottom-color: var(--ch-primary-light);
}

.ch-select-options-list {
	overflow-y: auto;
	max-height: 500px;
	scrollbar-width: thin;
	scrollbar-color: var(--ch-border) transparent;
}

.ch-select-options-list::-webkit-scrollbar {
	width: 6px;
}

.ch-select-options-list::-webkit-scrollbar-thumb {
	background: var(--ch-border);
	border-radius: 3px;
}

.ch-select-empty {
	padding: 16px 14px;
	font-size: 1.3rem;
	color: var(--ch-text-light);
	text-align: center;
	font-style: italic;
}

/* ── Category dropdown: close button & overlay (hidden on desktop) ── */
.ch-select-close {
	display: none;
	position: absolute;
	top: 8px;
	right: 8px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size: 2.2rem;
	line-height: 1;
	color: var(--ch-text-light);
	cursor: pointer;
	z-index: 2;
	padding: 0;
}

.ch-select-close:hover {
	color: var(--ch-text);
}

.ch-select-overlay {
	display: none;
}

/* ── Location popup ──────────────────────────────── */
.ch-loc-popup-wrap {
	position: relative;
}

.ch-loc-overlay {
	display: none;
}

.ch-loc-popup {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 1001;
	background: var(--ch-white);
	border: 1.5px solid var(--ch-border);
	border-radius: var(--ch-radius);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12), 0 4px 10px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	animation: chDropdownIn 0.15s ease-out;
}

.ch-loc-open .ch-loc-popup {
	display: block;
}

.ch-loc-open .ch-loc-overlay {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 1000;
}

.ch-loc-close {
	display: none;
}

/* Tabs */
.ch-loc-tabs {
	display: flex;
	border-bottom: 1.5px solid var(--ch-border);
}

.ch-loc-tab {
	flex: 1;
	padding: 12px 16px;
	border: none;
	background: #f8fafc;
	font-size: 1.4rem;
	font-weight: 600;
	font-family: var(--ch-font-family);
	color: var(--ch-text-light);
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
	position: relative;
}

.ch-loc-tab:hover {
	background: #f0f9ff;
	color: var(--ch-primary);
}

.ch-loc-tab-active {
	background: var(--ch-white);
	color: var(--ch-primary);
}

.ch-loc-tab-active::after {
	content: "";
	position: absolute;
	bottom: -1.5px;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--ch-accent);
}

/* Sections */
.ch-loc-section {
	max-height: 500px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--ch-border) transparent;
}

.ch-loc-section::-webkit-scrollbar {
	width: 6px;
}

.ch-loc-section::-webkit-scrollbar-thumb {
	background: var(--ch-border);
	border-radius: 3px;
}

/* Location items */
.ch-loc-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 16px;
	font-size: 1.4rem;
	font-family: var(--ch-font-family);
	color: var(--ch-text);
	cursor: pointer;
	transition: background 0.12s;
}

.ch-loc-item:hover {
	background: var(--ch-bg-light);
}

.ch-loc-item + .ch-loc-item {
	border-top: 1px solid #f1f5f9;
}

/* Clinic brands */
.ch-loc-brand {
	border-top: 1px solid var(--ch-border);
}

.ch-loc-brand:first-child {
	border-top: none;
}

.ch-loc-brand-header {
	padding: 10px 16px 4px;
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.ch-loc-brand-name {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--ch-primary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.ch-loc-brand-desc {
	font-size: 1.2rem;
	color: var(--ch-text-light);
	font-style: italic;
}

.ch-loc-item-clinic {
	padding-left: 28px;
}

.ch-loc-item-clinic + .ch-loc-item-clinic {
	border-top: 1px solid #f8fafc;
}

/* ── Mobile adjustments for custom dropdowns ─── */
@media (max-width: 700px) {
	.ch-custom-select {
		width: 100%;
	}

	/* ── Category dropdown: mobile full-screen ── */
	.ch-cat-dropdown .ch-select-overlay {
		display: none;
	}

	.ch-cat-dropdown .ch-select-trigger.ch-select-open ~ .ch-select-overlay {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.4);
		z-index: 1001;
	}

	.ch-cat-dropdown .ch-select-close {
		display: block;
	}

	.ch-cat-dropdown .ch-select-open ~ .ch-select-dropdown {
		position: fixed;
		top: 10vh;
		left: 16px;
		right: 16px;
		bottom: 16px;
		z-index: 1002;
		display: flex !important;
		flex-direction: column;
		max-height: none;
		border-radius: var(--ch-radius);
	}

	.ch-cat-dropdown .ch-select-options-list {
		max-height: none;
		flex: 1;
		overflow-y: auto;
	}

	.ch-cat-dropdown .ch-select-option {
		font-size: 1.5rem;
		min-height: 48px;
		padding: 12px 16px;
	}

	.ch-cat-dropdown .ch-select-group-label {
		font-size: 1.2rem;
		padding: 12px 16px 6px;
	}

	.ch-cat-dropdown .ch-select-search {
		font-size: 1.5rem;
		padding: 14px 16px;
		flex: 0 0 auto;
	}

	/* ── Location popup: mobile bottom-sheet ── */
	.ch-loc-open .ch-loc-overlay {
		background: rgba(0, 0, 0, 0.4);
	}

	.ch-loc-popup {
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
		max-height: 80vh;
		border-radius: var(--ch-radius) var(--ch-radius) 0 0;
		z-index: 1001;
	}

	.ch-loc-close {
		display: block;
		position: absolute;
		top: 8px;
		right: 8px;
		width: 36px;
		height: 36px;
		border: none;
		background: transparent;
		font-size: 2.4rem;
		line-height: 1;
		color: var(--ch-text-light);
		cursor: pointer;
		z-index: 2;
		padding: 0;
	}

	.ch-loc-close:hover {
		color: var(--ch-text);
	}

	.ch-loc-tab {
		padding: 14px 16px;
		font-size: 1.5rem;
	}

	.ch-loc-item {
		font-size: 1.5rem;
		min-height: 48px;
		padding: 14px 16px;
	}

	.ch-loc-item-clinic {
		padding-left: 28px;
	}

	.ch-loc-brand-header {
		padding: 12px 16px 6px;
	}

	.ch-loc-brand-name {
		font-size: 1.25rem;
	}

	.ch-loc-brand-desc {
		font-size: 1.3rem;
	}

	.ch-loc-section {
		max-height: calc(80vh - 52px);
	}
}

/* ── Autocomplete dropdown (doctor name search) ── */
.ch-autocomplete-dropdown {
	display: none;
	position: absolute;
	left: 24px;
	right: 24px;
	z-index: 1000;
	background: var(--ch-white);
	border: 1.5px solid var(--ch-border);
	border-radius: var(--ch-radius);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12), 0 4px 10px rgba(0, 0, 0, 0.06);
	max-height: 380px;
	overflow-y: auto;
	padding: 6px 0;
	scrollbar-width: thin;
	scrollbar-color: var(--ch-border) transparent;
}

.ch-autocomplete-dropdown::-webkit-scrollbar {
	width: 6px;
}

.ch-autocomplete-dropdown::-webkit-scrollbar-thumb {
	background: var(--ch-border);
	border-radius: 3px;
}

.ch-search-by-name {
	position: relative;
}

.ch-ac-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 16px;
	text-decoration: none !important;
	color: var(--ch-text) !important;
	transition: background 0.12s;
	cursor: pointer;
	min-height: 44px;
	justify-content: center;
}

.ch-ac-item:hover,
.ch-ac-item.ch-ac-active {
	background: var(--ch-bg-light);
}

.ch-ac-item + .ch-ac-item {
	border-top: 1px solid #f1f5f9;
}

.ch-ac-name {
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--ch-text);
	font-family: var(--ch-font-family);
	line-height: 1.4;
}

.ch-ac-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-family: var(--ch-font-family);
	line-height: 1.4;
}

.ch-ac-loc {
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--ch-text);
}

.ch-ac-loc + .ch-ac-cat::before {
	content: "\00b7";
	margin-right: 8px;
	color: var(--ch-border);
	font-weight: 700;
}

.ch-ac-cat {
	font-size: 1.2rem;
	font-weight: 400;
	color: var(--ch-text-light);
}

.ch-ac-empty {
	padding: 16px;
	font-size: 1.3rem;
	color: var(--ch-text-light);
	text-align: center;
	font-style: italic;
	font-family: var(--ch-font-family);
}

@media (max-width: 700px) {
	.ch-autocomplete-dropdown {
		left: 16px;
		right: 16px;
		max-height: 300px;
	}
}

.ch-search-btn {
	flex-shrink: 0;
	background: var(--ch-primary);
	color: var(--ch-white);
	border: none;
	border-radius: var(--ch-radius-sm);
	padding: 12px 28px;
	font-size: 1.5rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
	font-family: var(--ch-font-family);
}

.ch-search-btn:hover {
	background: var(--ch-primary-light);
	transform: translateY(-1px);
}

.ch-search-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

.ch-search-btn:disabled:hover {
	background: var(--ch-primary);
}

/* Hide any Directorist modal/overlay remnants on homepage */
body.home .directorist-search-modal__overlay,
body.home .directorist-search-modal__contents,
body.home .directorist-search-modal {
	display: none !important;
}

/* Mobile: stack form elements vertically */
@media (max-width: 700px) {
	.ch-search-wrapper {
		padding: 30px 16px 40px;
	}

	.ch-search-hero h2 {
		font-size: 1.8rem;
	}

	.ch-search-section {
		padding: 20px 16px;
	}

	.ch-search-section h3 {
		font-size: 1.4rem;
	}

	.ch-search-row {
		flex-direction: column;
	}

	.ch-search-row input[type="text"],
	.ch-search-row select,
	.ch-search-btn {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.ch-search-hero h2 {
		font-size: 1.6rem;
	}
}
