/* ============================================================
   Pop-up de orçamento — 2 etapas (adicionais → data).
   Compartilhado pelas landing pages; markup em
   resources/views/partials/pkg-modal.blade.php.
   ============================================================ */
    body.pkg-open{ overflow:hidden; }

    .pkg-modal{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px; }
    .pkg-modal[hidden]{ display:none; }
    .pkg-scrim{ position:absolute; inset:0; background:rgba(6,6,6,.78);
      backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
      opacity:0; transition:opacity .24s ease; }
    .pkg-modal.is-open .pkg-scrim{ opacity:1; }

    .pkg-dialog{ position:relative; width:min(560px,100%); max-height:min(88vh,760px);
      display:flex; flex-direction:column; border-radius:24px; overflow:hidden;
      background:rgba(16,16,16,.92);
      box-shadow:inset 0 1px 1px rgba(255,255,255,.14), 0 40px 90px -20px rgba(0,0,0,.85);
      opacity:0; transform:translateY(16px) scale(.98);
      transition:opacity .24s ease, transform .28s cubic-bezier(.34,1.2,.64,1); }
    .pkg-modal.is-open .pkg-dialog{ opacity:1; transform:none; }

    .pkg-x{ position:absolute; top:16px; right:16px; z-index:2; width:32px; height:32px;
      display:grid; place-items:center; border-radius:50%; color:var(--text-dim);
      background:rgba(255,255,255,.06); transition:background .2s ease, color .2s ease; }
    .pkg-x:hover{ background:rgba(255,255,255,.13); color:#fff; }
    .pkg-x svg{ width:15px; height:15px; }

    /* indicador de etapa */
    .pkg-steps[hidden]{ display:none; }   /* etapa única: página sem adicionais */
    .pkg-steps{ display:flex; align-items:center; gap:8px; padding:22px 26px 0; }
    .pkg-dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.18);
      transition:background .3s ease, box-shadow .3s ease; }
    .pkg-dot.is-on{ background:var(--accent); box-shadow:0 0 0 4px rgba(255,106,26,.16); }
    .pkg-bar{ flex:1; height:2px; border-radius:2px; background:rgba(255,255,255,.10); overflow:hidden; }
    .pkg-bar i{ display:block; height:100%; background:var(--accent);
      transform:scaleX(0); transform-origin:left; transition:transform .38s cubic-bezier(.34,1.1,.64,1); }

    .pkg-head{ padding:18px 26px 20px; }
    .pkg-kicker{ font-family:"Geist Mono",monospace; font-size:10.5px; letter-spacing:.12em;
      text-transform:uppercase; color:var(--text-mute); }
    .pkg-kicker b{ color:var(--accent); font-weight:600; }
    .pkg-head h3{ font-size:22px; font-weight:600; letter-spacing:-.02em; margin-top:9px; }
    .pkg-head p{ color:var(--text-dim); font-size:13.5px; line-height:1.55; margin-top:8px; }

    /* painéis das etapas */
    .pkg-pane{ display:none; flex:1; min-height:0; overflow-y:auto; padding:0 26px 4px; }
    .pkg-pane.is-on{ display:block; animation:pkgIn .32s cubic-bezier(.22,.9,.32,1); }
    @keyframes pkgIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

    /* etapa 1 — adicionais */
    .pkg-addons{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
    .pkg-addon{ display:flex; align-items:center; gap:12px; cursor:pointer;
      padding:13px 15px; border-radius:13px; background:rgba(255,255,255,.035);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); transition:background .2s ease, box-shadow .2s ease; }
    .pkg-addon:hover{ background:rgba(255,255,255,.07); }
    .pkg-addon input{ position:absolute; opacity:0; width:0; height:0; }
    .pkg-box{ flex:none; width:20px; height:20px; border-radius:6px; display:grid; place-items:center;
      color:transparent; background:rgba(255,255,255,.06);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); transition:all .2s ease; }
    .pkg-box svg{ width:12px; height:12px; }
    .pkg-addon input:checked ~ .pkg-box{ color:#0A0A0A; background:var(--accent); box-shadow:none; }
    .pkg-addon:has(input:checked){ background:rgba(255,106,26,.09); box-shadow:inset 0 0 0 1px rgba(255,106,26,.3); }
    .pkg-addon input:focus-visible ~ .pkg-box{ box-shadow:0 0 0 3px rgba(255,106,26,.4); }
    .pkg-addon-nome{ flex:1; color:var(--text-dim); font-size:13.5px; line-height:1.4; }
    .pkg-addon input:checked ~ .pkg-addon-nome{ color:#fff; }
    .pkg-addon-valor{ flex:none; font-family:"Geist Mono",monospace; font-size:12.5px;
      font-weight:600; color:var(--text-mute); }
    .pkg-addon input:checked ~ .pkg-addon-valor{ color:var(--accent); }
    /* item sem preço fechado ("a partir de", "Sob consulta"): não entra no total */
    .pkg-addon-valor.is-consulta{ font-family:inherit; font-size:11.5px; font-weight:500; font-style:italic; }

    /* etapa 2 — calendário */
    .pkg-cal-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
    .pkg-cal-month{ font-size:15px; font-weight:600; text-transform:capitalize; letter-spacing:-.01em; }
    .pkg-nav{ width:32px; height:32px; display:grid; place-items:center; border-radius:10px;
      color:var(--text-dim); background:rgba(255,255,255,.05); transition:background .2s ease, color .2s ease; }
    .pkg-nav:hover:not(:disabled){ background:rgba(255,255,255,.12); color:#fff; }
    .pkg-nav:disabled{ opacity:.28; cursor:not-allowed; }
    .pkg-nav svg{ width:15px; height:15px; }
    .pkg-cal-wk, .pkg-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
    .pkg-cal-wk{ margin-bottom:6px; }
    .pkg-cal-wk span{ text-align:center; font-family:"Geist Mono",monospace; font-size:10.5px;
      letter-spacing:.08em; color:var(--text-mute); }
    .pkg-day{ aspect-ratio:1; display:grid; place-items:center; border-radius:10px;
      font-size:13.5px; color:var(--text-dim); background:transparent;
      transition:background .18s ease, color .18s ease, box-shadow .18s ease; }
    .pkg-day.is-empty{ pointer-events:none; }
    .pkg-day:hover:not(:disabled):not(.is-sel){ background:rgba(255,255,255,.09); color:#fff; }
    .pkg-day:disabled{ color:rgba(255,255,255,.14); cursor:not-allowed; }
    .pkg-day.is-hoje{ box-shadow:inset 0 0 0 1px rgba(255,255,255,.2); }
    .pkg-day.is-sel{ background:linear-gradient(180deg,#ff8a45,var(--accent)); color:#0A0A0A;
      font-weight:600; box-shadow:0 8px 20px -8px rgba(255,106,26,.7); }

    /* rodapé fixo com total + ações */
    .pkg-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px;
      flex-wrap:wrap; padding:18px 26px 22px; margin-top:14px;
      background:rgba(255,255,255,.02); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
    .pkg-total .l{ display:block; font-family:"Geist Mono",monospace; font-size:10px;
      letter-spacing:.12em; text-transform:uppercase; color:var(--text-mute); }
    .pkg-total .v{ display:flex; align-items:baseline; gap:4px; margin-top:5px;
      font-family:"Geist Mono",monospace; color:#fff; }
    .pkg-total .cur{ font-size:14px; color:var(--text-dim); }
    .pkg-total b{ font-size:26px; font-weight:600; letter-spacing:-.02em; }
    .pkg-total .un{ font-size:13px; color:var(--text-dim); }
    .pkg-total .un:empty{ display:none; }
    .pkg-actions{ display:flex; align-items:center; gap:10px; margin-left:auto; }
    .pkg-actions .lm-btn:disabled{ opacity:.4; cursor:not-allowed; }

    @media (max-width:560px){
      .pkg-modal{ padding:0; place-items:end center; }
      .pkg-dialog{ width:100%; max-height:92vh; border-radius:22px 22px 0 0; }
      .pkg-steps{ padding-top:18px; }
      .pkg-head, .pkg-pane, .pkg-foot{ padding-left:18px; padding-right:18px; }
      .pkg-actions{ width:100%; }
      .pkg-actions .lm-btn{ flex:1; justify-content:center; }
    }
    @media (prefers-reduced-motion:reduce){
      .pkg-dialog, .pkg-scrim{ transition:none; }
      .pkg-pane.is-on{ animation:none; }
    }
