/* ==========================================================================
   Voice of Ara — GeoDirectory brand skin ("The Cut")
   --------------------------------------------------------------------------
   Brand-matches GeoDirectory's business-directory output to the theme:
   square corners, the Cut palette (Night / Saffron / Cream), and the
   editorial type system (Mukta / Playfair / Inter). GeoDirectory renders
   with AyeCode UI (Bootstrap 5), so we rebrand by overriding its --bs-*
   tokens on GeoDirectory pages and then refining the GD-specific widgets.

   Loaded only on directory pages (see functions.php — geodir_is_geodir_page).
   Scope: core visitor surfaces — listings archive, single listing, search bar.
   Design tokens (--voa-*) come from style.css, enqueued before this file.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. AyeCode UI (Bootstrap) token re-map — the broad strokes in one place
   -------------------------------------------------------------------------- */
.geodir-page,
.geodir-search-container {
	--bs-primary:            var(--voa-saffron);
	--bs-primary-rgb:        255, 87, 34;
	--bs-link-color:         var(--voa-night);
	--bs-link-color-rgb:     14, 14, 12;
	--bs-link-hover-color:   var(--voa-saffron);
	--bs-body-font-family:   var(--voa-font-ui);
	--bs-body-color:         var(--voa-night);
	/* Square, editorial — no soft UI rounding anywhere in the directory. */
	--bs-border-radius:      0;
	--bs-border-radius-sm:   0;
	--bs-border-radius-lg:   0;
	--bs-border-radius-xl:   0;
	--bs-border-radius-2xl:  0;
	--bs-border-radius-pill: 0;
}

/* Belt-and-braces: square every rounded GD/AUI component. */
.geodir-page .card,
.geodir-page .btn,
.geodir-page .badge,
.geodir-page .form-control,
.geodir-page .form-select,
.geodir-page .nav-link,
.geodir-page .nav-tabs,
.geodir-page img,
.geodir-page .geodir-image-container,
.geodir-page .geodir-post-img,
.geodir-search-container .btn,
.geodir-search-container .form-control,
.geodir-search-container .form-select {
	border-radius: 0 !important;
}

/* Links + primary buttons: Night surface, Saffron on hover (matches the site). */
.geodir-page a { color: var(--voa-night); }
.geodir-page a:hover { color: var(--voa-saffron); }

