/* =========================================================================
   Fatih Heritage - vintage luxury, RTL-first (logical properties everywhere)
   Palette (from the Fatih Gold Price app): antique gold, cream, espresso, bronze, olive.
   Motifs: engraved hairlines, eight-point star, art-deco corner frames.
   ========================================================================= */

:root {
	/* Palette: plum-black darks, plum, mauve, cream, taupe, gold. */
	--plum: #73104c;
	--plum-2: #8d1c61;
	--mauve: #bd85a8;
	--ink: #1f0616;
	--espresso: #3b0a2a;
	--umber: #4d1238;
	--gold: #af913c;
	--gold-2: #d2b96f;
	--gold-soft: rgba(167, 146, 119, 0.45);
	--champagne: #ece2c8;
	--olive: #4e6538;
	--gold-ink: #73104c;
	--parchment: #ebe0da;
	--ivory: #f3ebe7;
	--taupe: #a79277;
	--bronze: #7a6a58;
	--text: #26121e;
	--muted: #5f5866;
	--f-display: "Cairo", system-ui, sans-serif;
	--f-body: "Cairo", system-ui, sans-serif;
	--f-label: "Cairo", system-ui, sans-serif;
	--f-num: "Cairo", system-ui, sans-serif;
	--w: 1240px;
	--gutter: clamp(1rem, 4vw, 2.5rem);
	--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.36  0 0 0 0 0.2  0 0 0 0.09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
	--star: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='none' stroke='%23af913c' stroke-opacity='.22' stroke-width='1'><path d='M60 6l9.4 22.6L92 19l-9.6 22.6L105 51l-22.6 9.4L92 83l-22.6-9.4L60 96 50.6 73.6 28 83l9.6-22.6L15 51l22.6-9.4L28 19l22.6 9.6z'/><circle cx='60' cy='51' r='8'/></g></svg>");
}

/* ---------- Base ---------------------------------------------------------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.fh {
	margin: 0;
	background: var(--ivory) var(--grain);
	color: var(--text);
	font-family: var(--f-body);
	font-size: clamp(1rem, 0.96rem + 0.2vw, 1.1rem);
	line-height: 1.85;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
.fh *, .fh *::before, .fh *::after { box-sizing: border-box; }
.fh img { max-width: 100%; height: auto; display: block; }
.fh :where(a) { color: inherit; text-decoration-color: var(--plum); text-underline-offset: 4px; }
.fh h1, .fh h2, .fh h3, .fh h4 { font-family: var(--f-display); font-weight: 700; line-height: 1.4; margin: 0 0 0.6em; color: var(--ink); }
.fh h1 { font-size: clamp(2.2rem, 1.4rem + 3.6vw, 4.4rem); }
.fh h2 { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.7rem); }
.fh h3 { font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.65rem); }
.fh p { margin: 0 0 1.1em; }
.fh-wrap { width: min(100% - 2 * var(--gutter), var(--w)); margin-inline: auto; }
.fh-skip { position: absolute; inset-inline-start: 1rem; top: -5rem; z-index: 999; background: var(--ink); color: var(--ivory); padding: 0.6rem 1rem; }
.fh-skip:focus { top: 1rem; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* label style: Kufi, tracked (Latin only gets tracking; Arabic stays connected) */
.fh-eyebrow { display: inline-flex; align-items: center; gap: 0.7rem; font-family: var(--f-label); font-weight: 500; font-size: 0.85rem; color: var(--plum); margin: 0 0 1rem; }
.fh-eyebrow::before, .fh-diamond { content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; background: var(--gold); transform: rotate(45deg); flex: none; }
html[lang^="en"] .fh-eyebrow, html[lang^="tr"] .fh-eyebrow { letter-spacing: 0.28em; text-transform: uppercase; }

/* ornament: hairline with centred diamond */
.fh-orn { display: flex; align-items: center; gap: 1rem; color: var(--plum); margin: 1.2rem 0; }
.fh-orn::before, .fh-orn::after { content: ""; flex: 1; height: 1px; background: linear-gradient(to right, transparent, var(--gold-soft)); }
.fh-orn::after { transform: scaleX(-1); }
.fh-orn i { width: 0.55rem; height: 0.55rem; background: currentColor; transform: rotate(45deg); }

/* ---------- Buttons ------------------------------------------------------- */
.fh-btn, .fh .wp-block-button__link, .fh .wp-element-button {
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
	padding: 0.85rem 2rem; min-height: 48px;
	font-family: var(--f-label); font-weight: 500; font-size: 0.95rem; text-decoration: none; cursor: pointer;
	color: var(--ivory); background: var(--plum); border: 1px solid var(--plum); border-radius: 0;
	transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}
.fh-btn::before, .fh .wp-block-button__link::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(100deg, var(--gold-2), var(--champagne) 50%, var(--gold-2));
	transform: scaleX(0); transform-origin: 100% 50%; transition: transform 0.5s var(--ease);
}
.fh-btn:hover::before, .fh-btn:focus-visible::before, .fh .wp-block-button__link:hover::before { transform: scaleX(1); }
.fh-btn:hover, .fh .wp-block-button__link:hover { color: var(--ink); border-color: var(--plum); }
.fh-btn--ghost { background: transparent; color: var(--ink); border-color: var(--plum); }
.fh-btn--gold { background: var(--gold-2); border-color: var(--gold-2); color: var(--plum); font-weight: 700; }
.fh-btn--gold::before { background: var(--ivory); }
.fh-btn--gold:hover { color: var(--plum); border-color: var(--ivory); }
.fh-dark .fh-btn--ghost, .fh-section--dark .fh-btn--ghost, .fh-hero .fh-btn--ghost { color: var(--ivory); }
.fh-dark .fh-btn--ghost:hover, .fh-section--dark .fh-btn--ghost:hover, .fh-hero .fh-btn--ghost:hover { color: var(--plum); }
/* text link with animated underline, "Explore" style (from Mouawad) */

/* ---------- Top bar + Header --------------------------------------------- */
.fh-topbar { background: var(--ink); color: var(--gold-2); font-family: var(--f-label); font-size: 0.82rem; }
.fh-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 40px; }
.fh-topbar p { margin: 0; display: flex; align-items: center; gap: 0.6rem; }
.fh-topbar__links { gap: 1.4rem !important; }
.fh-topbar a { text-decoration: none; }
.fh-topbar a:hover { color: #fff; }
@media (max-width: 640px) { .fh-topbar .fh-topbar__msg { display: none; } .fh-topbar__inner { justify-content: center; } }

.fh-header { position: sticky; top: 0; z-index: 90; background: color-mix(in srgb, var(--ivory) 92%, transparent); backdrop-filter: blur(10px); border-block-end: 1px solid var(--gold-soft); transition: box-shadow 0.3s; }
.fh-header.is-stuck { box-shadow: 0 10px 30px -18px rgba(31, 6, 22, 0.5); }
.fh-header__inner { display: flex; align-items: center; gap: 1.5rem; min-height: 78px; }
.fh-brand { display: flex; align-items: center; gap: 0.8rem; text-decoration: none !important; color: var(--ink); }
.fh-brand__star { color: var(--plum); transition: transform 1.2s var(--ease); flex: none; }
.fh-brand:hover .fh-brand__star { transform: rotate(180deg); }
.fh-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.fh-brand__name { font-family: var(--f-display); font-weight: 700; font-size: 1.7rem; }
.fh-brand__tag { font-family: var(--f-label); font-size: 0.68rem; color: var(--plum); }
.fh-header__actions { margin-inline-start: auto; display: flex; align-items: center; gap: 1rem; }
.fh-icon-link { display: grid; place-items: center; width: 44px; height: 44px; color: var(--ink); }
.fh-icon-link:hover { color: var(--plum); }
.fh-header__cta { padding: 0.55rem 1.3rem; min-height: 44px; }

/* desktop navigation: pure CSS dropdowns (also open on keyboard focus) */
.fh-nav { flex: 1; display: flex; justify-content: center; }
.fh-nav__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.25rem 1.6rem; list-style: none; margin: 0; padding: 0; font-family: var(--f-label); font-size: 0.95rem; }
.fh-nav__list > li { position: relative; }
.fh-nav__list a { display: block; padding: 0.9rem 0; text-decoration: none; position: relative; }
.fh-nav__list > li > a::after { content: ""; position: absolute; inset-inline: 0; bottom: 0.55rem; height: 1px; background: var(--gold); transform: scaleX(0); transition: transform 0.35s var(--ease); }
.fh-nav__list > li:hover > a::after, .fh-nav__list > li:focus-within > a::after { transform: scaleX(1); }
.fh-nav__accent > a { color: inherit; }
.fh-nav__sub { position: absolute; inset-inline-start: -1rem; top: 100%; min-width: 230px; margin: 0; padding: 0.8rem 1rem; list-style: none; background: var(--ivory); border: 1px solid var(--gold-soft); box-shadow: 0 22px 40px -22px rgba(31, 6, 22, 0.6); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.25s, transform 0.25s var(--ease), visibility 0.25s; }
.fh-nav__sub::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--gold), var(--gold-2), var(--gold)); }
.fh-nav__sub a { padding: 0.45rem 0; }
.fh-nav__sub a:hover { color: var(--plum); }
.has-children:hover > .fh-nav__sub, .has-children:focus-within > .fh-nav__sub { opacity: 1; visibility: visible; transform: none; }

