/*
Theme Name: Goldhaus Trauringstudio
Theme URI: https://mygoldhaus.de/
Author: Goldhaus
Description: Özel Yazılım
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: goldhaus
WC requires at least: 7.0
*/

/* ===== Self-hosted fonts (no Google CDN — GDPR) ===== */
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/cinzel-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/cinzel-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/cinzel-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/bodoni-moda-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/bodoni-moda-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400;font-display:swap;src:url("assets/fonts/bodoni-moda-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url("assets/fonts/jost-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/jost-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/jost-latin-500-normal.woff2") format("woff2")}

:root{
  --paper:#FFFFFF;
  --paper-soft:#FAF8F3;
  --paper-deep:#F3EEE4;
  --ink:#1C1813;
  --ink-soft:#5A5249;
  --taupe:#8A8073;
  --champagne:#C9A86A;
  --gold-lo:#8A6A2E;
  --gold-grad:linear-gradient(115deg,#E6D2A4 0%,#C9A86A 46%,#9A7B3F 100%);
  --line:rgba(28,24,19,.12);
  --line-soft:rgba(28,24,19,.07);
  --f-roman:"Cinzel",serif;
  --f-display:"Bodoni Moda",Georgia,serif;
  --f-body:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --maxw:1240px;
}

*{box-sizing:border-box}
body{margin:0;font-family:var(--f-body);font-weight:300;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{margin:0;font-weight:400}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.gh-wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
a:focus-visible,button:focus-visible,.gh-toggle:focus-visible,summary:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}

/* eyebrow */
.gh-eyebrow{font-family:var(--f-roman);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--gold-lo);display:inline-flex;align-items:center;gap:.85em}
.gh-eyebrow::before{content:"";width:10px;height:10px;border:1px solid var(--champagne);border-radius:50%;flex:none}
.gh-gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* buttons */
.gh-btn{font-family:var(--f-roman);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;padding:16px 34px;display:inline-block;border:1px solid var(--champagne);color:var(--ink);background:transparent;cursor:pointer;transition:background .5s,color .5s,border-color .5s}
.gh-btn:hover,.gh-btn:focus-visible{background:var(--champagne);color:#fff}
.gh-btn.solid{background:var(--gold-grad);border-color:transparent;color:#fff}
.gh-btn.solid:hover,.gh-btn.solid:focus-visible{filter:brightness(1.05)}

/* ===== top bar ===== */
.gh-topbar{background:var(--paper-soft);border-bottom:1px solid var(--line-soft);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);overflow:hidden}
.gh-topbar .gh-wrap{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px}
.gh-ticker{position:relative;flex:1;height:18px;min-width:0}
.gh-ticker-item{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .6s ease;pointer-events:none}
.gh-ticker-item.active{opacity:1;pointer-events:auto}
.gh-topbar .tick{color:var(--champagne)}
.gh-lang{flex:none}
.gh-lang a{padding:0 .35em;opacity:.5}
.gh-lang a.active{opacity:1;color:var(--gold-lo)}

/* ===== header ===== */
.gh-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.gh-header .gh-wrap{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:24px}
.gh-logo{font-family:var(--f-roman);font-weight:600;font-size:1.5rem;letter-spacing:.18em;line-height:1;color:var(--ink)}
.gh-logo small{display:block;font-size:.5rem;letter-spacing:.4em;color:var(--gold-lo);margin-top:.55em;font-weight:400;text-align:center}
.gh-logo img{max-height:54px;width:auto}
.gh-logo-img{display:inline-block;line-height:0}
.gh-logo-img img{max-height:50px;width:auto}
.gh-footer .gh-logo-img img{max-height:46px}
.gh-studio-name{font-family:var(--f-roman);letter-spacing:.05em;color:var(--gold-lo)}
.gh-nav ul{display:flex;gap:38px}
.gh-nav a{font-family:var(--f-roman);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);position:relative;padding:6px 0}
.gh-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold-grad);transition:width .4s}
.gh-nav a:hover::after,.gh-nav a:focus-visible::after,.gh-nav .current-menu-item>a::after{width:100%}
.gh-actions{display:flex;align-items:center;gap:22px}
.gh-ico{color:var(--ink);display:inline-flex;align-items:center;gap:7px;font-family:var(--f-roman);font-size:.7rem;letter-spacing:.14em}
.gh-ico .count{font-family:var(--f-body);font-size:.62rem;background:var(--gold-grad);color:#fff;width:17px;height:17px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:500}
.gh-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.gh-burger span{width:24px;height:1.5px;background:var(--ink);transition:.3s}

/* ===== hero (white) ===== */
.gh-hero{position:relative;background:radial-gradient(120% 90% at 78% 20%,rgba(201,168,106,.1),transparent 55%),var(--paper);overflow:hidden;isolation:isolate}
.gh-hero .gh-wrap{position:relative;z-index:2;padding-top:118px;padding-bottom:128px;max-width:960px}
.gh-hero .gh-eyebrow{margin-bottom:32px}
.gh-hero h1{font-family:var(--f-display);font-size:clamp(2.9rem,7.2vw,6rem);line-height:1.03;letter-spacing:-.01em;margin-bottom:28px;color:var(--ink)}
.gh-hero h1 em{font-style:italic;color:var(--gold-lo)}
.gh-hero .lede{max-width:530px;font-size:1.06rem;color:var(--ink-soft);margin-bottom:42px}
.gh-hero-cta{display:flex;gap:18px;flex-wrap:wrap}
.gh-band{position:absolute;z-index:1;top:50%;right:-160px;transform:translateY(-50%);width:640px;height:640px;max-width:62vw;max-height:62vw;pointer-events:none}
.gh-band circle{fill:none;stroke:url(#ghGold);stroke-width:1.1}
.gh-band .draw{stroke-dasharray:2010;stroke-dashoffset:2010;animation:ghdraw 2.6s cubic-bezier(.7,0,.2,1) .3s forwards}
@keyframes ghdraw{to{stroke-dashoffset:0}}

/* ===== intro ===== */
.gh-intro{background:var(--paper);border-top:1px solid var(--line-soft)}
.gh-intro .gh-wrap{padding:96px 32px;max-width:780px;text-align:center}
.gh-rule{width:1px;height:62px;background:var(--gold-grad);margin:0 auto 26px}
.gh-intro h2{font-family:var(--f-display);font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.18;margin:20px 0 24px;color:var(--ink)}
.gh-intro p{color:var(--ink-soft);font-size:1.04rem;max-width:660px;margin:0 auto}

/* ===== collection ===== */
.gh-collection{background:var(--paper);padding:104px 0}
.gh-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:52px;flex-wrap:wrap}
.gh-sechead h2{font-family:var(--f-display);font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;margin-top:16px;color:var(--ink)}
.gh-sechead .gh-link{font-family:var(--f-roman);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lo);border-bottom:1px solid var(--champagne);padding-bottom:5px}
.gh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.gh-card{background:var(--paper);border:1px solid var(--line-soft);transition:transform .5s,box-shadow .5s}
.gh-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(28,24,19,.35)}
.gh-card a{display:block;color:inherit}
.gh-frame{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#fff,rgba(243,238,228,0) 64%),var(--paper-soft);position:relative;overflow:hidden}
.gh-frame img{width:100%;height:100%;object-fit:cover}
.gh-frame .ring-svg{width:60%}
.gh-tag{position:absolute;top:16px;left:16px;font-family:var(--f-roman);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lo);border:1px solid var(--champagne);padding:5px 11px;background:rgba(255,255,255,.7);z-index:2}
.gh-cbody{padding:24px;text-align:center;border-top:1px solid var(--line-soft)}
.gh-cbody .leg{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:9px}
.gh-cbody h3{font-family:var(--f-display);font-size:1.16rem;line-height:1.25;margin-bottom:12px;min-height:2.4em;color:var(--ink)}
.gh-price{font-family:var(--f-display);font-size:1.02rem;color:var(--ink)}
.gh-price .amount,.gh-price bdi{font-family:var(--f-display)}
.gh-price del{color:var(--taupe);font-size:.82em;margin-right:.4em}

