/* ==========================================================================
   Home Improvement KSA — design-system components
   Reusable pieces for Gutenberg (block styles + patterns) and Kadence chrome.
   Tokens live in main.css (:root). Reference: docs/DESIGN-SYSTEM.md
   ========================================================================== */

/* --- Typography rhythm inside articles ------------------------------------ */

/* Direct children only, so pattern sections (nested groups) keep their own spacing. */
.entry-content > h2 { font-size: var(--hik-fs-h2); margin: 1.6em 0 .6em; }
.entry-content > h3 { font-size: var(--hik-fs-h3); margin: 1.4em 0 .5em; }
.entry-content > p,
.entry-content > ul li,
.entry-content > ol li { font-size: var(--hik-fs-base); }
.entry-content > p { margin: 0 0 1.1em; }

/* --- Buttons ---------------------------------------------------------------
   Default button = Kadence button (palette1 fill). Block styles add variants. */

.wp-block-button__link,
.wp-element-button,
.button {
	border-radius: var(--hik-radius-sm);
	font-weight: 600;
}
.wp-block-button.is-style-hik-outline .wp-block-button__link {
	background: transparent;
	color: var(--hik-green);
	box-shadow: inset 0 0 0 1.5px var(--hik-green);
}
.wp-block-button.is-style-hik-outline .wp-block-button__link:hover,
.wp-block-button.is-style-hik-outline .wp-block-button__link:focus {
	background: var(--hik-green);
	color: var(--hik-white);
}
.wp-block-button.is-style-hik-soft .wp-block-button__link {
	background: var(--hik-mint);
	color: var(--hik-green);
}
.wp-block-button.is-style-hik-soft .wp-block-button__link:hover { background: #D3E7DE; color: var(--hik-green-dark); }
/* Affiliate CTA: always rel="sponsored nofollow" in the link */
.wp-block-button.is-style-hik-affiliate .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--hik-gold);
	color: var(--hik-ink);
}
.wp-block-button.is-style-hik-affiliate .wp-block-button__link::after {
	content: "←";
	font-weight: 700;
}
.wp-block-button.is-style-hik-affiliate .wp-block-button__link:hover,
.wp-block-button.is-style-hik-affiliate .wp-block-button__link:focus { background: #E5A42C; color: var(--hik-ink); }

/* --- Badges ----------------------------------------------------------------- */

.hik-badge,
p.is-style-hik-badge {
	display: inline-block;
	width: fit-content;
	margin: 0;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--hik-mint);
	color: var(--hik-green);
	font-size: var(--hik-fs-xs);
	font-weight: 600;
	line-height: 1.6;
}
.hik-badge--gold { background: #FBEBC8; color: #6B4A08; }
.hik-badge--demo { background: #FCE8E6; color: var(--hik-sadu); }

/* --- Card (group block style) -------------------------------------------- */

.wp-block-group.is-style-hik-card,
.hik-card {
	background: var(--hik-white);
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	padding: var(--hik-space-5);
	box-shadow: var(--hik-shadow-sm);
}

/* --- Callouts (group block styles) ---------------------------------------- */

.wp-block-group.is-style-hik-note,
.wp-block-group.is-style-hik-warning,
.wp-block-group.is-style-hik-summary {
	position: relative;
	margin-block: var(--hik-space-5);
	padding: var(--hik-space-4) var(--hik-space-5);
	border-radius: var(--hik-radius-sm);
	border-inline-start: 4px solid;
}
.wp-block-group.is-style-hik-note { background: var(--hik-mint); border-color: var(--hik-green); }
.wp-block-group.is-style-hik-warning { background: #FDF4E1; border-color: var(--hik-gold); }
.wp-block-group.is-style-hik-summary { background: var(--hik-soft); border-color: var(--hik-ink); }
.wp-block-group.is-style-hik-note > :last-child,
.wp-block-group.is-style-hik-warning > :last-child,
.wp-block-group.is-style-hik-summary > :last-child { margin-bottom: 0; }
.hik-callout-title { margin: 0 0 6px !important; font-weight: 700; color: var(--hik-ink); }

/* --- Pros / cons lists (list block styles) -------------------------------- */

.wp-block-list.is-style-hik-pros,
.wp-block-list.is-style-hik-cons,
.wp-block-list.is-style-hik-specs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.wp-block-list.is-style-hik-pros li,
.wp-block-list.is-style-hik-cons li {
	position: relative;
	padding-inline-start: 30px;
	line-height: 1.7;
}
.wp-block-list.is-style-hik-pros li::before,
.wp-block-list.is-style-hik-cons li::before {
	position: absolute;
	inset-inline-start: 0;
	top: .2em;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
}
.wp-block-list.is-style-hik-pros li::before { content: "✓"; background: var(--hik-mint); color: var(--hik-green); }
.wp-block-list.is-style-hik-cons li::before { content: "✕"; background: #FCE8E6; color: var(--hik-sadu); }
.wp-block-list.is-style-hik-specs { gap: 0; }
.wp-block-list.is-style-hik-specs li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px dashed var(--hik-line);
	font-size: var(--hik-fs-sm);
}
.wp-block-list.is-style-hik-specs li:last-child { border-bottom: 0; }
.wp-block-list.is-style-hik-specs strong { color: var(--hik-muted); font-weight: 500; }

.hik-proscons {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: var(--hik-space-4);
	margin-block: var(--hik-space-5);
}
.hik-proscons > .wp-block-group {
	padding: var(--hik-space-5);
	border-radius: var(--hik-radius);
	border: 1px solid var(--hik-line);
	background: var(--hik-white);
}
.hik-proscons h3 { margin: 0 0 12px; font-size: 17px; }
.hik-proscons .hik-pros-box { border-top: 4px solid var(--hik-green); }
.hik-proscons .hik-cons-box { border-top: 4px solid var(--hik-sadu); }

/* --- Comparison table (table block style) --------------------------------- */

.wp-block-table.is-style-hik-compare {
	margin-block: var(--hik-space-5);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	background: var(--hik-white);
}
.wp-block-table.is-style-hik-compare table {
	width: 100%;
	min-width: 560px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: var(--hik-fs-sm);
}
.wp-block-table.is-style-hik-compare th,
.wp-block-table.is-style-hik-compare td {
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid var(--hik-line);
	text-align: start;
	vertical-align: top;
}
.wp-block-table.is-style-hik-compare thead th {
	background: var(--hik-ink);
	color: var(--hik-white);
	font-weight: 600;
	white-space: nowrap;
}
.wp-block-table.is-style-hik-compare tbody tr:nth-child(even) td { background: var(--hik-soft); }
.wp-block-table.is-style-hik-compare tbody tr:last-child td { border-bottom: 0; }
/* First column stays visible while the table scrolls sideways on phones */
.wp-block-table.is-style-hik-compare th:first-child,
.wp-block-table.is-style-hik-compare td:first-child {
	position: sticky;
	inset-inline-start: 0;
	z-index: 1;
	font-weight: 600;
	color: var(--hik-ink);
	background: var(--hik-white);
	box-shadow: inset -1px 0 0 var(--hik-line);
}
.wp-block-table.is-style-hik-compare thead th:first-child { background: var(--hik-ink); color: var(--hik-white); }
.wp-block-table.is-style-hik-compare tbody tr:nth-child(even) td:first-child { background: var(--hik-soft); }
.wp-block-table.is-style-hik-compare figcaption {
	position: sticky;
	inset-inline-start: 0;
	margin: 0;
	padding: 10px 14px;
	color: var(--hik-muted);
	font-size: var(--hik-fs-xs);
	text-align: start;
}

/* --- Product card (pattern) ---------------------------------------------- */

.hik-products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
	gap: var(--hik-space-4);
}
.hik-product {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: var(--hik-space-4);
	background: var(--hik-white);
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	box-shadow: var(--hik-shadow-sm);
}
.hik-product .hik-product-media {
	position: relative;
	margin: 0;
	aspect-ratio: 1 / 1;
	border-radius: var(--hik-radius-sm);
	background: var(--hik-soft);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hik-product .hik-product-media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.hik-product .hik-product-media .hik-badge { position: absolute; top: 10px; inset-inline-start: 10px; }
.hik-product .hik-product-brand { margin: 0; color: var(--hik-muted); font-size: var(--hik-fs-xs); }
.hik-product h3 { margin: 0; font-size: 17px; line-height: 1.6; }
.hik-product h3 a { color: var(--hik-ink); text-decoration: none; }
.hik-product .wp-block-list.is-style-hik-specs { margin-top: 2px; }
.hik-product .wp-block-buttons { margin-top: auto; padding-top: 6px; gap: 8px; }
.hik-product .wp-block-button { flex: 1 1 100%; }
.hik-product .wp-block-button__link { width: 100%; text-align: center; justify-content: center; padding: 11px 16px; font-size: var(--hik-fs-sm); }
.hik-product .hik-price-note { margin: 0; color: var(--hik-muted); font-size: 12px; text-align: center; }

/* --- Affiliate disclosure box ------------------------------------------- */

.hik-disclosure-box {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-block: var(--hik-space-4);
	padding: 12px 16px;
	border: 1px solid var(--hik-sand-line);
	border-radius: var(--hik-radius-sm);
	background: var(--hik-sand);
	color: var(--hik-muted);
	font-size: var(--hik-fs-sm);
}
.hik-disclosure-box::before {
	content: "i";
	flex: none;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	border-radius: 999px;
	background: var(--hik-ink);
	color: var(--hik-white);
	font: 700 13px/22px Georgia, serif;
	text-align: center;
}
.hik-disclosure-box p { margin: 0; }

/* --- Article cards (query loops with .hik-cards) -------------------------- */

.hik-cards .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	gap: var(--hik-space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}
.hik-cards .wp-block-post {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--hik-white);
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	overflow: hidden;
	transition: box-shadow .15s, transform .15s;
}
.hik-cards .wp-block-post:hover,
.hik-cards .wp-block-post:focus-within { box-shadow: var(--hik-shadow-md); transform: translateY(-2px); }
.hik-cards .wp-block-post > :not(.wp-block-post-featured-image) { margin-inline: 18px; }
.hik-cards .wp-block-post > :last-child { margin-bottom: 18px; }
.hik-cards .wp-block-post-featured-image { margin: 0 0 4px; }
.hik-cards .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.hik-cards .wp-block-post-title { margin: 0; font-size: 17px; line-height: 1.6; }
.hik-cards .wp-block-post-title a { color: var(--hik-ink); text-decoration: none; }
.hik-cards .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.hik-cards .wp-block-post-excerpt { margin: 0; color: var(--hik-muted); font-size: var(--hik-fs-sm); }
.hik-cards .wp-block-post-excerpt__excerpt { margin: 0; }
.hik-cards .hik-term { position: relative; z-index: 1; }
/* Posts without a featured image get a branded placeholder instead of a gap */
.hik-cards .wp-block-post:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 10;
	margin-bottom: 4px;
	background: var(--hik-sadu-stripe) bottom / 16px 6px repeat-x, linear-gradient(135deg, var(--hik-mint), var(--hik-sand));
}

.hik-latest .wp-block-post:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	background: var(--hik-sadu-stripe) bottom / 16px 6px repeat-x, linear-gradient(135deg, var(--hik-mint), var(--hik-sand));
}

