/* ========================================================================
   PALÁCIO DAS CACHEADAS — LOJA
   Reaproveita as variáveis/tipografia/.btn de styles.css
   ===================================================================== */

.shop-body{background:var(--creme);min-height:100vh}
[hidden]{display:none!important}   /* garante que display:flex não anule o atributo hidden */

/* header sempre com fundo (sem cacho atrás aqui) */
.shop-hdr{background:rgba(245,231,218,.86);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.shop-hdr .nav a:not(.btn){font-size:.82rem;color:var(--ink)}
.cart-btn{display:inline-flex;align-items:center;gap:.55em;border:0;cursor:pointer}
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;padding:0 .35em;border-radius:100px;background:var(--terracota);color:var(--creme);font-size:.72rem;font-weight:500;line-height:1}

/* layout */
.shop{max-width:var(--maxw);margin-inline:auto;padding:clamp(110px,15vh,160px) var(--pad) 80px}

/* hero da loja */
.shop-hero{max-width:34ch;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.shop-hero__title{font-family:var(--ff-display);font-weight:360;font-optical-sizing:auto;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.02;letter-spacing:-.015em;color:var(--espresso);margin-top:.2rem;text-wrap:balance}
.shop-hero__title em{font-style:italic;color:var(--terracota)}
.shop-hero .lead{max-width:52ch}

/* filtros */
.shop-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.4rem}
.chip{font-family:var(--ff-body);font-size:.82rem;font-weight:420;letter-spacing:.02em;padding:.5em 1.1em;border-radius:100px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:all .3s var(--e1)}
.chip:hover{border-color:var(--espresso);color:var(--espresso)}
.chip.is-active{background:var(--espresso);border-color:var(--espresso);color:var(--creme)}

