/* Casa Rosa — CSS compartilhado do site institucional (design system Casa Rosa, set/2026) */
:root{
  --rosa:#EE2B68;--rosa-600:#D11C56;--rosa-700:#AE1547;--rosa-claro:#FFDCEA;--rosa-50:#FFF1F6;--rosa-300:#FB97BB;--rosa-200:#FFBFD7;
  --framboesa:#A81A50;--vinho:#5C0B26;
  --ink-900:#2B1A20;--ink-800:#3D2730;--ink-700:#574048;--ink-500:#8C757D;--ink-400:#AD979E;--ink-300:#CDBBC1;--ink-200:#E6D7DC;--ink-100:#F2E8EC;
  --paper:#FFF8F4;--paper-2:#FFFDFB;--branco:#FFFFFF;--texto-escuro:#FFE9F0;
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-sans:'Plus Jakarta Sans',-apple-system,'Segoe UI',system-ui,sans-serif;
  --font-mono:'Space Mono',ui-monospace,Menlo,monospace;
  --raio-md:12px;--raio-lg:18px;--raio-xl:26px;--pill:999px;
  --sombra-sm:0 2px 6px rgba(92,11,38,.08);--sombra-md:0 6px 18px rgba(92,11,38,.10);--sombra-lg:0 16px 40px rgba(92,11,38,.14);--sombra-brand:0 12px 30px rgba(238,43,104,.30);
  --ease:cubic-bezier(.22,.61,.36,1);
  --wrap:1200px;--gutter:clamp(1rem,4vw,3rem);--secao:clamp(3rem,8vw,6rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink-700);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;color:var(--ink-900);font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.015em;text-wrap:pretty}
h1{font-size:clamp(2.25rem,5.2vw,4rem);line-height:1.05}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
h3{font-size:1.375rem}
p{margin:0;text-wrap:pretty}
a{color:var(--rosa-600);text-decoration:none;transition:color .12s var(--ease)}
a:hover{color:var(--rosa-700)}
img{display:block;max-width:100%}
button{font:inherit}
:focus-visible{outline:3px solid rgba(238,43,104,.45);outline-offset:2px}
::selection{background:var(--rosa-200);color:var(--vinho)}
[hidden]{display:none!important}
section[id],div[id],form[id]{scroll-margin-top:160px}
@media (max-width:980px){section[id],div[id],form[id]{scroll-margin-top:136px}}

.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.secao{padding-block:var(--secao)}
.secao-tinta{background:var(--rosa-50)}
.secao-branca{background:var(--branco);border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200)}
.lead{font-size:1.125rem;line-height:1.6;color:var(--ink-700)}
.muted{color:var(--ink-500)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--rosa)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;display:inline-block}
.titulo{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.titulo.centro{align-items:center;text-align:center}
.titulo-linha{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.titulo-linha .titulo{margin-bottom:0}

/* botoes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:var(--pill);font-weight:700;font-size:1rem;border:0;cursor:pointer;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease)}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px;flex:none}
.btn-rosa{background:var(--rosa);color:#fff;box-shadow:var(--sombra-brand)}
.btn-rosa:hover{background:var(--rosa-600);color:#fff}
.btn-branco{background:#fff;color:var(--framboesa)}
.btn-branco:hover{background:var(--rosa-claro);color:var(--framboesa)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-ghost-dark{background:transparent;color:var(--framboesa);border:1.5px solid var(--ink-300)}
.btn-ghost-dark:hover{background:var(--rosa-claro);color:var(--framboesa);border-color:var(--rosa-300)}
.btn-sm{height:46px;padding:0 22px;font-size:.9375rem;box-shadow:none}
.btn-block{width:100%}

/* promo bar + header */
.promo{background:var(--framboesa);color:var(--texto-escuro);min-height:40px;display:flex;align-items:center;justify-content:center;gap:24px;padding:8px var(--gutter);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-align:center}
.promo i{width:4px;height:4px;border-radius:50%;background:var(--rosa-300);display:inline-block}
.promo a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rosa-300)}
.promo a:hover{color:#fff}
@media (max-width:760px){.promo span,.promo i{display:none}}
.topo{position:sticky;top:0;z-index:20;background:rgba(255,248,244,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-200)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.marca{display:flex;align-items:center;gap:12px;color:var(--framboesa)}
.marca img{height:120px;width:auto}
.marca small{font-size:.8125rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;border-left:1px solid var(--ink-200);padding-left:16px}
.nav{display:flex;align-items:center;gap:36px}
.nav a{color:var(--ink-800);font-size:1.25rem;font-weight:600}
.nav a:hover,.nav a.ativo{color:var(--rosa)}
.topo .cta{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--ink-900);align-items:center;justify-content:center;border-radius:var(--pill);cursor:pointer}
.menu-btn svg{width:26px;height:26px}
@media (max-width:980px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--ink-200);box-shadow:var(--sombra-md)}
  .nav.aberto{display:flex}
  .nav a{padding:16px var(--gutter);border-top:1px solid var(--ink-100);font-size:1.25rem}
  .menu-btn{display:inline-flex}
  .topo .cta .btn span{display:none}
  .topo .cta .btn{padding:0 14px;height:44px}
  .marca small{display:none}
  .marca img{height:96px}
}

