.shop .brand-mark{font-size:1.35rem}
.cart-link{text-decoration:none;font-weight:700;font-size:var(--text-sm);display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:999px;padding:.45rem .6rem .45rem 1rem;background:var(--surface)}
.cart-count{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;padding:0 .4rem}

.shop-hero{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem)}
.shop-hero h1{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.1rem);max-width:22ch}
.perks{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.perks li{background:var(--soft);border-radius:999px;padding:.45rem 1rem;font-size:var(--text-sm);color:var(--muted)}
.perks strong{color:var(--ink)}

.shop-grid{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start;padding-bottom:var(--pad)}
.products{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.prod{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.prod img{aspect-ratio:4/3;object-fit:cover;width:100%}
.prod-b{padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.prod h3{font-size:1.4rem;margin-top:.15rem}
.prod .price{margin:0}
.prod .desc{color:var(--muted);font-size:var(--text-sm);flex:1}
.prod .badge{position:absolute;top:.8rem;left:.8rem;font-size:var(--text-xs);font-weight:700;color:var(--accent);background:#FAF7F2;border-radius:999px;padding:.25rem .7rem;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.prod-act{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.8rem}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--bg)}
.qty button{width:2.4rem;height:2.4rem;border:0;background:transparent;font-size:1.15rem;cursor:pointer;color:var(--ink)}
.qty button:hover{background:var(--soft)}
.qty input{width:3rem;text-align:center;border:0;background:transparent;font:inherit;font-weight:700;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.prod.in{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}

.cart{position:sticky;top:88px}
.cart-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.cart-box h2{font-size:1.45rem;margin-bottom:1rem}
.cart-lines{display:grid;gap:.6rem;margin-bottom:1rem}
.cart-line{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--text-sm)}
.cart-line span:first-child{color:var(--muted)}
.cart-empty{font-size:var(--text-sm);color:var(--muted)}
.totals{display:grid;grid-template-columns:1fr auto;gap:.35rem .75rem;border-top:1px solid var(--line);padding-top:.9rem;font-size:var(--text-sm)}
.totals dt{color:var(--muted)}
.totals dd{text-align:right;font-variant-numeric:tabular-nums}
.totals .grand{font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--ink);padding-top:.35rem}
.cart-note{font-size:var(--text-xs);color:var(--muted);margin:.9rem 0 1rem}
.btn-block{width:100%}
.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}

.checkout{background:var(--soft);padding-block:var(--pad)}
.checkout-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.co-head{position:sticky;top:96px}
.co-form{display:grid;gap:1.4rem}
.co-form fieldset{border:0;background:var(--surface);border-radius:var(--r);padding:1.3rem 1.3rem 1.4rem;display:grid;gap:1rem}
.co-form legend{font-family:var(--serif);font-weight:700;font-size:1.15rem;padding:0;margin-bottom:.4rem;float:left;width:100%}
.co-form label{display:grid;gap:.35rem;font-size:var(--text-sm);color:var(--muted)}
.co-form input,.co-form select,.co-form textarea{font:inherit;font-size:var(--text-base);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;width:100%}
.co-form input:focus,.co-form select:focus,.co-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.co-form .check{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink)}
.co-form .check input{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--accent);flex:none}
.co-form .bad{border-color:#B3261E;background:#FFF6F5}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fact-fields{display:grid;gap:1rem}
.form-err{color:#B3261E;font-size:var(--text-sm);min-height:1.2em}
.fine{font-size:var(--text-xs);color:var(--muted)}

.sheet{position:fixed;inset:0;z-index:80;background:rgba(31,26,23,.55);display:grid;place-items:center;padding:1rem}
.sheet[hidden]{display:none}
.sheet-box{background:var(--bg);border-radius:var(--r);padding:clamp(1.3rem,3vw,2rem);width:min(640px,100%);max-height:92vh;overflow:auto}
.sheet-box h2{margin-bottom:.4rem}
.summary{white-space:pre-wrap;font-family:var(--sans);font-size:var(--text-sm);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem;margin:1.1rem 0;max-height:38vh;overflow:auto}
.sheet-cta{display:flex;flex-wrap:wrap;gap:.7rem}
.btn-wa{background:#1F8A4C;border-color:#1F8A4C}
.btn-wa:hover{background:#18703D}
.btn-line{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-line:hover{background:#F4E7E2}
.sheet-close{margin-top:1rem;background:none;border:0;font:inherit;font-size:var(--text-sm);color:var(--muted);text-decoration:underline;cursor:pointer}

.mbar{display:none}

@media (max-width:1000px){
  .shop-grid{grid-template-columns:1fr}
  .cart{position:static}
  .checkout-in{grid-template-columns:1fr}
  .co-head{position:static}
}
@media (max-width:620px){
  .products{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .shop .brand-sub{display:none}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--ink);color:#F4EEE8;padding:.7rem 1.25rem calc(.7rem + env(safe-area-inset-bottom));font-size:var(--text-sm);transform:translateY(110%);transition:transform .2s}
  .mbar.on{transform:none}
  body.shop{padding-bottom:4.5rem}
}
.brand-mark .amp{font-style:italic;font-weight:400;color:var(--ink)}