/* grade */
.shop-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:clamp(1rem,1.8vw,1.7rem)}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .4s var(--e1),box-shadow .4s var(--e1)}
.card:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(43,26,20,.12)}
.card__media{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid var(--line)}
.card__media img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply}
.card__body{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.1rem 1.2rem;flex:1}
.card__brand{font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cobre)}
.card__title{font-family:var(--ff-display);font-weight:480;font-size:1.04rem;line-height:1.22;color:var(--espresso)}
.card__spacer{flex:1}
.card__row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.4rem}
.card__price{font-family:var(--ff-display);font-weight:560;font-size:1.18rem;color:var(--espresso);white-space:nowrap}
.card__price small{display:block;font-family:var(--ff-body);font-weight:340;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.card__add{font-family:var(--ff-body);font-size:.8rem;font-weight:460;letter-spacing:.02em;padding:.65em 1.05em;border-radius:100px;border:0;background:var(--terracota);color:var(--creme);cursor:pointer;transition:background .3s,transform .3s var(--e1);white-space:nowrap}
.card__add:hover{background:var(--espresso);transform:translateY(-2px)}
.card__add.added{background:var(--cobre)}

.shop-empty{margin-top:2rem;color:var(--ink-soft);font-style:italic}

/* footer */
.shop-footer{margin-top:2rem}

/* ---------- sacola (drawer) ---------- */
.cart-backdrop{position:fixed;inset:0;z-index:70;background:rgba(43,26,20,.4);opacity:0;transition:opacity .4s var(--e1)}
.cart-backdrop.show{opacity:1}
.cart{position:fixed;top:0;right:0;z-index:71;width:min(430px,92vw);height:100dvh;background:var(--creme);box-shadow:-20px 0 60px rgba(43,26,20,.22);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s var(--e1)}
.cart.open{transform:none}
.cart__head{display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--pad-c,1.5rem) 1.1rem;border-bottom:1px solid var(--line)}
.cart__head h2{font-family:var(--ff-display);font-weight:420;font-size:1.5rem;color:var(--espresso)}
.cart__close{border:0;background:transparent;font-size:1.1rem;color:var(--ink-soft);cursor:pointer;padding:.3em;line-height:1}
.cart__close:hover{color:var(--espresso)}
.cart__items{list-style:none;flex:1;overflow-y:auto;padding:.6rem 1.5rem;margin:0}
.citem{display:grid;grid-template-columns:64px 1fr auto;gap:.9rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}
.citem__media{width:64px;height:64px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:6px}
.citem__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.citem__t{font-family:var(--ff-display);font-weight:460;font-size:.92rem;line-height:1.2;color:var(--espresso)}
.citem__p{font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}
.citem__qty{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.citem__qty button{width:1.5em;height:1.5em;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--espresso);cursor:pointer;font-size:.9rem;line-height:1;display:flex;align-items:center;justify-content:center}
.citem__qty button:hover{background:var(--espresso);color:var(--creme);border-color:var(--espresso)}
.citem__qty span{min-width:1.4em;text-align:center;font-size:.86rem}
.citem__rm{align-self:start;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:.72rem;text-decoration:underline}
.citem__rm:hover{color:var(--terracota)}
.cart__empty{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--ink-soft);font-style:italic;padding:2rem}
.cart__empty span{font-size:.85rem;opacity:.8;font-style:normal}
.cart__foot{padding:1.2rem 1.5rem 1.6rem;border-top:1px solid var(--line)}
.cart__total{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}
.cart__total span{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.cart__total strong{font-family:var(--ff-display);font-weight:560;font-size:1.6rem;color:var(--espresso)}
.cart__checkout{width:100%}
.cart__note{margin-top:.8rem;font-size:.74rem;line-height:1.5;color:var(--ink-soft);text-align:center}

/* ---------- seções (linha exclusiva + mais produtos) ---------- */
.section-head{margin-bottom:1.8rem;max-width:42ch}
.section-head .display{font-size:clamp(1.7rem,3.8vw,2.9rem);margin-top:.2rem}
.section-head .lead{max-width:56ch;margin-top:.85rem}
.linha{position:relative;margin-bottom:clamp(2.6rem,5vw,4rem)}
.linha-banner{position:relative;border-radius:18px;overflow:hidden;margin-bottom:clamp(1.8rem,3.5vw,2.8rem);min-height:clamp(300px,30vw,440px);display:flex;align-items:center;box-shadow:0 20px 50px rgba(43,26,20,.14)}
.linha-banner__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right;z-index:0}
.linha-banner::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(245,231,218,.95),rgba(245,231,218,.55) 45%,rgba(245,231,218,0) 72%)}
.linha-banner__text{position:relative;z-index:2;padding:clamp(1.6rem,4.5vw,3.6rem);max-width:min(580px,92%)}
.linha-banner__text .kicker{margin-bottom:1rem}
.linha-banner__text .display{font-size:clamp(1.7rem,4vw,3.2rem);color:var(--espresso);max-width:13ch}
.linha-banner__text .display em{font-style:italic;color:var(--terracota)}
.linha-banner__text .lead{max-width:42ch;margin:.7rem 0 1.5rem;color:var(--ink-soft)}
@media (max-width:560px){
  .linha-banner{display:block;min-height:0;overflow:visible;box-shadow:none}
  .linha-banner__bg{position:static;height:200px;border-radius:16px;box-shadow:0 14px 34px rgba(43,26,20,.16)}
  .linha-banner::before{display:none}
  .linha-banner__text{padding:1.3rem 0 0;max-width:100%}
}
.mais{margin-top:1rem}

/* badge "Exclusivo" */
.card,.card__media{position:relative}
.card__badge{position:absolute;top:.7rem;left:.7rem;z-index:2;background:var(--terracota);color:var(--creme);font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.4em .75em;border-radius:100px;box-shadow:0 4px 12px rgba(43,26,20,.18)}
.card--excl{border-color:rgba(197,106,74,.34)}

@media (max-width:560px){
  .shop-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
  .card__body{padding:.85rem .85rem 1rem}
  /* preço em cima, botão full-width embaixo — evita o corte do "Adicionar" */
  .card__row{flex-direction:column;align-items:stretch;gap:.7rem}
  .card__price{font-size:1.06rem}
  .card__add{width:100%;text-align:center;padding:.7em 1em;font-size:.78rem}
  .linha{padding:1.1rem;border-radius:18px}
}