/* mobile: CSS checkbox off-canvas (links stay in the DOM) */
.fh-nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
.fh-burger { display: none; width: 44px; height: 44px; cursor: pointer; place-items: center; }
.fh-burger span, .fh-burger span::before, .fh-burger span::after { display: block; width: 24px; height: 1.5px; background: var(--ink); position: relative; transition: transform 0.35s var(--ease), background 0.2s; }
.fh-burger span::before, .fh-burger span::after { content: ""; position: absolute; inset-inline-start: 0; }
.fh-burger span::before { top: -7px; } .fh-burger span::after { top: 7px; }
.fh-nav-toggle:checked ~ .fh-burger span { background: transparent; }
.fh-nav-toggle:checked ~ .fh-burger span::before { transform: translateY(7px) rotate(45deg); }
.fh-nav-toggle:checked ~ .fh-burger span::after { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 980px) {
	.fh-header__inner { gap: 0.5rem; min-height: 68px; }
	.fh-burger { display: grid; }
	.fh-brand { margin-inline: auto; }
	.fh-brand__tag { display: none; }
	.fh-header__cta { display: none; }
	.fh-nav { position: fixed; inset: 0; z-index: 80; background: var(--espresso) var(--star); color: var(--ivory); padding: 6.5rem var(--gutter) 3rem; overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform 0.55s var(--ease), visibility 0.55s; display: block; }
	[dir="ltr"] .fh-nav { transform: translateX(-100%); }
	.fh-nav-toggle:checked ~ .fh-nav { transform: none; visibility: visible; }
	.fh-burger { position: relative; z-index: 95; }
	.fh-nav-toggle:checked ~ .fh-burger span::before, .fh-nav-toggle:checked ~ .fh-burger span::after { background: var(--gold-2); }
	.fh-nav__list { display: block; font-size: 1.4rem; }
	.fh-nav__list > li { border-block-end: 1px solid rgba(210, 185, 111, 0.2); }
	.fh-nav__list a { padding: 1rem 0; }
	.fh-nav__list > li > a::after { display: none; }
	.fh-nav__sub { position: static; opacity: 1; visibility: visible; transform: none; background: transparent; border: 0; box-shadow: none; padding: 0 1rem 0.8rem; font-size: 1.05rem; }
	.fh-nav__sub::before { display: none; }
	.fh-nav__sub a { color: var(--gold-2); }
}

/* ---------- Breadcrumbs --------------------------------------------------- */
.fh-crumbs { background: var(--parchment); border-block-end: 1px solid var(--gold-soft); font-family: var(--f-label); font-size: 0.82rem; }
.fh-crumbs ol { display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; list-style: none; margin: 0 auto; padding: 0.7rem var(--gutter); width: min(100%, var(--w)); color: var(--muted); }
.fh-crumbs li + li::before { content: "◆"; font-size: 0.5rem; color: var(--plum); margin-inline-end: 0.6rem; vertical-align: middle; }
.fh-crumbs a { text-decoration: none; } .fh-crumbs a:hover { color: var(--plum); }

/* ---------- Sections ------------------------------------------------------ */
.fh-main { min-height: 50vh; }
.fh-section { padding-block: clamp(3.5rem, 8vw, 7rem); position: relative; }
.fh-section--dark, .fh-dark { background: var(--espresso) var(--star); color: var(--ivory); }
.fh-section--dark h2, .fh-section--dark h3, .fh-dark h2, .fh-dark h3 { color: var(--ivory); }
.fh-section--parchment { background: var(--parchment) var(--grain); }
.fh-section__head { max-width: 46rem; margin-inline: auto; text-align: center; margin-block-end: 2.5rem; }
.fh-section__head p { color: var(--muted); }
.fh-dark .fh-section__head p, .fh-section--dark .fh-section__head p { color: rgba(243, 235, 231, 0.75); }

/* ---------- Hero ---------------------------------------------------------- */
.fh-hero { position: relative; isolation: isolate; min-height: min(86vh, 880px); min-height: min(86svh, 880px); display: grid; align-items: end; color: var(--ivory); background: var(--ink); overflow: clip; }
.fh-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(to left, rgba(31, 6, 22, 0.9) 0%, rgba(31, 6, 22, 0.6) 40%, rgba(31, 6, 22, 0.08) 78%), linear-gradient(180deg, rgba(31, 6, 22, 0.5), transparent 28%, rgba(31, 6, 22, 0.75)); }
[dir="ltr"] .fh-hero::before { background: linear-gradient(to right, rgba(31, 6, 22, 0.9) 0%, rgba(31, 6, 22, 0.6) 40%, rgba(31, 6, 22, 0.08) 78%), linear-gradient(180deg, rgba(31, 6, 22, 0.5), transparent 28%, rgba(31, 6, 22, 0.75)); }
.fh-hero::after { /* slow-turning star */ content: ""; position: absolute; z-index: -1; width: min(90vw, 780px); aspect-ratio: 1; inset-inline-end: -12%; top: 50%; margin-top: calc(min(90vw, 780px) / -2); background: var(--star) center / 200px; opacity: 0.55; animation: fh-spin 120s linear infinite; mask-image: radial-gradient(circle, #000 30%, transparent 70%); }
.fh-hero__inner { padding-block: clamp(6rem, 14vw, 9rem) clamp(5.5rem, 9vw, 7.5rem); max-width: 52rem; }
.fh-hero h1 { color: var(--ivory); text-wrap: balance; text-shadow: 0 2px 30px rgba(0, 0, 0, 0.35); }
.fh-hero h1 em { font-style: normal; color: var(--gold-2); }
.fh-hero__lead { font-size: clamp(1.1rem, 1rem + 0.6vw, 1.45rem); color: rgba(243, 235, 231, 0.86); max-width: 38rem; }
.fh-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-block-start: 2rem; }
.fh-hero__frame { position: absolute; inset: clamp(0.8rem, 2vw, 1.6rem); border: 1px solid rgba(210, 185, 111, 0.35); pointer-events: none; }
.fh-hero__frame::before, .fh-hero__frame::after { content: ""; position: absolute; width: 22px; height: 22px; border: 1px solid var(--gold-2); }
.fh-hero__frame::before { top: -1px; inset-inline-start: -1px; border-inline-end: 0; border-block-end: 0; }
.fh-hero__frame::after { bottom: -1px; inset-inline-end: -1px; border-inline-start: 0; border-block-start: 0; }
.fh-scrollcue { position: absolute; inset-inline-start: 50%; bottom: 2rem; width: 1px; height: 64px; background: linear-gradient(var(--gold-2), transparent); transform-origin: top; animation: fh-cue 2.4s var(--ease) infinite; }

/* page-load choreography (staggered) */
.fh-hero__inner > * { opacity: 0; transform: translateY(26px); animation: fh-rise 1s var(--ease) forwards; }
.fh-hero__inner > *:nth-child(1) { animation-delay: 0.2s; } .fh-hero__inner > *:nth-child(2) { animation-delay: 0.4s; }
.fh-hero__inner > *:nth-child(3) { animation-delay: 0.65s; } .fh-hero__inner > *:nth-child(4) { animation-delay: 0.85s; }

/* ---------- Marquee (trust signals) --------------------------------------- */
.fh-marquee { background: var(--ink); color: var(--gold-2); border-block: 1px solid rgba(210, 185, 111, 0.3); overflow: hidden; font-family: var(--f-label); font-size: 0.95rem; }
.fh-marquee__track { display: flex; width: max-content; gap: 3rem; padding-block: 0.95rem; animation: fh-marquee 38s linear infinite; }
.fh-marquee:hover .fh-marquee__track { animation-play-state: paused; }
.fh-marquee__track span { display: inline-flex; align-items: center; gap: 3rem; white-space: nowrap; }
.fh-marquee__track span::after { content: "◆"; font-size: 0.55rem; color: var(--plum); }

/* ---------- Category cards ------------------------------------------------ */
.fh-cards { display: grid; gap: clamp(0.8rem, 2vw, 1.6rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); list-style: none; margin: 0; padding: 0; }
.fh-card { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5; color: var(--ivory); text-decoration: none; background: var(--umber); isolation: isolate; }
.fh-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--ease), filter 0.6s; }
.fh-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 45%, rgba(31, 6, 22, 0.9)); }
.fh-card::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(210, 185, 111, 0.0); transition: border-color 0.5s, inset 0.5s var(--ease); }
.fh-card:hover img { transform: scale(1.08); }
.fh-card:hover::after, .fh-card:focus-visible::after { border-color: var(--gold-2); inset: 8px; }
.fh-card__body { position: absolute; inset-inline: 0; bottom: 0; padding: 1.3rem; }
.fh-card__title { margin: 0; color: var(--ivory); font-size: 1.45rem; }
.fh-card__more { font-family: var(--f-label); font-size: 0.8rem; color: var(--gold-2); opacity: 0; transform: translateY(8px); transition: 0.4s var(--ease); display: block; margin-block-start: 0.2rem; }
.fh-card:hover .fh-card__more, .fh-card:focus-visible .fh-card__more { opacity: 1; transform: none; }

/* ---------- Split (story) ------------------------------------------------- */
.fh-split { display: grid; gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
@media (min-width: 900px) { .fh-split { grid-template-columns: 1fr 1fr; } .fh-split--flip > :first-child { order: 2; } }
.fh-split__media { position: relative; }
.fh-split__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.fh-split__media::before { content: ""; position: absolute; inset: 1.2rem -1.2rem -1.2rem 1.2rem; border: 1px solid var(--gold); z-index: -1; }
[dir="rtl"] .fh-split__media::before { inset: 1.2rem 1.2rem -1.2rem -1.2rem; }

/* ---------- Grid of trust facts ------------------------------------------ */
.fh-facts { display: grid; gap: 1px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); background: var(--gold-soft); border: 1px solid var(--gold-soft); list-style: none; padding: 0; margin: 0; }
.fh-facts li { background: var(--ivory); padding: 2rem 1.4rem; text-align: center; }
.fh-facts strong { display: block; font-family: var(--f-display); font-size: 1.35rem; color: var(--ink); }
.fh-facts span { color: var(--muted); font-size: 0.95rem; }
.fh-dark .fh-facts li, .fh-section--dark .fh-facts li { background: var(--espresso); } .fh-dark .fh-facts strong, .fh-section--dark .fh-facts strong { color: var(--gold-2); font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); font-weight: 700; } .fh-dark .fh-facts span, .fh-section--dark .fh-facts span { color: rgba(243, 235, 231, 0.75); }
.fh-section--dark .fh-facts { background: rgba(210, 185, 111, 0.25); border-color: rgba(210, 185, 111, 0.25); }

