/* Haven Shared CSS — nomadic minimal palette */
:root{
  --p:#d4746f;--pd:#b85e59;
  --s:#f5f5f5;--d:#333;--b:#e0e0e0;--w:#fff;--m:#666;
  --fd:'Playfair Display',serif;--fb:'Poppins',sans-serif;
  --xs:.5rem;--sm:1rem;--md:1.5rem;--lg:2rem;--xl:3rem;--xxl:4rem;
  --r:4px;--sh:0 2px 12px rgba(0,0,0,.08);--tr:all .3s ease
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--d);background:var(--w);line-height:1.6;font-size:15px}
a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}

/* HEADER */
.sh{position:sticky;top:0;z-index:1000;background:var(--w);border-bottom:1px solid var(--b);box-shadow:0 1px 8px rgba(0,0,0,.06)}
.ht{background:var(--d);color:var(--w);text-align:center;padding:6px var(--sm);font-size:12px;letter-spacing:.5px}
.hm{display:flex;align-items:center;justify-content:space-between;padding:var(--sm) var(--lg);max-width:1280px;margin:0 auto;gap:var(--sm)}
.logo{font-family:var(--fd);font-size:1.6rem;font-weight:700;color:var(--d)}
.logo span{color:var(--p)}
.nav{display:flex;gap:var(--md)}
.nav a{font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--d);transition:color .2s}
.nav a:hover,.nav a.active{color:var(--p)}
.ha{display:flex;gap:var(--md);align-items:center}
.ha a{font-size:13px;font-weight:500;color:var(--d);display:flex;align-items:center;gap:5px;transition:color .2s}
.ha a:hover{color:var(--p)}
.cc{background:var(--p);color:var(--w);border-radius:50%;width:18px;height:18px;font-size:10px;display:flex;align-items:center;justify-content:center}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;border-radius:var(--r);font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:var(--tr);border:2px solid transparent}
.btn-p{background:var(--p);color:var(--w);border-color:var(--p)}.btn-p:hover{background:var(--pd);border-color:var(--pd)}
.btn-ow{background:transparent;color:var(--w);border-color:rgba(255,255,255,.6)}.btn-ow:hover{background:var(--w);color:var(--d)}
.btn-d{background:var(--d);color:var(--w);border-color:var(--d)}.btn-d:hover{background:var(--p);border-color:var(--p)}
.btn-od{background:transparent;color:var(--d);border-color:var(--d)}.btn-od:hover{background:var(--d);color:var(--w)}
.btn-sm{padding:7px 16px;font-size:12px}.btn-lg{padding:14px 32px;font-size:14px}

/* PAGE HERO (dark) */
.phero{background:#1c1c1c;color:var(--w);padding:var(--xxl) var(--lg);text-align:center}
.phero.light{background:var(--s);color:var(--d)}
.phtitle{font-family:var(--fd);font-size:clamp(1.8rem,4vw,3rem);font-weight:700;margin-bottom:var(--xs)}
.phdesc{color:rgba(255,255,255,.68);font-size:16px;max-width:600px;margin:0 auto}
.phero.light .phdesc{color:var(--m)}
.bc-bar{display:flex;align-items:center;gap:var(--xs);font-size:13px;justify-content:center;margin-top:var(--sm)}
.bc-bar a{opacity:.7}.bc-bar a:hover{opacity:1}
.bc-sep{opacity:.4}

/* SECTIONS */
.sec{padding:var(--xxl) var(--lg);max-width:1280px;margin:0 auto}
.sh2{text-align:center;margin-bottom:var(--lg)}
.slabel{display:inline-block;color:var(--p);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--xs)}
.stitle{font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700}
.sdesc{color:var(--m);margin-top:var(--xs);font-size:15px}

