/* Aires Studio: cores e fontes. */
:root{
    --ground:#F7F3F2;
    --paper:#FFFFFF;
    --ink:#2B1D1C;
    --ink-soft:#6E5B58;
    --mocha:#A8735F;
    --blush:#EFE3E0;
    --line:#E3D8D5;
    --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
    --body:"Figtree","Helvetica Neue",Arial,sans-serif;
    color-scheme:light;
  }

/* Vertical catálogo: layout. Cores e fontes vêm do tema do cliente (variáveis). */
*{box-sizing:border-box}
  body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;margin:0;padding-inline:16px;-webkit-font-smoothing:antialiased}
  .wrap{max-width:1040px;margin:0 auto;padding-block:40px 72px}
  a{color:inherit}
  img{max-width:100%;display:block}

  /* capa */
  .cover{display:grid;gap:28px;padding-block:24px 40px;border-bottom:1px solid var(--line)}
  .brand{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(44px,8vw,76px);line-height:1;letter-spacing:-.01em;margin:0}
  .brand .logo{width:min(300px,70vw);height:auto;margin-left:-6px}
  .brand small{display:block;font-family:var(--body);font-style:normal;font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px;font-weight:500}
  .cover p{max-width:52ch;color:var(--ink-soft);margin:0}
  .facts{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:13px;color:var(--ink-soft)}
  .facts b{color:var(--ink);font-weight:600}

  /* índice */
  .index{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding-block:28px 8px}
  .index a{text-decoration:none;display:grid;gap:8px}
  .index img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:2px;transition:opacity .2s}
  .index a:hover img{opacity:.85}
  .index span{font-family:var(--display);font-style:italic;font-size:17px}
  .index em{font-style:normal;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;display:block}
  .index a:focus-visible{outline:2px solid var(--mocha);outline-offset:4px}

  /* modelo */
  .model{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;padding-block:56px;border-bottom:1px solid var(--line);scroll-margin-top:16px}
  .photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:start}
  .photos img{width:100%;height:auto;aspect-ratio:9/15;object-fit:cover;border-radius:2px;background:var(--blush)}
  .photos.solo{grid-template-columns:1fr;max-width:340px}
  .info{display:flex;flex-direction:column;gap:22px;align-self:center}
  .eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mocha);font-weight:600}
  .info h2{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(40px,6vw,58px);line-height:1;margin:6px 0 0}
  .price{font-family:var(--display);font-size:26px;font-variant-numeric:lining-nums tabular-nums}
  .prices{display:grid;gap:4px}
  .whole{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums;letter-spacing:.02em}
  .whole a{color:var(--mocha);text-decoration:none}
  .price small{font-family:var(--body);font-size:12px;color:var(--ink-soft);margin-left:6px;letter-spacing:.02em}
  .desc{margin:0;max-width:44ch;color:var(--ink-soft)}
  dl.spec{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0;padding-top:18px;border-top:1px solid var(--line);font-size:14px}
  dl.spec dt{color:var(--ink-soft);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding-top:3px}
  dl.spec dd{margin:0}
  .dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
  .dots i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(43,29,28,.12)}
  .pending{color:var(--mocha);font-style:italic}

  /* paleta */
  .palette{padding-block:56px 20px}
  .palette h2,.order h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.6vw,40px);margin:6px 0 10px;font-style:italic}
  .palette > p{color:var(--ink-soft);max-width:60ch;margin:0 0 26px}
  .group{margin-bottom:36px}
  .group h3{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin:0 0 4px}
  .group .note{font-size:13px;color:var(--ink-soft);margin:0 0 16px}
  .sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:18px 12px}
  .sw figure{margin:0;display:grid;gap:7px;justify-items:start}
  .sw .chip{width:100%;max-width:64px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(43,29,28,.10)}
  .sw figcaption{font-size:12.5px;line-height:1.3}
  details{border-top:1px solid var(--line);padding-top:18px}
  summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;align-items:center;gap:10px}
  summary::-webkit-details-marker{display:none}
  summary::before{content:"+";font-family:var(--display);font-size:22px;line-height:1;color:var(--mocha);width:14px}
  details[open] summary::before{content:"–"}
  summary:focus-visible{outline:2px solid var(--mocha);outline-offset:4px}
  details .sw{margin-top:22px}
  details .sub{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:26px 0 0;font-weight:600}

  /* encomenda */
  .order{padding-block:48px 0}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
  .step{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:22px}
  .step b{display:block;font-family:var(--display);font-size:30px;font-weight:400;line-height:1.1;font-variant-numeric:lining-nums}
  .step span{font-size:13.5px;color:var(--ink-soft)}
  .wholesale{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:8px}
  .wholesale p{margin:0;max-width:62ch;color:var(--ink-soft)}
  .wholesale b{color:var(--ink);font-weight:600}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:start;padding:13px 22px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.01em;transition:background .2s}
  .btn:hover{background:#4A3431}
  .btn:focus-visible{outline:2px solid var(--mocha);outline-offset:3px}
  .btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
  .btn.ghost:hover{background:var(--blush)}
  .contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
  .hdr-links{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px}
  .hdr-links a{color:var(--mocha);text-decoration:none;font-weight:500}
  .hdr-links a:hover{text-decoration:underline}
  @media print{.btn{display:none}}
  .foot{margin-top:40px;font-size:12.5px;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

  @media (max-width:820px){
    .model{grid-template-columns:1fr;gap:26px;padding-block:44px}
    .index{grid-template-columns:repeat(3,1fr)}
    .steps{grid-template-columns:1fr}
  }
  @media (max-width:420px){
    .sw{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}
  @media print{
    body{background:#fff;padding:0}
    .wrap{padding:0;max-width:none}
    .index{display:none}
    .model{break-inside:avoid;page-break-after:always;padding-block:24px}
    details{display:block}
    details > *{display:block}
    summary::before{content:""}
  }
  .brand a{display:inline-block}
  .info h2 a{text-decoration:none}
  .info h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
  .cover-item{grid-template-columns:auto 1fr;display:flex;justify-content:space-between;align-items:center;padding-block:8px 18px}
  .logo-sm{width:150px;height:auto}
  .voltar{font-size:13px;text-decoration:none;color:var(--ink-soft)}
  .voltar:hover{color:var(--ink)}
  .outros{padding-block:40px 0}
  .outros .index{grid-template-columns:repeat(5,1fr)}
  .ver-cores{margin:28px 0 0;font-size:14px;color:var(--ink-soft)}
  .ver-cores a{color:var(--mocha)}
  .nao-achei{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(30px,5vw,44px);margin:40px 0 0}
  .aires-assinatura{margin-top:22px;display:flex;justify-content:flex-start}
  .aires-assinatura a,.aires-assinatura{color:var(--ink-soft);text-decoration:none}
  .aires-assinatura span,.aires-assinatura a span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-right:10px;align-self:center}
  .aires-assinatura svg{display:inline-block;vertical-align:middle;opacity:.8}
  .aires-assinatura a{display:inline-flex;align-items:center}
  @media (max-width:820px){.outros .index{grid-template-columns:repeat(3,1fr)}}
