/**
 * Public discovery layout.
 *
 * This layer changes geometry and hierarchy only. Chidemoon's established
 * colour tokens and Persian-first typography remain the visual identity.
 */

:root {
	--ch-discovery-container: 1280px;
	--ch-discovery-gap: 8px;
	--ch-discovery-section: 64px;
	--ch-discovery-radius: 16px;
	--ch-discovery-radius-large: 32px;
	--ch-discovery-control-height: 44px;
	--ch-discovery-search-height: 48px;
}

/* Keep the shell crisp while it remains available during reading and search. */
body .chidemoon-site-header {
	background: var(--ch-color-paper);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body .chidemoon-header-inner,
body .chidemoon-footer-inner,
body .chidemoon-editorial-index,
body .chidemoon-recovery,
body .chidemoon-home-hero,
body .chidemoon-product-detail {
	width: min(var(--ch-discovery-container), calc(100% - (2 * var(--ch-gutter))));
}

body .chidemoon-header-inner {
	height: 64px;
	gap: var(--ch-discovery-gap);
}

body .chidemoon-header-nav-list {
	gap: 4px;
}

body .chidemoon-nav-pill,
body .chidemoon-header-ai-trigger,
body .chidemoon-mobile-ai-trigger {
	min-block-size: var(--ch-discovery-control-height);
	border-radius: var(--ch-discovery-radius);
}

body .chidemoon-header-compare-link,
body .chidemoon-mobile-menu-toggle,
body .chidemoon-mobile-menu-close {
	inline-size: var(--ch-discovery-control-height);
	min-block-size: var(--ch-discovery-control-height);
	border-radius: 50%;
}

body .chidemoon-header-searchform,
body .chidemoon-header-searchform input {
	min-block-size: var(--ch-discovery-search-height);
	border-radius: 999px;
}

body .chidemoon-header-searchform input {
	inline-size: clamp(176px, 18vw, 260px);
}

body .chidemoon-header-searchform button {
	inline-size: var(--ch-discovery-control-height);
	min-block-size: var(--ch-discovery-control-height);
}

/* Repeated surfaces share one tactile geometry instead of accumulating radii. */
body .chidemoon-btn,
body .chidemoon-editorial-filters a,
body .chidemoon-editorial-pagination .page-numbers,
body .chidemoon-editorial-search input,
body .chidemoon-editorial-search button,
body .chidemoon-recovery input,
body .chidemoon-recovery button,
body .chidemoon-editorial-empty,
body .chidemoon-home-path,
body .chidemoon-catalog-empty-state,
body .chidemoon-guides-empty-state,
body .chidemoon-stl-empty-state {
	border-radius: var(--ch-discovery-radius);
}

body .chidemoon-btn,
body .chidemoon-editorial-filters a,
body .chidemoon-editorial-pagination .page-numbers {
	min-block-size: var(--ch-discovery-control-height);
}

body .chidemoon-editorial-search input,
body .chidemoon-recovery input,
body .chidemoon-editorial-search button,
body .chidemoon-recovery button {
	min-block-size: var(--ch-discovery-search-height);
}

body .chidemoon-mobile-bottom-nav {
	background: var(--ch-color-paper);
	box-shadow: none;
	backdrop-filter: none;
}

body .chidemoon-mobile-nav-item {
	border-radius: var(--ch-discovery-radius);
}

/* Homepage retains its existing content but adopts a compact feature rhythm. */
body .chidemoon-home-hero {
	grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr);
	gap: clamp(32px, 6vw, 64px);
	min-block-size: 0;
	padding-block: var(--ch-discovery-section);
}

body .chidemoon-home-hero h1,
body .chidemoon-content-page > .wp-block-post-title,
body .chidemoon-editorial-index__header h1,
body .chidemoon-recovery h1 {
	letter-spacing: -.035em;
	line-height: 1.1;
}

body .chidemoon-home-hero h1 {
	font-size: clamp(2rem, 3.8vw, 3.25rem);
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.24;
}

body .chidemoon-home-hero__index {
	overflow: hidden;
	border: 1px solid var(--ch-color-line);
	border-radius: var(--ch-discovery-radius);
}

body :where(.chidemoon-home-paths, .chidemoon-home-reading) {
	margin-block: var(--ch-discovery-section);
}

body .chidemoon-home-paths__grid {
	gap: var(--ch-discovery-gap);
	border: 0;
}

body .chidemoon-home-path,
body .chidemoon-home-paths__grid > .wp-block-column:first-child .chidemoon-home-path {
	border: 1px solid var(--ch-color-line);
}

/* Discovery cards can use the attachment's own ratio without cropping content. */
body .chidemoon-editorial-index__grid {
	display: block;
	column-count: 4;
	column-gap: var(--ch-discovery-gap);
}

body .chidemoon-editorial-index__card {
	display: inline-block;
	inline-size: 100%;
	margin-block-end: var(--ch-discovery-gap);
	overflow: hidden;
	border: 1px solid var(--ch-color-line);
	border-radius: var(--ch-discovery-radius);
	background: var(--ch-color-paper);
	box-shadow: none;
	break-inside: avoid;
}