/* PRODUCT CARD */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--md)}
.pc{border:1px solid var(--b);border-radius:12px;overflow:hidden;background:var(--w);transition:var(--tr);position:relative}
.pc:hover{box-shadow:0 8px 32px rgba(0,0,0,.1);transform:translateY(-4px)}
.pbadge{position:absolute;top:12px;left:12px;z-index:2;color:var(--w);font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px}
.pbadge.sale{background:var(--p)}.pbadge.new{background:var(--d)}.pbadge.hot{background:var(--d)}
.pimg{height:220px;display:flex;align-items:center;justify-content:center;background:var(--s)}
.pimg svg{width:68px;height:68px;stroke:var(--d);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.28}
.pinfo{padding:var(--sm)}
.pcat{font-size:11px;color:var(--p);font-weight:600;letter-spacing:1px;text-transform:uppercase}
.pname{font-family:var(--fd);font-size:1rem;font-weight:600;margin:4px 0;line-height:1.3}
.pname a{color:var(--d)}.pname a:hover{color:var(--p)}
.prat{display:flex;align-items:center;gap:4px;margin:4px 0}
.stars{color:var(--p);font-size:13px}
.rc{font-size:12px;color:var(--m)}
.pprice{display:flex;align-items:center;gap:var(--xs);margin-top:4px}
.pcur{font-size:1.1rem;font-weight:700}
.pold{font-size:.85rem;color:var(--m);text-decoration:line-through}
.pact{display:flex;gap:8px;padding:0 var(--sm) var(--sm)}
.bw{padding:8px 12px;border:1px solid var(--b);border-radius:var(--r);background:transparent;cursor:pointer;transition:var(--tr);color:var(--m);display:flex;align-items:center}
.bw:hover{border-color:var(--p);color:var(--p)}

/* TRUST BAR */
.trust{background:var(--s);border-top:1px solid var(--b);border-bottom:1px solid var(--b)}
.ti{max-width:1280px;margin:0 auto;padding:14px var(--lg);display:flex;justify-content:center;gap:var(--xxl);flex-wrap:wrap}
.titem{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--d)}
.titem svg{width:15px;height:15px;stroke:var(--p);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* NEWSLETTER */
.nl{background:var(--s);border-top:1px solid var(--b);padding:var(--xxl) var(--lg);text-align:center}
.nli{max-width:580px;margin:0 auto}
.nltitle{font-family:var(--fd);font-size:clamp(1.4rem,3vw,2rem);margin-bottom:var(--xs)}
.nldesc{color:var(--m);margin-bottom:var(--md)}
.nlform{display:flex;max-width:440px;margin:0 auto}
.nlinput{flex:1;padding:12px 16px;border:1px solid var(--b);border-right:none;border-radius:var(--r) 0 0 var(--r);font-family:var(--fb);font-size:14px;outline:none;background:var(--w)}
.nlinput:focus{border-color:var(--p)}
.nlbtn{border-radius:0 var(--r) var(--r) 0;padding:12px 20px;white-space:nowrap}
.nlnote{font-size:12px;color:var(--m);margin-top:var(--sm)}

/* FOOTER */
.foot{background:var(--d);color:rgba(255,255,255,.6);padding-top:var(--xxl)}
.fg{max-width:1280px;margin:0 auto;padding:0 var(--lg) var(--lg);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--xxl)}
.flogo{font-family:var(--fd);font-size:1.6rem;font-weight:700;color:var(--w);margin-bottom:var(--sm)}
.flogo span{color:var(--p)}
.fdesc{font-size:13px;line-height:1.7;max-width:280px}
.fsoc{display:flex;gap:10px;margin-top:var(--md)}
.sl{width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.sl svg{width:15px;height:15px;stroke:rgba(255,255,255,.55);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sl:hover{background:var(--p);border-color:var(--p)}
.sl:hover svg{stroke:#fff}
.fct{font-family:var(--fd);font-weight:600;color:var(--w);margin-bottom:var(--sm);font-size:14px}
.fl{display:flex;flex-direction:column;gap:8px}
.fl a{font-size:13px;transition:color .2s}
.fl a:hover{color:var(--p)}
.fb{border-top:1px solid rgba(255,255,255,.1);padding:var(--sm) var(--lg);max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:12px}
.fbl{display:flex;gap:var(--md)}.fbl a:hover{color:var(--p)}

/* FORMS */
.form-group{margin-bottom:var(--md)}
.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--d)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--b);border-radius:var(--r);font-family:var(--fb);font-size:14px;outline:none;background:var(--w);transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--p)}
.form-group textarea{resize:vertical;min-height:120px}

/* RESPONSIVE */
@media(max-width:1024px){
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .fg{grid-template-columns:1fr 1fr;gap:var(--lg)}}
@media(max-width:768px){
  .nav{display:none}.hm{padding:var(--sm)}
  .ti{gap:var(--md)}
  .fg{grid-template-columns:1fr;padding:0 var(--sm) var(--sm)}
  .fb{flex-direction:column;gap:var(--sm);text-align:center;padding:var(--sm)}
  .nlform{flex-direction:column}.nlinput{border-right:1px solid var(--b);border-bottom:none;border-radius:var(--r) var(--r) 0 0}
  .nlbtn{border-radius:0 0 var(--r) var(--r)}
  .sec{padding:var(--lg) var(--sm)}.nl{padding:var(--lg) var(--sm)}}
@media(max-width:480px){.pgrid{grid-template-columns:1fr}}