/* ---------- WooCommerce: product grids ----------------------------------- */
.fh .woocommerce ul.products, .fh ul.products { display: grid !important; gap: clamp(1rem, 2vw, 1.8rem); grid-template-columns: repeat(2, 1fr); list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .fh ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .fh ul.products { grid-template-columns: repeat(4, 1fr); } }
.fh ul.products li.product { position: relative; margin: 0 !important; width: auto !important; float: none !important; background: #fff; border: 1px solid rgba(167, 146, 119, 0.25); transition: transform 0.5s var(--ease), box-shadow 0.5s; text-align: center; }
.fh ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 26px 40px -26px rgba(31, 6, 22, 0.55); }
.fh ul.products li.product img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; transition: transform 0.9s var(--ease); }
.fh ul.products li.product:hover img { transform: scale(1.05); }
.fh ul.products li.product a.woocommerce-LoopProduct-link { display: block; overflow: hidden; text-decoration: none; }
.fh ul.products li.product .woocommerce-loop-product__title { font-family: var(--f-display); font-size: 1.15rem !important; padding: 1rem 0.8rem 0.2rem !important; color: var(--ink); min-height: 4.2rem; }
.fh ul.products li.product .price { display: block; font-family: var(--f-num); font-weight: 600; font-size: 1.2rem; color: var(--plum); padding-block-end: 1.1rem; }
.fh ul.products li.product .price ins { text-decoration: none; }
.fh ul.products li.product .onsale { position: absolute; z-index: 2; top: 0.7rem; inset-inline-start: 0.7rem; background: var(--bronze); color: var(--ivory); border-radius: 0; font-family: var(--f-label); padding: 0.2rem 0.7rem; min-height: 0; min-width: 0; line-height: 1.6; }
.fh ul.products li.product .fh-spec { display: block; font-family: var(--f-label); font-size: 0.85rem; color: var(--muted); padding-inline: 0.8rem; margin-block-end: 0.3rem; }

/* ---------- Category landing page ---------------------------------------- */
.fh-cat-hero { background: var(--espresso) var(--star); color: var(--ivory); text-align: center; padding-block: clamp(3rem, 7vw, 5.5rem); position: relative; }
.fh-cat-hero h1 { color: var(--ivory); margin-block-end: 0.3em; }
.fh-cat-hero .term-description { max-width: 46rem; margin-inline: auto; color: rgba(243, 235, 231, 0.82); }
.fh-cat-subs { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; list-style: none; padding: 0; margin: 1.6rem 0 0; }
.fh-cat-subs a { display: inline-block; padding: 0.45rem 1.1rem; border: 1px solid rgba(210, 185, 111, 0.5); color: var(--gold-2); text-decoration: none; font-family: var(--f-label); font-size: 0.88rem; transition: 0.3s; }
.fh-cat-subs a:hover { background: var(--gold); color: var(--ink); border-color: var(--plum); }
.fh-shop { padding-block: clamp(2rem, 5vw, 4rem); }
.fh-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-block-end: 1.6rem; font-family: var(--f-label); font-size: 0.9rem; }
.fh-toolbar select { font-family: var(--f-label); padding: 0.55rem 1rem; border: 1px solid var(--gold-soft); background: #fff; }

/* ---------- Single product ------------------------------------------------ */
.fh-product { display: grid; gap: clamp(1.5rem, 4vw, 4rem); padding-block: clamp(2rem, 5vw, 4.5rem); }
@media (min-width: 900px) { .fh-product { grid-template-columns: 1.1fr 1fr; align-items: start; } }
.fh-product__gallery .woocommerce-product-gallery { margin: 0; }
.fh-product__gallery img { width: 100%; height: auto; }
.fh-product__summary h1 { font-size: clamp(1.8rem, 1.3rem + 2vw, 3rem); }
.fh-product__price { font-family: var(--f-num); font-weight: 600; font-size: 2rem; color: var(--plum); margin: 0.3rem 0 1rem; }
.fh-specs { width: 100%; border-collapse: collapse; margin: 1.4rem 0; font-size: 1rem; }
.fh-specs th, .fh-specs td { text-align: start; padding: 0.7rem 0.4rem; border-block-end: 1px solid var(--gold-soft); }
.fh-specs th { font-family: var(--f-label); font-weight: 500; color: var(--muted); width: 38%; }
.fh-specs td { font-weight: 700; }
.fh-inquire { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-block: 1.4rem; }
.fh-assure { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; gap: 0.5rem; font-size: 0.98rem; }
.fh-assure li { display: flex; gap: 0.7rem; align-items: baseline; }
.fh-assure li::before { content: "◆"; color: var(--plum); font-size: 0.6rem; }
.fh-panel { border: 1px solid var(--gold-soft); background: #fff; padding: clamp(1.2rem, 3vw, 2.2rem); margin-block: 1.6rem; }
.fh-panel > h2 { font-size: 1.5rem; }
.fh-related { padding-block: clamp(2.5rem, 6vw, 5rem); border-block-start: 1px solid var(--gold-soft); }

/* ---------- Posts / pages ------------------------------------------------- */
.fh-article { width: min(100% - 2 * var(--gutter), 46rem); margin-inline: auto; padding-block: clamp(2rem, 6vw, 4.5rem); }
.fh-article .entry-content > * + * { margin-block-start: 1.1em; }
.fh-article h1 { text-wrap: balance; }
.fh-meta { font-family: var(--f-label); font-size: 0.85rem; color: var(--muted); }
.fh-postgrid { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.fh-post { background: #fff; border: 1px solid var(--gold-soft); }
.fh-post img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.fh-post__body { padding: 1.2rem; }

/* ---------- Footer -------------------------------------------------------- */
.fh-footer { background: var(--ink); color: rgba(243, 235, 231, 0.8); margin-block-start: 4rem; }
.fh-trust { background: var(--espresso); border-block: 1px solid rgba(210, 185, 111, 0.25); }
.fh-trust__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1.4rem; list-style: none; margin-inline: auto; padding: 2rem 0; }
.fh-trust__list li { text-align: center; }
.fh-trust__list strong { display: block; color: var(--gold-2); font-family: var(--f-display); font-size: 1.2rem; }
.fh-trust__list span { font-size: 0.9rem; }
.fh-footer__grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); padding-block: 3.5rem; }
.fh-footer__brand { font-family: var(--f-display); font-size: 1.9rem; color: var(--gold-2); margin-block-end: 0.4rem; }
.fh-footer__title { font-family: var(--f-label); font-weight: 500; font-size: 1rem; color: var(--gold-2); margin-block-end: 1rem; }
.fh-footer ul { list-style: none; margin: 0; padding: 0; }
.fh-footer li { margin-block-end: 0.35rem; }
.fh-footer a { text-decoration: none; } .fh-footer a:hover { color: var(--gold-2); }
.fh-footer__bar { border-block-start: 1px solid rgba(210, 185, 111, 0.2); font-size: 0.85rem; padding-block: 1.1rem; text-align: center; }
.fh-footer__bar p { margin: 0; }

/* ---------- Scroll reveal (JS adds .js; content stays visible without JS) -- */
.js .fh-reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); transition-delay: var(--d, 0s); }
.js .fh-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Keyframes ----------------------------------------------------- */
@keyframes fh-rise { to { opacity: 1; transform: none; } }
@keyframes fh-kenburns { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes fh-spin { to { transform: rotate(360deg); } }
@keyframes fh-cue { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(0); transform-origin: bottom; } }
@keyframes fh-marquee { to { transform: translateX(50%); } }
[dir="ltr"] .fh-marquee__track { animation-name: fh-marquee-ltr; }
@keyframes fh-marquee-ltr { to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.fh *, .fh *::before, .fh *::after { animation: none !important; transition: none !important; }
	.fh-hero__inner > * { opacity: 1; transform: none; }
	.js .fh-reveal { opacity: 1; transform: none; }
	.fh-marquee__track { flex-wrap: wrap; width: auto; }
}

/* ---------- Additions: utilities, gallery, sticky inquiry, pagination ------ */
.fh-center { text-align: center; }
.fh-narrow { max-width: 48rem; }
.fh-btn--dark { background: var(--ink); border-color: var(--ink); color: var(--ivory); }
.fh-cta { text-align: center; }
.fh-cta h2 { color: var(--ivory); }
.fh-price--ask { font-family: var(--f-label); font-size: 0.95rem !important; color: var(--bronze) !important; font-weight: 500 !important; }
.fh-section .fh-btn, .fh-section .fh-center .fh-btn { margin-block-start: 1.6rem; }

.fh-gallery__main { background: var(--parchment); border: 1px solid var(--gold-soft); padding: 0.6rem; overflow: hidden; }
.fh-gallery__main img { width: 100%; height: auto; display: block; transition: transform 0.9s var(--ease); }
.fh-gallery__main:hover img { transform: scale(1.04); }
.fh-gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 0.6rem; list-style: none; padding: 0; margin: 0.8rem 0 0; }
.fh-gallery__thumbs a { display: block; border: 1px solid var(--gold-soft); opacity: 0.7; transition: 0.3s; }
.fh-gallery__thumbs a:hover, .fh-gallery__thumbs a.is-active { opacity: 1; border-color: var(--plum); }
.fh-gallery__thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }

.fh-stickybar { display: none; }
@media (max-width: 720px) {
	.fh-stickybar { display: block; position: fixed; inset-inline: 0; bottom: 0; z-index: 60; padding: 0.6rem var(--gutter) calc(0.6rem + env(safe-area-inset-bottom)); background: rgba(243, 235, 231, 0.96); border-block-start: 1px solid var(--gold-soft); backdrop-filter: blur(6px); }
	.fh-stickybar .fh-btn { width: 100%; margin: 0; }
	.single-product .fh-footer { padding-block-end: 4.5rem; }
}

.fh-pagination { margin-block-start: 2.5rem; }
.fh-pagination .nav-links { display: flex; justify-content: center; gap: 0.4rem; font-family: var(--f-label); }
.fh-pagination .page-numbers { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--gold-soft); text-decoration: none; }
.fh-pagination .page-numbers.current, .fh-pagination a.page-numbers:hover { background: var(--ink); color: var(--gold-2); border-color: var(--ink); }