/* cards e grids */
.card{background:var(--branco);border-radius:var(--raio-lg);box-shadow:var(--sombra-sm);overflow:hidden;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
a.card:hover{box-shadow:var(--sombra-md);transform:translateY(-2px)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:980px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr;gap:28px}}
@media (max-width:560px){.grid-3,.grid-5{grid-template-columns:1fr}}

/* faixa de confianca */
.confianca{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.confianca > div{display:flex;align-items:center;gap:14px;padding:22px 24px;border-right:1px solid var(--ink-200)}
.confianca > div:last-child{border-right:0}
.confianca svg{width:26px;height:26px;flex:none;color:var(--rosa)}
.confianca b{display:block;font-size:.9375rem;color:var(--ink-900)}
.confianca span{font-size:.8125rem;color:var(--ink-500)}
@media (max-width:980px){.confianca{grid-template-columns:repeat(2,minmax(0,1fr))}.confianca > div{border-bottom:1px solid var(--ink-200)}.confianca > div:nth-child(even){border-right:0}}
@media (max-width:560px){.confianca{grid-template-columns:1fr}.confianca > div{border-right:0}}

/* lojas */
.loja{display:flex;flex-direction:column}
.loja .foto{height:150px;overflow:hidden;background:var(--rosa-claro)}
.loja .foto img{width:100%;height:100%;object-fit:cover}
.loja .corpo{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px}
.loja .regiao{font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rosa)}
.loja h3{font-size:1.25rem}
.loja address{font-style:normal;font-size:.875rem;line-height:1.5;color:var(--ink-700)}
.loja .tel{font-size:.875rem;color:var(--ink-500)}
.loja .acoes{display:flex;gap:14px;margin-top:6px;font-size:.875rem;font-weight:700}

/* faixa CTA + footer */
.faixa{background:var(--rosa);color:#fff;padding-block:64px}
.faixa .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.faixa h2{color:#fff;max-width:700px}
.faixa p{color:var(--texto-escuro);font-size:1.0625rem;margin-top:8px}
.rodape{background:var(--framboesa);color:var(--texto-escuro);padding:64px 0 28px;font-size:.875rem}
.rodape a{color:var(--texto-escuro)}
.rodape a:hover{color:#fff}
.rodape .colunas{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.rodape .colunas > div{display:flex;flex-direction:column;gap:12px}
.rodape .rotulo{font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rosa-300)}
.rodape .sobre{color:var(--rosa-200);line-height:1.6;max-width:320px}
.rodape .logo{height:120px;width:auto;align-self:flex-start}
.rodape .base{margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,220,234,.25);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--rosa-200)}
@media (max-width:980px){.rodape .colunas{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape .colunas{grid-template-columns:1fr}}

/* formularios */
.campo{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:700;color:var(--ink-800)}
.campo input,.campo select,.campo textarea{font:inherit;font-weight:400;height:48px;padding:0 16px;border:1px solid var(--ink-300);border-radius:var(--raio-md);background:#fff;color:var(--ink-900);width:100%}
.campo textarea{height:auto;padding:12px 16px}
.campo input:focus,.campo select:focus{border-color:var(--rosa);outline:0;box-shadow:0 0 0 3px rgba(238,43,104,.18)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;font-weight:400;color:var(--ink-700)}
.check input{margin-top:3px;accent-color:var(--rosa)}
.miudo{font-size:.8125rem;color:var(--ink-500)}
.erro{background:#FCE9EA;color:#971318;border-radius:var(--raio-md);padding:12px 16px;font-size:.9375rem;font-weight:600}
.hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}

/* chips e tabela */
.chip{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:var(--pill);font-size:.875rem;font-weight:600;color:var(--ink-800);background:#fff;border:1px solid var(--ink-200);cursor:pointer}
.chip.on,.chip:hover{background:var(--framboesa);color:#fff;border-color:var(--framboesa)}
.tabela{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--raio-lg);overflow:hidden;box-shadow:var(--sombra-sm)}
.tabela th{text-align:left;font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);padding:16px 20px;background:var(--rosa-50);border-bottom:1px solid var(--ink-200)}
.tabela td{padding:16px 20px;border-bottom:1px solid var(--ink-100);font-size:.9375rem;color:var(--ink-800);vertical-align:middle}
.tabela tr:last-child td{border-bottom:0}
.tag{display:inline-flex;height:26px;align-items:center;padding:0 10px;border-radius:var(--pill);background:var(--rosa-claro);color:var(--framboesa);font-size:.75rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.sw{width:18px;height:18px;border-radius:50%;border:1px solid rgba(43,26,32,.12);display:inline-block;flex:none}

/* faq */
.faq details{background:#fff;border-radius:var(--raio-md);box-shadow:var(--sombra-sm);padding:0 20px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;color:var(--ink-900);padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--rosa);font-weight:700;font-size:1.25rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 16px;color:var(--ink-700)}

/* utilidades */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.zap-float{position:fixed;right:18px;bottom:18px;z-index:30;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.zap-float svg{width:28px;height:28px}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:25;padding:10px var(--gutter);background:rgba(255,248,244,.94);backdrop-filter:blur(8px);border-top:1px solid var(--ink-200);display:flex;justify-content:center}
.sticky-cta .btn{flex:1;max-width:520px}
@media (min-width:761px){.sticky-cta{display:none}}