/* Product media without an image: neutral product glyph */
.hik-product .hik-product-media:not(:has(img))::after {
	content: "";
	width: 38%;
	height: 38%;
	background: var(--hik-subtle);
	opacity: .55;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Catalog products on the homepage: packshots on a light panel */
.hik-product-cards .wp-block-post-featured-image { background: var(--hik-soft); }
.hik-product-cards .wp-block-post-featured-image img { aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.hik-product-cards .wp-block-post-excerpt__more-link { font-weight: 600; }

/* Homepage sections added in 1.1.0 */
.hik-guides .hik-guides-links { margin-top: var(--hik-space-5); }
.hik-picks { background: var(--hik-sand); }
.hik-picks .hik-disclosure { margin-top: var(--hik-space-4); }

/* --- Kadence header ----------------------------------------------------- */

/* Brand mark before the site title (no media upload needed) */
.site-branding a.brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.site-branding a.brand::before {
	content: "";
	flex: none;
	width: 42px;
	height: 42px;
	background: url("../img/logo-mark.svg") center / contain no-repeat;
}
.site-branding .site-title {
	margin: 0;
	font-family: var(--hik-font-head);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--hik-ink);
	letter-spacing: 0;
}
.site-branding .site-description {
	margin: 2px 0 0;
	font-size: 13px;
	color: var(--hik-muted);
	line-height: 1.4;
}
.site-branding .site-title-wrap { display: flex; flex-direction: column; }
#mobile-header .site-branding a.brand::before { width: 34px; height: 34px; }
#mobile-header .site-branding .site-title { font-size: 16px; }

/* Top bar */
.site-top-header-wrap .site-header-row-container-inner {
	background: var(--hik-ink);
	color: #DCE5E0;
	font-size: 13px;
}
.site-top-header-wrap .header-html p { margin: 0; color: #DCE5E0; }
/* Kadence prints ".secondary-navigation .secondary-menu-container > ul > li.menu-item > a"
   inline; prefixing the row wrapper keeps the top-bar links readable on dark. */
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul > li.menu-item > a {
	color: #DCE5E0;
	font-size: 13px;
	padding-block: 8px;
}
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul > li.menu-item > a:hover,
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul > li.menu-item > a:focus { color: var(--hik-white); }

/* Main navigation */
.main-navigation .primary-menu-container > ul > li.menu-item > a {
	color: var(--hik-ink);
	font-weight: 500;
	font-size: 16px;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a { color: var(--hik-green); }
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { box-shadow: inset 0 -2px 0 var(--hik-gold); }

/* Search toggle in header */
.search-toggle-open-container .search-toggle-open {
	color: var(--hik-ink);
	border-radius: var(--hik-radius-sm);
}
.search-toggle-open-container .search-toggle-open:hover { color: var(--hik-green); background: var(--hik-soft); }
#search-drawer .drawer-inner { background: rgba(29, 42, 38, .96); }

/* Mobile category chips row: keep the row inside the viewport and let the
   chips scroll sideways, starting from the right (RTL start) edge. */
#mobile-header .site-bottom-header-wrap .site-header-section,
#mobile-header .site-bottom-header-wrap .site-header-item,
#mobile-header .site-bottom-header-wrap .mobile-html,
#mobile-header .site-bottom-header-wrap .mobile-html-inner {
	min-width: 0;
	max-width: 100%;
	width: 100%;
	justify-content: flex-start;
}
#mobile-header .site-bottom-header-wrap .site-header-row { grid-template-columns: minmax(0, 1fr); }
#mobile-header .hik-chips { padding-inline: 0; }
#mobile-header .hik-chips a { text-decoration: none; flex: none; }
#mobile-header .site-bottom-header-wrap .site-header-row-container-inner {
	background: var(--hik-white);
	border-top: 1px solid var(--hik-line);
}
.hik-chips a:hover,
.hik-chips a:focus { background: var(--hik-mint); color: var(--hik-green); }

/* Off-canvas mobile menu */
#mobile-drawer .drawer-inner { background: var(--hik-ink); }
#mobile-drawer .mobile-navigation ul li > a,
#mobile-drawer .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap { font-size: 17px; }

/* --- Kadence footer ----------------------------------------------------- */

#colophon .site-middle-footer-wrap .site-footer-row-container-inner {
	background: var(--hik-ink);
	padding-block: var(--hik-space-7) var(--hik-space-5);
}
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner {
	background: #16201D;
	color: #A9B8B1;
	font-size: 13px;
}
#colophon .site-bottom-footer-wrap .footer-html p { margin: 0; }
#colophon .footer-widget-area .widget { margin: 0; }
/* Kadence centres footer content on tablet/mobile; RTL lists read better from the start edge. */
#colophon .site-middle-footer-wrap .footer-widget-area,
#colophon .site-middle-footer-wrap .footer-widget-area-inner { text-align: start; }