.fh-article__hero { margin: 1.6rem 0 0; } .fh-article__hero img { width: 100%; height: auto; }
.fse-cat-content { max-width: 52rem; margin-inline: auto; margin-block: 0 2.4rem; }
.fse-cat-content--bottom { margin-block: 3rem 0; padding-block-start: 2rem; border-block-start: 1px solid var(--gold-soft); }
.search-form { display: flex; gap: 0.5rem; max-width: 30rem; margin: 1.2rem auto; }
.search-form input[type="search"] { flex: 1; min-height: 48px; padding: 0 1rem; border: 1px solid var(--gold-soft); background: #fff; font: inherit; }
.search-form input[type="submit"] { min-height: 48px; padding: 0 1.4rem; background: var(--ink); color: var(--gold-2); border: 0; font-family: var(--f-label); cursor: pointer; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }


/* ==========================================================================
   Homepage v2
   ========================================================================== */

/* --- cinematic hero: one confident image, slow push-in, text on the reading side ---- */
.fh-slides { position: absolute; inset: -9% 0; z-index: -3; will-change: translate; }
.fh-slide { position: absolute; inset: 0; }
.fh-slide img { width: 100%; height: 100%; object-fit: cover; object-position: 30% center; animation: fh-kenburns 24s var(--ease) both; }
.fh-scrollcue { display: block; }

/* text link with animated underline */
.fh-link { position: relative; display: inline-block; font-family: var(--f-label); font-size: 0.95rem; text-decoration: none; color: inherit; padding-block: 0.4rem; }
.fh-link::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 1px; background: var(--gold); transform-origin: 100% 50%; transition: transform 0.5s var(--ease); }
[dir="ltr"] .fh-link::after { transform-origin: 0 50%; }
.fh-link:hover::after { transform: scaleX(0.35); }
.fh-hero .fh-link { color: var(--ivory); }
.fh-actions { display: flex; flex-wrap: wrap; gap: 0.8rem 1rem; justify-content: center; margin-block-start: 2rem; }
.fh-hero__actions { align-items: center; }

/* --- shop by type: vintage arch windows ----------------------------------- */
.fh-arches { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: clamp(1rem, 2.4vw, 2rem); list-style: none; margin: 0; padding: 0; }
.fh-arch { display: block; text-align: center; text-decoration: none; color: var(--ink); }
.fh-arch__img { display: block; aspect-ratio: 3 / 4; border: 1px solid var(--gold); border-radius: 999px 999px 0 0; padding: 6px; background: var(--parchment); overflow: hidden; transition: box-shadow 0.5s var(--ease), transform 0.5s var(--ease); }
.fh-arch__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 999px 999px 0 0; transition: transform 1s var(--ease); }
.fh-arch:hover .fh-arch__img, .fh-arch:focus-visible .fh-arch__img { transform: translateY(-6px); box-shadow: 0 26px 34px -24px rgba(31, 6, 22, 0.6); }
.fh-arch:hover img { transform: scale(1.08); }
.fh-arch__name { display: block; font-family: var(--f-display); font-size: 1.2rem; margin-block-start: 0.9rem; line-height: 1.4; }
.fh-arch__n { display: block; font-family: var(--f-label); font-size: 0.78rem; color: var(--muted); }
@media (max-width: 720px) {
	.fh-arches { display: flex; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; touch-action: pan-x pan-y; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: var(--gutter); margin-inline: calc(var(--gutter) * -1); padding-block-end: 0.5rem; }
	.fh-arches::-webkit-scrollbar { display: none; }
	.fh-arches > li { flex: 0 0 46%; scroll-snap-align: center; }
	.fh-arches .fh-arch:hover .fh-arch__img, .fh-arches .fh-arch:focus-visible .fh-arch__img { transform: none; box-shadow: none; }
}

/* --- section head with side link ------------------------------------------ */
.fh-row__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 0.6rem 2rem; margin-block-end: clamp(1.4rem, 3vw, 2.4rem); }
.fh-row__head h2 { margin: 0; }
.fh-row__head .fh-eyebrow { margin-block-end: 0.3rem; }

/* --- full-bleed banner ----------------------------------------------------- */
.fh-banner { position: relative; isolation: isolate; color: var(--ivory); background: var(--ink); padding-block: clamp(5rem, 12vw, 9rem); overflow: clip; }
.fh-banner__bg { position: absolute; inset: 0; z-index: -2; }
.fh-banner__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.fh-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 90% at 50% 50%, rgba(31, 6, 22, 0.35), rgba(31, 6, 22, 0.9)); }
.fh-banner h2 { color: var(--ivory); text-wrap: balance; }
.fh-banner p { max-width: 40rem; margin-inline: auto; color: rgba(243, 235, 231, 0.85); }

/* --- visit us --------------------------------------------------------------- */
.fh-visit__grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 860px) { .fh-visit__grid { grid-template-columns: 1.4fr 1fr; } }
.fh-visit__addr { font-size: 1.25rem; color: var(--gold-2); max-width: 30rem; }
.fh-visit .fh-actions { justify-content: flex-start; }
.fh-visit__mark { color: var(--gold-2); justify-self: center; opacity: 0.85; }
.fh-visit__mark svg { width: min(60vw, 260px); height: auto; animation: fh-spin 90s linear infinite; }

/* --- product cards: spec line + bolder price ------------------------------ */
.fh ul.products li.product .fh-spec { min-height: 1.2rem; }
.fh-section--parchment ul.products li.product { background: var(--ivory); }

@media (prefers-reduced-motion: reduce) {
	.has-slides .fh-slide, .has-slides .fh-slide img, .fh-cap, .fh-hero__bars i { animation: none !important; }
	.has-slides .fh-slide:not(:first-child), .fh-cap:not(:first-of-type), .fh-hero__bars { display: none; }
	.fh-cap:first-of-type { opacity: 1; pointer-events: auto; }
	.fh-slide:first-child { opacity: 1 !important; }
}

/* eyebrow labels on dark surfaces */
.fh-dark .fh-eyebrow, .fh-section--dark .fh-eyebrow, .fh-cat-hero .fh-eyebrow, .fh-hero .fh-eyebrow, .fh-banner .fh-eyebrow { color: var(--gold-2); }
.fh-banner .fh-eyebrow::before, .fh-cat-hero .fh-eyebrow::before { background: var(--gold-2); }

/* --- footer: logo lockup + diamond bullets on every link ------------------- */
.fh-footer__logo { display: inline-flex; align-items: center; gap: 0.9rem; text-decoration: none; margin-block-end: 1rem; }
.fh-footer__logo img { width: 64px; height: 64px; box-shadow: 0 0 0 1px rgba(210, 185, 111, 0.45); }
.fh-footer__logo .fh-footer__brand { margin: 0; }
.fh-footer__col li { margin-block-end: 0.55rem; }
.fh-footer__col li a { position: relative; display: inline-flex; align-items: baseline; gap: 0.7rem; }
.fh-footer__col li a::before { content: ""; flex: none; width: 0.42rem; height: 0.42rem; background: var(--gold-2); transform: rotate(45deg) translateY(-1px); transition: transform 0.4s var(--ease), background 0.3s; }
.fh-footer__col li a:hover::before, .fh-footer__col li a:focus-visible::before { background: var(--ivory); transform: rotate(225deg) scale(1.35) translateY(-1px); }

/* ==========================================================================
   Inner pages: About us / Contact us
   ========================================================================== */
.fh-page-hero { padding-block: clamp(3.5rem, 8vw, 6rem); }
.fh-page-hero__lead { max-width: 44rem; margin-inline: auto; color: rgba(243, 235, 231, 0.85); font-size: 1.1rem; }
.fh-orn--light { color: var(--gold-2); justify-content: center; max-width: 22rem; margin-inline: auto; }

.fh-story { display: grid; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
@media (min-width: 900px) { .fh-story { grid-template-columns: 0.8fr 1.2fr; } }
.fh-arch-frame { max-width: 320px; margin-inline: auto; aspect-ratio: 3 / 4; border: 1px solid var(--gold); border-radius: 999px 999px 0 0; padding: 10px; background: var(--parchment); }
.fh-arch-frame { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; position: relative; }
.fh-arch-frame::before { content: ""; position: absolute; inset: 10px; border-radius: 999px 999px 0 0; background: linear-gradient(rgba(31, 6, 22, 0.55), rgba(31, 6, 22, 0.55)), url("../img/pattern-gold.webp") center / 300px; }
.fh-arch-frame > * { position: relative; }
.fh-arch-frame img { width: 96px; height: 96px; margin-block-end: 1rem; }
.fh-arch-frame strong { font-family: var(--f-num); font-size: clamp(2.8rem, 2rem + 4vw, 4.2rem); color: var(--gold-2); line-height: 1; }
.fh-arch-frame span { color: var(--ivory); font-family: var(--f-label); letter-spacing: 0.1em; }
.fh-story__text .entry-content p { font-size: 1.12rem; }
.fh-story__text .entry-content p:first-child::first-letter { font-size: 3.4em; float: inline-start; line-height: 0.9; margin-inline-end: 0.12em; color: var(--plum); font-weight: 700; }

.fh-team { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 300px)); justify-content: center; list-style: none; margin: 0; padding: 0; }
.fh-team__card { text-align: center; }
.fh-team__photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--gold); padding: 6px; background: var(--ivory); margin-block-end: 1rem; }
.fh-team__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.9); transition: transform 1s var(--ease); }
.fh-team__card:hover img { transform: scale(1.05); }
.fh-team__photo b { display: grid; place-items: center; height: 100%; font-size: 5rem; color: var(--gold-2); background: var(--espresso); }
.fh-team h3 { margin-block-end: 0.2em; }
.fh-team p { color: var(--muted); margin-block-end: 0.4rem; }

