/* Fontes servidas pelo próprio site (sem Google Fonts): mais rápido, sem terceiros e compatível com a CSP. Licença SIL OFL 1.1. */
@font-face{ font-family:"DM Sans"; font-style:normal; font-display:swap; font-weight:100 1000; src:url("/assets/fonts/dm-sans.woff2") format("woff2"); }
@font-face{ font-family:"Bricolage Grotesque"; font-style:normal; font-display:swap; font-weight:200 800; src:url("/assets/fonts/bricolage-grotesque.woff2") format("woff2"); }

  /* Layout concept: the logo's gold and a strong red, on white. A gold hero led by the real logo, a short
     order form for the party kits, a red-and-gold pizza menu that echoes their Instagram story, and a
     contact block. Red is for actions, prices and recommendations; gold is the brand surface. */
  :root{
    --bg:#17110A; --surface:#221A0F; --surface-2:#2E2312; --fg:#FBF1DC; --muted:#CDB98F; --line:#44361C;
    --sun:#3A2B0C; --sun-2:#E9B13A; --on-sun:#FBF1DC; --star:#F5B301;
    --brand:#D92D36; --on-brand:#FFFFFF; --brand-soft:#4A2024;
    --ok:#6FD3A0; --err:#FF9D94; --err-soft:#4A2321;
    --menu-red:#B3121B; --menu-gold:#F5C242; --on-menu:#FFFFFF;
    --shadow:0 10px 30px rgba(90,60,10,.12);
    /* logo (PNG sem fundo) direto sobre a página; no tema escuro um brilho claro suave mantém o verde e o marrom legíveis */
    --hero-from:#2E2312; --hero-to:#3F2D14; --logo-filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 7px rgba(255,255,255,.45));
    color-scheme:dark;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#17110A; --surface:#221A0F; --surface-2:#2E2312; --fg:#FBF1DC; --muted:#CDB98F; --line:#44361C;
      --sun:#3A2B0C; --sun-2:#E9B13A; --on-sun:#FBF1DC;
      --brand:#D92D36; --on-brand:#FFFFFF; --brand-soft:#4A2024;
      --ok:#6FD3A0; --err:#FF9D94; --err-soft:#4A2321;
      --shadow:0 10px 30px rgba(0,0,0,.45);
      --hero-from:#2E2312; --hero-to:#3F2D14; --logo-filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 7px rgba(255,255,255,.45));
      color-scheme:dark;
    }
  }
  :root[data-theme="dark"]{
    --bg:#17110A; --surface:#221A0F; --surface-2:#2E2312; --fg:#FBF1DC; --muted:#CDB98F; --line:#44361C;
    --sun:#3A2B0C; --sun-2:#E9B13A; --on-sun:#FBF1DC;
    --brand:#D92D36; --on-brand:#FFFFFF; --brand-soft:#4A2024;
    --ok:#6FD3A0; --err:#FF9D94; --err-soft:#4A2321;
    --shadow:0 10px 30px rgba(0,0,0,.45);
    --hero-from:#2E2312; --hero-to:#3F2D14; --logo-filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 7px rgba(255,255,255,.45));
    color-scheme:dark;
  }

  [hidden]{ display:none !important; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ animation:none !important; transition:none !important; } }
  .site-header{ transition:box-shadow .2s ease; }
  .site-header.is-scrolled{ box-shadow:0 8px 24px rgba(31,22,8,.12); }
  .has-scroll-reveal [data-scroll-reveal]{ opacity:0; transform:translate3d(0,20px,0); transition:opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); transition-delay:var(--reveal-delay,0ms); }
  .has-scroll-reveal [data-scroll-reveal="left"]{ transform:translate3d(-24px,0,0); }
  .has-scroll-reveal [data-scroll-reveal="right"]{ transform:translate3d(24px,0,0); }
  .has-scroll-reveal [data-scroll-reveal].is-visible{ opacity:1; transform:translate3d(0,0,0); }
  @media (prefers-reduced-motion:reduce){ .site-header{ transition:none; } }
  body{ margin:0; background:var(--bg); color:var(--fg); font-family:"DM Sans",system-ui,sans-serif; font-size:16px; line-height:1.55; }
  h1,h2,h3{ font-family:"Bricolage Grotesque","DM Sans",system-ui,sans-serif; text-wrap:balance; letter-spacing:-.02em; line-height:1.08; margin:0; }
  p{ margin:0; }
  a{ color:inherit; }
  :focus-visible{ outline:3px solid var(--brand); outline-offset:2px; border-radius:6px; }
  [id]{ scroll-margin-top:120px; }
  .wrap{ max-width:72rem; margin-inline:auto; padding-inline:16px; }
  .sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .eyebrow{ font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
  .num{ font-variant-numeric:tabular-nums; }

  /* inline icons (SVG sprite at the top of the page, no external library) */
  .i{ flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .i-fill{ fill:currentColor; }

  /* logo */
  .logo-chip{ display:block; flex:none; aspect-ratio:470/186; }
  .logo-chip img{ display:block; width:100%; height:100%; object-fit:contain; filter:var(--logo-filter); }
  .logo-header{ width:136px; }
  .logo-hero{ width:min(100%, 520px); }
  .logo-footer{ width:190px; }

  /* header */
  .site-header{ position:sticky; top:env(safe-area-inset-top,0px); z-index:40; background:var(--bg); border-bottom:3px solid var(--sun-2); }
  .brand-mark{ display:flex; align-items:center; text-decoration:none; min-width:0; }
  .nav-scroll{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
  .nav-scroll::-webkit-scrollbar{ display:none; }
  .nav-link{ flex:none; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:.92rem; text-decoration:none; padding:8px 14px; border-radius:999px; background:var(--surface-2); color:var(--fg); border:1px solid var(--line); }
  .nav-link{ transition:background .15s ease, color .15s ease, border-color .15s ease; }
  .nav-link:hover, .nav-link:focus-visible{ background:var(--brand); border-color:var(--brand); color:var(--on-brand); }

  /* buttons */
  .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font:inherit; font-weight:700; border:2px solid transparent; border-radius:999px; padding:12px 22px; cursor:pointer; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
  .btn:active{ transform:scale(.98); }
  .btn-brand{ background:var(--brand); color:var(--on-brand); box-shadow:0 8px 20px color-mix(in srgb, var(--brand) 30%, transparent); }
  .btn-brand:hover{ box-shadow:0 10px 26px color-mix(in srgb, var(--brand) 42%, transparent); }
  .btn-ghost{ background:transparent; color:var(--fg); border-color:var(--fg); }
  .btn-ghost:hover{ background:var(--fg); color:var(--bg); }
  .btn-sm{ padding:8px 16px; font-size:.9rem; }
  .btn-whats{ width:100%; padding:15px 22px; font-size:1.05rem; }

  /* hero */
  .hero{ background:linear-gradient(180deg, var(--hero-from), var(--hero-to)); color:var(--fg); overflow:hidden; }
  .hero h1{ font-size:clamp(2.2rem, 6.6vw, 4rem); font-weight:800; }
  .hero h1::after{ content:""; display:block; width:88px; height:8px; border-radius:999px; background:var(--sun-2); margin-top:18px; }
  .hero .lead{ font-size:1.125rem; max-width:34rem; color:var(--muted); }
  /* faixa dourada com as informações rápidas (nota, local, horário) */
  .info-strip{ background:var(--sun); color:var(--on-sun); }
  .info-strip a{ text-decoration:underline; font-weight:700; }
  .pill{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:999px; background:var(--surface); color:var(--fg); font-weight:700; font-size:.88rem; border:1px solid var(--line); }
  .pill .i{ color:var(--brand); }
  .dot{ width:9px; height:9px; border-radius:50%; background:var(--muted); display:inline-block; }
  .dot.on{ background:var(--ok); box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 25%, transparent); }
  .rating{ display:inline-flex; align-items:center; gap:12px; padding:8px 18px 8px 8px; border-radius:999px; background:var(--surface); color:var(--fg); border:1px solid var(--line); box-shadow:0 6px 18px rgba(90,60,10,.12); }
  .rating-star{ width:42px; height:42px; border-radius:50%; background:var(--star); color:#2A1B05; display:grid; place-items:center; }
  .rating b{ display:block; font-family:"Bricolage Grotesque",sans-serif; font-size:1.5rem; line-height:1; letter-spacing:-.02em; }
  .rating small{ display:block; font-size:.8rem; color:var(--muted); font-weight:500; line-height:1.2; margin-top:2px; }

  /* cards */
  .card{ background:var(--surface); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }

  /* cardápio: pizzas e calzones */
  .tabs{ display:flex; width:fit-content; max-width:100%; overflow-x:auto; scrollbar-width:none; gap:6px; padding:5px; border-radius:999px; background:var(--surface); border:1px solid var(--line); }
  .tab{ flex:none; white-space:nowrap; font:inherit; font-weight:700; border:0; background:transparent; color:var(--muted); padding:9px 20px; border-radius:999px; cursor:pointer; }
  .tab[aria-selected="true"]{ background:var(--brand); color:var(--on-brand); }
  @media (max-width:700px){ .tabs{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); width:100%; overflow:visible; border-radius:16px; } .tab{ grid-column:span 2; min-width:0; padding:9px 4px; text-align:center; } .tab:nth-child(4){ grid-column:2 / span 2; } .tab:nth-child(5){ grid-column:4 / span 2; } }
  .sizes{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
  .size{ padding:16px; border-radius:16px; background:var(--surface); border:1px solid var(--line); text-align:center; }
  .size b{ display:block; font-family:"Bricolage Grotesque",sans-serif; font-size:1.1rem; }
  .size small{ display:block; color:var(--muted); }
  .size .price{ display:block; margin-top:6px; font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:1.9rem; letter-spacing:-.02em; color:var(--brand); }
  .menu-panel{ background:var(--menu-red); color:var(--on-menu); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); }
  .menu-item{ padding:14px 18px; border-top:4px solid var(--menu-gold); }
  .menu-item:first-child{ border-top:0; }
  .menu-item b{ font-family:"Bricolage Grotesque",sans-serif; font-size:1.15rem; text-transform:uppercase; letter-spacing:.01em; }
  .menu-item span{ display:block; font-size:.92rem; opacity:.92; }
  .menu-especial{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; background:var(--menu-gold); color:#2A1B05; border-top:0; }
  .menu-especial b{ font-size:1.25rem; }
  .cardapio-card{ padding:22px; display:flex; flex-direction:column; gap:18px; min-width:0; }
  .cardapio-card h3{ font-size:1.4rem; }
  .grupo-cab{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; border-bottom:2px solid var(--sun-2); padding-bottom:8px; margin-bottom:10px; }
  .grupo-cab h4{ margin:0; font-family:"Bricolage Grotesque","DM Sans",system-ui,sans-serif; font-size:1.2rem; letter-spacing:-.01em; }
  .chips{ display:flex; gap:8px; flex-wrap:wrap; }
  .chip-preco{ display:inline-flex; align-items:baseline; gap:6px; background:var(--brand); color:var(--on-brand); padding:5px 12px; border-radius:10px; }
  .chip-preco small{ font-weight:700; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; }
  .chip-preco b{ font-size:1.05rem; }
  .itens{ list-style:none; margin:0; padding:0; columns:2 200px; column-gap:24px; }
  .itens li{ break-inside:avoid; position:relative; padding:3px 0 3px 16px; }
  .itens li::before{ content:""; position:absolute; left:0; top:.85em; width:6px; height:6px; border-radius:50%; background:var(--sun-2); }  .menu-cols{ display:grid; grid-template-columns:1fr; }
  @media (min-width:768px){ .menu-cols{ grid-template-columns:1fr 1fr; } .menu-cols .menu-item:nth-child(2){ border-top:0; } .menu-cols .menu-item:nth-child(even){ border-left:4px solid var(--menu-gold); } #listPizza .menu-item:last-child{ grid-column:1 / -1; border-bottom:4px solid var(--menu-gold); } }

  /* order form */
  .step{ padding:22px; }
  .step-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
  .step-num{ flex:none; width:34px; height:34px; border-radius:50%; background:var(--fg); color:var(--bg); display:grid; place-items:center; font-weight:800; font-family:"Bricolage Grotesque",sans-serif; }
  .step-head h3{ font-size:1.35rem; }
  .field-label{ font-weight:700; font-size:.9rem; display:block; margin-bottom:8px; }
  .hint{ font-size:.85rem; color:var(--muted); }
  .sep{ border:0; border-top:1px dashed var(--line); margin:20px 0; }
  fieldset{ border:0; margin:0; padding:0; min-width:0; }
  legend{ font-weight:700; font-size:.9rem; padding:0; margin-bottom:8px; }

  .input, .select, .textarea{ width:100%; font:inherit; color:var(--fg); background:var(--bg); border:2px solid var(--line); border-radius:12px; padding:11px 13px; min-width:0; }
  .input:focus, .select:focus, .textarea:focus{ outline:none; border-color:var(--brand); }
  .input[aria-invalid="true"], .select[aria-invalid="true"]{ border-color:var(--err); }
  .err-msg{ color:var(--err); font-size:.85rem; font-weight:500; margin-top:6px; }
  .textarea{ resize:vertical; min-height:72px; }
  input[type="range"]{ width:100%; height:34px; margin:0; appearance:none; -webkit-appearance:none; background:transparent; cursor:grab; touch-action:pan-y; }
  input[type="range"]::-webkit-slider-runnable-track{ height:8px; border-radius:999px; background:color-mix(in srgb, var(--brand) 20%, var(--line)); }
  input[type="range"]::-moz-range-track{ height:8px; border-radius:999px; background:color-mix(in srgb, var(--brand) 20%, var(--line)); }
  input[type="range"]::-webkit-slider-thumb{ width:34px; height:34px; margin-top:-13px; appearance:none; -webkit-appearance:none; border:3px solid var(--surface); border-radius:50%; background-color:var(--brand); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%23fff'%3E%3Ccircle cx='8' cy='6' r='1.7'/%3E%3Ccircle cx='16' cy='6' r='1.7'/%3E%3Ccircle cx='8' cy='12' r='1.7'/%3E%3Ccircle cx='16' cy='12' r='1.7'/%3E%3Ccircle cx='8' cy='18' r='1.7'/%3E%3Ccircle cx='16' cy='18' r='1.7'/%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; box-shadow:0 2px 6px rgba(0,0,0,.24); transition:transform .15s ease, box-shadow .15s ease; }
  input[type="range"]::-moz-range-thumb{ width:28px; height:28px; border:3px solid var(--surface); border-radius:50%; background-color:var(--brand); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%23fff'%3E%3Ccircle cx='8' cy='6' r='1.7'/%3E%3Ccircle cx='16' cy='6' r='1.7'/%3E%3Ccircle cx='8' cy='12' r='1.7'/%3E%3Ccircle cx='16' cy='12' r='1.7'/%3E%3Ccircle cx='8' cy='18' r='1.7'/%3E%3Ccircle cx='16' cy='18' r='1.7'/%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; box-shadow:0 2px 6px rgba(0,0,0,.24); transition:transform .15s ease, box-shadow .15s ease; }
  input[type="range"]:hover::-webkit-slider-thumb{ transform:scale(1.08); }
  input[type="range"]:hover::-moz-range-thumb{ transform:scale(1.08); }
  input[type="range"]:active{ cursor:grabbing; }
  input[type="range"]:focus-visible{ outline:none; }
  input[type="range"]:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 24%, transparent), 0 2px 6px rgba(0,0,0,.24); }
  input[type="range"]:focus-visible::-moz-range-thumb{ box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 24%, transparent), 0 2px 6px rgba(0,0,0,.24); }

  .reco{ margin-top:14px; padding:12px 14px; border-radius:14px; background:var(--brand-soft); border:2px solid var(--brand); color:var(--fg); font-weight:700; display:flex; gap:10px; align-items:center; }
  .reco .i{ color:var(--brand); }

  /* kit cards */
  .kits{ display:grid; gap:12px; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); }
  .kit{ position:relative; display:block; cursor:pointer; min-width:0; }
  .kit input{ position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
  .kit-body{ display:flex; flex-direction:column; gap:10px; padding:16px; height:100%; border:2px solid var(--line); border-radius:16px; background:var(--bg); transition:border-color .15s, background .15s, box-shadow .15s; }
  .kit:hover .kit-body{ border-color:var(--muted); }
  .kit.is-sug .kit-body{ border-color:var(--brand); box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 22%, transparent); }
  .kit input:checked + .kit-body{ border-color:var(--brand); background:var(--brand-soft); }
  .kit input:focus-visible + .kit-body{ outline:3px solid var(--brand); outline-offset:2px; }
  .kit-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
  .kit-top b{ font-family:"Bricolage Grotesque",sans-serif; font-size:1.3rem; letter-spacing:-.01em; line-height:1.1; }
  .kit-top small{ display:block; color:var(--muted); font-size:.82rem; font-weight:500; }
  .kit-check{ flex:none; width:24px; height:24px; border-radius:50%; border:2px solid var(--muted); display:grid; place-items:center; color:transparent; font-size:.8rem; font-weight:800; }
  .kit input:checked + .kit-body .kit-check{ background:var(--brand); border-color:var(--brand); color:var(--on-brand); }
  .kit ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; font-size:.92rem; }
  .kit li{ display:flex; gap:8px; align-items:baseline; }
  .kit li::before{ content:""; flex:none; width:6px; height:6px; border-radius:50%; background:var(--sun-2); transform:translateY(-1px); }
  .kit-price{ margin-top:auto; align-self:flex-start; background:var(--brand); color:var(--on-brand); font-weight:800; padding:6px 14px; border-radius:10px; font-size:1.05rem; }
  .kit-tag{ align-self:flex-start; display:inline-flex; align-items:center; gap:6px; background:var(--brand); color:var(--on-brand); font-size:.8rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:5px 12px; border-radius:999px; box-shadow:0 4px 12px color-mix(in srgb, var(--brand) 35%, transparent); }

  .alert{ border-radius:12px; padding:10px 14px; font-size:.9rem; font-weight:500; }
  .alert-warn{ background:var(--surface-2); border:1px solid var(--sun-2); }
  .alert-err{ background:var(--err-soft); color:var(--err); border:1px solid var(--err); }

  /* summary */
  .summary{ padding:22px; }
  .summary h3{ font-size:1.35rem; }
  .sum-line{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); font-size:.95rem; }
  .sum-line span:first-child{ color:var(--muted); flex:none; }
  .sum-line span:last-child{ text-align:right; font-weight:700; min-width:0; overflow-wrap:anywhere; }
  .sum-line .pending{ color:var(--muted); font-weight:500; }

  .total-bar{ position:fixed; left:0; right:0; bottom:0; z-index:45; background:var(--surface); border-top:1px solid var(--line); padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); display:flex; align-items:center; justify-content:space-between; gap:12px; box-shadow:0 -8px 24px rgba(0,0,0,.10); }
  .total-bar b{ display:block; font-family:"Bricolage Grotesque",sans-serif; font-size:1.05rem; line-height:1.2; }

  .hours-table{ width:100%; border-collapse:collapse; }
  .hours-table td{ padding:9px 0; border-bottom:1px solid var(--line); }
  .hours-table td:last-child{ text-align:right; font-weight:700; }
  .hours-table tr.today td{ color:var(--brand); font-weight:800; }
  .contact-line{ display:flex; align-items:center; gap:10px; }
  .contact-line .i{ color:var(--brand); }

  .toast{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(84px + env(safe-area-inset-bottom,0px)); background:var(--fg); color:var(--bg); padding:10px 16px; border-radius:999px; font-weight:700; z-index:60; }

  footer{ background:var(--surface-2); color:var(--fg); border-top:6px solid var(--sun-2); }
  .footer-brand{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
  .footer-location{ max-width:560px; opacity:.85; font-size:.9rem; }
  .footer-legal{ margin-top:24px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); text-align:center; font-size:.85rem; }

  /* aviso de confirmação pela atendente */
  .notice{ display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border-radius:14px; background:var(--sun); color:var(--on-sun); border:2px solid var(--sun-2); font-size:.92rem; line-height:1.4; }
  .notice .i{ margin-top:2px; color:var(--brand); }
  .notice b{ display:block; font-size:1rem; margin-bottom:2px; }
  .btn.is-blocked{ opacity:.55; box-shadow:none; }
  .block-hint{ color:var(--err); font-size:.88rem; font-weight:700; margin-top:8px; }
  .btn-link{ font:inherit; font-size:.8rem; font-weight:700; color:var(--brand); background:none; border:0; padding:0 0 0 8px; cursor:pointer; text-decoration:underline; }

  /* modal de confirmação */
  dialog.modal{ border:0; border-radius:22px; padding:0; width:min(92vw, 480px); max-height:88vh; background:var(--surface); color:var(--fg); box-shadow:0 30px 80px rgba(0,0,0,.45); overflow:auto; }
  dialog.modal::backdrop{ background:rgba(20,10,0,.58); backdrop-filter:blur(2px); }
  .modal-body{ padding:24px 24px 8px; display:flex; flex-direction:column; gap:14px; }
  .modal-icon{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand); }
  .modal-icon.ok{ background:color-mix(in srgb, var(--ok) 18%, transparent); color:var(--ok); }
  .modal h3{ font-size:1.45rem; }
  .modal-text{ color:var(--muted); }
  .modal-sum{ border:1px solid var(--line); border-radius:14px; padding:4px 14px; background:var(--bg); }
  .modal-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; padding:16px 24px 22px; }
  .modal-actions .btn{ flex:1 1 150px; }

  /* toast com desfazer */
  .toast{ display:flex; align-items:center; gap:12px; }
  .toast button{ font:inherit; font-weight:800; color:var(--sun-2); background:none; border:0; cursor:pointer; text-decoration:underline; padding:0; }

  @media (min-width:1024px){
    .sticky-col{ position:sticky; top:calc(130px + env(safe-area-inset-top,0px)); }
  }

  /* antigos atributos style="" (movidos para classes por causa da CSP) */
  .s1{ position:absolute !important; }
  .s2{ padding:16px !important; background:#FFF3CC !important; color:#1F1608 !important; text-align:center !important; font-family:sans-serif !important; }
  .s3{ font-weight:700 !important; }
  .s4{ stroke:none !important; }
  .s5{ font-size:.88rem !important; flex:1 1 240px !important; }
  .s6{ font-size:1rem !important; }
  .s7{ margin-top:6px !important; }
  .s8{ margin-top:12px !important; }
  .s9{ margin-top:16px !important; }
  .s10{ margin-top:8px !important; }
  .s11{ margin-top:14px !important; }
  .s12{ margin-top:12px !important; width:100% !important; }
  .s13{ background:var(--surface-2) !important; }
  .s14{ margin-bottom:20px !important; }
  .s15{ margin-top:28px !important; }
  .s16{ flex:1 1 260px !important; }
  .s17{ padding:24px !important; }
  .s18{ color:var(--brand) !important; }
  .s19{ font-weight:700 !important; text-decoration:underline !important; }
  .s20{ font-size:1.1rem !important; }
  .s21{ margin:0 !important; }

  /* link "pular para o formulário": invisível até receber foco pelo teclado */
  .skip-link:focus{ position:fixed; left:12px; top:12px; width:auto; height:auto; clip:auto; overflow:visible; z-index:100; padding:10px 16px; border-radius:999px; background:var(--brand); color:var(--on-brand); font-weight:700; }

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.order-3{order:3}.order-first{order:-9999}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.basis-full{flex-basis:100%}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-2{row-gap:.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-extrabold{font-weight:800}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_120px\]{grid-template-columns:1fr 120px}}@media (min-width:768px){.md\:order-none{order:0}.md\:basis-auto{flex-basis:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.lg\:order-last{order:9999}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}}