/* ==========================================================================
   Content templates (1.2.0): single post, archives, search, 404
   ========================================================================== */

/* --- Single post header ------------------------------------------------- */

.entry-header.post-title .entry-title {
	margin: 4px 0 10px;
	font-size: clamp(27px, 3.4vw, 40px);
	line-height: 1.5;
	text-wrap: balance;
}
.kadence-breadcrumbs { margin-bottom: 10px; font-size: var(--hik-fs-xs); color: var(--hik-muted); }
.kadence-breadcrumbs a { color: var(--hik-muted); text-decoration: none; }
.kadence-breadcrumbs a:hover { color: var(--hik-green); }
.kadence-breadcrumbs .bc-delimiter { margin-inline: 6px; color: var(--hik-subtle); }
.entry-header.post-title .entry-taxonomies a {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--hik-mint);
	color: var(--hik-green);
	font-size: var(--hik-fs-xs);
	font-weight: 600;
	text-decoration: none;
}
.title-entry-excerpt p {
	margin: 0 0 14px;
	color: var(--hik-muted);
	font-size: var(--hik-fs-lg);
	line-height: 1.8;
}
.entry-header.post-title .entry-meta { color: var(--hik-muted); font-size: var(--hik-fs-sm); }
.entry-header.post-title .entry-meta .meta-label { margin-inline-end: 4px; }
.entry-header.post-title .entry-meta a { color: var(--hik-ink); font-weight: 600; text-decoration: none; }
.article-post-thumbnail .post-thumbnail-inner,
.article-post-thumbnail img { border-radius: var(--hik-radius); }
.single-post .article-post-thumbnail { margin-bottom: var(--hik-space-6); }