/* ===== FAQ ===== */
.gh-faq{background:var(--paper);padding:104px 0}
.gh-faq .gh-wrap{max-width:860px}
.gh-faq .head{text-align:center;margin-bottom:50px}
.gh-faq .head h2{font-family:var(--f-display);font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;margin-top:16px;color:var(--ink)}
.gh-acc{border-top:1px solid var(--line)}
.gh-acc details{border-bottom:1px solid var(--line)}
.gh-acc summary{list-style:none;cursor:pointer;padding:26px 48px 26px 0;position:relative;font-family:var(--f-display);font-size:1.18rem;color:var(--ink);transition:color .3s}
.gh-acc summary::-webkit-details-marker{display:none}
.gh-acc summary:hover{color:var(--gold-lo)}
.gh-acc summary::after{content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;border-right:1.4px solid var(--champagne);border-bottom:1.4px solid var(--champagne);transform:translateY(-65%) rotate(45deg);transition:transform .35s}
.gh-acc details[open] summary::after{transform:translateY(-35%) rotate(225deg)}
.gh-acc .answer{padding:0 48px 28px 0;color:var(--ink-soft);max-width:680px}

/* ===== trust ===== */
.gh-trust{background:var(--paper-deep);padding:62px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.gh-trust .row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.gh-trust .item{text-align:center;padding:8px 22px;border-right:1px solid var(--line)}
.gh-trust .item:last-child{border-right:none}
.gh-trust .ic{color:var(--gold-lo);margin-bottom:13px;display:flex;justify-content:center}
.gh-trust h4{font-family:var(--f-roman);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;line-height:1.5;color:var(--ink)}
.gh-trust p{font-size:.82rem;color:var(--taupe)}

/* ===== footer ===== */
.gh-footer{background:var(--paper-soft);color:var(--ink-soft);padding:80px 0 0;border-top:1px solid var(--line)}
.gh-fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.gh-fbrand .gh-logo{margin-bottom:20px}
.gh-fbrand p{font-size:.9rem;max-width:280px;color:var(--ink-soft)}
.gh-footer h5{font-family:var(--f-roman);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:22px}
.gh-footer ul{display:flex;flex-direction:column;gap:11px}
.gh-footer ul a{font-size:.9rem;transition:color .3s}
.gh-footer ul a:hover{color:var(--gold-lo)}
.gh-studio p{font-size:.9rem;margin-bottom:14px}
.gh-studio .gh-gold{font-family:var(--f-roman);letter-spacing:.05em}
.gh-subbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;flex-wrap:wrap}
.gh-legal{display:flex;gap:24px;flex-wrap:wrap}
.gh-legal a{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.gh-legal a:hover{color:var(--gold-lo)}
.gh-copy{font-size:.74rem;letter-spacing:.06em;color:var(--taupe)}

/* ===== product page guarantee badge ===== */
.gh-guarantee{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-roman);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lo);border:1px solid var(--champagne);padding:11px 18px;margin:6px 0 22px}
.gh-guarantee svg{flex:none}

