/* MÅES Shop — shared styles */
:root{
  --paper:#FAF8F2; --bg-2:#EFEDE7; --ink:#1C1814; --ink-mid:#6B6660; --ink-soft:#A29C94;
  --sage:#6B4226; --sienna:#6B4226;
  --font-serif:'Cormorant Garamond', Georgia, serif;
  --font-display:'Cormorant Infant', Georgia, serif;
  --font-sans:'Helvetica Neue', Helvetica, Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;-webkit-user-drag:none;user-select:none}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;line-height:1.1;margin:0}
h1 em,h2 em,h3 em,h4 em,h1 i,h2 i,h3 i,h4 i{color:var(--sienna);font-style:italic;font-family:var(--font-display)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* Header */
.shop-header{position:sticky;top:0;z-index:50;background:rgba(250,248,242,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(28,24,20,.08);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.shop-wordmark{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase}
.shop-nav{display:flex;gap:2rem;align-items:center;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.shop-nav a{position:relative;padding:.25rem 0}
.shop-nav a:hover,.shop-nav a.active{color:var(--ink)}
.shop-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--sage)}
.shop-tools{display:flex;gap:1.25rem;align-items:center;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.shop-tools .lang button{padding:.2rem .35rem;color:var(--ink-soft)}
.shop-tools .lang button[aria-pressed="true"]{color:var(--ink)}
.cart-btn{display:inline-flex;align-items:center;gap:.4rem;position:relative}
.cart-btn .badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--sage);color:#fff;font-size:.62rem;letter-spacing:.05em}
.menu-btn{display:none}
.mobile-panel{display:none}
@media(max-width:840px){
  .shop-header{padding:.85rem 1.25rem}
  .shop-nav{display:none}
  .menu-btn{display:inline-flex;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
  .mobile-panel{position:fixed;top:60px;left:0;right:0;background:var(--paper);border-bottom:1px solid rgba(28,24,20,.1);padding:1.5rem 1.25rem;display:none;flex-direction:column;gap:1.25rem;z-index:49}
  .mobile-panel.open{display:flex}
  .mobile-panel a{font-family:var(--font-serif);font-size:1.4rem}
}

/* Layout */
.shop-container{max-width:1280px;margin:0 auto;padding:0 2rem}
@media(max-width:640px){.shop-container{padding:0 1.25rem}}
.section{padding:5rem 0}
.eyebrow{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);margin:0 0 1rem}
.h-display{font-size:clamp(2.2rem,5vw,4rem);font-weight:400}
.h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.lead{max-width:560px;color:var(--ink-mid);font-size:1rem;margin:0 0 2rem}

/* Hero */
.shop-hero{padding:5rem 0 3rem;border-bottom:1px solid rgba(28,24,20,.08)}

/* Categories */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
@media(max-width:840px){.cat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr}}
.cat-card{background:var(--bg-2);aspect-ratio:4/5;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:1.5rem;transition:transform .4s ease}
.cat-card:hover{transform:translateY(-4px)}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .8s ease}
.cat-card:hover img{transform:scale(1.04)}
.cat-card-label{position:relative;color:var(--ink);background:rgba(247,245,242,.92);padding:.65rem 1rem;font-family:var(--font-serif);font-size:1.1rem;letter-spacing:.04em}

/* Product grid */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1.5rem}
@media(max-width:1080px){.prod-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:840px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.prod-grid{grid-template-columns:1fr}}

.prod-card{display:flex;flex-direction:column;gap:.75rem}
.prod-card .img-wrap{background:var(--bg-2);aspect-ratio:4/5;overflow:hidden;position:relative}
.prod-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.prod-card:hover .img-wrap img{transform:scale(1.03)}
.prod-card .img-wrap .badge-soldout{position:absolute;top:.65rem;left:.65rem;background:rgba(28,24,20,.85);color:var(--paper);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .55rem}
.prod-card .title{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.02em}
.prod-card .price{font-size:.85rem;color:var(--ink-mid);letter-spacing:.05em}

/* Filter bar */
.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 2rem;border-bottom:1px solid rgba(28,24,20,.08);margin-bottom:2rem;flex-wrap:wrap}
.filter-bar .count{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mid)}
.filter-bar select{font:inherit;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:.55rem .85rem;background:transparent;border:1px solid rgba(28,24,20,.2);color:var(--ink);cursor:pointer}