/* --- Table of contents (functions.php → hiksa_child_toc) -------------- */

.hik-toc {
	margin-block: var(--hik-space-5);
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	background: var(--hik-soft);
}
.hik-toc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	font-weight: 700;
	color: var(--hik-ink);
	cursor: pointer;
	list-style: none;
}
.hik-toc summary::-webkit-details-marker { display: none; }
.hik-toc summary::after { content: "▾"; color: var(--hik-green); transition: transform .15s; }
.hik-toc details:not([open]) summary::after { transform: rotate(90deg); }
.hik-toc ol {
	margin: 0;
	padding: 0 20px 16px;
	padding-inline-start: 40px;
	display: grid;
	gap: 6px;
	font-size: var(--hik-fs-sm);
}
.hik-toc a { color: var(--hik-ink); text-decoration: none; }
.hik-toc a:hover,
.hik-toc a:focus { color: var(--hik-green); text-decoration: underline; }
.single-content h2[id] { scroll-margin-top: 100px; }

/* --- Review verdict box --------------------------------------------- */

.hik-verdict {
	margin-block: var(--hik-space-5);
	padding: var(--hik-space-5);
	border: 2px solid var(--hik-green);
	border-radius: var(--hik-radius-lg);
	background: var(--hik-white);
	box-shadow: var(--hik-shadow-md);
}
.hik-verdict-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.hik-verdict-head p { margin: 0; }
.hik-verdict .hik-verdict-text { margin: 14px 0 0; font-size: var(--hik-fs-lg); font-weight: 600; color: var(--hik-ink); }
.hik-verdict .hik-proscons { margin-block: var(--hik-space-4); }
.hik-verdict .hik-proscons > .wp-block-group { padding: var(--hik-space-4); box-shadow: none; }
.hik-verdict .wp-block-buttons { margin: 0; }
.hik-verdict .hik-price-note { margin: 8px 0 0; color: var(--hik-muted); font-size: 12px; }
.hik-specs-table table { min-width: 0; }

