/* ChiHaven v2.1 — brand polish, reviews, newsletter, popup */
:root{--gold:#C2A982;--shadow2:0 18px 50px rgba(22,42,58,.18)}
/* Announcement bar */
.chh-topbar{background:linear-gradient(90deg,#0e1c28,var(--navy) 50%,#0e1c28);color:#fff}
.chh-topbar a{color:#fff}
.chh-topbar__msg{position:relative;display:block;min-height:1.5em;flex:1;font-weight:600}
.chh-topbar__msg>span{position:absolute;inset:0;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.chh-topbar__msg>span.is-on{opacity:1;transform:none;pointer-events:auto}
.chh-topbar__msg a{text-decoration:underline;text-decoration-color:var(--gold)}
/* Header */
.chh-header{transition:box-shadow .25s,background .25s}
.chh-header.is-stuck{box-shadow:0 8px 28px rgba(22,42,58,.14)}
.chh-header__in{transition:padding .25s}
.chh-header.is-stuck .chh-header__in{padding-top:6px;padding-bottom:6px}
.chh-header .chh-logo svg,.chh-header .chh-logo img{transition:height .25s,width .25s}
.chh-header.is-stuck .chh-logo svg,.chh-header.is-stuck .chh-logo img{max-height:38px;width:auto}
.chh-phoneblk{display:none;align-items:center;gap:10px;text-decoration:none;color:var(--navy);padding:6px 12px;border-radius:12px;background:var(--ivory);border:1px solid var(--line)}
.chh-phoneblk small{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage2);font-weight:700;line-height:1.2}
.chh-phoneblk strong{font:800 .95rem var(--fh);line-height:1.2}
@media(min-width:1100px){.chh-phoneblk{display:flex}}
.chh-nav__wrap{display:flex;align-items:center;gap:16px}
.chh-navpill{margin-left:auto;flex:none;background:var(--sand);color:var(--navy);font:800 .78rem var(--fb);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:9px 16px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--gold);transition:background .15s,transform .15s}
.chh-navpill:hover{background:var(--gold);transform:translateY(-1px)}
@media(max-width:900px){.chh-nav__wrap{flex-direction:column;align-items:stretch}.chh-navpill{margin:14px 0 6px;text-align:center}}
/* Ribbon */
.chh-ribbon{background:var(--sand);color:var(--navy);overflow:hidden;border-block:1px solid var(--gold)}
.chh-ribbon__t{display:flex;width:max-content;animation:chh-marq 38s linear infinite}
.chh-ribbon__t span{padding:11px 28px;font:800 .78rem var(--fb);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.chh-ribbon__t span::after{content:"✦";margin-left:56px;color:var(--navy2);opacity:.6}
@keyframes chh-marq{to{transform:translateX(-50%)}}
/* Mobile tab bar */
.chh-tabbar{display:none}
@media(max-width:700px){
	.chh-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(22,42,58,.1);padding-bottom:env(safe-area-inset-bottom)}
	.chh-tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;font-size:.68rem;font-weight:700;color:var(--navy);text-decoration:none}
	.chh-tabbar a:active{background:var(--ivory)}
	body{padding-bottom:64px}
	.chh-wa{bottom:78px}
}
/* Stars & review cards */
.chh-stars{display:inline-flex;gap:2px;vertical-align:middle}
.chh-stars i{display:inline-flex;color:#d6d2c8}.chh-stars i.on{color:#D9A441}
.chh-stars svg{width:18px;height:18px;fill:currentColor}
.chh-vbadge{display:inline-flex;align-items:center;gap:4px;font:700 .72rem var(--fb);color:#2f6a43;background:#e6f2ea;padding:3px 9px;border-radius:999px}
.chh-vbadge svg{width:13px;height:13px}
.chh-rcard{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--sh);height:100%}
.chh-rcard__top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.chh-rcard blockquote{margin:0;flex:1}.chh-rcard blockquote p{margin:0;font-size:1.02rem;color:#333}
.chh-rcard figcaption{display:flex;align-items:center;gap:12px;font-size:.88rem}
.chh-rcard figcaption small{display:block;color:var(--muted)}.chh-rcard figcaption a{color:var(--navy)}
.chh-rcard__av{flex:none;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 1rem var(--fh)}
.chh-car{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:thin}
.chh-car>*{flex:0 0 min(86%,380px);scroll-snap-align:start}
.chh-car__nav{display:none;gap:8px}.chh-car__btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);background:transparent;color:var(--navy);font-size:1.1rem;cursor:pointer}
.chh-car__btn:hover{background:var(--navy);color:#fff}
@media(min-width:901px){.chh-car__nav{display:inline-flex}}
.chh-ratingline{display:flex;align-items:center;gap:8px;margin:6px 0 0}
.chh-sec-foot{margin:6px 0 0}
.chh-reviewcta{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--sh)}
.chh-reviewcta h2{margin-bottom:8px}.chh-reviewcta p{margin:0;max-width:640px}
@media(max-width:700px){.chh-reviewcta{flex-direction:column;align-items:flex-start;padding:24px}}
/* Reviews page */
.chh-rstats{display:grid;grid-template-columns:200px 1fr 260px;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--sh);margin-bottom:28px}
.chh-rstats__big{text-align:center}.chh-rstats__big strong{display:block;font:800 3.4rem/1 var(--fh);color:var(--navy);margin-bottom:6px}.chh-rstats__big span{display:block;color:var(--muted);font-size:.9rem;margin-top:6px}
.chh-bar{display:grid;grid-template-columns:42px 1fr 32px;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-size:.86rem;padding:3px 0}
.chh-bar i{height:9px;border-radius:9px;background:#eee9df;overflow:hidden}.chh-bar b{display:block;height:100%;background:#D9A441;border-radius:9px}
.chh-bar:hover,.chh-bar.is-on{font-weight:700}
.chh-rstats__side p{margin:0 0 10px}
.chh-rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.chh-pager{display:flex;gap:8px;justify-content:center;margin:28px 0}.chh-pager a,.chh-pager span{min-width:42px;height:42px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:#fff;text-decoration:none;font-weight:700}.chh-pager .is-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.chh-empty{text-align:center;background:#fff;border:1px dashed var(--gold);border-radius:20px;padding:48px 24px}
.chh-share{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;margin-top:56px;padding:36px;background:var(--ivory);border:1px solid var(--line);border-radius:20px}
.chh-share .chh-form .chh-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}
.chh-share label{display:block;font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:14px}
.chh-share input[type=text],.chh-share input[type=email],.chh-share textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cfc9bc;border-radius:10px;font:inherit;background:#fff}
.chh-share .chh-check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.chh-check input{margin-top:5px}
.chh-rate{border:0;padding:0;margin:0;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;align-self:end}
.chh-rate legend{float:left;width:100%;font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:6px;padding:0}
.chh-rate input{position:absolute;opacity:0}.chh-rate label{margin:0;cursor:pointer;color:#d6d2c8}.chh-rate label svg{width:30px;height:30px;fill:currentColor}
.chh-rate input:checked~label,.chh-rate label:hover,.chh-rate label:hover~label{color:#D9A441}
.chh-rate input:focus-visible+label{outline:3px solid var(--sage2);border-radius:6px}
@media(max-width:1000px){.chh-rstats{grid-template-columns:1fr}.chh-rgrid{grid-template-columns:repeat(2,1fr)}.chh-share{grid-template-columns:1fr}}
@media(max-width:620px){.chh-rgrid{grid-template-columns:1fr}.chh-share{padding:22px}.chh-share .chh-form .chh-two{grid-template-columns:1fr}}
/* Newsletter band + form */
.chh-nlband{background:radial-gradient(900px 300px at 85% 0,rgba(194,169,130,.28),transparent),var(--navy);color:#fff}
.chh-nlband__in{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding-top:54px;padding-bottom:54px}
.chh-nlband h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem)}.chh-nlband p{color:#d9e1e8;margin:0}
.chh-eyebrow--light{color:var(--sand)}
.chh-nlform__row{display:flex;gap:10px}
.chh-nlform input[type=email]{flex:1;min-width:0;min-height:52px;padding:0 16px;border-radius:10px;border:2px solid transparent;font:inherit;background:#fff;color:var(--ink)}
.chh-nlform input[type=email]:focus{border-color:var(--gold);outline:none}
.chh-nlform .chh-btn{white-space:nowrap}
.chh-nlband .chh-btn--primary{background:var(--sand);color:var(--navy)!important;border-color:var(--sand)}.chh-nlband .chh-btn--primary:hover{background:var(--gold);border-color:var(--gold)}
.chh-nlform__msg{min-height:1.4em;margin:10px 0 0!important;font-weight:600;font-size:.92rem}.chh-nlform__msg.is-err{color:#ffb4b4}.chh-nlform__msg.is-ok{color:#bfe8cc}
.chh-nlform__fine{font-size:.78rem!important;opacity:.8;margin-top:6px!important}.chh-nlform__fine a{color:inherit}
.chh-nlform.is-busy button{opacity:.6;pointer-events:none}
.chh-nlpage{max-width:560px;margin:28px 0;padding:24px;background:var(--navy);border-radius:18px;color:#fff}.chh-nlpage .chh-nlform__fine{color:#d9e1e8}
@media(max-width:900px){.chh-nlband__in{grid-template-columns:1fr;gap:22px;padding-top:40px;padding-bottom:40px}}
@media(max-width:520px){.chh-nlform__row{flex-direction:column}.chh-nlform .chh-btn{width:100%}}
/* Popup */
.chh-pop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px}
.chh-pop[hidden]{display:none}
.chh-pop__bg{position:absolute;inset:0;background:rgba(14,28,40,.62);backdrop-filter:blur(3px);animation:chh-fade .25s}
.chh-pop__box{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;width:min(820px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:22px;box-shadow:var(--shadow2);animation:chh-rise .35s cubic-bezier(.2,.8,.2,1);outline:none}
.chh-pop__art{background:radial-gradient(circle at 30% 20%,#2C4A63,var(--navy));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;position:relative}
.chh-pop__art::after{content:"";position:absolute;inset:14px;border:2px dashed rgba(216,195,165,.55);border-radius:14px}
.chh-pop__art b{font:800 5.2rem/1 var(--fh);color:var(--sand)}.chh-pop__art span{font:800 1.6rem var(--fh);letter-spacing:.3em;margin-right:-.3em}.chh-pop__art em{font-style:normal;margin-top:10px;opacity:.85;font-size:.95rem}
.chh-pop__body{padding:36px 34px 26px}
.chh-pop__body h2{font-size:1.7rem}.chh-pop__body .chh-nlform__msg.is-err{color:#a33}.chh-pop__body .chh-nlform__msg.is-ok{color:#2f6a43}
.chh-pop__body .chh-nlform__row{flex-direction:column}.chh-pop__body .chh-nlform input[type=email]{border:2px solid #d9d3c6}.chh-pop__body .chh-nlform .chh-btn{width:100%}
.chh-pop__x{position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--navy);cursor:pointer;display:grid;place-items:center}
.chh-pop__no{display:block;margin:10px auto 0;background:none;border:0;color:var(--muted);font:inherit;font-size:.86rem;text-decoration:underline;cursor:pointer;padding:8px}
.chh-pop__ok{display:flex;align-items:center;gap:8px;font:800 1.3rem var(--fh);color:#2f6a43;margin:0 0 6px}
.chh-code{display:flex;gap:10px;align-items:stretch;margin:6px 0 12px}.chh-code code{flex:1;display:grid;place-items:center;background:var(--ivory);border:2px dashed var(--gold);border-radius:10px;font:800 1.3rem var(--fh);letter-spacing:.12em;padding:10px;color:var(--navy)}
.chh-code .chh-btn{min-height:0;padding:0 18px}
@keyframes chh-fade{from{opacity:0}}@keyframes chh-rise{from{opacity:0;transform:translateY(24px) scale(.97)}}
@media(max-width:640px){.chh-pop{align-items:end;padding:0}.chh-pop__box{grid-template-columns:1fr;border-radius:22px 22px 0 0;max-height:92dvh}.chh-pop__art{flex-direction:row;gap:10px;padding:16px;align-items:baseline;justify-content:center}.chh-pop__art::after{display:none}.chh-pop__art b{font-size:2.8rem}.chh-pop__art span{font-size:1.1rem}.chh-pop__art em{display:none}.chh-pop__body{padding:22px 20px 18px}.chh-pop__body h2{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){.chh-ribbon__t{animation:none}.chh-pop__box,.chh-pop__bg{animation:none}.chh-topbar__msg>span{transition:none}html{scroll-behavior:auto}}
/* Misc polish */
.chh-unsub{padding:40px 24px 70px}.chh-narrow{max-width:720px}

/* ===== v2.2: compact header, spacing, logo ===== */
.chh-logo img,.chh-logo__img{height:46px;width:auto;max-width:200px}
.chh-search{max-width:460px}
.chh-search input[type=search]{min-height:42px;padding:0 16px;font-size:.95rem}
.chh-search button{width:48px;min-height:42px}
.chh-hbtn{min-height:48px}
@media(max-width:900px){
	/* row 1: menu + logo; row 2: search + account + cart on ONE line */
	.chh-header__in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:8px;padding-bottom:10px}
	.chh-burger{order:1;flex:none;min-width:42px;min-height:42px;padding:8px}
	.chh-logo{order:2;flex:1 1 calc(100% - 56px);margin:0;justify-content:flex-start}
	.chh-logo img,.chh-logo__img{height:36px}
	.chh-search{order:3;flex:1 1 0;min-width:0;max-width:none}
	.chh-search input[type=search]{min-height:40px;padding:0 14px;font-size:.92rem}
	.chh-search button{width:42px;min-height:40px}
	.chh-actions-bar{order:4;margin:0;flex:none;gap:2px}
	.chh-hbtn{min-width:42px;min-height:42px;padding:2px 6px}
	.chh-hbtn svg{width:24px;height:24px}
	.chh-phoneblk{display:none}
	.chh-header.is-stuck .chh-header__in{padding-top:6px;padding-bottom:6px}
}
/* never let content touch the edges */
.chh-hero .chh-hero__in{padding-left:20px;padding-right:20px}
@media(max-width:900px){
	.chh-hero__in{padding-top:36px;padding-bottom:40px}
	.chh-trust__grid{padding-top:24px;padding-bottom:24px;gap:18px 14px}
	.chh-section{padding-top:48px;padding-bottom:48px}
	.chh-banner .chh-wrap,.chh-banner{padding-top:26px;padding-bottom:26px}
	.chh-rcard,.chh-reviewcta,.chh-rstats,.chh-share{padding:20px}
}

/* ===== Product page ===== */
.chh-sticky{padding:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(22,42,58,.14);z-index:95}
.chh-sticky__in{display:flex;align-items:center;gap:12px;padding-top:10px;padding-bottom:10px}
.chh-sticky__img{border-radius:8px;object-fit:cover;flex:none}
.chh-sticky__buy,.chh-sticky__btn{min-height:46px;padding:0 22px;flex:none}
@media(max-width:700px){
	.chh-sticky__img{display:none}.chh-sticky__in{gap:8px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
	.chh-sticky__info strong{font-size:.8rem}.chh-sticky__buy,.chh-sticky__btn{padding:0 14px;font-size:.78rem;min-height:44px}
	body.single-product .chh-tabbar{display:none}
	body.single-product{padding-bottom:0}
	body.single-product.has-sticky{padding-bottom:70px}
	body.single-product .chh-wa{bottom:84px}
}
.single_add_to_cart_button.chh-buynow{background:var(--sand)!important;color:var(--navy)!important;border-color:var(--sand)!important}
.single_add_to_cart_button.chh-buynow:hover{background:var(--gold)!important;border-color:var(--gold)!important}
form.cart:not(.variations_form) .chh-buynow,.woocommerce-variation-add-to-cart .chh-buynow{margin-left:0}
.chh-pdp-cues{list-style:none;margin:14px 0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;gap:8px;font-weight:600;font-size:.92rem;color:var(--navy)}
.chh-pdp-cues li{display:flex;align-items:center;gap:10px}.chh-pdp-cues svg{width:20px;height:20px;color:var(--sage2)}
.chh-pdp-cues .is-warn{color:#9a4b00}.chh-pdp-cues .is-warn svg{color:#c76a00}
.chh-pdp-nudge{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;border-radius:12px;background:var(--sand);color:var(--navy);text-decoration:none;font-size:.92rem}
.chh-pdp-nudge svg{width:22px;height:22px;flex:none}.chh-pdp-nudge:hover{background:var(--gold)}
form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
form.cart .single_add_to_cart_button{flex:1 1 180px}
form.cart .variations,form.cart .single_variation_wrap,form.cart .woocommerce-variation{flex:1 1 100%}
.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 100%}

/* ===== v2.3 ===== */
/* Mega menu: full-width, professional */
.chh-menu>li.chh-has-mega{position:static}
.chh-nav__wrap{display:flex;align-items:center;gap:12px}
@media(min-width:901px){
	.chh-menu{flex-wrap:nowrap}
	.chh-menu>li>a{padding:0 14px;font-size:.88rem}
	.chh-caret{display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}
	.chh-mega{border-top:3px solid var(--sand);box-shadow:0 30px 60px rgba(22,42,58,.22);background:#fff;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s;pointer-events:none}
	.chh-has-mega:hover .chh-mega,.chh-has-mega:focus-within .chh-mega,.chh-has-mega.is-open .chh-mega{display:block;opacity:1;transform:none;pointer-events:auto}
	.chh-mega__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 40px;padding:32px 24px 26px}
	.chh-mega__col{min-width:0}
	.chh-mega__h{font-size:1rem;white-space:normal}
	.chh-mega ul a{padding:6px 0;color:#3b3b3b;white-space:normal;line-height:1.35}
	.chh-mega ul a:hover{color:var(--navy);text-decoration:none;padding-left:4px}
	.chh-mega__foot{max-width:1280px;margin:0 auto;padding:16px 24px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--ivory)}
	.chh-mega__foot a{font-weight:800;color:var(--navy);text-decoration:none}.chh-mega__foot a:hover{text-decoration:underline}
	.chh-mega__foot span{color:var(--muted);font-size:.88rem}
}
.chh-mega__foot{display:none}
@media(min-width:901px){.chh-mega__foot{display:flex}}
@media(min-width:901px) and (max-width:1100px){.chh-mega__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Desktop: hide the mobile search toggle */
.chh-hbtn--search{display:none}
/* Real WhatsApp button */
.chh-wa{background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(37,211,102,.45)}
.chh-wa:hover{background:#1ebe5b;color:#fff}
.chh-wa svg{width:28px;height:28px;flex:none}
.chh-btn .chh-i--wa{width:20px;height:20px}
.chh-info .chh-i--wa{color:#25D366}
.chh-btn--outline .chh-i--wa{color:#25D366}
/* Mobile header: logo + [search icon, account, cart] on one line; search bar opens on tap */
@media(max-width:900px){
	.chh-header__in{flex-wrap:wrap;gap:4px 6px;padding-top:8px;padding-bottom:8px}
	.chh-logo{order:2;flex:1 1 auto;margin:0 auto 0 0}
	.chh-logo img,.chh-logo__img{height:38px}
	.chh-actions-bar{order:3;gap:0}
	.chh-hbtn--search{display:inline-flex}
	.chh-searchwrap{order:5;flex:1 1 100%;display:none;padding:2px 0 4px}
	.chh-header.search-open .chh-searchwrap{display:block}
	.chh-searchwrap .chh-search{display:flex;max-width:none;width:100%}
	.chh-hbtn span:not(.chh-cart__n){display:none}
}
@media(min-width:901px){.chh-searchwrap{flex:1;display:flex;max-width:460px}.chh-searchwrap .chh-search{flex:1;max-width:none}}
/* Product page reviews */
.chh-pdprev{margin:44px 0 10px;padding:30px;background:var(--ivory);border:1px solid var(--line);border-radius:20px;clear:both}
.chh-pdprev .chh-sechead{margin-bottom:22px}
.chh-empty--sm{padding:22px;text-align:left}.chh-empty--sm p{margin:0}
@media(max-width:700px){.chh-pdprev{padding:20px}.chh-pdprev .chh-sechead--row{align-items:flex-start}.chh-pdprev .chh-btn{width:100%}}
@media(min-width:901px){.chh-mega__foot{max-width:none;padding-left:max(24px,calc((100% - 1232px)/2));padding-right:max(24px,calc((100% - 1232px)/2))}}