/* PDP */
.pdp{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;padding:3rem 0 5rem}
@media(max-width:840px){.pdp{grid-template-columns:1fr;gap:2rem}}
.pdp-gallery{display:flex;flex-direction:column;gap:.75rem}
.pdp-main-img{background:var(--bg-2);aspect-ratio:4/5;overflow:hidden}
.pdp-main-img img{width:100%;height:100%;object-fit:cover}
.pdp-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}
.pdp-thumbs button{background:var(--bg-2);aspect-ratio:1;overflow:hidden;padding:0;border:1px solid transparent}
.pdp-thumbs button[aria-current="true"]{border-color:var(--sage)}
.pdp-thumbs img{width:100%;height:100%;object-fit:cover}
.pdp-info h1{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:.5rem}
.pdp-price{font-size:1.15rem;color:var(--ink);margin:.5rem 0 1.5rem;letter-spacing:.05em}
.pdp-desc{color:var(--ink-mid);font-size:.95rem;line-height:1.85;margin:1.5rem 0}
.pdp-options{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}
.opt-group label{display:block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:.5rem}
.opt-group .swatches{display:flex;flex-wrap:wrap;gap:.5rem}
.opt-group .swatches button{padding:.55rem 1rem;border:1px solid rgba(28,24,20,.2);font-size:.85rem;letter-spacing:.04em;background:transparent;transition:all .2s}
.opt-group .swatches button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.opt-group .swatches button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.btn-add{width:100%;padding:1.05rem 1.5rem;background:var(--ink);color:var(--paper);font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;transition:background .2s;margin-top:.5rem}
.btn-add:hover{background:var(--sage)}
.btn-add:disabled{opacity:.4;cursor:not-allowed}
.btn-wishlist{width:100%;padding:1rem 1.5rem;background:transparent;border:1px solid rgba(28,24,20,.2);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;margin-top:.6rem;color:var(--ink-mid)}
.btn-wishlist[aria-pressed="true"]{color:var(--sage);border-color:var(--sage)}

.pdp-meta{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(28,24,20,.08);font-size:.85rem;color:var(--ink-mid)}
.pdp-meta details{padding:1rem 0;border-bottom:1px solid rgba(28,24,20,.08)}
.pdp-meta summary{cursor:pointer;font-family:var(--font-serif);font-size:1rem;color:var(--ink);letter-spacing:.04em}
.pdp-meta details[open] summary{color:var(--sage)}
.pdp-meta details > div{padding-top:.85rem;line-height:1.85}

/* Trust strip */
.trust{background:var(--bg-2);padding:2.5rem 0;margin-top:3rem}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
@media(max-width:840px){.trust-grid{grid-template-columns:1fr 1fr}}
.trust-item h4{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-family:var(--font-sans);font-weight:400;margin-bottom:.4rem;color:var(--ink)}
.trust-item p{margin:0;font-size:.8rem;color:var(--ink-mid)}

/* Cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(28,24,20,.4);opacity:0;pointer-events:none;transition:opacity .3s;z-index:99}
.cart-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,92vw);background:var(--paper);transform:translateX(100%);transition:transform .35s ease;z-index:100;display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-head{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(28,24,20,.08)}
.cart-head h3{font-size:1.1rem;letter-spacing:.04em}
.cart-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--ink-mid)}
.cart-line{display:grid;grid-template-columns:70px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(28,24,20,.06)}
.cart-line .li-img{background:var(--bg-2);aspect-ratio:1;overflow:hidden}
.cart-line .li-img img{width:100%;height:100%;object-fit:cover}
.cart-line .li-info .li-title{font-family:var(--font-serif);font-size:.95rem;margin-bottom:.2rem}
.cart-line .li-info .li-variant{font-size:.72rem;color:var(--ink-soft);letter-spacing:.04em}
.cart-line .li-info .li-price{font-size:.85rem;margin-top:.35rem}
.qty-ctrl{display:inline-flex;align-items:center;border:1px solid rgba(28,24,20,.15);margin-top:.5rem}
.qty-ctrl button{width:26px;height:26px;font-size:.85rem;color:var(--ink-mid)}
.qty-ctrl span{padding:0 .55rem;font-size:.8rem}
.li-remove{background:none;border:0;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);align-self:start}
.li-remove:hover{color:var(--ink)}
.cart-foot{padding:1.5rem;border-top:1px solid rgba(28,24,20,.08);background:var(--paper)}
.cart-foot .total{display:flex;justify-content:space-between;font-family:var(--font-serif);font-size:1.1rem;margin-bottom:1rem}
.cart-foot .checkout-btn{width:100%;padding:1.05rem;background:var(--ink);color:var(--paper);font-size:.78rem;letter-spacing:.25em;text-transform:uppercase}
.cart-foot .checkout-btn:hover{background:var(--sage)}
.cart-foot .ship-note{font-size:.72rem;color:var(--ink-soft);text-align:center;margin-top:.75rem;letter-spacing:.04em}

/* Footer — unified with main MÅES footer */
.maes-footer{
  background:var(--bg-2);
  padding:4rem 5vw;
  display:flex;flex-direction:column;align-items:center;gap:1.5rem;
  text-align:center;color:var(--ink-soft);
  margin-top:5rem;border-top:none;
}
.maes-footer-copy{
  font-family:var(--font-serif);
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);
  margin:0;
}
.maes-footer-links{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.5rem 0;max-width:720px;
}
.maes-footer-links a{
  font-family:var(--font-serif);
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;
  padding:0 .9rem;position:relative;transition:color .3s ease;
}
.maes-footer-links a:not(:last-child)::after{
  content:'·';position:absolute;right:-2px;top:50%;transform:translateY(-55%);
  color:var(--ink-soft);opacity:.55;pointer-events:none;
}
.maes-footer-links a:hover{color:var(--ink)}
.maes-footer-nl{
  display:flex;border:1px solid rgba(28,24,20,.18);width:min(360px,90vw);
  margin-top:.25rem;
}
.maes-footer-nl input{
  flex:1;padding:.7rem .85rem;border:0;background:transparent;
  font:inherit;font-size:.78rem;color:var(--ink);outline:none;
}
.maes-footer-nl button{
  padding:.7rem 1rem;background:var(--ink);color:var(--paper);
  font-family:var(--font-sans);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
  border:0;cursor:pointer;transition:background .25s ease,color .25s ease;
}
.maes-footer-nl button:hover{background:transparent;color:var(--ink)}
.maes-footer-nl + #nlMsg{font-size:.7rem;color:var(--ink-soft);margin:.25rem 0 0}

/* Cookie banner — MÅES style */
.cookie-banner{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);
  width:min(560px,calc(100vw - 32px));
  background:var(--paper);color:var(--ink);
  border:1px solid rgba(28,24,20,.10);
  box-shadow:0 24px 60px -20px rgba(28,24,20,.18),0 2px 8px rgba(28,24,20,.06);
  padding:1.5rem 1.6rem 1.4rem;z-index:200;
  opacity:0;pointer-events:none;
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);
}
.cookie-banner.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.cookie-banner h4{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);margin:0 0 .6rem;font-weight:500}
.cookie-banner p{margin:0 0 1.1rem;color:var(--ink);font-family:var(--font-sans);font-size:.82rem;line-height:1.55}
.cookie-banner a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.cookie-actions button{flex:1 1 auto;font-family:var(--font-sans);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;padding:.95rem 1.2rem;border:1px solid var(--ink);cursor:pointer;transition:background .25s ease,color .25s ease}
.cookie-actions .accept{background:var(--ink);color:var(--paper)}
.cookie-actions .accept:hover{background:transparent;color:var(--ink)}
.cookie-actions .reject{background:transparent;color:var(--ink)}
.cookie-actions .reject:hover{background:var(--ink);color:var(--paper)}

/* Toast */
.toast{position:fixed;top:80px;left:50%;transform:translate(-50%,-20px);background:var(--ink);color:var(--paper);padding:.85rem 1.5rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;transition:all .3s;z-index:150}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Loader */
.skeleton{background:linear-gradient(90deg,var(--bg-2) 0%,#e6e3dd 50%,var(--bg-2) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Legal pages */
.legal{max-width:760px;margin:0 auto;padding:5rem 2rem}
.legal h1{font-size:2.2rem;margin-bottom:2rem}
.legal h2{font-size:1.3rem;margin:2.5rem 0 1rem}
.legal p,.legal li{color:var(--ink-mid);font-size:.95rem;line-height:1.85}
.legal ul{padding-left:1.25rem}