/* --- FAQ (details blocks) and sources ------------------------------- */

.wp-block-details.hik-faq {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--hik-line);
}
.wp-block-details.hik-faq:first-of-type { border-top: 1px solid var(--hik-line); }
.wp-block-details.hik-faq summary {
	position: relative;
	padding: 16px 0;
	padding-inline-end: 36px;
	font-weight: 600;
	color: var(--hik-ink);
	cursor: pointer;
	list-style: none;
}
.wp-block-details.hik-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.hik-faq summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--hik-mint);
	color: var(--hik-green);
	font-weight: 700;
	line-height: 24px;
	text-align: center;
}
.wp-block-details.hik-faq[open] summary::after { content: "−"; }
.wp-block-details.hik-faq > :not(summary) { margin: 0 0 16px; color: var(--hik-text); }
.hik-sources { font-size: var(--hik-fs-sm); color: var(--hik-muted); }
.hik-last-checked {
	display: inline-block;
	margin-top: var(--hik-space-2);
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--hik-soft);
	color: var(--hik-muted);
	font-size: var(--hik-fs-xs) !important;
}

/* --- Post footer: tags, author, related ------------------------------ */

.entry-footer .entry-tags a {
	display: inline-block;
	margin: 0 0 6px;
	margin-inline-end: 6px;
	padding: 4px 12px;
	border: 1px solid var(--hik-line);
	border-radius: 999px;
	color: var(--hik-ink);
	font-size: var(--hik-fs-xs);
	text-decoration: none;
}
.entry-footer .entry-tags a:hover { border-color: var(--hik-green); color: var(--hik-green); }
.entry-author {
	margin-block: var(--hik-space-6);
	padding: var(--hik-space-5);
	border-radius: var(--hik-radius);
	background: var(--hik-soft);
}
.entry-author .entry-author-profile { padding-inline-start: 0; }
.entry-author .entry-author-name { font-family: var(--hik-font-head); color: var(--hik-ink); font-size: 17px; }
.entry-author .entry-author-description { color: var(--hik-muted); font-size: var(--hik-fs-sm); }
.entry-related { background: var(--hik-soft); }
.entry-related .entry-related-title { font-size: var(--hik-fs-h2); }