/* ===== woocommerce wrapper ===== */
.gh-shop{padding:70px 0 100px}
.gh-shop .woocommerce-breadcrumb{font-size:.78rem;letter-spacing:.06em;color:var(--taupe);margin-bottom:30px}
.gh-shop h1.entry-title,.gh-shop .woocommerce-products-header__title{font-family:var(--f-display);font-size:clamp(2rem,4vw,3rem);margin-bottom:30px;color:var(--ink)}
.gh-page{padding:70px 0 100px}
.gh-page .gh-wrap{max-width:820px}
.gh-page h1{font-family:var(--f-display);font-size:clamp(2rem,4vw,3rem);margin-bottom:24px}
.gh-page a{color:var(--gold-lo);text-decoration:underline;text-underline-offset:2px}

/* ===== cookie consent ===== */
.gh-cookie{position:fixed;left:24px;right:24px;bottom:24px;z-index:200;max-width:560px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 70px -34px rgba(28,24,19,.5);color:var(--ink);padding:30px 32px;transition:transform .5s,opacity .5s}
.gh-cookie.hide{transform:translateY(20px);opacity:0;pointer-events:none}
.gh-cookie h4{font-family:var(--f-display);font-size:1.35rem;margin-bottom:10px}
.gh-cookie>p{font-size:.86rem;color:var(--ink-soft);margin-bottom:20px}
.gh-cookie>p a{color:var(--gold-lo);text-decoration:underline;text-underline-offset:2px}
.gh-ck-cats{display:none;flex-direction:column;margin-bottom:22px;border-top:1px solid var(--line)}
.gh-ck-cats.open{display:flex}
.gh-ck-cat{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.gh-ck-cat .t{font-family:var(--f-roman);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.gh-ck-cat .always{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lo)}
.gh-toggle{position:relative;width:42px;height:22px;border-radius:22px;border:1px solid var(--line);background:#efeae1;cursor:pointer;transition:.3s;flex:none}
.gh-toggle::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.3s}
.gh-toggle[aria-checked="true"]{background:var(--gold-grad);border-color:transparent}
.gh-toggle[aria-checked="true"]::after{transform:translateX(20px)}
.gh-ck-actions{display:flex;gap:12px;flex-wrap:wrap}
.gh-ck-actions .gh-btn{flex:1;text-align:center;padding:14px 18px;min-width:120px}
.gh-ck-actions .ghost{border-color:var(--line);color:var(--ink)}
.gh-ck-link{background:none;border:none;color:var(--ink-soft);font-family:var(--f-body);font-size:.78rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin-top:16px}

/* ===== category showcase ===== */
.gh-cats{background:var(--paper-soft);padding:104px 0}
.gh-cats-head{text-align:center;margin-bottom:50px}
.gh-cats-head h2{font-family:var(--f-display);font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;margin-top:16px;color:var(--ink)}
.gh-cats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gh-cat{display:block;background:var(--paper);border:1px solid var(--line-soft);color:inherit;text-decoration:none;transition:transform .5s,box-shadow .5s}
.gh-cat:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(28,24,19,.35)}
.gh-cat .img{aspect-ratio:4/5;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#fff,rgba(243,238,228,0) 64%),var(--paper-soft)}
.gh-cat .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gh-cat:hover .img img{transform:scale(1.05)}
.gh-cat .img .ring-svg{width:50%}
.gh-cat .b{padding:22px;text-align:center;border-top:1px solid var(--line-soft)}
.gh-cat .b h3{font-family:var(--f-display);font-size:1.25rem;color:var(--ink);margin-bottom:7px;line-height:1.2}
.gh-cat .b .count{font-family:var(--f-roman);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lo)}
.gh-cats-cta{text-align:center;margin-top:46px}