.fh-goals { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); list-style: none; margin: 0; padding: 0; counter-reset: g; }
.fh-goals li { position: relative; background: #fff; border: 1px solid var(--gold-soft); padding: 2.6rem 1.6rem 1.6rem; }
.fh-goals__n { position: absolute; top: -1.1rem; inset-inline-start: 1.4rem; background: var(--plum); color: var(--gold-2); font-family: var(--f-num); font-weight: 700; padding: 0.15rem 0.8rem; }
.fh-goals p { margin: 0; }

.fh-contact-cards { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); list-style: none; margin: 0; padding: 0; }
.fh-ccard { display: flex; flex-direction: column; align-items: center; text-align: center; height: 100%; background: #fff; border: 1px solid var(--gold-soft); padding: 2rem 1.4rem; text-decoration: none; position: relative; transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), border-color 0.4s; }
.fh-ccard:hover, .fh-ccard:focus-visible { transform: translateY(-6px); border-color: var(--gold); box-shadow: 0 26px 34px -26px rgba(31, 6, 22, 0.55); }
.fh-ccard__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--plum); color: var(--gold-2); margin-block-end: 1rem; box-shadow: 0 0 0 5px var(--ivory), 0 0 0 6px var(--gold-soft); }
.fh-ccard h3 { font-size: 1.25rem; margin-block-end: 0.3rem; }
.fh-ccard p { color: var(--muted); margin-block-end: 0.8rem; overflow-wrap: anywhere; }
.fh-ccard__go { margin-block-start: auto; font-family: var(--f-label); font-weight: 700; color: var(--plum); border-block-end: 1px solid var(--gold); padding-block-end: 0.1rem; }
.fh-hours-line { margin-block-start: 1.6rem; }