/* --- Archive & search cards (Kadence loop) ---------------------------- */

.kadence-posts-list .loop-entry,
.entry-related .loop-entry {
	overflow: hidden;
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	background: var(--hik-white);
	box-shadow: var(--hik-shadow-sm);
	transition: box-shadow .15s, transform .15s;
}
.kadence-posts-list .loop-entry:hover,
.kadence-posts-list .loop-entry:focus-within { box-shadow: var(--hik-shadow-md); transform: translateY(-2px); }
.kadence-posts-list .loop-entry .post-thumbnail,
.entry-related .loop-entry .post-thumbnail { margin: 0; border-radius: 0; }
.kadence-posts-list .loop-entry .entry-content-wrap,
.entry-related .loop-entry .entry-content-wrap { padding: 18px 20px 20px; }
.loop-entry .entry-title { font-size: 18px; line-height: 1.6; }
.loop-entry .entry-title a { color: var(--hik-ink); text-decoration: none; }
.loop-entry .entry-title a:hover { color: var(--hik-green); }
.loop-entry .entry-taxonomies a { color: var(--hik-green); font-size: var(--hik-fs-xs); font-weight: 600; text-decoration: none; }
.loop-entry .entry-meta { color: var(--hik-muted); font-size: var(--hik-fs-xs); }
.loop-entry .entry-summary p { margin: 0; color: var(--hik-muted); font-size: var(--hik-fs-sm); }