body .chidemoon-editorial-index__media {
	display: block;
	min-block-size: 0;
	aspect-ratio: auto;
}

body .chidemoon-editorial-index__media img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: auto;
	object-fit: initial;
}

body .chidemoon-editorial-index__media-fallback {
	position: static;
	display: grid;
	min-block-size: 220px;
	background: var(--ch-color-forest);
}

body .chidemoon-editorial-index__body {
	gap: 12px;
	padding: 16px;
}

body .chidemoon-editorial-index__read {
	min-block-size: var(--ch-discovery-control-height);
	border-radius: var(--ch-discovery-radius);
}

/* Native archive cards use the same dense discovery rhythm as block indexes. */
body .chidemoon-index-page .wp-block-post-template,
body .chidemoon-native-post-grid .wp-block-post-template {
	display: block;
	column-count: 4;
	column-gap: var(--ch-discovery-gap);
}

body .chidemoon-index-card,
body .chidemoon-archive-card,
body .chidemoon-native-post-card,
body .chidemoon-home-post-card {
	display: inline-flex;
	inline-size: 100%;
	block-size: auto;
	flex-direction: column;
	align-items: stretch;
	margin-block-end: var(--ch-discovery-gap);
	border: 1px solid var(--ch-color-line);
	border-radius: var(--ch-discovery-radius);
	box-shadow: none;
	break-inside: avoid;
}

body :where(.chidemoon-index-card, .chidemoon-archive-card, .chidemoon-home-post-card) .wp-block-post-featured-image {
	block-size: auto;
}

body :where(.chidemoon-index-card, .chidemoon-archive-card, .chidemoon-home-post-card) .wp-block-post-featured-image img {
	block-size: auto;
	aspect-ratio: auto;
	object-fit: initial;
}

body :where(.chidemoon-index-card, .chidemoon-archive-card, .chidemoon-home-post-card):hover {
	transform: none;
}

/* Product discovery stays data-compatible while aligning its cards and filters. */
body .kalahamoon-catalog__header {
	gap: clamp(24px, 4vw, 48px);
	padding-block: var(--ch-discovery-section);
}

body .kalahamoon-catalog__header h2 {
	font-size: clamp(2.125rem, 5vw, 4.375rem);
	line-height: 1.1;
}

body .kalahamoon-catalog__filters {
	gap: 1px;
	overflow: hidden;
	border-radius: var(--ch-discovery-radius);
}

body .kalahamoon-catalog__filters label {
	padding: 12px;
}

body .kalahamoon-catalog__filters input,
body .kalahamoon-catalog__filters select {
	min-block-size: var(--ch-discovery-control-height);
	border-radius: var(--ch-discovery-radius);
}

body .kalahamoon-catalog__filters button,
body .kalahamoon-catalog__filters > a,
body .kalahamoon-catalog-card__buy,
body .kalahamoon-catalog-card__compare,
body .kalahamoon-catalog-card__details,
body .kalahamoon-catalog__compare-tray a,
body .kalahamoon-catalog__compare-tray button,
body .kalahamoon-catalog__pagination a {
	min-block-size: var(--ch-discovery-control-height);
	border-radius: var(--ch-discovery-radius);
}

body .kalahamoon-catalog__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--ch-discovery-gap);
	border: 0;
}

body .kalahamoon-catalog-card {
	overflow: hidden;
	border: 1px solid var(--ch-color-line);
	border-radius: var(--ch-discovery-radius);
	box-shadow: none;
}

body .kalahamoon-catalog-card__media {
	min-block-size: 0;
	aspect-ratio: auto;
}

body .kalahamoon-catalog-card__detail-link {
	block-size: auto;
}

body .kalahamoon-catalog-card__media img {
	block-size: auto;
	object-fit: initial;
}

body .kalahamoon-favorite-btn {
	inline-size: var(--ch-discovery-control-height);
	block-size: var(--ch-discovery-control-height);
}

body .kalahamoon-catalog__compare-tray {
	border-radius: var(--ch-discovery-radius);
	box-shadow: none;
}

/* Reusable product blocks inherit the public-theme geometry without forking them. */
body .wp-block-kalahamoon-product-box .kalahamoon-product-card,
body .wp-block-kalahamoon-product-box:is(:hover, :focus-within) .kalahamoon-product-card {
	border-radius: var(--ch-discovery-radius);
	box-shadow: none;
	transform: none;
}

body .wp-block-kalahamoon-product-box .kalahamoon-product-image,
body .wp-block-kalahamoon-product-box .kalahamoon-product-image img {
	aspect-ratio: auto;
	block-size: auto;
	object-fit: initial;
}

body .kalahamoon-price-comparison,
body .kalahamoon-price-comparison__row,
body .kalahamoon-product-comparison__empty,
body .kalahamoon-product-comparison__empty a,
body .kalahamoon-product-comparison__actions a {
	border-radius: var(--ch-discovery-radius);
}

