/* =========================================================
   SOLIMÁ — camada compartilhada de marca
   Tokens, reset, tipografia, botões, emblema e utilitários
   usados pelos mocks v2, v3 e pelo hub.
   ========================================================= */

:root{
  --wine:#6e1621;
  --wine-2:#8a1a23;
  --crimson:#7a0c12;
  --wine-deep:#3d0a11;
  --cream:#f8f2e8;
  --cream-2:#fcf8f1;
  --ink:#141010;
  --gray:#6f6f6f;
  --brown:#3a1d0c;
  --gold:#f0c9b0;
  --line:rgba(20,16,16,.12);
  --line-light:rgba(248,242,232,.18);

  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Jost", "Helvetica Neue", Arial, sans-serif;
  --wrap:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);background:var(--cream);color:var(--ink);
  font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

/* ---------- tipografia ---------- */
.kicker{font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;font-weight:500;color:var(--wine)}
.kicker--light{color:rgba(248,242,232,.75)}
.center{text-align:center}
.serif{font-family:var(--serif)}
.h-display{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:.005em}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:500;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  padding:1.05em 2.1em;border:1px solid transparent;border-radius:2px;cursor:pointer;
  transition:.4s var(--ease);white-space:nowrap;
}
.btn--sm{padding:.7em 1.3em;font-size:.7rem}
.btn--lg{padding:1.2em 2.8em;font-size:.84rem}
.btn--solid{background:var(--wine);color:var(--cream)}
.btn--solid:hover{background:var(--ink)}
.btn--line{border-color:var(--wine);color:var(--wine)}
.btn--line:hover{background:var(--wine);color:var(--cream)}
.btn--line-light{border-color:rgba(248,242,232,.55);color:var(--cream)}
.btn--line-light:hover{background:var(--cream);color:var(--ink)}
.btn[disabled]{opacity:.4;cursor:not-allowed}

/* ---------- emblema / wordmark ---------- */
.brand{display:flex;align-items:center;gap:.6rem}
.brand__emblem{display:inline-flex;align-items:center}
.brand__emblem img{height:30px;width:auto;display:block}
.brand__word{font-family:var(--serif);font-weight:600;letter-spacing:.18em;line-height:1}

/* ---------- media de produto (foto real + fallback duotone) ---------- */
.pmedia{position:relative;overflow:hidden;background:#2a2326}
.pmedia img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease),opacity .5s}
.pmedia__fallback{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;z-index:0}
.pmedia__fallback span{font-family:var(--serif);font-style:italic;color:var(--cream);font-size:1.05rem;opacity:.9}
.tone-1{background:linear-gradient(150deg,#2a2326,#5a4046)}
.tone-2{background:linear-gradient(150deg,#3a1d0c,#7a4a28)}
.tone-3{background:linear-gradient(150deg,#1a1718,#444)}
.tone-4{background:linear-gradient(150deg,#3d0a11,#8a1a23)}
.tone-5{background:linear-gradient(150deg,#22282b,#566)}
.tone-6{background:linear-gradient(150deg,#2b2226,#6e1621)}
.tone-7{background:linear-gradient(150deg,#1c1a1b,#3a3338)}
.tone-8{background:linear-gradient(150deg,#241a12,#5a3a22)}

/* ---------- carrossel horizontal de produtos (.row) ---------- */
.row{position:relative}
.row__track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 28px 18px;max-width:var(--wrap);margin:0 auto;scrollbar-width:none}
.row__track::-webkit-scrollbar{display:none}
.row__nav{position:absolute;top:36%;z-index:4;background:var(--cream);border:1px solid var(--line);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.1rem;color:var(--ink);transition:.3s;box-shadow:0 12px 30px -16px rgba(0,0,0,.4)}
.row__nav:hover{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.row__nav--prev{left:14px}.row__nav--next{right:14px}

/* ---------- card de produto ---------- */
.pcard{flex:0 0 clamp(220px,23%,290px);scroll-snap-align:start;cursor:pointer;position:relative}
.pcard .pmedia{aspect-ratio:3/4;border-radius:4px}
.pcard .pmedia img{transition:transform 1s var(--ease)}
.pcard:hover .pmedia img{transform:scale(1.05)}
.pcard__badge{position:absolute;top:12px;left:12px;z-index:3;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.4em .8em;border-radius:40px;background:rgba(248,242,232,.92);color:var(--ink)}
.pcard__badge--excl{background:var(--wine);color:var(--cream)}
.pcard__heart{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border-radius:50%;border:0;
  background:rgba(248,242,232,.92);color:var(--wine);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:.3s}
.pcard__heart:hover{background:var(--cream);transform:scale(1.08)}
.pcard__heart.on{background:var(--wine);color:var(--cream)}
.pcard__body{padding:14px 2px 0}
.pcard__name{font-family:var(--serif);font-size:1.2rem;font-weight:600;line-height:1.1}
.pcard__fab{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-top:3px}
.pcard__price{margin-top:8px;font-size:.85rem;color:var(--ink)}
.pcard__price b{color:var(--wine);font-weight:500}
.pcard__price s{color:var(--gray);opacity:.7;margin-right:6px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation:none !important}
}