.geodir-page .btn-primary,
.geodir-search-container .btn-primary,
.geodir-page .btn-outline-primary:hover {
	background: var(--voa-night);
	border-color: var(--voa-night);
	color: var(--voa-cream);
	font-family: var(--voa-font-ui);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.geodir-page .btn-primary:hover,
.geodir-page .btn-primary:focus,
.geodir-search-container .btn-primary:hover,
.geodir-search-container .btn-primary:focus {
	background: var(--voa-saffron);
	border-color: var(--voa-saffron);
	color: var(--voa-cream);
}

/* --------------------------------------------------------------------------
   2. SEARCH BAR  (.geodir-search — the [gd_search] widget)
   -------------------------------------------------------------------------- */
.geodir-search-container,
.geodir-listing-search {
	font-family: var(--voa-font-ui);
}
.geodir-search .search_text,
.geodir-search .gd_search_text,
.geodir-search .form-control,
.geodir-search .form-select {
	border: 1px solid var(--voa-night);
	background: var(--voa-cream);
	color: var(--voa-night);
	font-family: var(--voa-font-ui);
	box-shadow: none;
}
.geodir-search .form-control::placeholder { color: var(--voa-night); opacity: 0.5; }
.geodir-search .form-control:focus,
.geodir-search .form-select:focus {
	border-color: var(--voa-saffron);
	box-shadow: none;
}
.geodir-search .geodir_submit_search,
.geodir-search button[type="submit"] {
	background: var(--voa-night);
	border: 1px solid var(--voa-night);
	color: var(--voa-cream);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.geodir-search .geodir_submit_search:hover,
.geodir-search button[type="submit"]:hover {
	background: var(--voa-saffron);
	border-color: var(--voa-saffron);
}
.geodir-search-input-label { color: var(--voa-night); }

/* --------------------------------------------------------------------------
   3. LISTINGS ARCHIVE GRID  (.geodir-category-list-view)
   Match the uniform news-card grid: square media box, clamped title, meta.
   (Written against GeoDirectory's standard archive markup; verify on the
   live MySQL site, where the loop renders — the local SQLite DB can't run
   GD's listing query.)
   -------------------------------------------------------------------------- */
.geodir-category-list-view {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
@media (max-width: 1024px) { .geodir-category-list-view { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .geodir-category-list-view { grid-template-columns: 1fr; } }

.geodir-category-list-view > li.geodir-post {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	box-shadow: none;
	list-style: none;
}
.geodir-category-list-view > li.geodir-post::before { content: none; }

/* Square, fixed-ratio media like .voa-media--card */
.geodir-post .geodir-image-container,
.geodir-post .geodir-post-images,
.geodir-post .gd-image-container {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--voa-hairline);
}
.geodir-post .geodir-image-container img,
.geodir-post .gd-image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Title (Mukta), hover Saffron */
.geodir-post .geodir-entry-title,
.geodir-post .geodir_post_title,
.geodir-post h2,
.geodir-post h3 {
	font-family: var(--voa-font-hindi);
	font-weight: 700;
	line-height: 1.2;
	font-size: var(--voa-size-h3);
}
.geodir-post .geodir-entry-title a,
.geodir-post .geodir_post_title a {
	color: var(--voa-night);
	text-decoration: none;
}
.geodir-post .geodir-entry-title a:hover,
.geodir-post .geodir_post_title a:hover { color: var(--voa-saffron); }

/* Meta row (Inter, muted) */
.geodir-post .geodir-post-meta,
.geodir-post .geodir_post_meta {
	font-family: var(--voa-font-ui);
	font-size: var(--voa-size-meta);
	color: var(--voa-night);
	opacity: 0.75;
}

/* --------------------------------------------------------------------------
   4. SHARED: category tags + badges as square, Cut-style chips
   -------------------------------------------------------------------------- */
/* GeoDirectory renders category/tag links as filled, rounded Bootstrap
   `.badge`s in each term's own colour. Re-cast them as square outline chips
   in the Cut style (colour becomes an accent, not a loud fill) — overriding
   the per-term background with !important. Owners who want colour-coded
   categories can reintroduce it deliberately later. */
.geodir-page .geodir-category a,
.geodir-page .geodir-tags a,
.geodir-single-taxonomies-container a.badge,
.geodir-page .geodir-category a.badge,
.geodir-page .geodir-tags a.badge,
.geodir-post .gd-badge,
.geodir-page .geodir-post-badge {
	display: inline-block;
	font-family: var(--voa-font-ui);
	font-size: var(--voa-size-meta);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--voa-night) !important;
	background: transparent !important;
	border: 1px solid var(--voa-hairline);
	padding: 0.3rem 0.7rem;
	text-decoration: none;
	line-height: 1.2;
}
.geodir-page .geodir-category a:hover,
.geodir-page .geodir-tags a:hover,
.geodir-single-taxonomies-container a.badge:hover {
	border-color: var(--voa-night);
	color: var(--voa-saffron) !important;
}

/* "Place Categories:" / "Place Tags:" labels in the meta type */
.geodir-single-taxonomies-container .geodir-category,
.geodir-single-taxonomies-container .geodir-tags {
	font-family: var(--voa-font-ui);
	font-size: var(--voa-size-meta);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--voa-night);
	opacity: 0.85;
}

/* Secondary / default buttons (e.g. Previous / Next listing) → Night surface */
.geodir-page .btn-secondary,
.geodir-page .btn-outline-secondary {
	background: var(--voa-night);
	border-color: var(--voa-night);
	color: var(--voa-cream);
	font-family: var(--voa-font-ui);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.geodir-page .btn-secondary:hover,
.geodir-page .btn-outline-secondary:hover {
	background: var(--voa-saffron);
	border-color: var(--voa-saffron);
	color: var(--voa-cream);
}

/* Ratings use Saffron (never Breaking Red — that stays semantic) */
.geodir-page .gd-rating-foreground,
.geodir-page .gd-star-rating .gd-rating-on,
.geodir-page .br-theme-fontawesome-stars .br-selected::after,
.geodir-page .gd-rating-wrap .gd-rating-type-font-awesome .gd-rating-foreground {
	color: var(--voa-saffron);
}

/* --------------------------------------------------------------------------
   5. SINGLE LISTING  (detail page widgets)
   -------------------------------------------------------------------------- */

/* Tabs: editorial underline, Saffron active (like the search/section eyebrows) */
.geodir-tabs .geodir-tab-head,
.geodir-tabs ul.nav-tabs {
	font-family: var(--voa-font-ui);
	border-bottom: 2px solid var(--voa-night);
	gap: 0.5rem;
}
.geodir-tabs .geodir-tab-head li a,
.geodir-tabs .nav-tabs .nav-link {
	color: var(--voa-night);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border: 0;
	background: transparent;
	padding: 0.75rem 1rem;
}
.geodir-tabs .geodir-tab-head li.active a,
.geodir-tabs .geodir-tab-head li a.active,
.geodir-tabs .nav-tabs .nav-link.active {
	color: var(--voa-saffron);
	background: transparent;
	border: 0;
	border-bottom: 2px solid var(--voa-saffron);
}

/* Post meta rows: Inter labels, Saffron field icons */
.geodir-post-meta-container .geodir-post-meta,
.geodir_post_meta {
	font-family: var(--voa-font-ui);
	font-size: 0.95rem;
}
.geodir-post-meta .geodir-i-location,
.geodir-post-meta [class^="geodir-i-"],
.geodir-post-meta [class*=" geodir-i-"],
.geodir_post_meta i {
	color: var(--voa-saffron);
}

/* Single two-column: give the aside a hairline, square media */
.geodir-single-taxonomies-container,
.geodir-post_right .geodir-widget,
.geodir-post-map-wrap {
	border-radius: 0;
}

/* Headings inside the detail content follow the type system */
.geodir-single-tabs-container h2,
.geodir-single-tabs-container h3,
.geodir-entry-content h2,
.geodir-entry-content h3 {
	font-family: var(--voa-font-hindi);
	color: var(--voa-night);
	letter-spacing: -0.01em;
}

/* Next / previous listing navigation */
.geodir-pos_navigation {
	font-family: var(--voa-font-ui);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: var(--voa-size-meta);
	border-top: 1px solid var(--voa-hairline);
	padding-top: 1.25rem;
}
.geodir-pos_navigation a { color: var(--voa-night); text-decoration: none; }
.geodir-pos_navigation a:hover { color: var(--voa-saffron); }

/* Image slider: square frame, no rounded corners */
.geodir-post-slider,
.geodir_flexslider,
.geodir-images-slider {
	border-radius: 0;
}

/* --------------------------------------------------------------------------
   6. PAGINATION  (loop/pagination.php)
   -------------------------------------------------------------------------- */
.geodir-pagination .page-link {
	font-family: var(--voa-font-ui);
	color: var(--voa-night);
	border-color: var(--voa-hairline);
	border-radius: 0 !important;
}
.geodir-pagination .page-item.active .page-link {
	background: var(--voa-night);
	border-color: var(--voa-night);
	color: var(--voa-cream);
}
.geodir-pagination .page-link:hover {
	background: var(--voa-cream);
	color: var(--voa-saffron);
}