body .kalahamoon-product-comparison__empty a,
body .kalahamoon-product-comparison__actions a,
body .kalahamoon-price-comparison__buy,
body .kalahamoon-cta-button {
	min-block-size: var(--ch-discovery-control-height);
	border-radius: var(--ch-discovery-radius);
	box-shadow: none;
}

body .wp-block-kalahamoon-shop-the-look .kalahamoon-stl-image {
	border-radius: var(--ch-discovery-radius-large);
	box-shadow: none;
}

body .kalahamoon-stl-card,
body .kalahamoon-stl-tooltip {
	border-radius: var(--ch-discovery-radius);
	box-shadow: none;
	animation: none;
}

body .kalahamoon-stl-dot {
	inline-size: var(--ch-discovery-control-height);
	block-size: var(--ch-discovery-control-height);
	box-shadow: none;
}

body .kalahamoon-stl-dot::after {
	display: none;
}

body .kalahamoon-stl-dot:hover,
body .kalahamoon-stl-dot[aria-expanded="true"] {
	box-shadow: none;
	transform: translate(-50%, -50%);
}

body .kalahamoon-stl-tp-close {
	inline-size: var(--ch-discovery-control-height);
	block-size: var(--ch-discovery-control-height);
	backdrop-filter: none;
}

body .chidemoon-product-detail {
	padding-block: var(--ch-discovery-section);
}

body .chidemoon-product-detail__hero {
	gap: clamp(32px, 6vw, 64px);
}

body .chidemoon-product-detail__media {
	aspect-ratio: auto;
	border-radius: var(--ch-discovery-radius-large);
}

body .chidemoon-product-detail__media img {
	block-size: auto;
	object-fit: initial;
}

/* Long reading surfaces stay calm; only dialogs carry depth and a scrim. */
body .chidemoon-editorial-index__media-fallback,
body :where(.chidemoon-product-card-img-placeholder, .chidemoon-image-placeholder, .kalahamoon-image-placeholder) {
	background: var(--ch-color-mineral);
}

body .chidemoon-editorial-index__media-fallback {
	background: var(--ch-color-forest);
}

body .chidemoon-specs-modal-backdrop,
body .chidemoon-compare-modal-backdrop,
body .chidemoon-ai-backdrop,
body .chidemoon-filter-backdrop,
body .chidemoon-mobile-menu-backdrop {
	backdrop-filter: none;
}

body .chidemoon-specs-modal,
body .chidemoon-compare-modal,
body .chidemoon-ai-assistant-container {
	border-radius: var(--ch-discovery-radius-large);
}

@container kalahamoon-catalog (max-width: 1023px) {
	body .kalahamoon-catalog__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@container kalahamoon-catalog (max-width: 767px) {
	body .kalahamoon-catalog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container kalahamoon-catalog (max-width: 479px) {
	body .kalahamoon-catalog__grid {
		grid-template-columns: 1fr;
	}
}

@supports not (container-type: inline-size) {
	@media (max-width: 1023px) {
		body .kalahamoon-catalog__grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}

	@media (max-width: 767px) {
		body .kalahamoon-catalog__grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	@media (max-width: 479px) {
		body .kalahamoon-catalog__grid {
			grid-template-columns: 1fr;
		}
	}
}

@media (max-width: 1023px) {
	body .chidemoon-footer-cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}

	body .chidemoon-footer-col--brand {
		grid-column: 1 / -1;
	}

	body .chidemoon-editorial-index__grid,
	body .chidemoon-index-page .wp-block-post-template,
	body .chidemoon-native-post-grid .wp-block-post-template {
		column-count: 3;
	}
}

@media (max-width: 767px) {
	body .chidemoon-footer-cols {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body .chidemoon-home-hero {
		grid-template-columns: 1fr;
		gap: 32px;
		width: calc(100% - 32px);
		padding-block: 48px;
	}

	body .chidemoon-home-hero h1 {
		font-size: clamp(1.85rem, 6vw, 2.45rem);
	}

	body .chidemoon-home-paths__grid {
		gap: var(--ch-discovery-gap);
	}

	body .chidemoon-home-path,
	body .chidemoon-home-paths__grid > .wp-block-column:first-child .chidemoon-home-path {
		border: 1px solid var(--ch-color-line);
	}

	body .chidemoon-editorial-index__grid,
	body .chidemoon-index-page .wp-block-post-template,
	body .chidemoon-native-post-grid .wp-block-post-template {
		column-count: 2;
	}

	body .chidemoon-editorial-index__body {
		padding: 14px;
	}
}

@media (max-width: 479px) {
	body .chidemoon-footer-cols {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body .chidemoon-editorial-index__grid,
	body .chidemoon-index-page .wp-block-post-template,
	body .chidemoon-native-post-grid .wp-block-post-template {
		column-count: 1;
	}

	body .chidemoon-header-ai-trigger {
		inline-size: var(--ch-discovery-control-height);
		padding-inline: 0;
	}

	body .chidemoon-header-ai-trigger span {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .chidemoon-editorial-index__card,
	body .chidemoon-index-card,
	body .chidemoon-archive-card,
	body .chidemoon-home-post-card {
		transition: none;
	}
}