.fh-contact-grid { display: grid; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (min-width: 900px) { .fh-contact-grid { grid-template-columns: 1fr 1fr; } }
.fh-map { display: flex; flex-direction: column; gap: 1rem; }
.fh-map iframe { width: 100%; height: clamp(320px, 45vw, 480px); border: 1px solid var(--gold); padding: 6px; background: var(--ivory); filter: sepia(0.25) saturate(0.85); }
.fh-map .fh-btn { align-self: flex-start; }

/* Contact Form 7 */
.fh .wpcf7 form { display: grid; gap: 1rem; }
.fh .wpcf7 p { margin: 0; }
.fh .wpcf7 label { display: block; font-family: var(--f-label); font-weight: 600; margin-block-end: 0.3rem; }
.fh .wpcf7 input[type="text"], .fh .wpcf7 input[type="email"], .fh .wpcf7 input[type="tel"], .fh .wpcf7 textarea { width: 100%; min-height: 50px; padding: 0.7rem 1rem; border: 1px solid var(--gold-soft); border-radius: 0; background: #fff; font: inherit; color: var(--text); transition: border-color 0.3s, box-shadow 0.3s; }
.fh .wpcf7 textarea { min-height: 150px; resize: vertical; }
.fh .wpcf7 input:focus, .fh .wpcf7 textarea:focus { outline: 0; border-color: var(--plum); box-shadow: 0 0 0 3px rgba(115, 16, 76, 0.15); }
.fh .wpcf7 input[type="submit"] { justify-self: start; min-height: 50px; padding: 0.8rem 2.4rem; background: var(--plum); color: var(--ivory); border: 1px solid var(--plum); border-radius: 0; font-family: var(--f-label); font-weight: 700; cursor: pointer; transition: background 0.3s, color 0.3s; }
.fh .wpcf7 input[type="submit"]:hover { background: var(--gold-2); color: var(--plum); }
.fh .wpcf7-not-valid-tip { color: #a3162a; font-size: 0.85rem; }
.fh .wpcf7-response-output { margin: 0.5rem 0 0 !important; border-color: var(--gold) !important; padding: 0.8rem 1rem !important; }

.fh .fh-page-hero__lead { margin-inline: auto; }
.fh-facts strong.fh-facts__long { font-size: clamp(1.05rem, 0.9rem + 0.7vw, 1.4rem) !important; white-space: nowrap; }

/* ==========================================================================
   Search page
   ========================================================================== */
.fh-searchbox { display: flex; max-width: 46rem; margin: 1.6rem auto 0; background: var(--ivory); border: 1px solid var(--gold-2); box-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.6); }
.fh-searchbox input[type="search"] { flex: 1; min-width: 0; min-height: 58px; padding: 0 1.2rem; border: 0; background: transparent; font: inherit; font-size: 1.05rem; color: var(--text); border-radius: 0; -webkit-appearance: none; appearance: none; }
.fh-searchbox input[type="search"]::placeholder { color: var(--muted); opacity: 0.75; }
.fh-searchbox input:focus { outline: 0; }
.fh-searchbox:focus-within { box-shadow: 0 0 0 3px rgba(210, 185, 111, 0.55), 0 18px 40px -22px rgba(0, 0, 0, 0.6); }
.fh-searchbox button { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0 1.6rem; background: var(--plum); color: var(--ivory); border: 0; font-family: var(--f-label); font-weight: 700; cursor: pointer; transition: background 0.3s, color 0.3s; }
.fh-searchbox button:hover { background: var(--gold-2); color: var(--plum); }
@media (max-width: 520px) { .fh-searchbox button span { display: none; } .fh-searchbox button { padding: 0 1.1rem; } }
.fh-search-meta { margin: 1.2rem 0 0; color: rgba(243, 235, 231, 0.85); font-family: var(--f-label); }
.fh-search { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.fh-search > section + section { margin-block-start: clamp(2.5rem, 6vw, 4.5rem); }
.fh-empty { text-align: center; max-width: 36rem; margin: 0 auto clamp(2.5rem, 6vw, 4rem); }
.fh-empty__mark { display: inline-block; color: var(--gold); animation: fh-spin 60s linear infinite; }
.fh-suggest { margin-block-start: clamp(2rem, 5vw, 3.5rem); }
.fh-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; list-style: none; margin: 0 0 1rem; padding: 0; }
.fh-chips a { display: inline-block; padding: 0.55rem 1.2rem; border: 1px solid var(--gold); text-decoration: none; font-family: var(--f-label); background: #fff; transition: background 0.3s, color 0.3s, transform 0.3s var(--ease); }
.fh-chips a:hover, .fh-chips a:focus-visible { background: var(--plum); color: var(--ivory); transform: translateY(-2px); }
.fh-chips small { color: var(--muted); }
.fh-chips a:hover small { color: var(--gold-2); }


/* ==========================================================================
   Geometric gold pattern: strong on navy (header strip, footer, dark sections),
   faint on cream wherever products are shown.
   ========================================================================== */
.fh-topbar { background: var(--ink) url("../img/pattern-gold.webp") center / 300px; position: relative; }
.fh-topbar::before { content: ""; position: absolute; inset: 0; background: rgba(31, 6, 22, 0.78); }
.fh-topbar > * { position: relative; }
.fh-footer { background: linear-gradient(rgba(31, 6, 22, 0.8), rgba(31, 6, 22, 0.86)), url("../img/pattern-gold.webp") center top / 620px, var(--ink); }
.fh-footer .fh-trust { background: rgba(31, 6, 22, 0.82); border-block-color: rgba(210, 185, 111, 0.3); }
.fh-footer .fh-footer__title { color: var(--gold-2); font-size: 1.1rem; }
.fh-footer .fh-footer__brand { color: var(--ivory); font-weight: 700; }
.fh-footer .fh-footer__bar { position: relative; background: var(--ink); padding-block: 2.6rem 1.1rem; margin-block-start: 1rem; border-block-start: 1px solid rgba(210, 185, 111, 0.4); }
.fh-footer__seal { position: absolute; top: 0; left: 50%; width: 76px; height: 76px; transform: translate(-50%, -50%); filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.45)); }
.fh-footer__seal img { width: 100%; height: 100%; }
.fh-section--dark, .fh-dark { background: linear-gradient(rgba(31, 6, 22, 0.72), rgba(31, 6, 22, 0.72)), url("../img/pattern-gold.webp") center / 620px, var(--ink); }
.fh-cat-hero { background: linear-gradient(rgba(31, 6, 22, 0.66), rgba(31, 6, 22, 0.66)), url("../img/pattern-gold.webp") center / 560px, var(--ink); }
.fh-banner { background-color: var(--ink); }
.fh-nav { --pat: 1; }
@media (max-width: 980px) {
	.fh-nav { background: linear-gradient(rgba(31, 6, 22, 0.72), rgba(31, 6, 22, 0.72)), url("../img/pattern-gold.webp") center / 480px, var(--ink); }
}
/* cream surfaces: faint gold lattice behind products and content */
body.fh { background: var(--ivory); }
.fh-main { background: var(--ivory) url("../img/pattern-soft.webp") center top / 640px; }
/* tinted band that lets the one continuous lattice of .fh-main show through (no restarting pattern = no visible seam) */
.fh-section--parchment { background: rgba(214, 190, 180, 0.32); }
.fh-section:not(.fh-section--dark):not(.fh-section--parchment) { background: transparent; }
.fh ul.products li.product, .fh-post, .fh-panel, .fh-goals li, .fh-ccard { background: #fbf8f6; }
.fh-visit__mark img { width: min(60vw, 260px); }
.fh-footer__logo .fh-footer__brand { font-size: 1.6rem; white-space: nowrap; line-height: 1.3; }

.fh-footer__grid, .fh-footer__grid a, .fh-footer__grid p { text-shadow: 0 1px 8px rgba(31, 6, 22, 0.95); }

/* footer: bigger brand on desktop, brighter pattern */
@media (min-width: 980px) {
	.fh-footer__grid { grid-template-columns: 1.7fr 1fr 1fr 1fr; }
	.fh-footer__logo { gap: 1.2rem; }
	.fh-footer__logo img { display: none; }
	.fh-footer__logo .fh-footer__brand { font-size: 3.4rem; }
}
.fh-footer .fh-trust { background: rgba(31, 6, 22, 0.78); }
.fh-footer__seal { display: none; }
.fh-footer .fh-footer__bar { padding-block-start: 1.4rem; }

/* footer: one logo medallion beside the brand block */
.fh-footer__about { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem 2.2rem; }
.fh-footer__medal { flex: none; display: block; line-height: 0; }
.fh-footer__medal img { width: clamp(110px, 14vw, 190px); height: auto; border-radius: 50%; box-shadow: 0 0 0 6px rgba(31, 6, 22, 0.55), 0 0 0 7px rgba(210, 185, 111, 0.55), 0 16px 34px -12px rgba(0, 0, 0, 0.6); transition: transform 0.8s var(--ease); }
.fh-footer__medal:hover img { transform: rotate(-4deg) scale(1.04); }
.fh-footer__aboutcopy { flex: 1 1 260px; min-width: 0; }
.fh-footer__aboutcopy .fh-footer__brand { font-family: var(--f-display); font-weight: 700; color: var(--ivory); font-size: clamp(2rem, 1.4rem + 1.6vw, 3rem); line-height: 1.25; margin: 0 0 0.6rem; white-space: nowrap; }
@media (min-width: 980px) { .fh-footer__grid { grid-template-columns: 2.7fr 1fr 1fr 1fr; } }


/* ==========================================================================
   Services (above the footer)
   ========================================================================== */
.fh-services { padding-block: clamp(3rem, 7vw, 5.5rem) clamp(3rem, 7vw, 5rem); border-block-start: 1px solid var(--gold-soft); background: linear-gradient(rgba(243, 235, 231, 0.55), rgba(235, 224, 218, 0.7)); }
.fh-svc { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; }
@media (min-width: 620px) { .fh-svc { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .fh-svc { grid-template-columns: repeat(3, 1fr); } }
.fh-svc__item { position: relative; overflow: hidden; background: #fbf8f6; border: 1px solid var(--gold-soft); padding: 2.2rem 1.6rem 1.8rem; text-align: center; transition: transform 0.55s var(--ease), box-shadow 0.55s var(--ease), border-color 0.4s; isolation: isolate; }
.fh-svc__item::before, .fh-svc__item::after { content: ""; position: absolute; width: 26px; height: 26px; border: 1px solid var(--gold); transition: width 0.5s var(--ease), height 0.5s var(--ease); pointer-events: none; }
.fh-svc__item::before { top: 8px; inset-inline-start: 8px; border-inline-end: 0; border-block-end: 0; }
.fh-svc__item::after { bottom: 8px; inset-inline-end: 8px; border-inline-start: 0; border-block-start: 0; }
.fh-svc__item:hover { transform: translateY(-6px); border-color: var(--gold); box-shadow: 0 28px 36px -28px rgba(31, 6, 22, 0.6); }
.fh-svc__item:hover::before, .fh-svc__item:hover::after { width: 46px; height: 46px; }
.fh-svc__n { position: absolute; top: 0.4rem; inset-inline-end: 0.9rem; z-index: -1; font-family: var(--f-num); font-weight: 800; font-size: 4.2rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(167, 146, 119, 0.4); transition: -webkit-text-stroke-color 0.4s; }
.fh-svc__item:hover .fh-svc__n { -webkit-text-stroke-color: rgba(175, 145, 60, 0.75); }
.fh-svc__icon { position: relative; display: grid; place-items: center; width: 74px; height: 74px; margin: 0 auto 1.1rem; color: var(--plum); }
.fh-svc__icon::before { content: ""; position: absolute; width: 52px; height: 52px; border: 1px solid var(--gold); background: var(--ivory); transform: rotate(45deg); transition: transform 0.7s var(--ease), background 0.4s, box-shadow 0.4s; box-shadow: 0 0 0 6px rgba(175, 145, 60, 0.12); }
.fh-svc__icon svg { position: relative; transition: color 0.4s, transform 0.7s var(--ease); }
.fh-svc__item:hover .fh-svc__icon::before { transform: rotate(225deg); background: var(--plum); box-shadow: 0 0 0 8px rgba(115, 16, 76, 0.14); }
.fh-svc__item:hover .fh-svc__icon svg { color: var(--gold-2); transform: scale(1.08); }
.fh-svc h3 { font-size: 1.25rem; margin: 0 0 0.35rem; color: var(--ink); }
.fh-svc p { margin: 0; color: var(--muted); font-size: 0.98rem; line-height: 1.75; }
@media (prefers-reduced-motion: reduce) { .fh-svc__item, .fh-svc__icon::before { transition: none; } }

/* ---------- Round buttons everywhere ---------- */
.fh-btn, .fh .wp-block-button__link, .fh .wp-element-button,
.fh-chips a, .fh-cat-subs a, .fh-header__cta,
.fh .wpcf7 input[type="submit"], .fh-searchbox button,
.fh ul.products li.product .onsale, .fh-goals__n, .fh-stickybar .fh-btn { border-radius: 999px; }
.fh-searchbox { border-radius: 999px; overflow: hidden; }
.fh-searchbox button { border-radius: 0 999px 999px 0; }
[dir="rtl"] .fh-searchbox button { border-radius: 999px 0 0 999px; }
.fh-searchbox input[type="search"] { padding-inline: 1.6rem; }
.fh-pagination .page-numbers { border-radius: 50%; }
.fh-svc__n { -webkit-text-stroke-color: rgba(167, 146, 119, 0.6); }
.fh-btn { padding-inline: 2.2rem; }


/* ---- Services: lozenge (pointed-end) cards instead of rectangles ---- */
.fh-svc { gap: clamp(1rem, 2.2vw, 1.8rem); }
.fh-svc__item { position: relative; overflow: visible; background: none; border: 0; padding: 0; filter: drop-shadow(0 14px 18px rgba(31, 6, 22, 0.14)); transition: transform 0.55s var(--ease), filter 0.55s var(--ease); }
.fh-svc__item::before, .fh-svc__item::after, .fh-svc__n { display: none; }
.fh-svc__item:hover { transform: translateY(-6px); box-shadow: none; filter: drop-shadow(0 26px 26px rgba(31, 6, 22, 0.28)); }
.fh-svc__shape { --pt: 34px; background: linear-gradient(135deg, var(--gold-2), var(--gold) 45%, var(--gold-2)); padding: 2px; clip-path: polygon(var(--pt) 0, calc(100% - var(--pt)) 0, 100% 50%, calc(100% - var(--pt)) 100%, var(--pt) 100%, 0 50%); }
.fh-svc__body { height: 100%; min-height: 15rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1.8rem calc(var(--pt, 34px) + 1.2rem); background: #fbf8f6; clip-path: polygon(calc(var(--pt) - 1px) 0, calc(100% - var(--pt) + 1px) 0, 100% 50%, calc(100% - var(--pt) + 1px) 100%, calc(var(--pt) - 1px) 100%, 0 50%); transition: background 0.5s var(--ease); position: relative; overflow: hidden; }
.fh-svc__body::before { content: ""; position: absolute; inset: 0; background: url("../img/pattern-soft.webp") center / 420px; opacity: 0.9; pointer-events: none; }
.fh-svc__body > * { position: relative; }
.fh-svc__item:hover .fh-svc__body { background: var(--plum); }
.fh-svc__item:hover h3 { color: var(--ivory); }
.fh-svc__item:hover p { color: rgba(243, 235, 231, 0.85); }
.fh-svc__item:hover .fh-svc__body::before { opacity: 0; }
.fh-svc__item:hover .fh-svc__icon { color: var(--gold-2); }
.fh-svc__item:hover .fh-svc__icon::before { background: rgba(31, 6, 22, 0.35); border-color: var(--gold-2); }
.fh-svc h3, .fh-svc p { transition: color 0.4s; }
@media (max-width: 620px) { .fh-svc__shape { --pt: 24px; } .fh-svc__body { min-height: 13rem; padding-inline: calc(24px + 1rem); } }

/* services hover: soft champagne glow instead of a dark fill */
.fh-svc__item:hover .fh-svc__body { background: linear-gradient(160deg, #fffdf8, #f6ead2); }
.fh-svc__item:hover .fh-svc__body::before { opacity: 0.9; }
.fh-svc__item:hover h3 { color: var(--plum); }
.fh-svc__item:hover p { color: var(--muted); }
.fh-svc__item:hover .fh-svc__icon { color: var(--plum); }
.fh-svc__item:hover .fh-svc__icon::before { background: linear-gradient(135deg, #f1dc9c, var(--gold-2)); border-color: var(--gold); box-shadow: 0 0 0 8px rgba(175, 145, 60, 0.18); }
.fh-svc__item:hover .fh-svc__shape { background: linear-gradient(135deg, #e6cd85, var(--gold) 50%, #e6cd85); }
.fh-svc__shape { transition: background 0.5s; }

/* services: inner icon diamond keeps its original hover (turns and fills plum, icon turns gold); outer card keeps the champagne hover */
.fh-svc__item:hover .fh-svc__icon { color: var(--gold-2); }
.fh-svc__item:hover .fh-svc__icon::before { transform: rotate(225deg); background: var(--plum); border-color: var(--gold); box-shadow: 0 0 0 8px rgba(115, 16, 76, 0.14); }
.fh-svc__item:hover .fh-svc__icon svg { color: var(--gold-2); transform: scale(1.08); }

/* hero: no rotating star, no frame, no scroll cue */
.fh-hero::after, .fh-hero__frame, .fh-scrollcue { display: none !important; }

/* eyebrows on dark sections ("حكايتنا", "زيارتكم تسعدنا"): larger, brighter, no diamond */
.fh-section--dark .fh-eyebrow { font-size: 1.25rem; font-weight: 700; color: var(--gold-2); text-shadow: 0 1px 10px rgba(31, 6, 22, 0.8); }
.fh-section--dark .fh-eyebrow::before { display: none; }


/* ==========================================================================
   Facts: four round medallions, one numeral style, one label style
   ========================================================================== */
.fh-facts, .fh-section--dark .fh-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(1.8rem, 4vw, 2.6rem) 1.5rem; background: none; border: 0; padding: 0; margin: 0; }
.fh-facts li, .fh-section--dark .fh-facts li { background: none; padding: 0; display: flex; flex-direction: column; align-items: center; gap: 1.1rem; text-align: center; }
.fh-facts strong, .fh-section--dark .fh-facts strong { position: relative; display: grid; place-items: center; width: clamp(138px, 15vw, 176px); aspect-ratio: 1; border-radius: 50%; font-family: var(--f-num); font-weight: 800; font-size: clamp(2.3rem, 1.6rem + 1.8vw, 3.2rem) !important; line-height: 1; letter-spacing: 0; white-space: nowrap; color: var(--gold-2); background: radial-gradient(circle at 50% 35%, rgba(115, 16, 76, 0.7), rgba(31, 6, 22, 0.85)); border: 1px solid var(--gold); box-shadow: 0 0 0 7px rgba(210, 185, 111, 0.12), 0 18px 30px -16px rgba(0, 0, 0, 0.7); transition: transform 0.6s var(--ease), box-shadow 0.6s var(--ease); }
.fh-facts strong::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; border: 1px dashed rgba(210, 185, 111, 0.45); pointer-events: none; }
.fh-facts li:hover strong { transform: translateY(-5px); box-shadow: 0 0 0 10px rgba(210, 185, 111, 0.2), 0 24px 34px -16px rgba(0, 0, 0, 0.75); }
.fh-facts strong span, .fh-section--dark .fh-facts strong span { font: inherit; color: inherit; display: inline; }
.fh-facts li > span, .fh-section--dark .fh-facts li > span { max-width: 16rem; font-family: var(--f-body); font-size: 1.1rem; font-weight: 600; line-height: 1.7; color: rgba(243, 235, 231, 0.95); }
.fh-facts strong.fh-facts__long { font-size: inherit !important; }
.fh-facts strong, .fh-section--dark .fh-facts strong { display: flex; align-items: center; justify-content: center; gap: 0.05em; }

/* no rotation on hover; lighter plum fill for the inner diamond */
.fh-svc__item:hover .fh-svc__icon::before { transform: rotate(45deg); background: #9c3f7b; border-color: var(--gold); box-shadow: 0 0 0 8px rgba(156, 63, 123, 0.16); }
.fh-svc__icon::before { transition: background 0.4s, box-shadow 0.4s; }
.fh-footer__medal:hover img { transform: scale(1.04); }


/* ==========================================================================
   Services: refined hover for the inner diamond.
   Static frame + soft gold glow, one ripple ring, the icon lifts and re-draws itself.
   ========================================================================== */
.fh-svc__icon::after { content: ""; position: absolute; width: 52px; height: 52px; border: 1px solid var(--gold); transform: rotate(45deg) scale(1); opacity: 0; pointer-events: none; }
.fh-svc__icon svg path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.fh-svc__item:hover .fh-svc__icon { color: var(--plum); }
.fh-svc__item:hover .fh-svc__icon::before { transform: rotate(45deg); background: linear-gradient(135deg, #fffaf0, #f5e6bb); border-color: var(--gold); box-shadow: 0 0 0 6px rgba(175, 145, 60, 0.16), 0 8px 22px -6px rgba(175, 145, 60, 0.55); }
.fh-svc__item:hover .fh-svc__icon::after { animation: fh-ripple 1.1s var(--ease) 1; }
.fh-svc__item:hover .fh-svc__icon svg { color: var(--plum); transform: translateY(-2px) scale(1.06); }
.fh-svc__item:hover .fh-svc__icon svg path { animation: fh-draw 0.9s var(--ease) 1; }
@keyframes fh-ripple { 0% { opacity: 0.85; transform: rotate(45deg) scale(1); } 100% { opacity: 0; transform: rotate(45deg) scale(1.9); } }
@keyframes fh-draw { 0% { stroke-dashoffset: 1; } 100% { stroke-dashoffset: 0; } }
.fh-svc__icon svg { transition: transform 0.5s var(--ease); }
@media (prefers-reduced-motion: reduce) { .fh-svc__item:hover .fh-svc__icon::after, .fh-svc__item:hover .fh-svc__icon svg path { animation: none; } }

/* footer: the logo lives inside the pattern itself (gold ring + mark in the star centres) */
.fh-footer { background: linear-gradient(rgba(31, 6, 22, 0.1), rgba(31, 6, 22, 0.2)), url("../img/pattern-footer.webp") center -122px / 900px, var(--ink); }
.fh-footer__medal { display: none; }
@media (min-width: 980px) { .fh-footer__grid { grid-template-columns: 1.8fr 1fr 1fr 1fr; } }

/* footer: faint gold lattice + ONE logo mark set into the pattern at the left */
.fh-footer { background: linear-gradient(rgba(31, 6, 22, 0.82), rgba(31, 6, 22, 0.88)), url("../img/pattern-gold.webp") center top / 620px, var(--ink); }

/* footer: the pattern is untouched; a tiny logo mark sits inside one star of the same lattice (same tile size, so it stays locked to the pattern) */
.fh-footer { background: linear-gradient(rgba(31, 6, 22, 0.82), rgba(31, 6, 22, 0.88)), url("../img/logo-tile.webp") calc(50% - 620px) top / 620px 620px no-repeat, url("../img/pattern-gold.webp") center top / 620px, var(--ink); }

/* no gap between the services section and the footer */
.fh-footer { margin-block-start: 0 !important; }
.fh-main { padding-block-end: 0; margin-block-end: 0; }
.fh-services { padding-block-end: clamp(2.5rem, 5vw, 3.5rem); margin-block-end: 0; }

/* One continuous lattice: cream area above and navy-plum footer use the SAME tile size and phase, so the pattern flows across the boundary.
   --fh-py is set by main.js (distance from the tile edge at the footer's top). */
.fh-main { background: var(--ivory) url("../img/pattern-soft.webp") center top / 620px; }
.fh-footer { background:
	linear-gradient(rgba(31, 6, 22, 0.8), rgba(31, 6, 22, 0.86)),
	url("../img/pattern-gold.webp") center var(--fh-py, 0px) / 620px,
	var(--ink); }

/* Dark sections continue the same lattice as <main> (same 620px tile, phase set by main.js as --fh-oy) */
.fh-section--dark, .fh-dark { background: linear-gradient(rgba(31, 6, 22, 0.74), rgba(31, 6, 22, 0.74)), url("../img/pattern-gold.webp") center var(--fh-oy, 0px) / 620px, var(--ink); }
.fh-cat-hero { background: linear-gradient(rgba(31, 6, 22, 0.68), rgba(31, 6, 22, 0.68)), url("../img/pattern-gold.webp") center var(--fh-oy, 0px) / 620px, var(--ink); }

/* header logo: plum mark, transparent background */
.fh-brand__logo { width: auto; height: 46px; background: none; box-shadow: none; border-radius: 0; }
@media (max-width: 980px) { .fh-brand__logo { height: 40px; } }
.fh .fh-brand__logo { width: auto; max-width: none; height: 46px; }
@media (max-width: 980px) { .fh .fh-brand__logo { height: 40px; } }

/* ---------- Rounded corners on every rectangular box ---------- */
:root { --r: 18px; --r-sm: 12px; }
.fh ul.products li.product, .fh-post, .fh-panel, .fh-goals li, .fh-ccard, .fh-team__photo, .fh-map iframe,
.fh-gallery__main, .fh-gallery__thumbs a, .fh-cat-content, .fse-card, .fse-faq__item, .fh-facts, .fh-searchbox { border-radius: var(--r); }
.fh ul.products li.product, .fh-post { overflow: hidden; }
.fh-team__photo, .fh-team__photo img, .fh-map iframe { border-radius: var(--r); overflow: hidden; }
.fh ul.products li.product img, .fh-post img, .fh-gallery__main img { border-radius: var(--r) var(--r) 0 0; }
.fh-gallery__main img { border-radius: var(--r-sm); }
.fh-gallery__thumbs img { border-radius: var(--r-sm); }
.fh-article__hero img, .fh-story img { border-radius: var(--r); }
.fh .wpcf7 input[type="text"], .fh .wpcf7 input[type="email"], .fh .wpcf7 input[type="tel"], .fh .wpcf7 textarea { border-radius: var(--r-sm); }
.fh-cat-subs a, .fh-chips a { border-radius: 999px; }
.fh-goals__n { border-radius: 999px; }
.fh-nav__sub { border-radius: var(--r-sm); }
.fh-toolbar select { border-radius: 999px; }
.fh-crumbs { border-radius: 0; }


/* ---------- App store buttons ---------- */
.fh-apps { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.fh-center .fh-apps, .fh-appsec .fh-apps { justify-content: center; }
.fh-appbtn { display: inline-flex; align-items: center; gap: 0.75rem; padding: 0.55rem 1.4rem 0.55rem 1.1rem; min-height: 56px; border-radius: 999px; text-decoration: none; color: var(--ivory); background: linear-gradient(160deg, rgba(31, 6, 22, 0.9), rgba(74, 12, 50, 0.9)); border: 1px solid var(--gold); box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.7); transition: transform 0.4s var(--ease), box-shadow 0.4s, border-color 0.3s, background 0.3s; }
.fh-appbtn:hover, .fh-appbtn:focus-visible { transform: translateY(-3px); border-color: var(--gold-2); background: linear-gradient(160deg, rgba(74, 12, 50, 0.95), rgba(115, 16, 76, 0.95)); box-shadow: 0 16px 26px -12px rgba(0, 0, 0, 0.75); }
.fh-appbtn__ic { flex: none; color: var(--gold-2); }
.fh-appbtn__txt { display: flex; flex-direction: column; line-height: 1.15; text-align: start; }
.fh-appbtn__txt small { font-size: 0.72rem; opacity: 0.8; font-family: var(--f-label); }
.fh-appbtn__txt strong { font-size: 1.15rem; font-family: var(--f-latin, "Cairo", sans-serif); letter-spacing: 0.01em; }
.fh-footer__apptitle { margin: 1.4rem 0 0.6rem; font-family: var(--f-label); font-weight: 700; color: var(--gold-2); }
.fh-appsec p { max-width: 36rem; margin-inline: auto; }

/* app buttons: no theme link colour on hover/focus/active (was turning blue); simple gold glow instead */
.fh .fh-appbtn, .fh .fh-appbtn:visited, .fh .fh-appbtn:hover, .fh .fh-appbtn:focus, .fh .fh-appbtn:active,
.fh .fh-appbtn:hover strong, .fh .fh-appbtn:focus strong { color: var(--ivory) !important; text-decoration: none; }
.fh .fh-appbtn:hover .fh-appbtn__ic, .fh .fh-appbtn:focus .fh-appbtn__ic { color: var(--gold-2); }
.fh .fh-appbtn:hover, .fh .fh-appbtn:focus-visible { background: linear-gradient(160deg, rgba(58, 10, 40, 0.98), rgba(90, 14, 60, 0.98)); border-color: var(--gold-2); box-shadow: 0 0 0 4px rgba(210, 185, 111, 0.18), 0 16px 26px -12px rgba(0, 0, 0, 0.75); outline: none; -webkit-tap-highlight-color: transparent; }
.fh-appbtn__txt strong { line-height: 1.2; }

.fh h2.fh-row__title { color: #73104c; }

/* footer app buttons: their own row at the very bottom (below all link columns), on every screen size */
.fh-footer__apps { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.8rem 2rem; padding-block: 0 2.2rem; }
.fh-footer__apps .fh-footer__apptitle { margin: 0; }
@media (max-width: 720px) { .fh-footer__apps { flex-direction: column; align-items: flex-start; } }

/* Mobile menu: full-screen panel (backdrop-filter on the header was trapping the fixed panel inside the header bar) */
@media (max-width: 980px) {
	.fh-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--ivory); }
	.fh-nav { position: fixed; inset: 0; height: 100vh; height: 100dvh; width: 100%; z-index: 200; padding: 5.5rem var(--gutter) 3rem; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.fh-nav__list { font-size: 1.5rem; }
	.fh-nav__list > li > a { display: block; padding: 1.05rem 0; font-size: 1.5rem; font-weight: 700; }
	.fh-nav__sub { padding: 0 0.5rem 1rem; }
	.fh-nav__sub a { display: block; padding: 0.7rem 0; font-size: 1.15rem; }
	.fh-burger { position: relative; z-index: 210; }
}

/* Mobile menu: sub-categories collapse under their parent (tap the arrow), so every main option is visible at once */
@media (max-width: 980px) {
	.fh-nav__list > li { position: relative; }
	.fh-nav__list > li.has-children > a { padding-inline-end: 3.4rem; }
	.fh-nav__sub { display: none; }
	.fh-nav__list > li.is-open > .fh-nav__sub { display: block; }
	.fh-nav__more { position: absolute; inset-inline-end: 0; top: 0.55rem; width: 46px; height: 46px; border: 1px solid rgba(210, 185, 111, 0.5); border-radius: 50%; background: transparent; color: var(--gold-2); cursor: pointer; display: grid; place-items: center; }
	.fh-nav__more svg { transition: transform 0.35s var(--ease); }
	li.is-open > .fh-nav__more svg { transform: rotate(180deg); }
}
@media (min-width: 981px) { .fh-nav__more { display: none; } }

/* footer app row: centred lockup (title above the two buttons) so it reads as one block on desktop */
.fh-footer__apps { flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 0.9rem; padding-block: 1.8rem 2.4rem; border-block-start: 1px solid rgba(210, 185, 111, 0.22); }
.fh-footer__apps .fh-apps { justify-content: center; }
@media (max-width: 720px) { .fh-footer__apps { align-items: flex-start; text-align: start; } .fh-footer__apps .fh-apps { justify-content: flex-start; } }

/* Services: inner diamond keeps only the soft gold glow (no outgoing ripple / ring) */
.fh-svc__icon::after { display: none; }
.fh-svc__item:hover .fh-svc__icon::after { animation: none; }
.fh-svc__item:hover .fh-svc__icon::before { box-shadow: 0 0 22px 4px rgba(210, 185, 111, 0.55); }

/* Footer: no gold rules between the columns, the app buttons and the copyright bar */
.fh-footer__apps, .fh-footer .fh-footer__bar { border-block-start: 0; }

/* Page hero eyebrow: large, clearly visible, no diamond */
.fh-page-hero .fh-eyebrow { font-size: 1.35rem; font-weight: 700; color: var(--gold-2); text-shadow: 0 1px 10px rgba(31, 6, 22, 0.8); }
.fh-page-hero .fh-eyebrow::before { display: none; }

/* Mobile header: smaller brand name */
@media (max-width: 640px) {
	.fh-brand { gap: 0.5rem; }
	.fh-brand__name { font-size: 1.05rem; white-space: nowrap; }
	.fh .fh-brand__logo { height: 32px; }
}

/* Mobile menu: taller rows, accent items use the same colour as the rest */
@media (max-width: 980px) {
	.fh-nav__list > li > a, .fh-nav__accent > a { color: var(--ivory); padding-block: 1.35rem; }
	.fh-nav__more { top: 0.85rem; }
	.fh-nav__sub a { padding-block: 0.95rem; }
}

/* Contact page: map only, full width */
.fh-contact-map .fh-map { max-width: 62rem; margin-inline: auto; }

/* About: «حكايتنا» larger, no diamond */
.fh-story__text .fh-eyebrow { font-size: 1.6rem; font-weight: 700; color: var(--plum); margin-block-end: 0.6rem; }
.fh-story__text .fh-eyebrow::before { display: none; }

/* Page titles («وصل حديثًا», «الأكثر مبيعًا», «خدمات تطمئنك») share the brand plum */
.fh .fh-article h1, .fh .fh-services h2, .fh .fh-related h2 { color: #73104c; }

/* Gold call-to-action on dark banners: white pill, quiet hover (soft champagne wash, thin gold ring, gentle lift) */
.fh .fh-btn--gold { background: #fff; border-color: #fff; color: var(--plum); box-shadow: 0 10px 26px -14px rgba(0, 0, 0, 0.55); transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease), border-color 0.45s var(--ease), color 0.45s var(--ease); }
.fh .fh-btn--gold::before { background: linear-gradient(135deg, #fffaf0, #f3e4bd); transform: none; opacity: 0; transition: opacity 0.45s var(--ease); }
.fh .fh-btn--gold:hover, .fh .fh-btn--gold:focus-visible { color: var(--plum); border-color: var(--gold-2); transform: translateY(-2px); box-shadow: 0 0 0 4px rgba(210, 185, 111, 0.28), 0 16px 30px -14px rgba(0, 0, 0, 0.6); }
.fh .fh-btn--gold:hover::before, .fh .fh-btn--gold:focus-visible::before { opacity: 1; transform: none; }
.fh .fh-btn--gold svg { transition: transform 0.45s var(--ease); }
.fh .fh-btn--gold:hover svg { transform: scale(1.12); }

/* Shop sort dropdown: clean white pill, own chevron, Cairo, gold focus (no browser blue) */
.fh .fh-toolbar .woocommerce-ordering { margin: 0; }
.fh .fh-toolbar select.orderby {
	appearance: none; -webkit-appearance: none;
	font-family: var(--f-label); font-size: 0.95rem; font-weight: 500; color: var(--ink);
	min-width: 13rem; height: 46px; padding: 0 1.3rem; padding-inline-end: 2.6rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2373104c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat;
	background-position: left 1.1rem center;
	border: 1px solid var(--gold-soft); border-radius: 999px; box-shadow: none; cursor: pointer;
	transition: border-color 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
[dir="ltr"] .fh .fh-toolbar select.orderby { background-position: right 1.1rem center; }
.fh .fh-toolbar select.orderby:hover { border-color: var(--gold); }
.fh .fh-toolbar select.orderby:focus, .fh .fh-toolbar select.orderby:focus-visible { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(210, 185, 111, 0.3); }

/* Mobile menu in old in-app WebViews: no `inset` shorthand / no dvh there, so give the panel explicit edges and a full-height fallback */
@media (max-width: 980px) {
	.fh-nav { top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100vh; min-height: 100vh; height: 100dvh; min-height: 100dvh; box-sizing: border-box; }
}

/* Jetpack share buttons / related posts (active on the live site only) are not part of the design */
.sharedaddy, .sd-sharing-enabled, #jp-relatedposts { display: none !important; }

/* In-app WebViews with a broken viewport height: the open menu sizes to its content instead of the (wrong) viewport */
@media (max-width: 980px) {
	html.fh-nav-fallback .fh-nav { position: absolute; top: 0; right: 0; left: 0; bottom: auto; height: auto; min-height: 0; overflow: visible; }
}
@media (max-width: 980px) {
	/* the sticky header would carry the open menu along while scrolling, so in this mode let it scroll with the page */
	html.fh-nav-fallback .fh-header { position: relative; }
}
@media (max-width: 980px) {
	/* WebView mode: while the menu is open, drop the page below it so scrolling stops at the end of the menu */
	html.fh-nav-fallback.fh-nav-open #main, html.fh-nav-fallback.fh-nav-open .fh-footer, html.fh-nav-fallback.fh-nav-open .fh-stickybar { display: none !important; }
}

/* Footer: the three link columns share the width equally (1fr alone lets long links widen a column) */
@media (min-width: 720px) { .fh-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .fh-footer__grid > .fh-footer__about { grid-column: 1 / -1; } }
@media (min-width: 980px) { .fh-footer__grid { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem; } .fh-footer__grid > .fh-footer__about { grid-column: auto; } }
.fh-footer__col li a { overflow-wrap: anywhere; }

/* Showcase rows (bracelets, gold sets): larger, sharper portrait photos with a soft gold frame */
.fh-section--showcase ul.products li.product img { aspect-ratio: 3 / 4; }
.fh-section--showcase ul.products li.product { box-shadow: 0 20px 34px -26px rgba(31, 6, 22, 0.45); border-color: rgba(175, 145, 60, 0.35); }
.fh-section--showcase ul.products li.product .woocommerce-loop-product__title { min-height: 3.2rem; }

/* Showcase rows (bracelets, gold sets): larger, sharper portrait photos with a soft gold frame */
.fh-section--showcase ul.products li.product img { aspect-ratio: 3 / 4; }
.fh-section--showcase ul.products li.product { box-shadow: 0 20px 34px -26px rgba(31, 6, 22, 0.45); border-color: rgba(175, 145, 60, 0.35); }
.fh-section--showcase ul.products li.product .woocommerce-loop-product__title { min-height: 3.2rem; }

/* Footer (desktop): the link columns hug their content and the free space is split into identical gaps between the columns */
@media (min-width: 980px) {
	.fh-footer__grid { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 2.5rem; }
	.fh-footer__grid > .fh-footer__about { flex: 0 1 25rem; }
	.fh-footer__grid > nav.fh-footer__col { flex: 0 0 auto; max-width: 18rem; }
}
/* Footer background: pattern only, no logo tile */
.fh-footer { background: linear-gradient(rgba(31, 6, 22, 0.8), rgba(31, 6, 22, 0.86)), url("../img/pattern-gold.webp") center var(--fh-py, 0px) / 620px, var(--ink); }