/* ===== footer: beratung CTA, seal, trust badges ===== */
.gh-fgrid{grid-template-columns:1.2fr .8fr 1fr .9fr 1.05fr}
.gh-seal{margin-top:24px;border:1px solid var(--line);padding:16px 20px;display:inline-flex;align-items:center;gap:14px;max-width:260px}
.gh-seal svg{flex:none}
.gh-seal .t{font-family:var(--f-roman);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);line-height:1.4}
.gh-seal .s{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-top:3px}
.gh-beratung h5{margin-bottom:16px}
.gh-beratung .pico{color:var(--gold-lo);margin-bottom:8px}
.gh-beratung .num{font-family:var(--f-display);font-size:1.25rem;color:var(--ink);display:block;margin:2px 0}
.gh-beratung p{font-size:.84rem;color:var(--taupe);margin-bottom:8px}
.gh-beratung .mail{font-size:.9rem;display:inline-block;margin-bottom:20px}
.gh-beratung .mail:hover{color:var(--gold-lo)}
.gh-beratung .gh-btn{padding:13px 28px}
.gh-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 46px;padding:30px 0;border-top:1px solid var(--line)}
.gh-badge{display:flex;align-items:center;gap:11px;font-family:var(--f-roman);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--taupe)}
.gh-badge svg{color:var(--gold-lo);flex:none}
.gh-seal-slot{font-size:.62rem;letter-spacing:.1em;color:var(--taupe)}

/* fuller trust copy */
.gh-trust .item p{line-height:1.6}