/* Archive / search header band */
.entry-hero.post-archive-hero-section .entry-hero-container-inner,
.entry-hero.search-archive-hero-section .entry-hero-container-inner {
	background: var(--hik-sand) var(--hik-sadu-stripe) bottom / 16px 6px repeat-x;
}
/* Kadence centres the hero header (flex, centre); keep titles on the RTL start edge. */
.entry-hero .entry-header.post-archive-title,
.entry-hero .entry-header.search-archive-title {
	align-items: flex-start;
	justify-content: center;
	text-align: start;
}
.entry-hero .search-title { font-size: var(--hik-fs-h2); margin: 0; }
.entry-hero .archive-title { font-size: var(--hik-fs-h1); margin: 0; }
.entry-hero .archive-description { max-width: 40em; color: var(--hik-muted); font-size: var(--hik-fs-lg); }
.entry-hero .archive-description p { margin: 8px 0 0; }

/* --- 404 & empty search ---------------------------------------------- */

.hik-error .hik-error-lead { font-size: var(--hik-fs-lg); color: var(--hik-ink); }
.hik-404 { padding-block: var(--hik-space-6); }
.hik-404 .hik-404-code {
	margin: 0;
	font-family: var(--hik-font-head);
	font-size: clamp(64px, 12vw, 120px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--hik-mint);
	-webkit-text-stroke: 2px var(--hik-green);
}
.hik-404 h1 { margin: 8px 0 12px; }
.hik-error .hik-search { margin-block: var(--hik-space-5) var(--hik-space-4); }
.hik-error .hik-chip-links { margin-bottom: var(--hik-space-6); }
.hik-404 .hik-404-home { margin-top: var(--hik-space-5); }
.hik-error .hik-error-sub { margin: var(--hik-space-7) 0 var(--hik-space-4); font-size: var(--hik-fs-h3); }

/* ==========================================================================
   Core & legal pages (1.3.0)
   ========================================================================== */

.entry-hero.page-hero-section .entry-hero-container-inner {
	background: var(--hik-sand) var(--hik-sadu-stripe) bottom / 16px 6px repeat-x;
}
.entry-hero.page-hero-section .entry-header {
	align-items: flex-start;
	text-align: start;
}
.entry-hero.page-hero-section .entry-title { margin: 0; font-size: var(--hik-fs-h1); }
.hik-page-lead {
	font-size: var(--hik-fs-lg) !important;
	line-height: 1.9;
	color: var(--hik-ink);
}
.page .entry-content > ul li,
.page .entry-content > ol li { margin-bottom: 6px; }

/* Content the site owner must complete before publishing */
mark.hik-fill {
	padding: 1px 6px;
	border-radius: 6px;
	background: #FFF0B8;
	color: #5C4300;
	box-shadow: inset 0 0 0 1px #F2D27A;
}

.hik-info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
	gap: var(--hik-space-4);
	margin-block: var(--hik-space-5);
}
.hik-info-card {
	padding: var(--hik-space-5);
	border: 1px solid var(--hik-line);
	border-radius: var(--hik-radius);
	background: var(--hik-white);
}
.hik-info-card h3 { margin: 0 0 6px; font-size: 17px; }
.hik-info-card h3 a { color: var(--hik-ink); text-decoration: none; }
.hik-info-card h3 a:hover { color: var(--hik-green); }
.hik-info-card p { margin: 0; color: var(--hik-muted); font-size: var(--hik-fs-sm) !important; }

