/* Sapia Casamentos · painel da noiva (28/out/2026). Mesma marca das landings (lp.css): marinho, off, toranja, limão. */
:root{
  --marinho:#10497F; --marinho-esc:#0b3561; --off:#F6F1E9; --papel:#FCF9F2; --limao:#FFE269; --toranja:#FF8939; --tomate:#D83621; --verde:#1f8a5b;
  --ink:#14263d; --soft:#4f6580; --mute:#8a9bb0; --linha:rgba(16,73,127,.13); --linha2:rgba(16,73,127,.07);
  --serif:"Instrument Serif","Times New Roman",serif; --sans:"Instrument Sans",system-ui,sans-serif;
  --r:20px; --sh:0 20px 50px -34px rgba(16,40,70,.45);
  --side:252px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--off);color:var(--ink);font:400 16px/1.5 var(--sans);overflow-x:hidden;text-wrap:pretty;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit}
[hidden]{display:none!important}
h1,h2,h3,h4{font-weight:400;text-wrap:balance}
.serif{font-family:var(--serif)}
.mute{color:var(--soft)}
.num{font-variant-numeric:tabular-nums}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:99px;padding:12px 20px;font-weight:600;font-size:15px;background:var(--marinho);color:#fff;border:1.5px solid var(--marinho);transition:transform .15s,background .2s,box-shadow .2s;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--marinho-esc)}
.btn:active{transform:scale(.97)}
.btn--line{background:transparent;color:var(--marinho)}
.btn--line:hover{background:rgba(16,73,127,.06)}
.btn--toranja{background:var(--toranja);border-color:var(--toranja)}
.btn--toranja:hover{background:#f07a2a}
.btn--sm{padding:8px 14px;font-size:14px}
.btn--wide{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
.lnk{color:var(--marinho);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:14.5px}
.ico{width:36px;height:36px;border-radius:12px;display:inline-grid;place-items:center;color:var(--soft);transition:background .2s}
.ico:hover{background:var(--linha2);color:var(--marinho)}

/* campos */
.fld{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--marinho)}
.fld>span.h{font-weight:400;color:var(--soft);font-size:13px}
.inp,.fld input,.fld select,.fld textarea{width:100%;border:1.5px solid var(--linha);border-radius:14px;background:#fff;padding:12px 14px;font-size:16px;font-weight:400;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.inp:focus,.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--marinho);box-shadow:0 0 0 4px rgba(16,73,127,.1)}
.fld textarea{min-height:90px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.money{position:relative}
.money::before{content:"R$";position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--mute);font-size:15px;font-weight:400;pointer-events:none}
.money input{padding-left:42px}

/* ===== estrutura do app ===== */
.app{min-height:100vh;min-height:100dvh}
.side{display:none}
.main{padding:0 0 110px;min-width:0}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:rgba(246,241,233,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linha2)}
.top__casal{font:400 24px/1.05 var(--serif);color:var(--marinho);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top__r{display:flex;align-items:center;gap:8px;flex:none}
.salvo{font-size:12.5px;color:var(--mute);display:inline-flex;align-items:center;gap:6px}
.salvo i{width:7px;height:7px;border-radius:50%;background:var(--verde)}
.salvo.on i{background:var(--toranja);animation:pul 1s infinite}
.salvo.err i{background:var(--tomate)}
@keyframes pul{50%{opacity:.3}}
.view{padding:18px 16px 0;max-width:1180px;margin:0 auto;animation:vin .35s ease}
@keyframes vin{from{opacity:0;transform:translateY(8px)}}
.vh{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:6px 0 18px}
.vh h1{font:400 clamp(36px,6vw,54px)/1 var(--serif);color:var(--marinho)}
.vh>div{flex:1;min-width:0}
.vh p{color:var(--soft);margin-top:6px;max-width:980px}

/* barra de baixo (celular) */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(252,249,242,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--linha);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.tabbar a{display:grid;justify-items:center;gap:2px;font-size:11.5px;font-weight:600;color:var(--mute);text-decoration:none;padding:6px 0;border-radius:12px}
.tabbar a b{font-size:21px;line-height:1;filter:grayscale(1);opacity:.75;transition:.2s}
.tabbar a.on{color:var(--marinho)}
.tabbar a.on b{filter:none;opacity:1;transform:translateY(-1px)}

@media (min-width:980px){
  .app{display:grid;grid-template-columns:var(--side) 1fr}
  .side{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;background:var(--marinho);color:#fff;padding:22px 16px 18px;overflow:auto}
  .side__logo{display:block;margin:2px 8px 22px}
  .side__logo img{height:30px;width:auto;filter:brightness(0) invert(1)}
  .side__casal{margin:0 8px 18px;padding:14px;border-radius:16px;background:rgba(255,255,255,.08)}
  .side__casal b{display:block;font:400 26px/1.05 var(--serif)}
  .side__casal span{font-size:13px;opacity:.75}
  .side nav{display:grid;gap:2px}
  .side nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:rgba(255,255,255,.78);text-decoration:none;font-weight:600;font-size:15px;transition:background .2s,color .2s}
  .side nav a b{width:22px;text-align:center;font-size:17px}
  .side nav a:hover{background:rgba(255,255,255,.07);color:#fff}
  .side nav a.on{background:#fff;color:var(--marinho)}
  .side nav a em{margin-left:auto;font-style:normal;font-size:12px;background:var(--toranja);color:#fff;border-radius:99px;padding:1px 8px}
  .side__pe{margin-top:auto;padding:14px 8px 0;font-size:13px;opacity:.7}
  .side__pe a{color:#fff}
  .tabbar,.top__casal{display:none}
  .top{justify-content:flex-end;padding:12px 28px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0}
  .main{padding-bottom:60px}
  .view{padding:0 28px}
}

/* ===== peças ===== */
.card{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--sh);border:1px solid var(--linha2);min-width:0}
.card h3{font:400 26px/1.1 var(--serif);color:var(--marinho)}
.card__h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.card__h a,.card__h button{font-size:14px;font-weight:600;color:var(--marinho);text-decoration:none}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr 1fr}
@media (min-width:720px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.kpi small{display:block;font-size:13px;color:var(--soft);font-weight:600}
.kpi strong{display:block;font:400 34px/1.05 var(--serif);color:var(--marinho);margin-top:6px}
.kpi em{display:block;font-style:normal;font-size:13px;color:var(--soft);margin-top:4px}
.kpi.alerta strong{color:var(--tomate)}
.bar{height:8px;border-radius:9px;background:var(--linha2);overflow:hidden;margin-top:10px}
.bar u{display:block;height:100%;border-radius:9px;background:var(--marinho);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.bar u.ok{background:var(--verde)}.bar u.over{background:var(--tomate)}.bar u.t{background:var(--toranja)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:99px;padding:4px 10px;background:var(--linha2);color:var(--soft);white-space:nowrap}
.chip.verde{background:rgba(31,138,91,.12);color:var(--verde)}
.chip.vermelho{background:rgba(216,54,33,.1);color:var(--tomate)}
.chip.laranja{background:rgba(255,137,57,.15);color:#c2560f}
.chip.azul{background:rgba(16,73,127,.1);color:var(--marinho)}
.chip.amarelo{background:var(--limao);color:var(--ink)}
.vazio{text-align:center;padding:26px 14px;color:var(--soft)}
.vazio b{display:block;font:400 26px/1.15 var(--serif);color:var(--marinho);margin-bottom:6px}
.vazio .btn{margin-top:14px}
.seg{display:inline-flex;background:#fff;border:1px solid var(--linha);border-radius:99px;padding:4px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg a,.seg button{padding:8px 14px;border-radius:99px;font-size:14px;font-weight:600;color:var(--soft);text-decoration:none;white-space:nowrap}
.seg .on{background:var(--marinho);color:#fff}
.pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 6px;margin-bottom:10px}
.pills::-webkit-scrollbar{display:none}
.pills button{flex:none;padding:8px 14px;border-radius:99px;border:1.5px solid var(--linha);background:#fff;font-size:14px;font-weight:600;color:var(--soft)}
.pills button.on{border-color:var(--marinho);background:var(--marinho);color:#fff}

/* aviso do plano */
.faixa{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-radius:16px;padding:12px 16px;margin:0 0 16px;background:var(--limao);color:var(--ink);font-size:14.5px}
.faixa b{font-weight:700}
.faixa.ro{background:var(--marinho);color:#fff}
.faixa .btn{padding:8px 16px;font-size:14px}
.faixa.ro .btn{background:var(--toranja);border-color:var(--toranja)}

/* ===== Início ===== */
.ola{display:grid;gap:14px;margin-bottom:14px}
@media (min-width:900px){.ola{grid-template-columns:1.25fr 1fr}}
.hero{position:relative;overflow:hidden;background:var(--marinho);color:#fff;border-radius:24px;padding:24px 22px 22px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,226,105,.35),transparent 70%)}
.hero h2{font:400 clamp(30px,4.6vw,44px)/1.02 var(--serif);position:relative}
.hero p{opacity:.8;position:relative;margin-top:6px}
.conta{display:flex;align-items:baseline;gap:10px;margin-top:22px;position:relative;flex-wrap:wrap}
.conta strong{font:400 clamp(64px,11vw,96px)/.85 var(--serif);color:var(--limao)}
.conta span{font-size:16px;opacity:.85}
.fasecard{background:#fff;border-radius:24px;padding:22px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}
.fasecard small{font-size:13px;font-weight:700;color:var(--toranja)}
.fasecard h3{font:400 32px/1.05 var(--serif);color:var(--marinho)}
.trilha{display:flex;gap:4px;margin-top:auto}
.trilha i{flex:1;height:6px;border-radius:9px;background:var(--linha2)}
.trilha i.ok{background:var(--marinho)}.trilha i.agora{background:var(--toranja)}
.mini{display:grid;gap:8px}
.mini li{list-style:none;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--papel);border:1px solid var(--linha2)}
.mini li .tx{flex:1;min-width:0}
.mini li .tx b{display:block;font-weight:600;font-size:15px}
.mini li .tx small{color:var(--soft);font-size:13px}
.mini li .vl{font-weight:700;white-space:nowrap;font-size:15px}

/* check */
.ck{flex:none;width:26px;height:26px;border-radius:9px;border:2px solid rgba(16,73,127,.3);display:grid;place-items:center;background:#fff;transition:.2s}
.ck::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .2s}
.ck.on{background:var(--verde);border-color:var(--verde)}
.ck.on::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.ck:hover{border-color:var(--marinho)}
.feito .tx b{text-decoration:line-through;color:var(--mute)}

/* anel de progresso */
.anel{--p:0;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--verde) calc(var(--p)*1%),var(--linha2) 0);display:grid;place-items:center;flex:none}
.anel span{width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;font:400 26px/1 var(--serif);color:var(--marinho)}

/* ===== Orçamento ===== */
.resumo{display:grid;gap:14px;margin-bottom:14px}
@media (min-width:900px){.resumo{grid-template-columns:1.1fr 1fr}}
.total{background:var(--marinho);color:#fff;border-radius:24px;padding:22px}
.total small{font-size:13px;opacity:.75;font-weight:600}
.total strong{display:block;font:400 clamp(44px,7vw,64px)/1 var(--serif);margin-top:4px}
.total .lin{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.14);font-size:15px}
.total .lin:first-of-type{margin-top:16px}
.total .lin b{font-weight:600}
.total .bar{background:rgba(255,255,255,.14)}
.total .bar u{background:var(--limao)}
.donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.donut__g{--g:none;width:150px;height:150px;border-radius:50%;background:var(--g);display:grid;place-items:center;flex:none}
.donut__g span{width:96px;height:96px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-size:12px;color:var(--soft);line-height:1.2}
.donut__g span b{display:block;font:400 22px/1 var(--serif);color:var(--marinho)}
.legenda{display:grid;gap:6px;font-size:13.5px;flex:1;min-width:180px}
.legenda div{display:flex;align-items:center;gap:8px}
.legenda i{width:10px;height:10px;border-radius:3px;flex:none}
.legenda span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cats{display:grid;gap:10px}
.cat{background:#fff;border-radius:18px;padding:14px 16px;border:1px solid var(--linha2);box-shadow:0 10px 30px -28px rgba(16,40,70,.5);display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center}
.cat__ic{font-size:24px;width:44px;height:44px;border-radius:14px;background:var(--papel);display:grid;place-items:center;grid-row:span 2}
.cat__n{font-weight:600;font-size:15.5px;min-width:0}
.cat__n small{display:block;font-weight:400;color:var(--soft);font-size:13px}
.cat__v{text-align:right;font-size:14px;color:var(--soft);white-space:nowrap}
.cat__v b{display:block;color:var(--ink);font-size:16px}
.cat .bar{grid-column:2/4;margin-top:6px}
.cat__plan{grid-column:2/4;display:none;gap:8px;align-items:center;margin-top:8px}
.cat.abre .cat__plan{display:flex;flex-wrap:wrap}
.cat__plan .money{flex:1;min-width:150px}
.cat__plan .inp{padding:9px 12px 9px 40px}

/* ===== Pagamentos ===== */
.fluxo{display:flex;align-items:flex-end;gap:6px;height:170px;padding-top:24px;overflow-x:auto;scrollbar-width:thin}
.fluxo div{flex:1;min-width:34px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.fluxo u{display:block;width:100%;max-width:38px;border-radius:8px 8px 4px 4px;background:var(--marinho);position:relative;min-height:3px;transition:height .8s cubic-bezier(.2,.8,.2,1)}
.fluxo u.pg{background:rgba(31,138,91,.55)}
.fluxo u.at{background:var(--tomate)}
.fluxo u.zero{background:var(--linha2)}
.fluxo u em{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:700;color:var(--soft);white-space:nowrap;margin-bottom:4px}
.fluxo small{font-size:11.5px;color:var(--soft);font-weight:600;text-transform:capitalize}
.mes{margin-top:18px}
.mes h4{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin:0 2px 8px;display:flex;justify-content:space-between}
.pg{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px 14px;border:1px solid var(--linha2);margin-bottom:8px}
.pg .tx{flex:1;min-width:0}
.pg .tx b{display:block;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg .tx small{color:var(--soft);font-size:13px}
.pg .vl{font-weight:700;white-space:nowrap}
.pg.atr{border-color:rgba(216,54,33,.35);background:#fff8f6}
.pg.feito .vl{color:var(--mute);text-decoration:line-through}

/* ===== Checklist ===== */
.fase{margin-top:20px}
.fase__h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 10px}
.fase__h h3{font:400 28px/1.1 var(--serif);color:var(--marinho)}
.fase__h span{font-size:13px;color:var(--soft);white-space:nowrap}
.tk{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px 14px;border:1px solid var(--linha2);margin-bottom:8px}
.tk .tx{flex:1;min-width:0}
.tk .tx b{display:block;font-weight:600;font-size:15px}
.tk .tx small{color:var(--soft);font-size:13px}
.tk.atr{border-color:rgba(216,54,33,.3)}
.tk .ico{flex:none;opacity:.6}
.tk:hover .ico{opacity:1}

/* ===== Fornecedores ===== */
.fgrid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:720px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.fgrid{grid-template-columns:repeat(3,1fr)}}
.fc{background:#fff;border-radius:18px;padding:16px;border:1px solid var(--linha2);box-shadow:0 10px 30px -28px rgba(16,40,70,.5);display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left}
.fc:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.fc__t{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.fc__t b{font-size:17px;font-weight:700;line-height:1.25}
.fc__t small{display:block;color:var(--soft);font-size:13px;font-weight:400}
.fc__v{font:400 28px/1 var(--serif);color:var(--marinho)}
.fc__v small{font:600 13px var(--sans);color:var(--soft)}
.fc__inc{display:flex;flex-wrap:wrap;gap:5px}
.estrelas{color:var(--toranja);letter-spacing:1px;font-size:14px}
.catbloco{margin-top:22px}
.catbloco__h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 10px;flex-wrap:wrap}
.catbloco__h h3{font:400 26px/1.1 var(--serif);color:var(--marinho);display:flex;align-items:center;gap:10px}

/* comparador */
.cmp{overflow-x:auto;margin:0 -4px;padding:0 4px 4px}
.cmp table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:14.5px}
.cmp th,.cmp td{padding:11px 12px;border-bottom:1px solid var(--linha2);text-align:center;vertical-align:middle;min-width:150px}
.cmp th:first-child,.cmp td:first-child{text-align:left;min-width:150px;position:sticky;left:0;background:#fff;z-index:1;font-weight:600;color:var(--soft)}
.cmp thead th{vertical-align:bottom;font-weight:700;font-size:16px;color:var(--ink)}
.cmp thead th .chip{margin-top:6px}
.cmp td.sim{color:var(--verde);font-weight:700;font-size:18px}
.cmp td.nao{color:var(--mute)}
.cmp td.melhor{background:rgba(31,138,91,.07)}
.cmp .v{font:400 24px/1 var(--serif);color:var(--marinho)}

/* ===== Site e convidados ===== */
.sitebox{display:grid;gap:14px}
@media (min-width:900px){.sitebox{grid-template-columns:1.1fr .9fr}}
.prev{border-radius:20px;overflow:hidden;background:var(--papel);border:1px solid var(--linha);aspect-ratio:16/11;position:relative}
.prev iframe{width:200%;height:200%;transform:scale(.5);transform-origin:0 0;border:0;pointer-events:none}
.prev a{position:absolute;inset:0}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.stats div{background:var(--papel);border-radius:14px;padding:12px;border:1px solid var(--linha2)}
.stats b{display:block;font:400 30px/1 var(--serif);color:var(--marinho)}
.stats small{font-size:13px;color:var(--soft)}
.acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* modelos + personalizado */
.mods{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:640px){.mods{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.mods{grid-template-columns:repeat(3,1fr)}}
.mod{background:#fff;border-radius:20px;border:1.5px solid var(--linha2);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.mod.on{border-color:var(--verde);box-shadow:0 0 0 4px rgba(31,138,91,.12)}
.mod__img{display:block;width:100%;aspect-ratio:16/10;overflow:hidden}
.mod__img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.mod:hover .mod__img img{transform:scale(1.04)}
.mod__t{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 0}
.mod__t b{font:400 24px/1.1 var(--serif);color:var(--marinho)}
.mod small{display:block;padding:6px 16px 0;color:var(--soft);font-size:13.5px;line-height:1.45}
.mod__a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 16px;margin-top:auto}
.perso{display:grid;gap:18px;margin-top:22px;background:var(--marinho);color:#fff;border-radius:24px;padding:26px 24px;position:relative;overflow:hidden}
@media (min-width:860px){.perso{grid-template-columns:1.4fr .6fr;align-items:center}}
.perso h3{font:400 clamp(32px,4vw,44px)/1.02 var(--serif);margin-top:10px}
.perso p{opacity:.85;margin-top:8px;max-width:620px}
.perso ul{list-style:none;display:grid;gap:6px;margin-top:12px;font-size:15px}
.perso li::before{content:"✦";color:var(--limao);margin-right:8px}
.perso__p{display:grid;justify-items:center;gap:10px;text-align:center;background:rgba(255,255,255,.08);border-radius:18px;padding:20px}
.perso__p small{opacity:.75;font-weight:600}
.perso__p b{font:400 54px/1 var(--serif);color:var(--limao)}
.perso__p .lnk{color:#fff}

/* ===== Plano ===== */
.planos{display:grid;gap:14px;grid-template-columns:1fr;max-width:860px}
@media (min-width:760px){.planos{grid-template-columns:1fr 1fr}}
.pl{position:relative;background:#fff;border:1.5px solid var(--linha);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px}
.pl.top{border-color:var(--marinho);box-shadow:0 30px 60px -36px rgba(16,73,127,.6)}
.pl__tag{position:absolute;top:-13px;left:22px;background:var(--toranja);color:#fff;font-size:12.5px;font-weight:700;border-radius:99px;padding:5px 12px}
.pl h3{font:400 30px/1 var(--serif);color:var(--marinho)}
.pl .v b{font:400 46px/1 var(--serif);color:var(--marinho)}
.pl .v s{color:var(--mute)}
.pl p{color:var(--soft);font-size:15px}
.pl .btn{margin-top:auto}
.pl ul{list-style:none;display:grid;gap:6px;font-size:14.5px;margin:6px 0 10px}
.pl li::before{content:"✓";color:var(--verde);font-weight:700;margin-right:8px}
.pix{display:grid;justify-items:center;gap:12px;text-align:center}
.pix img{width:220px;height:220px;border-radius:12px;border:1px solid var(--linha)}
.pix textarea{width:100%;font-size:12px;border:1px solid var(--linha);border-radius:12px;padding:10px;min-height:76px;background:var(--papel);resize:none}

/* ===== modal ===== */
.modal{position:fixed;inset:0;z-index:80;display:grid;align-items:end;justify-items:center;background:rgba(11,30,52,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fd .2s ease}
@keyframes fd{from{opacity:0}}
.modal__b{width:100%;max-width:640px;max-height:92vh;max-height:92dvh;overflow:auto;background:var(--off);border-radius:26px 26px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));animation:up .3s cubic-bezier(.2,.8,.2,1)}
.modal__b.largo{max-width:1040px}
@keyframes up{from{transform:translateY(40px);opacity:.4}}
@media (min-width:720px){.modal{align-items:center;padding:20px}.modal__b{border-radius:26px;padding:28px}}
.modal__h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.modal__h h2{font:400 34px/1.05 var(--serif);color:var(--marinho)}
.modal__h p{color:var(--soft);font-size:14.5px;margin-top:4px}
.form{display:grid;gap:14px}
.modal__pe{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:18px;flex-wrap:wrap}
.modal__pe .dir{display:flex;gap:10px;margin-left:auto}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{padding:8px 13px;border-radius:99px;border:1.5px solid var(--linha);background:#fff;font-size:14px;font-weight:600;color:var(--soft)}
.chips button.on{border-color:var(--verde);background:rgba(31,138,91,.1);color:var(--verde)}
.chips button.on::before{content:"✓ "}
.stars{display:flex;gap:4px}
.stars button{font-size:26px;color:var(--linha);line-height:1}
.stars button.on{color:var(--toranja)}
.status4{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media (min-width:560px){.status4{grid-template-columns:repeat(4,1fr)}}
.status4 button{padding:10px 8px;border-radius:14px;border:1.5px solid var(--linha);background:#fff;font-size:13.5px;font-weight:600;color:var(--soft)}
.status4 button.on{border-color:var(--marinho);background:var(--marinho);color:#fff}
.prevparc{background:#fff;border-radius:14px;border:1px solid var(--linha2);padding:10px 14px;font-size:14px;max-height:200px;overflow:auto}
.prevparc div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--linha2)}
.prevparc div:last-child{border:0}

/* toast */
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:90;background:var(--ink);color:#fff;border-radius:99px;padding:11px 18px;font-size:14.5px;font-weight:600;box-shadow:0 14px 30px -12px rgba(0,0,0,.4);animation:up .3s ease;max-width:calc(100% - 32px);text-align:center}
@media (min-width:980px){.toast{bottom:28px;left:calc(50% + var(--side)/2)}}

/* só leitura */
.ro .view input,.ro .view select,.ro .view textarea{pointer-events:none;opacity:.7}

/* celular: textos centralizados nos blocos de destaque (padrão Sapia), listas continuam alinhadas à esquerda */
@media (max-width:719px){
  .vh{justify-content:center;text-align:center}
  .vh p{margin-inline:auto}
  .hero,.fasecard,.total,.kpi,.vazio,.pl,.card__h{text-align:center}
  .card__h{flex-direction:column}
  .conta{justify-content:center}
  .donut{justify-content:center}
  .faixa{justify-content:center;text-align:center}
  .catbloco__h,.fase__h{justify-content:center;text-align:center;flex-direction:column;align-items:center}
  .catbloco__h h3{justify-content:center}
  .modal__h{text-align:left}
  .pl__tag{left:50%;transform:translateX(-50%)}
  .acoes{justify-content:center}
  .perso{text-align:center}
  .perso ul{justify-items:center}
  .mod__t,.mod small{text-align:center;justify-content:center}
  .mod__t{flex-direction:column}
}

/* ===== entrar / começar ===== */
.solo{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px}
.solo__b{width:100%;max-width:520px;text-align:center}
.solo__b img.logo{height:36px;margin:0 auto 26px}
.solo h1{font:400 clamp(40px,8vw,58px)/1 var(--serif);color:var(--marinho)}
.solo p{color:var(--soft);margin:12px auto 0;max-width:420px}
.solo form{margin-top:24px;display:grid;gap:12px;text-align:left}
.carregando{display:grid;place-items:center;min-height:70vh;color:var(--soft);gap:12px;text-align:center}
.spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--linha);border-top-color:var(--marinho);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* entrar com código + app na tela de início (28/out) */
.fld input.cod{font:700 30px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.35em;text-align:center;padding:14px 10px}
.card.appcard{display:flex;gap:12px;align-items:center;position:relative;margin-bottom:14px;padding:14px 40px 14px 14px;text-align:left}
.card.appcard img{border-radius:10px;flex:none}
.card.appcard h3{font-size:19px}
.card.appcard p{margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--soft)}
.card.appcard p b{color:var(--ink)}
.card.appcard .btn{margin-top:8px}
.app__x{position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;background:none;font-size:22px;line-height:1;color:var(--soft);cursor:pointer;border-radius:50%}
.ico-share{display:inline-block;width:12px;height:15px;vertical-align:-2px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 16' fill='none' stroke='%2310497F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 1v9M3.5 4l3-3 3 3M4 7H1.5v8h10V7H9'/%3E%3C/svg%3E")}
/* faixa do teste: uma linha só */
.faixa.faixa--1{flex-wrap:nowrap;padding:9px 16px;font-size:14px;text-decoration:none;white-space:nowrap;justify-content:space-between}
.faixa.faixa--1 u{text-decoration:none;font-weight:700;color:var(--marinho)}
@media (max-width:719px){.faixa.faixa--1{justify-content:space-between;text-align:left;font-size:13.5px;padding:8px 14px}}
/* 09/nov: faixa do painel grátis: no celular quebra em duas linhas, centralizada (nada cortado) */
@media (max-width:719px){.faixa.faixa--g{flex-wrap:wrap;white-space:normal;justify-content:center;text-align:center;gap:2px 8px;line-height:1.4;padding:9px 14px}}

/* ===== compacto (29/out): menos rolagem em tudo ===== */
.hero{min-height:0}
.ola{margin-bottom:12px}
.card__h{margin-bottom:10px}
.mod small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:719px){
  body{font-size:15px}
  .top{padding:8px 14px}
  .top__casal{font-size:21px}
  .view{padding:12px 12px 0}
  .main{padding-bottom:92px}
  .vh{margin:2px 0 12px;gap:8px}
  .vh h1{font-size:32px}
  .vh p{font-size:14px;margin-top:4px;line-height:1.45}
  .vh .btn{padding:9px 16px;font-size:14px}
  .grid{gap:10px}
  .card{padding:14px;border-radius:16px}
  .card h3{font-size:22px}
  .faixa{margin-bottom:10px}
  .tabbar{padding:4px 2px calc(4px + env(safe-area-inset-bottom))}
  .tabbar a{padding:4px 0;font-size:11px}
  .tabbar a b{font-size:19px}
  /* início */
  .ola{gap:10px;margin-bottom:10px}
  .hero{border-radius:18px;padding:14px 16px;flex-direction:row;align-items:center;gap:12px;text-align:left}
  .hero>div:first-child{flex:1;min-width:0}
  .hero h2{font-size:28px}
  .hero p{font-size:13.5px;margin-top:2px;line-height:1.35}
  .conta{margin-top:0;flex-direction:column;align-items:center;gap:0;flex:none;text-align:center}
  .conta strong{font-size:52px}
  .conta span{font-size:11.5px;max-width:90px;line-height:1.2;margin-top:4px}
  .conta .btn{padding:8px 12px;font-size:13px}
  .fasecard{border-radius:16px;padding:12px 14px;gap:6px}
  .fasecard small{font-size:12px}
  .fasecard h3{font-size:22px}
  .fasecard p{font-size:13.5px;line-height:1.4}
  .card.appcard{margin-bottom:10px;padding:10px 38px 10px 12px}
  .card.appcard h3{font-size:18px}
  .kpi{padding:12px}
  .kpi small{font-size:12px}
  .kpi strong{font-size:27px;margin-top:2px}
  .kpi em{font-size:12px;line-height:1.35;margin-top:2px}
  .bar{margin-top:8px;height:6px}
  .mini{gap:6px}
  .mini li{padding:8px 10px;gap:10px;border-radius:12px}
  .mini li .tx b{font-size:14px;line-height:1.3}
  .mini li .tx small{font-size:12px}
  .mini li .vl{font-size:14px}
  .mini li:nth-child(n+5){display:none}
  .ck{width:24px;height:24px;border-radius:8px}
  .chip{font-size:12px;padding:3px 9px}
  .chips{gap:6px}
  .vazio{padding:14px 10px}
  .vazio b{font-size:21px}
  /* orçamento */
  .resumo{gap:10px;margin-bottom:10px}
  .total{border-radius:18px;padding:14px 16px}
  .total strong{font-size:40px}
  .total .lin{padding:6px 0;font-size:13.5px}
  .total .lin:first-of-type{margin-top:10px}
  .donut{gap:12px;flex-wrap:nowrap;justify-content:flex-start}
  .donut__g{width:104px;height:104px}
  .donut__g span{width:66px;height:66px;font-size:10.5px}
  .donut__g span b{font-size:18px}
  .legenda{min-width:0;font-size:12.5px;gap:3px}
  .cats{gap:6px}
  .cat{padding:10px 12px;border-radius:14px;gap:2px 10px}
  .cat__ic{width:36px;height:36px;font-size:19px;border-radius:11px}
  .cat__n{font-size:14.5px}
  .cat__n small{font-size:12px}
  .cat__v{font-size:12px}
  .cat__v b{font-size:14.5px}
  .cat .bar{margin-top:4px;height:5px}
  /* pagamentos e checklist */
  .fluxo{height:130px;padding-top:20px}
  .mes{margin-top:12px}
  .mes h4{margin-bottom:6px;font-size:12px}
  .pg,.tk{padding:9px 12px;border-radius:13px;margin-bottom:6px;gap:10px}
  .pg .tx b,.tk .tx b{font-size:14px;line-height:1.3}
  .pg .tx small,.tk .tx small{font-size:12px}
  .pg .vl{font-size:14px}
  .fase{margin-top:14px}
  .fase__h{margin-bottom:6px}
  .fase__h h3{font-size:23px}
  .seg a,.seg button{padding:7px 12px;font-size:13.5px}
  .pills{margin-bottom:6px}
  .pills button{padding:6px 12px;font-size:13px}
  /* fornecedores */
  .fgrid{gap:8px}
  .fc{padding:12px 14px;gap:6px;border-radius:14px}
  .fc__t b{font-size:15.5px}
  .fc__v{font-size:24px}
  .catbloco{margin-top:14px}
  .catbloco__h{margin-bottom:6px}
  .catbloco__h h3{font-size:22px}
  /* site */
  .sitebox{gap:10px}
  .prev{border-radius:14px;aspect-ratio:16/9}
  .stats{gap:6px}
  .stats div{padding:9px 10px}
  .stats b{font-size:24px}
  .stats small{font-size:12px}
  .acoes{gap:8px;margin-top:10px}
  .acoes .btn{padding:9px 14px;font-size:14px}
  .mods{grid-template-columns:1fr 1fr;gap:8px}
  .mod{border-radius:14px}
  .mod__img{aspect-ratio:4/3}
  .mod__t{padding:8px 8px 0;gap:4px}
  .mod__t b{font-size:17px;line-height:1.1}
  .mod small{display:none}
  .mod__a{flex-direction:column;gap:6px;padding:8px 8px 10px}
  .mod__a .lnk{font-size:13px}
  .mod__a .btn{padding:6px 12px;font-size:13px}
  .perso{margin-top:14px;padding:16px;border-radius:18px;gap:12px}
  .perso h3{font-size:28px;margin-top:6px}
  .perso p{display:none}
  .perso ul{font-size:13.5px;gap:3px;margin-top:8px}
  .perso__p{padding:12px;gap:6px;border-radius:14px}
  .perso__p b{font-size:40px}
  /* plano */
  .planos{gap:16px}
  .pl{padding:16px;border-radius:18px;gap:6px}
  .pl h3{font-size:25px}
  .pl .v b{font-size:38px}
  .pl p{font-size:14px}
  .pl ul{font-size:13.5px;gap:3px;margin:4px 0 8px}
  /* modais */
  .modal__b{padding:16px 14px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
  .modal__h{margin-bottom:12px}
  .modal__h h2{font-size:27px}
  .modal__h p{font-size:13.5px}
  .form{gap:10px}
  .fld{gap:4px;font-size:13px}
  .inp,.fld input,.fld select,.fld textarea{padding:10px 12px;border-radius:12px}
  .fld textarea{min-height:70px}
  .row2{gap:8px}
  .modal__pe{margin-top:12px}
  .status4 button{padding:8px 6px;font-size:13px}
  .chips button{padding:6px 11px;font-size:13px}
  .pix img{width:190px;height:190px}
  /* entrar */
  .solo{padding:18px 14px}
  .solo__b img.logo{margin-bottom:18px}
  .solo h1{font-size:38px}
}
@media (min-width:720px){
  .vh{margin:4px 0 14px}
  .card{padding:18px}
  .hero{min-height:190px}
}
@media (max-width:719px){
  .card__h{flex-direction:row;text-align:left;justify-content:space-between;align-items:baseline}
  .card__h a,.card__h button{font-size:13px;white-space:nowrap}
  .mini li:nth-child(n+4){display:none}
  .cats{gap:0;background:#fff;border-radius:16px;border:1px solid var(--linha2);overflow:hidden}
  .cat{border:0;border-bottom:1px solid var(--linha2);border-radius:0;box-shadow:none;padding:9px 12px}
  .cat:last-child{border-bottom:0}
  .cat__ic{width:32px;height:32px;font-size:17px;background:var(--papel)}
  .acoes .btn{padding:8px 13px;font-size:13.5px}
  .perso ul{justify-items:start;text-align:left;max-width:320px;margin-inline:auto}
}
@media (min-width:900px){
  .cats{grid-template-columns:1fr 1fr;gap:8px}
  .cat{padding:11px 14px}
  .cat__ic{width:38px;height:38px;font-size:20px}
}
@media (min-width:1300px){.cats{grid-template-columns:repeat(3,1fr)}}
/* listas em 2 colunas no computador; KPIs lado a lado no celular */
@media (min-width:1100px){
  .fase{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}
  .fase__h{grid-column:1/-1}
  .tk,.pg{padding:9px 14px;margin-bottom:8px}
}
@media (min-width:720px){.tk,.pg{padding:10px 14px}}
@media (max-width:719px){
  .vh{flex-direction:column;align-items:center}
  .vh>div{flex:none}
  .g3{grid-template-columns:repeat(3,1fr);gap:6px}
  .g3 .kpi{padding:10px 6px}
  .g3 .kpi small{font-size:11.5px}
  .g3 .kpi strong{font-size:21px}
  .g3 .kpi em{font-size:11px}
}
@media (max-width:719px){
  .pl ul{justify-items:start;text-align:left;width:fit-content;max-width:100%;margin-inline:auto}
  .pl:not(.top) ul{display:none}
  .pl{gap:4px}
  .pl .btn{margin-top:8px}
  .card p.mute{font-size:13.5px;line-height:1.45}
  .inp,.fld input,.fld select{padding:9px 12px}
}
@media (max-width:719px){.money input,.cat__plan .inp{padding-left:40px}.status4 button{padding:7px 6px}}

/* leitura do orçamento com IA + checkbox (29/out) */
.ia{background:linear-gradient(135deg,#fff8e0,#fff);border:1.5px dashed rgba(255,137,57,.55);border-radius:16px;padding:12px 14px;display:grid;gap:10px}
.ia__t b{display:block;font-size:15px;color:var(--marinho)}
.ia__t span{font-size:13.5px;color:var(--soft)}
.ia__a{display:flex;flex-wrap:wrap;gap:8px}
.ia__a label.btn{cursor:pointer}
.ia__st{font-size:13.5px;font-weight:600;color:var(--verde)}
.ia__st.err{color:var(--tomate)}
.chk{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--marinho);flex:none}
.chk b{display:block;font-size:15px}
.chk small{display:block;font-size:13px;color:var(--soft)}
@media (max-width:719px){.ia{padding:10px 12px;gap:8px;text-align:center}.ia__a{justify-content:center}}

/* fornecedor: categoria inteira no celular; dica dos "já contratados" do cadastro */
@media (max-width:719px){.row2--cat{grid-template-columns:1fr}}
.dicauto{background:rgba(31,138,91,.08);border:1px solid rgba(31,138,91,.25);color:var(--verde);border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:600;line-height:1.4}

/* nada pode passar da largura da tela: trilhas de grid com mínimo 0 e filhos que encolhem */
.planos,.grid,.g2,.g3,.g4,.fgrid,.mods,.cats,.row2{min-width:0}
.planos{grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.planos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.row2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:719px){.row2--cat{grid-template-columns:minmax(0,1fr)}}
.pl,.card,.fc,.mod,.cat,.kpi{min-width:0}
.fld select{text-overflow:ellipsis}
.pl li,.perso li{display:flex;gap:8px;align-items:baseline}
.pl li::before,.perso li::before{margin-right:0;flex:none}

/* 31/out: 1ª abertura vinda da calculadora: "O que vocês já fecharam?" (noiva.js · modalFechados) */
.modal .jas{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 6px}
.modal .jas button{padding:9px 14px;border-radius:99px;border:1.5px solid var(--linha);background:#fff;font-size:14.5px;font-weight:600;color:var(--soft);transition:.15s}
.modal .jas button.on{border-color:var(--verde);background:rgba(31,138,91,.1);color:var(--verde)}
.modal .jas button.on::after{content:" ✓"}

/* 31/out (Léo: "cortado à direita"): no computador as categorias quebram em linhas, nada fica escondido; no celular seguem rolando com um esmaecido indicando que tem mais */
@media (min-width:720px){.pills{flex-wrap:wrap;overflow:visible}}
@media (max-width:719px){.pills{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px}}

/* 31/out: total planejado editável na entrada do Orçamento; categoria aberta ocupa a linha toda (as do lado não esticam) */
.tot__v{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.tot__ed{background:rgba(255,255,255,.14);color:#fff;border-radius:99px;padding:7px 14px;font-size:14px;font-weight:600;margin-bottom:6px}
.tot__ed:hover{background:rgba(255,255,255,.24)}
.cats{align-items:start}
.cat.abre{grid-column:1/-1}

/* 31/out: site do casamento à parte (R$ 97) */
.sitepg{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1.5px solid var(--toranja);border-radius:18px;padding:16px 18px;margin:0 0 18px}
.sitepg b{display:block;color:var(--marinho);font-size:16px}
.sitepg small{display:block;color:var(--soft);font-size:13.5px;margin-top:4px;max-width:620px}
.sitepg .btn{flex:none}
@media (max-width:719px){.sitepg{flex-direction:column;text-align:center}.sitepg .btn{width:100%}}

/* 31/out: entrar com o Google */
.ou{display:flex;align-items:center;gap:12px;margin:18px 0 6px;color:var(--mute);font-size:13px}
.ou::before,.ou::after{content:"";flex:1;height:1px;background:var(--linha)}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff}
/* 31/out: análise com IA no topo do comparador */
.iacmp{background:var(--papel,#FCF9F2);border:1px solid var(--linha);border-radius:18px;padding:16px;margin-bottom:16px}
.iacmp__i{display:flex;gap:14px;align-items:center;justify-content:space-between}
.iacmp__i b{display:block;color:var(--marinho);font-size:16px}
.iacmp__i span{display:block;color:var(--soft);font-size:14px;margin-top:2px}
.iacmp__i .btn{flex:none}
.iacmp__st{color:var(--tomate);font-size:14px;margin-top:8px}
.iacmp h3{font:400 26px/1.1 var(--serif);color:var(--marinho)}
.iacmp>p{color:var(--ink);font-size:15px;line-height:1.55;margin-top:6px}
.iacmp h4{font-size:14px;color:var(--marinho);margin-top:16px}
.iacmp ul{list-style:none;display:grid;gap:4px;margin-top:6px;font-size:14px;line-height:1.45}
.iacmp__f{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.iacmp__f>div{background:#fff;border:1.5px solid var(--linha2);border-radius:14px;padding:12px}
.iacmp__f>div.iacmp__top{border-color:var(--verde)}
.iacmp__f b{display:block;font-size:15.5px}
.iacmp__f span{display:block;font-size:14px;color:var(--soft);margin-top:2px}
.iacmp__f strong{color:var(--toranja)}
.iacmp__f ul li::before{content:"– ";color:var(--soft)}
.iacmp__f ul.al li::before{content:"⚠ ";color:var(--toranja)}
.iacmp__m{background:#fff;border:1px solid var(--linha2);border-radius:12px;padding:12px;font-size:14.5px;line-height:1.55;margin-top:6px}
.iacmp .acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.iacmp__n{font-size:12.5px;color:var(--mute);margin-top:10px}
@media (max-width:719px){.iacmp__i{flex-direction:column;text-align:center}.iacmp{text-align:center}.iacmp ul,.iacmp__f>div{text-align:left}.iacmp .acoes{justify-content:center}}
/* 31/out: desafio "organize seu casamento em 7 dias" (noiva/desafio.js) */
.card.dzcard{display:flex;gap:14px;align-items:center;margin-bottom:14px;text-decoration:none;color:inherit;border:1.5px solid var(--toranja);background:linear-gradient(135deg,#fff 60%,#fff4ea)}
.dzcard__ic{font-size:34px;flex:none}
.dzcard small{color:var(--toranja);font-weight:700;font-size:12.5px}
.dzcard h3{font-size:24px;margin-top:2px}
.dzcard p{color:var(--soft);font-size:14.5px;margin-top:4px}
.dzcard>div{flex:1;min-width:0}
.dzcard .btn{flex:none}
.dztrilha{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:16px}
.dztrilha button{display:grid;justify-items:center;gap:6px;padding:8px 2px;border-radius:14px;color:var(--soft);font-size:12px;line-height:1.2;text-align:center}
.dztrilha button b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--linha);background:#fff;font-size:15px;color:var(--marinho)}
.dztrilha button.ok b{background:var(--verde);border-color:var(--verde);color:#fff}
.dztrilha button.agora{background:#fff;box-shadow:var(--sh);color:var(--marinho);font-weight:700}
.dztrilha button.agora b{border-color:var(--toranja)}
.dztrilha button.trava{opacity:.45}
.dzm{margin-bottom:14px}
.dzm__h{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.dzm__ic{font-size:30px}
.dzm__h small{color:var(--toranja);font-weight:700;font-size:12.5px}
.dzm__h h2{font:400 clamp(28px,4vw,36px)/1.05 var(--serif);color:var(--marinho)}
.dzm__d{color:var(--soft);font-size:15px;line-height:1.55;margin:6px 0 14px}
.dzform{margin-bottom:14px}
.dzbox{background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:14px 16px;margin:16px 0}
.dzbox h4{color:var(--marinho);font-size:16px}
.dzbox p{color:var(--soft);font-size:14.5px;margin-top:4px;line-height:1.5}
.dzbox p.ok{color:var(--verde);font-weight:700}
.dzbox .acoes{margin-top:10px}
.dzcmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 6px}
.dzcmp>div,.dzres>div{background:var(--papel);border-radius:14px;padding:12px 14px}
.dzcmp small,.dzres small{display:block;color:var(--soft);font-size:13px}
.dzcmp b,.dzres b{display:block;font:400 30px/1.1 var(--serif);color:var(--marinho);margin-top:2px}
.dzres{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
.dzres span{display:block;font-size:13.5px;color:var(--soft);margin-top:2px}
.dzres span.ok{color:var(--verde);font-weight:600}
.dzres span.alerta{color:var(--tomate);font-weight:600}
.dzc{text-align:center;margin-top:8px}
.dzgr{display:grid;gap:8px}
.dzgr>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--linha2)}
.dzgr>div>span{font-weight:600;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.step{display:flex;align-items:center;gap:4px;flex:none}
.step button{width:38px;height:38px;border-radius:12px;border:1.5px solid var(--linha);background:#fff;font-weight:700;color:var(--marinho);font-size:14px}
.step input{width:56px;height:38px;text-align:center;border:1.5px solid var(--linha);border-radius:12px;font-size:16px;font-weight:700;color:var(--ink)}
.dzest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:6px}
.dzest button{text-align:left;padding:14px;border-radius:16px;border:1.5px solid var(--linha);background:#fff}
.dzest button b{display:block;color:var(--marinho);font-size:16px}
.dzest button span{display:block;color:var(--soft);font-size:13.5px;margin-top:3px;line-height:1.4}
.dzest button.on{border-color:var(--marinho);background:rgba(16,73,127,.06)}
.dzh{color:var(--marinho);font-size:15px;margin:18px 0 8px}
.dzh small{color:var(--soft);font-weight:400}
.chips button:disabled{opacity:.4}
.dzst{font-size:14px;color:var(--marinho);margin-top:8px}
.dzst.err{color:var(--tomate)}
.dzinsp{margin-top:14px;background:#fff;border-radius:14px;padding:14px;border:1px solid var(--linha2)}
.dzinsp>b{font:400 24px/1.1 var(--serif);color:var(--marinho)}
.dzinsp>p{margin-top:4px}
.dzl{list-style:none;margin-top:8px;font-size:14.5px}
.dzl li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--linha2)}
.dzl li span{min-width:0;overflow-wrap:anywhere}
.dzl li i,.dzl li b{font-style:normal;font-weight:700;color:var(--marinho);white-space:nowrap}
.dzl li i.ok{color:var(--verde)}
.dzl li.tot{border-top:2px solid var(--marinho)}
.dzdatas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dzdt{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:16px 0}
.dzdt>div{border:1.5px solid var(--linha2);border-radius:16px;padding:14px;background:#fff}
.dzdt>div.on{border-color:var(--verde)}
.dzdt b{display:block;font:400 22px/1.15 var(--serif);color:var(--marinho)}
.dzdt small{color:var(--soft);font-size:13.5px}
.dzdt ul{list-style:none;margin:10px 0 12px;display:grid;gap:5px;font-size:14px;line-height:1.4}
.dzvt{margin-top:8px;font-size:13.5px}
.dzck{list-style:none;display:grid;gap:6px;font-size:14.5px}
.dzck li{padding-left:22px;position:relative;line-height:1.45}
.dzck li::before{content:"○";position:absolute;left:0;color:var(--toranja)}
.dzord li{display:flex;justify-content:space-between;gap:12px}
.dzord li i{font-style:normal;color:var(--soft);white-space:nowrap;font-size:13.5px}
.dzmsg{background:var(--papel);border:1px solid var(--linha);border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.55}
.dzadd{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:8px}
.dzfl{list-style:none;margin-top:10px;display:grid;gap:6px}
.dzfl li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--papel);border-radius:12px}
.dzfl li b{min-width:0;overflow-wrap:anywhere}
.dzfl li .ok{color:var(--verde);font-weight:700}
.dzvis{margin:14px 0}
.dzvis summary{cursor:pointer;font-weight:700;color:var(--marinho)}
.dzvis .dzck{margin-top:8px}
.dzm>.btn--wide{margin-top:16px}
.dzlista{display:grid;gap:6px}
.dzli{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:#fff;border-radius:14px;border:1px solid var(--linha2);text-align:left;font-size:15px}
.dzli b{flex:1;min-width:0;color:var(--ink)}
.dzli em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--mute);white-space:nowrap}
.dzli em.ok{color:var(--verde)}
.dzli em.hoje{color:var(--toranja)}
.dzli:disabled{opacity:.6}
.dzplano{background:var(--papel);border-radius:18px;padding:18px;border:1px solid var(--linha)}
.dzplano h3{font:400 30px/1.1 var(--serif);color:var(--marinho)}
.dzvenda{background:var(--marinho);color:#fff;border-radius:20px;padding:22px 18px;margin-top:16px;text-align:center}
.dzvenda h3{font:400 28px/1.1 var(--serif);color:#fff}
.dzvenda p{color:#D9E1EC;font-size:15px;line-height:1.55;margin-top:8px}
.dzvenda .v{font:400 44px/1 var(--serif);color:var(--limao);margin-top:12px}
.dzvenda .pr{font-size:14.5px;margin-top:4px}
.dzvenda .acoes{justify-content:center}
.dzvenda .btn--line{color:#fff;border-color:rgba(255,255,255,.6)}
@media (max-width:719px){
  .dztrilha span{display:none}
  .card.dzcard{flex-direction:column;text-align:center}
  .dzest,.dzdatas{grid-template-columns:minmax(0,1fr)}
  .dzadd{grid-template-columns:minmax(0,1fr)}
  .dzm,.dzm__h{text-align:center}.dzm__h{flex-direction:column}
  .dzgr>div{flex-direction:column;align-items:center;text-align:center}
  .dzbox .acoes,.dzm .acoes{justify-content:center}
  .dzest button{text-align:center}
  .dzck,.dzl,.dzfl{text-align:left}
}
@media print{body.dzprint .side,body.dzprint .tabbar,body.dzprint .top,body.dzprint .faixa,body.dzprint .vh,body.dzprint .dztrilha,body.dzprint .dzlista,body.dzprint .dzvenda,body.dzprint .acoes,body.dzprint .dzm__h{display:none!important}body.dzprint .dzm{box-shadow:none;border:0}}
.dzform .row2,.dzdatas{align-items:end}
/* 01/nov: aba "A estimativa de vocês" (noiva/estimativa.js) */
.card.estcard{display:flex;gap:14px;align-items:center;margin-bottom:14px;text-decoration:none;color:inherit}
.estcard__ic{font-size:30px;flex:none}
.estcard small{color:var(--soft);font-weight:700;font-size:12.5px}
.estcard h3{font-size:24px;margin-top:2px}
.estcard p{color:var(--soft);font-size:14px;margin-top:2px}
.estcard>div{flex:1;min-width:0}
.estcard .btn{flex:none}
.card.estteste{border:1.5px solid var(--toranja);background:linear-gradient(135deg,#fff 60%,#fff4ea);margin-bottom:14px}
.estteste p{color:var(--soft);font-size:15px;line-height:1.55;margin-top:6px;max-width:760px}
.estv{background:var(--marinho);color:#fff;border-radius:var(--r);padding:22px 20px;margin-bottom:14px}
.estv small{display:block;color:#C9D4E3;font-size:13.5px;font-weight:600}
.estv strong{display:block;font:400 clamp(36px,6vw,54px)/1.05 var(--serif);color:var(--limao);margin-top:4px}
.estv span{display:block;color:#D9E1EC;font-size:15px;margin-top:6px}
.estbars{list-style:none;display:grid;gap:14px;margin-top:10px}
.estb__h{display:flex;justify-content:space-between;gap:10px;font-size:14.5px}
.estb__h span{font-weight:600;min-width:0;overflow-wrap:anywhere}
.estb__h b{color:var(--marinho);white-space:nowrap}
.estb{position:relative;height:10px;border-radius:99px;background:var(--linha2);margin:6px 0 4px;overflow:hidden}
.estb i{position:absolute;top:0;bottom:0;border-radius:99px}
.estb .fill{left:0;background:var(--marinho)}
.estb .rng{background:rgba(255,137,57,.55)}
.estbars small{color:var(--soft);font-size:13px}
.estdicas{list-style:none;display:grid;gap:10px;margin-top:10px}
.estdicas li{background:var(--papel);border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.5}
.estdicas b{color:var(--marinho)}
.estnota{font-size:13px;margin-top:12px}
@media (min-width:1100px){.estg{grid-template-columns:1.2fr 1fr}}
@media (max-width:719px){.card.estcard{flex-direction:column;text-align:center}.estv{text-align:center}.estteste{text-align:center}.estteste .acoes{justify-content:center}.estbars,.estdicas{text-align:left}.card .acoes{justify-content:center}}
@media (max-width:719px){.estg .card__h{justify-content:center;text-align:center}.estnota{text-align:center}}
/* Lugares 3D (02/nov/2026) */
.l3dhost{animation:none;padding-top:0}
.l3dbox{border-radius:20px;overflow:hidden;border:1px solid var(--linha2);box-shadow:var(--sh);background:#f3efe6;height:max(560px,calc(100vh - 210px))}
.l3dbox iframe{display:block;width:100%;height:100%;border:0}
.l3dvazio{max-width:620px}
@media (max-width:760px){.l3dbox{height:76vh;border-radius:16px}.l3dvazio{text-align:center;margin-inline:auto}.l3dvazio .acoes{justify-content:center}}
/* plano do quiz dentro da estimativa (04/nov/2026) */
.estmsg{background:var(--papel);border-radius:14px;padding:12px 14px;margin-top:10px}
.estmsg b{color:var(--marinho);font-size:14px}
.estmsg p{font-size:14.5px;line-height:1.5;margin:6px 0 10px}
@media (max-width:719px){.estmsg{text-align:center}}
/* 04/nov · cartão "Contem do casamento de vocês" (quem entrou só com o contato completa aqui) */
.compcard{margin-bottom:14px;border:1.5px solid rgba(255,137,57,.45)}
.compcard .form{margin-top:12px}
.compja{margin-top:6px;gap:8px}
.compja .chip{border:0;cursor:pointer;font:600 13px inherit;padding:7px 12px}
.compcard .erro{color:var(--tomate);font-size:14px}
.compja .chip{background:var(--linha2,#EEE8DE);color:var(--ink,#1d2b3a)}
.compja .chip.verde{background:rgba(31,138,91,.14);color:var(--verde)}
.compja .chip.verde::after{content:" ✓"}
@media (max-width:759px){.compcard .card__h,.compcard>p{text-align:center}.compcard .card__h{justify-content:center;position:relative}.compcard .card__h .app__x{position:absolute;right:0;top:0}.compja{justify-content:center}.compcard .acoes{justify-content:center}}
.compcard{position:relative}
.compja .chip{box-shadow:inset 0 0 0 1px var(--linha)}
.compja .chip.verde{box-shadow:inset 0 0 0 1.5px rgba(31,138,91,.5)}
/* ===== 11/nov/2026 · produtos de entrada (noiva/produtos.js) ===== */
.btn--q{white-space:normal;text-align:center;line-height:1.25}
/* oferta 1: Plano de Economia, logo depois do card azul */
.pof{display:grid;gap:18px;background:#fff;border:2px solid var(--toranja);border-radius:var(--r);padding:22px 22px;margin:0 0 14px;box-shadow:0 24px 50px -36px rgba(255,137,57,.7);position:relative;overflow:hidden}
.pof::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,226,105,.55),rgba(255,226,105,0) 70%);pointer-events:none}
@media (min-width:860px){.pof{grid-template-columns:1.35fr .65fr;align-items:center;padding:26px 28px}}
.pof__k{font:600 15px/1.35 var(--sans);color:var(--marinho)}
.pof__v{display:block;font:400 clamp(52px,8vw,84px)/1 var(--serif);color:var(--toranja);margin:6px 0 4px;letter-spacing:-.01em}
.pof__s{color:var(--soft);font-size:15px;max-width:560px}
.pof__l{list-style:none;display:grid;gap:7px;margin-top:12px;font-size:15px;color:var(--ink)}
.pof__l li{display:flex;gap:9px;align-items:baseline}
.pof__l li::before{content:"✓";color:var(--verde);font-weight:700;flex:none}
.pof__p{display:grid;justify-items:center;gap:10px;text-align:center;background:var(--papel);border-radius:18px;padding:20px 16px;position:relative;z-index:1}
.pof__de{font:400 26px/1.1 var(--serif);color:var(--marinho)}
.pof__p .btn{width:100%;font-size:16px;padding:14px 18px}
.pof__p small{color:var(--soft);font-size:13px}
.pof--ok{display:flex;align-items:center;gap:14px;text-decoration:none;border-color:var(--verde);box-shadow:none;padding:16px 20px}
.pof--ok::after{display:none}
.pof--ok b{display:block;color:var(--marinho);font-size:16.5px}
.pof--ok small{color:var(--soft);font-size:14px}
.pof--ok>div{flex:1;min-width:0}
.pof__ic{font-size:30px;flex:none}
/* oferta 2 + vitrine */
.pof2{margin-top:26px}
.pof2__h{margin-bottom:14px}
.pof2__h h2,.pmeus h2{font:400 clamp(30px,4.4vw,42px)/1.05 var(--serif);color:var(--marinho)}
.pof2__h p{color:var(--soft);margin-top:6px;max-width:760px}
.pgrid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:720px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}.pof2 .pgrid{grid-template-columns:repeat(3,1fr)}}
.pcard{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--linha2);border-radius:var(--r);padding:20px;box-shadow:var(--sh);min-width:0}
.pcard__ic{font-size:28px;line-height:1}
.pcard h3{font:400 25px/1.1 var(--serif);color:var(--marinho)}
.pcard__e small{display:block;font-size:13px;font-weight:600;color:var(--soft)}
.pcard__e b{display:block;font:400 44px/1.02 var(--serif);color:var(--toranja)}
.pcard__c{display:block;font-size:12.5px;color:var(--mute);margin-top:2px}
.pcard__d{font-size:14.5px;color:var(--soft);line-height:1.5}
.pcard__pe{display:grid;gap:10px;margin-top:auto;padding-top:8px}
.pcard__pr{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font:400 26px/1 var(--serif);color:var(--marinho)}
.pcard__pe .btn{width:100%;font-size:15.5px;padding:13px 16px}
.pcard__ver{align-self:flex-start;font-size:13.5px}
.pcard--ok{border-color:rgba(31,138,91,.45)}
.pcard--ok .btn{margin-top:auto;align-self:flex-start}
.pcombo{display:grid;gap:18px;margin-top:16px;background:var(--marinho);color:#fff;border-radius:24px;padding:24px;position:relative;overflow:hidden}
@media (min-width:860px){.pcombo{grid-template-columns:1.3fr .7fr;align-items:center;padding:28px}}
.pcombo h3{font:400 clamp(32px,4.4vw,46px)/1.02 var(--serif)}
.pcombo__de{opacity:.85;margin-top:8px}
.pcombo ul{list-style:none;display:grid;gap:5px;margin-top:12px;font-size:14.5px}
@media (min-width:860px){.pcombo ul{grid-template-columns:1fr 1fr;column-gap:18px}}
.pcombo li{display:flex;gap:8px;align-items:baseline}
.pcombo li::before{content:"✦";color:var(--limao);flex:none}
.pcombo__p{display:grid;justify-items:center;gap:8px;text-align:center;background:rgba(255,255,255,.08);border-radius:18px;padding:20px 16px}
.pcombo__p small{opacity:.8;font-weight:600}
.pcombo__p b{font:400 clamp(46px,6vw,62px)/1 var(--serif);color:var(--limao)}
.pcombo__p .btn{width:100%;font-size:16px;padding:14px 18px}
.pcombo__p span{font-size:13px;opacity:.75}
.pmeus{margin:0 0 22px}
.pmeus__l{display:grid;gap:10px;margin-top:10px}
@media (min-width:720px){.pmeus__l{grid-template-columns:repeat(2,1fr)}}
.pmeu{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid rgba(31,138,91,.4);border-radius:16px;padding:12px 14px;text-decoration:none}
.pmeu>span:first-child{font-size:24px;flex:none}
.pmeu b{flex:1;min-width:0;color:var(--marinho);font-size:15px}
.pnota{background:var(--papel);border-radius:14px;padding:10px 14px;font-size:13.5px;color:var(--soft);margin:0 0 16px}
/* produto aberto / vitrine dele */
.pvolta{display:inline-block;font-size:14px;font-weight:600;color:var(--marinho);text-decoration:none;margin:4px 0 12px}
.pvit{display:grid;gap:18px}
@media (min-width:900px){.pvit{grid-template-columns:1.1fr .9fr;align-items:start}}
.pvit__t{background:#fff;border:2px solid var(--toranja);border-radius:var(--r);padding:24px;box-shadow:var(--sh)}
.pvit h1{font:400 clamp(36px,5vw,52px)/1.02 var(--serif);color:var(--marinho);margin-top:8px}
.pvit__k{font-weight:600;color:var(--marinho);margin-top:14px}
.pvit__d{color:var(--soft);margin-top:10px}
.pvit__p{display:grid;justify-items:center;gap:10px;text-align:center;background:var(--papel);border-radius:18px;padding:18px 16px;margin-top:18px}
.pvit__p .btn{width:100%;font-size:16px;padding:14px 18px}
.pblur{position:relative;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--linha2);box-shadow:var(--sh);min-height:320px}
.pblur__in{padding:22px;filter:blur(5px);opacity:.75;user-select:none;pointer-events:none}
.pblur__in h3{font:400 28px/1.1 var(--serif);color:var(--marinho);margin-bottom:12px}
.pblur__l{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--linha2)}
.pblur__l span{font-weight:600;color:var(--ink);font-size:14.5px}
.pblur__l i{grid-column:1;height:8px;border-radius:9px;background:var(--linha)}
.pblur__l b{grid-row:1/3;grid-column:2;color:var(--toranja);font:400 24px/1 var(--serif)}
.pblur__cad{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.75))}
.pblur__cad span{font-size:34px}
.pblur__cad b{color:var(--marinho);font-size:16px;max-width:240px}
.pprep{text-align:center;display:grid;justify-items:center;gap:8px;padding:34px 20px}
.pprep span{font-size:34px}
.pprep h3{font:400 30px/1.1 var(--serif);color:var(--marinho)}
.pprep p{color:var(--soft);max-width:440px}
.pprep .btn{margin-top:6px}
/* checkout */
.pchk{background:#fff;border:1.5px solid var(--toranja);border-radius:16px;padding:12px 16px;margin:0 0 14px;text-align:center}
.pchk small{display:block;font-size:13.5px;font-weight:600;color:var(--soft)}
.pchk b{display:block;font:400 44px/1.05 var(--serif);color:var(--toranja)}
.pesp .spin{width:16px;height:16px;border-width:2px;display:inline-block;vertical-align:middle;margin-right:6px}
.pconf{position:fixed;inset:0;pointer-events:none;z-index:95;overflow:hidden}
.pconf i{position:absolute;top:-14px;width:8px;height:12px;border-radius:2px;opacity:.9;animation:pcf 2s ease-in forwards}
@keyframes pcf{to{top:105%;opacity:0;margin-left:40px}}
@media print{.pconf{display:none}}
/* celular: tudo centralizado */
@media (max-width:719px){
  .pof{padding:18px 16px;text-align:center;gap:14px}
  .pof__s{margin-inline:auto}
  .pof__l{justify-items:start;text-align:left;width:fit-content;max-width:340px;margin-inline:auto;font-size:14.5px}
  .pof--ok{flex-direction:column;text-align:center}
  .pof2__h{text-align:center}.pof2__h p{margin-inline:auto}
  .pcard{text-align:center;align-items:center;padding:18px 16px}
  .pcard__pe{flex-direction:column;width:100%;gap:8px}
  .pcard__pe .btn{width:100%}
  .pcard__ver{align-self:center}
  .pcard--ok .btn{align-self:center}
  .pcombo{text-align:center;padding:20px 16px}
  .pcombo ul{justify-items:start;text-align:left;width:fit-content;max-width:340px;margin-inline:auto}
  .pmeus h2{text-align:center}
  .pmeu{flex-direction:column;text-align:center}
  .pnota{text-align:center}
  .pvolta{display:block;text-align:center}
  .pvit__t{text-align:center;padding:18px 16px}
  .pvit .pof__l{justify-items:start;text-align:left;width:fit-content;max-width:340px;margin-inline:auto}
}
/* mockups dos produtos (11/nov) */
.pof__x{font-size:13px;font-weight:700;color:var(--verde)}
.pcard__pr small{font:700 12.5px/1.3 var(--sans);color:var(--verde)}
.pcombo__de s{opacity:.7}
.pcombo__de b{color:var(--limao);font-weight:700}
.pcard__mk{display:grid;place-items:center;background:linear-gradient(160deg,var(--papel),#F1E9DB);border-radius:16px;height:168px;margin:-4px -4px 6px;overflow:hidden;position:relative;align-self:stretch}
.pvit .pcard__mk{height:170px;margin:0 0 6px}
.pof__p .mk{margin-bottom:4px}
.mk{width:200px;max-width:88%;font-family:var(--sans);color:var(--ink);text-align:left;box-shadow:0 18px 30px -18px rgba(16,40,70,.45);transform:rotate(-2deg)}
.mk--doc{background:#fff;border-radius:10px;padding:12px 12px 10px;display:grid;gap:5px}
.mk--doc>b{font:400 17px/1 var(--serif);color:var(--marinho)}
.mk--doc>em{font-style:normal;font-size:10px;color:var(--mute);margin-top:-2px}
.mk__r{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;font-size:10.5px}
.mk__r span{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk__r i{grid-column:1;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--toranja),var(--limao))}
.mk__r u,.mk__t u{grid-row:1/3;grid-column:2;text-decoration:none;color:var(--verde);font-weight:700;font-size:11px}
.mk__t{display:flex;justify-content:space-between;border-top:1px dashed var(--linha);padding-top:5px;font-size:11px;font-weight:700}
.mk--chat{background:#E9E3D7;border-radius:14px;padding:10px;display:grid;gap:6px;transform:rotate(1.5deg)}
.mk--chat p{background:#fff;border-radius:10px 10px 10px 3px;padding:5px 8px;font-size:9px;line-height:1.3;max-width:86%}
.mk--chat p.eu{background:#D9F2E3;justify-self:end;border-radius:10px 10px 3px 10px}
.mk--tel{width:120px;height:200px;border-radius:22px;background:var(--ink);padding:7px;transform:rotate(-4deg) translateY(26px)}
.mk--tel>div{height:100%;border-radius:16px;background:linear-gradient(180deg,#FCF9F2,#F1E5D3);display:grid;align-content:center;justify-items:center;gap:6px;text-align:center;padding:10px}
.mk--tel small{font:400 15px/1 var(--serif);color:var(--marinho)}
.mk--tel b{font:400 14px/1.1 var(--serif);color:var(--toranja)}
.mk--tel span{font-size:8.5px;color:var(--soft);line-height:1.3}
.mk--tel i{font-style:normal;font-size:8.5px;font-weight:700;color:#fff;background:var(--marinho);border-radius:99px;padding:4px 8px}
.mk--cal{background:#fff;border-radius:12px;padding:10px 12px;width:auto}
.mk--cal>b{font-size:10px;color:var(--soft);display:block}
.mk--cal>u{text-decoration:none;font:400 24px/1.1 var(--serif);color:var(--marinho)}
.mk__g{display:grid;grid-template-columns:repeat(7,14px);gap:4px;margin-top:6px}
.mk__g i{height:14px;border-radius:4px;background:var(--linha2)}
.mk__g i.on{background:var(--toranja)}
.mk__g i.pg{background:var(--verde)}
.mk--3{background:none;box-shadow:none;transform:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-items:end;width:210px}
.mk--3>div{background:#fff;border-radius:10px;padding:10px 6px;box-shadow:0 12px 22px -14px rgba(16,40,70,.5);display:grid;gap:4px;text-align:center;height:calc(110px - var(--k) * 22px)}
.mk--3 span{font-size:9.5px;font-weight:700;color:var(--soft)}
.mk--3 b{font:400 14px/1.1 var(--serif);color:var(--marinho);align-self:end}
.mk--3>div:nth-child(2) b{color:var(--toranja)}
.mk--pap{background:none;box-shadow:none;transform:none;position:relative;height:120px;width:200px}
.mk--pap>div{position:absolute;background:#fff;box-shadow:0 12px 22px -14px rgba(16,40,70,.55)}
.mk__cv{left:6px;top:4px;width:96px;height:112px;border-radius:4px;display:grid;place-content:center;text-align:center;gap:4px;transform:rotate(-5deg);border:1px solid var(--linha)}
.mk__cv small{font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--toranja)}
.mk__cv b{font:400 14px/1.05 var(--serif);color:var(--marinho);padding:0 6px}
.mk__pl{left:108px;top:30px;width:74px;height:60px;border-radius:4px;display:grid;place-content:center;text-align:center;transform:rotate(4deg)}
.mk__pl span{font-size:8px;color:var(--soft)}
.mk__pl b{font:400 26px/1 var(--serif);color:var(--marinho)}
.mk__tg{left:120px;top:96px;font:400 11px/1 var(--serif);color:var(--toranja);padding:5px 8px;border-radius:99px;transform:rotate(-3deg)}
@media (max-width:719px){.pcard__mk{margin:-2px 0 6px}.pcard__pr{justify-content:center}}
.pof__t{position:relative;z-index:1}

/* 12/nov: card "vocês já economizaram" no Início */
.pof--eco .pof__vv{display:block;font:400 34px/1.05 var(--serif);color:#1f8a5b;margin:2px 0}

/* 12/nov: gamificação (noiva/jogo.js) */
.jg-mis{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:14px;border:2px solid var(--toranja)}
.jg-mis.ok{border-color:var(--verde);background:#f3fbf6}
.jg-mis__t{min-width:0}.jg-mis__t h3{margin-bottom:4px}.jg-mis__t p{font-size:16.5px;font-weight:600;color:var(--ink)}
.jg-mis .acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.jg-seq{flex:none;text-align:center;min-width:110px}.jg-seq b{display:block;font:400 44px/1 var(--serif);color:var(--mute)}.jg-seq.on b{color:var(--toranja)}
.jg-seq span{display:block;font-size:13px;font-weight:600;color:var(--soft)}.jg-seq small{display:block;font-size:12px;color:var(--mute);margin-top:2px}
.jg-pronto{display:grid;grid-template-columns:auto 1fr 1fr;gap:22px;align-items:start;margin-bottom:14px}
.jg-anel{--p:0;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--toranja) calc(var(--p)*1%),rgba(16,73,127,.1) 0);display:grid;place-items:center;position:relative}
.jg-anel::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}.jg-anel b{position:relative;font:400 34px/1 var(--serif);color:var(--marinho)}
.jg-pronto__t h3{margin-bottom:6px}
.jg-sobe{list-style:none;padding:0;margin-top:8px;display:grid;gap:6px}.jg-sobe li{display:flex;justify-content:space-between;gap:10px;font-size:15px}
.jg-sobe a{color:var(--marinho);font-weight:600;text-decoration:underline;text-underline-offset:3px}.jg-sobe span{color:#1f8a5b;font-weight:700;white-space:nowrap}
.jg-marcos h4{font:400 20px/1.1 var(--serif);color:var(--marinho);margin-bottom:8px}
.jg-ms{display:flex;flex-wrap:wrap;gap:8px}.jg-m{border:1.5px solid rgba(16,73,127,.15);background:var(--papel,#FCF9F2);border-radius:14px;padding:8px 12px;text-align:left;cursor:pointer;max-width:170px}
.jg-m:hover{border-color:var(--toranja)}.jg-m b{display:block;font:400 22px/1 var(--serif);color:var(--toranja)}.jg-m span{display:block;font-size:12.5px;color:var(--soft);margin-top:2px}
.jg-prox{font-size:13.5px;color:var(--soft);margin-top:10px}
.jg-card{display:grid;place-items:center;margin:6px 0 4px}.jg-card img{width:min(270px,70vw);aspect-ratio:9/16;border-radius:16px;box-shadow:0 20px 40px -20px rgba(10,25,45,.5)}
@media (max-width:899px){.jg-pronto{grid-template-columns:auto 1fr}.jg-marcos{grid-column:1/-1}}
@media (max-width:719px){.jg-mis{flex-direction:column;text-align:center}.jg-mis .acoes{justify-content:center}.jg-pronto{grid-template-columns:1fr;justify-items:center;text-align:center}.jg-sobe li{justify-content:center}.jg-ms{justify-content:center}.jg-m{text-align:center}}

/* 12/nov: ofertas no momento certo (noiva/produtos.js · cartaoTela) */
.pctx{position:relative;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;background:#fff;border:1.5px solid rgba(255,137,57,.45);border-left:5px solid var(--toranja);border-radius:var(--r);padding:16px 44px 16px 18px;margin:0 0 14px;box-shadow:0 18px 40px -34px rgba(255,137,57,.8)}
.pctx__ic{font-size:26px;line-height:1}.pctx__t b{display:block;font:400 22px/1.15 var(--serif);color:var(--marinho)}.pctx__t p{font-size:14.5px;color:var(--soft);margin-top:4px}
.pctx__a{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px}
.pctx__x{position:absolute;top:8px;right:10px;background:none;border:0;font-size:22px;line-height:1;color:var(--mute);cursor:pointer;padding:4px 8px}
@media (max-width:719px){.pctx{grid-template-columns:1fr;text-align:center;padding:18px 16px}.pctx__ic{justify-self:center}.pctx__a{justify-content:center}}

/* iOS: campo de data respeita a largura do contêiner */
input[type=date],input[type=time],input[type=datetime-local]{max-width:100%;min-width:0;-webkit-appearance:none;appearance:none;min-height:44px}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:inherit;margin:0}

/* 11/nov (Léo): no celular tudo mais compacto (menos rolagem) e nenhum emoji sozinho numa linha: ícone vai pro canto */
@media (max-width:719px){
  .view{padding:12px 12px 0}
  .vh{margin:2px 0 12px;gap:8px}.vh h1{font-size:32px}.vh p{font-size:14px;margin-top:4px}
  .card{padding:14px}.card h3{font-size:21px}
  .btn{padding:9px 16px;font-size:14.5px}.btn--sm{padding:6px 12px;font-size:13.5px}
  .acoes{gap:8px}
  .ola{gap:10px;margin-bottom:10px}
  .fasecard{padding:14px;gap:6px;border-radius:20px}.fasecard h3{font-size:23px}.fasecard p{font-size:14px}
  .stats{gap:8px}.stats div{padding:9px 10px}.stats b{font-size:24px}.stats small{font-size:12px}
  /* missão: sequência no canto */
  .jg-mis{position:relative;display:block;margin-bottom:10px;padding:14px 14px 12px}
  .jg-mis__t h3,.jg-mis__t p{padding:0 48px}.jg-mis__t h3{margin-bottom:2px}.jg-mis__t p{font-size:15px}.jg-mis .acoes{margin-top:10px}
  .jg-seq{position:absolute;top:10px;right:8px;min-width:0;width:50px}
  .jg-seq b{font-size:20px}.jg-seq span{font-size:10.5px;line-height:1.1}.jg-seq small{display:none}
  /* % pronto: anel pequeno, marcos lado a lado */
  .jg-pronto{gap:10px;margin-bottom:10px}
  .jg-anel{width:68px;height:68px}.jg-anel::before{inset:7px}.jg-anel b{font-size:21px}
  .jg-pronto__t h3{margin-bottom:2px}.jg-pronto__t p{font-size:13.5px}
  .jg-sobe{gap:4px;margin-top:6px}.jg-sobe li{font-size:14px}
  .jg-marcos h4{font-size:17px;margin-bottom:6px}
  .jg-ms{gap:6px;flex-wrap:nowrap}.jg-m{flex:1 1 0;min-width:0;padding:5px 6px;max-width:none;border-radius:12px}.jg-m b{font-size:17px}.jg-m span{font-size:11px;line-height:1.2}.jg-m:nth-child(n+4){display:none}
  .jg-prox{font-size:12.5px;margin-top:6px}
  /* cartões com ícone: emoji no canto, não numa linha própria */
  .card.estcard,.pof.pof--ok,.pctx{position:relative;display:block;text-align:center;padding:14px 40px 14px}
  .card.estcard{margin-bottom:10px}
  .estcard__ic,.pof--ok .pof__ic,.pctx__ic{position:absolute;top:10px;left:12px;font-size:20px;line-height:1}
  .estcard h3{font-size:22px}.estcard p{font-size:13.5px}.estcard .btn{margin-top:8px}
  .pof--ok{margin-bottom:10px!important}.pof--ok b{font-size:15.5px}.pof--ok small{font-size:13px}.pof--ok .btn{margin-top:8px}
  .pctx{margin-bottom:10px}.pctx__t b{font-size:19px}.pctx__t p{font-size:13.5px}.pctx__a{margin-top:8px}
  .catbloco__h{flex-direction:row;flex-wrap:wrap;gap:6px 10px}.catbloco__h h3{font-size:21px}.catbloco__h .btn{padding:5px 12px;font-size:13px}
  .estteste p{margin-top:0;font-size:14px}.estteste .acoes{margin-top:10px}
  .pof{padding:14px 14px;gap:10px;margin-bottom:10px}.pof__v{font-size:44px}.pof__s{font-size:14px}.pof__p{padding:14px 12px}
}
/* iOS dá zoom ao tocar num campo com letra menor que 16px */
@media (max-width:719px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{font-size:16px!important}
  .fld input.cod{font-size:30px!important}
}

/* 11/nov (Léo): Início minimalista — fase e "% pronto" dentro do cartão azul; resumo em linhas */
.hero{flex-wrap:wrap}
.hero__fase{flex-basis:100%;position:relative;margin-top:14px;display:grid;gap:7px}
.hero__fase span{font-size:13.5px;color:rgba(255,255,255,.82)}
.hero__fase button{background:none;border:0;padding:0;font:inherit;color:var(--limao);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hero__fase .trilha i{background:rgba(255,255,255,.18)}.hero__fase .trilha i.ok{background:rgba(255,255,255,.75)}.hero__fase .trilha i.agora{background:var(--toranja)}
.card.rz{padding:4px 16px;margin:14px 0}
.rz__l{display:grid;grid-template-columns:1fr auto 14px;gap:10px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--linha2);text-decoration:none;color:var(--ink);font-size:15px}
.rz__l:last-child{border-bottom:0}
.rz__l b{font-weight:700;color:var(--marinho);white-space:nowrap}.rz__l small{font-weight:500;color:var(--soft);font-size:13px}
.rz__l i{font-style:normal;color:var(--mute);font-size:18px;line-height:1}
.rz__l.alerta b{color:#c0392b}
@media (max-width:719px){.hero__fase{margin-top:10px;text-align:left}.card.rz{padding:2px 14px;margin:10px 0}.rz__l{padding:11px 0;font-size:14.5px;text-align:left}}
.hero{margin-bottom:14px}
@media (max-width:719px){.hero{margin-bottom:10px}.pof--ok small{display:none}}

/* 11/nov (Léo): critério minimalista em todas as abas no celular — sem texto explicativo no topo,
   sem bloco que repete o que já está na tela, emoji ao lado do texto (nunca numa linha só) */
@media (max-width:719px){
  .vh p{display:none}
  .card.rosca,.card.fluxocard{display:none}
  .estdicascard>.card__h,.estdicascard>.estdicas{display:none}
  .card.cktopo{gap:12px;padding:12px 14px}.cktopo .anel{width:56px;height:56px}
  .novatask{padding:10px}
  .novatask:has(input:placeholder-shown) select,.novatask:has(input:placeholder-shown) button{display:none}
  .pmeu{flex-direction:row;text-align:left;padding:10px 12px}.pmeu>span:first-child{font-size:20px}
  .pmeus h2{font-size:26px}
  .sitepg small{display:none}.sitepg{padding:12px 14px;gap:10px}
}
@media (max-width:719px){
  .pcard{gap:4px;padding:14px 14px}.pcard__mk{height:104px;margin:-2px -2px 4px}
  .pcard__d,.pcard__c{display:none}
  .pcard h3{font-size:21px}.pcard__e b{font-size:34px}.pcard__pr{font-size:22px}
  .pcard__pe{padding-top:4px;gap:6px}.pcard__pe .btn{padding:10px 14px;font-size:14.5px}
  .pcard--ok{position:relative;padding:14px 40px}.pcard--ok .pcard__ic{position:absolute;top:12px;left:12px;font-size:20px}
}