/* ===== responsive ===== */
@media(max-width:1080px){
  .gh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gh-trust .row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gh-trust .item{border-bottom:1px solid var(--line)}
  .gh-trust .item:nth-child(2n){border-right:none}
  .gh-fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .gh-cats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:620px){
  .gh-fgrid{grid-template-columns:1fr;gap:34px}
  .gh-badges{gap:14px 24px}
@media(max-width:760px){
  .gh-wrap{padding:0 22px}
  .gh-nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;transform:translateX(100%);transition:transform .4s;z-index:60}
  .gh-nav.open{transform:translateX(0)}
  .gh-nav ul{flex-direction:column;gap:30px;text-align:center}
  .gh-nav a{font-size:1rem}
  .gh-burger{display:flex;z-index:61}
  .gh-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .gh-burger.open span:nth-child(2){opacity:0}
  .gh-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .gh-actions .label{display:none}
  .gh-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
  .gh-cats-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
  .gh-cat .b{padding:16px 12px}
  .gh-cat .b h3{font-size:1.05rem}
  .gh-fgrid{grid-template-columns:1fr}
  .gh-hero .gh-wrap{padding-top:74px;padding-bottom:86px}
  .gh-cookie{left:14px;right:14px;bottom:14px;padding:26px 24px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  .gh-band .draw{stroke-dashoffset:0}
}

/* ===== sale badge (homepage + shop) ===== */
.gh-sale{position:absolute;top:16px;left:16px;padding:6px 12px;background:var(--gold-grad);color:#fff;font-family:var(--f-roman);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;z-index:3;line-height:1}

/* ===== search results & forms ===== */
.gh-search-list{list-style:none;max-width:760px;margin:0 auto;padding:0}
.gh-search-item{border-bottom:1px solid var(--line-soft);padding:22px 0}
.gh-search-item h3{font-family:var(--f-display);font-size:1.3rem;color:var(--ink);margin-bottom:6px}
.gh-search-item:hover h3{color:var(--gold-lo)}
.gh-search-item p{color:var(--ink-soft);font-size:.92rem}
.gh-404-search{max-width:430px;margin:36px auto 0}
form[role="search"]{display:flex;gap:10px}
form[role="search"] input[type="search"]{flex:1;border:1px solid var(--line);border-radius:0;padding:12px 14px;font-family:var(--f-body);color:var(--ink);background:var(--paper)}
form[role="search"] input[type="search"]:focus{outline:2px solid var(--champagne);outline-offset:2px;border-color:var(--champagne)}
form[role="search"] button{font-family:var(--f-roman);letter-spacing:.16em;text-transform:uppercase;font-size:.64rem;border:1px solid transparent;background:var(--gold-grad);color:#fff;padding:12px 22px;cursor:pointer;border-radius:0}
.gh-404 .gh-btn{margin:0 6px}

/* ===== global mobile-overflow safeguards ===== */
html{overflow-x:hidden}
img,svg,video,iframe,table{max-width:100%}
h1,h2,h3,h4{overflow-wrap:break-word}
.gh-hero h1{hyphens:auto}
@media(max-width:760px){ .gh-band{display:none} }

/* ===== nav dropdown submenus ===== */
.gh-nav .menu-item-has-children{position:relative}
.gh-nav .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 50px -30px rgba(28,24,19,.4);padding:10px 0;margin:0;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,visibility .3s;z-index:60}
.gh-nav .menu-item-has-children:hover>.sub-menu,
.gh-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.gh-nav .sub-menu li{display:block;margin:0}
.gh-nav .sub-menu a{display:block;padding:9px 22px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.gh-nav .sub-menu a::after{display:none}
.gh-nav .sub-menu a:hover{color:var(--gold-lo);background:var(--paper-soft)}
.gh-nav .menu-item-has-children>a{padding-right:16px}

/* ===== homepage testimonials ===== */
.gh-testi{background:var(--paper);padding:104px 0;border-top:1px solid var(--line-soft)}
.gh-testi-head{text-align:center;margin-bottom:50px}
.gh-testi-head h2{font-family:var(--f-display);font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;margin-top:16px;color:var(--ink)}
.gh-testi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gh-testi-card{border:1px solid var(--line-soft);background:var(--paper-soft);padding:34px 30px;display:flex;flex-direction:column;gap:16px}
.gh-testi-stars{display:inline-flex;gap:3px;color:var(--gold-lo)}
.gh-testi-stars svg{width:17px;height:17px;fill:currentColor}
.gh-testi-text{font-family:var(--f-display);font-style:italic;font-size:1.08rem;line-height:1.55;color:var(--ink)}
.gh-testi-name{font-family:var(--f-roman);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lo);margin-top:auto}

/* ===== mobile submenu (inline) ===== */
@media(max-width:760px){
	.gh-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;background:transparent;padding:6px 0 0;min-width:0}
	.gh-nav .sub-menu a{color:var(--taupe);text-align:center;padding:7px 0;white-space:normal}
	.gh-testi-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}
@media(max-width:1080px){
	.gh-testi-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}

/* grid children must be allowed to shrink (prevents mobile overflow) */
.gh-grid>*,.gh-cats-grid>*,.gh-testi-grid>*,.gh-trust .row>*{min-width:0}

/* ===== mobile header sizing (logo must not overflow) ===== */
@media(max-width:760px){
	.gh-logo img,.gh-logo-img img{max-height:36px}
	.gh-header .gh-wrap{min-height:66px;gap:12px}
	.gh-actions{gap:14px}
	.gh-topbar{font-size:.62rem}
}
@media(max-width:380px){
	.gh-logo img,.gh-logo-img img{max-height:30px}
}