.hik-contact-box {
	margin-block: var(--hik-space-5);
	padding: var(--hik-space-5);
	border-radius: var(--hik-radius-lg);
	background: var(--hik-green);
	color: var(--hik-white);
}
.hik-contact-box .hik-callout-title { color: var(--hik-gold); }
.hik-contact-box .hik-contact-email { margin: 0 0 8px; font-size: clamp(16px, 4.8vw, 20px) !important; font-weight: 600; overflow-wrap: anywhere; }
.hik-contact-box .hik-contact-email a { color: var(--hik-white); }
.hik-contact-box .hik-meta { color: var(--hik-on-green); }
.page .entry-content > .hik-cats { margin-block: var(--hik-space-5); }

/* --- Catalog plugin output (.dl-*) inside the theme (1.3.1) ------------- */

/* Spec names stay visible while the comparison scrolls sideways on phones. */
.dl-cmp th[scope="row"] {
	position: sticky;
	inset-inline-start: 0;
	z-index: 1;
	background: var(--hik-white);
	box-shadow: inset -1px 0 0 var(--hik-line);
}
.dl-cmp thead th:first-child { position: sticky; inset-inline-start: 0; z-index: 2; }
.hik-toc + .dl-summary { margin-top: var(--hik-space-5); }

/* --- Tap targets ≥ 24px (WCAG 2.2 target size) — 1.5.0 ----------------- */

.kadence-breadcrumbs a,
.entry-header.post-title .entry-meta a { display: inline-block; padding-block: 4px; }
.entry-header.post-title .entry-taxonomies a { padding: 4px 12px; line-height: 1.5; }
/* Related-posts carousel dots: 24px hit area around a 10px dot. */
.entry-related .splide__pagination__page {
	width: 24px;
	height: 24px;
	padding: 7px;
	background-clip: content-box;
	box-sizing: border-box;
}

/* --- Ad slot (1.4.0): fixed height so an ad never pushes content (CLS) ---- */

.hik-ad {
	position: relative;
	min-height: 280px;
	margin-block: var(--hik-space-6);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--hik-radius-sm);
	background: var(--hik-soft);
}
.hik-ad .hik-ad-label {
	position: absolute;
	top: 6px;
	inset-inline-start: 10px;
	margin: 0 !important;
	color: var(--hik-muted);
	font-size: 12px !important;
}
/* Hidden while empty (no ad code yet); once ad code is inside, its height is reserved. */
.hik-ad:not(:has(ins, iframe, script)) { display: none; }
@media (min-width: 782px) {
	.hik-ad { min-height: 250px; }
}

/* --- Design-system reference page --------------------------------------- */

.hik-ds-swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr));
	gap: 12px;
	margin-bottom: var(--hik-space-7);
}
.hik-swatch {
	min-height: 96px;
	display: flex;
	align-items: flex-end;
	padding: 12px;
	border-radius: var(--hik-radius-sm);
	border: 1px solid var(--hik-line);
	color: var(--hik-ink);
	font-size: var(--hik-fs-xs);
}
.hik-swatch p { margin: 0; line-height: 1.6; }
.hik-swatch--dark { color: var(--hik-white); border-color: transparent; }
.hik-ds-row { display: flex; flex-wrap: wrap; gap: 8px; margin-block: var(--hik-space-4) var(--hik-space-7); }
.hik-ds-products { max-width: 300px; margin-block: var(--hik-space-5) var(--hik-space-7); }

/* --- Breakpoint helpers --------------------------------------------------- */

@media (max-width: 600px) {
	.hik-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.hik-product { padding: 12px; gap: 8px; }
	.hik-product h3 { font-size: 15px; }
	.hik-product .wp-block-list.is-style-hik-specs { display: none; }
	.hik-product .wp-block-button__link { padding: 9px 10px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
	.hik-cards .wp-block-post { transition: none; }
	.hik-cards .wp-block-post:hover { transform: none; }
}
