:root{--brand:#075bd8;--navy:#032969;--bg:#f5f8fd;--card:#fff;--text:#14213d;--muted:#68758b;--line:#dbe4f0;--ok:#078b55;--warn:#cb7b00;--danger:#c92a2a;--shadow:0 12px 35px rgba(12,54,111,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f9fbff 0,#f3f7fc 100%);color:var(--text);min-height:100vh}.app-shell{max-width:980px;margin:0 auto;padding:28px 20px 60px}.brand-header{text-align:center;margin-bottom:22px}.brand-logo{width:min(430px,88vw);height:auto;display:block;margin:auto}.step{display:none}.step.active{display:block;animation:fade .22s ease}@keyframes fade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.heading-block{text-align:center;margin-bottom:24px}.eyebrow{display:inline-block;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.13em;margin-bottom:8px}.heading-block h1,.payment-step h1,.order-heading h1{font-size:clamp(28px,4vw,40px);line-height:1.08;margin:0;color:#0b2348}.heading-block p,.payment-step>p,.order-heading p{color:var(--muted);font-size:15px;margin:9px 0 0}.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;min-height:220px;transition:.2s}.product-card:hover{transform:translateY(-2px);border-color:#bad1ef}.product-card h2{font-size:20px;margin:10px 0 5px}.product-card p{color:var(--muted);margin:0 0 16px}.product-card strong{font-size:29px;color:var(--navy);display:block}.tag{background:#e9f4ff;color:var(--brand);font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;display:inline-block}.product-card button,.primary-btn{border:0;background:linear-gradient(135deg,var(--brand),#087fe9);color:#fff;border-radius:12px;padding:14px 18px;font-size:15px;font-weight:800;cursor:pointer;margin-top:18px;box-shadow:0 8px 20px rgba(7,91,216,.18)}.product-card button:hover,.primary-btn:hover{filter:brightness(.97)}.primary-btn{width:100%;min-height:54px}.small-note{text-align:center;color:var(--muted);font-size:13px;margin:22px auto;max-width:690px}.back-link{background:none;border:0;color:var(--brand);font-size:14px;font-weight:700;padding:5px 0 14px;cursor:pointer}.centered{display:block;margin:14px auto 0}.order-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:6px}.order-heading strong{font-size:28px;color:var(--navy);white-space:nowrap}.required-note{color:var(--muted);font-size:13px}.form-section{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;margin:16px 0;box-shadow:0 7px 22px rgba(12,54,111,.05)}.form-section h3{margin:0 0 16px;font-size:18px;color:#0b326a;border-bottom:1px solid #edf2f7;padding-bottom:12px}.section-help{color:var(--muted);font-size:13px;margin:-7px 0 16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#34445e}.form-grid label.wide{grid-column:1/-1}.form-grid small{font-weight:500;color:var(--muted)}input,textarea{width:100%;border:1px solid #ccd8e7;background:#fff;border-radius:11px;padding:13px 14px;font:inherit;font-size:15px;color:var(--text);outline:0;transition:.15s}input:focus,textarea:focus{border-color:#55a1eb;box-shadow:0 0 0 3px rgba(7,91,216,.09)}input.invalid,textarea.invalid{border-color:#e35151;background:#fffafa}.field-help{font-weight:500;font-size:12px;color:var(--muted);min-height:14px}.field-help.ok{color:var(--ok)}.field-help.error{color:var(--danger)}.check-line{background:#eff6ff;border:1px solid #cfe1f7;border-radius:13px;padding:13px 15px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;margin:16px 0}.check-line input{width:19px;height:19px;accent-color:var(--brand)}.privacy-box{background:#f0f6ff;border-left:4px solid var(--brand);padding:13px 15px;border-radius:8px;color:#52627a;font-size:13px;margin:16px 0}.review-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);margin:18px 0}.review-row{padding:12px 0;border-bottom:1px solid #eef2f7;display:grid;grid-template-columns:160px 1fr;gap:15px}.review-row:last-child{border-bottom:0}.review-row span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.review-row strong{font-size:15px;overflow-wrap:anywhere}.payment-step{text-align:center;max-width:680px;margin:0 auto}.payment-price{display:block;font-size:36px;color:var(--navy);margin:12px 0 16px}.qr-wrap{width:285px;height:285px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:20px;border:1px solid var(--line);padding:12px;margin:0 auto 18px;box-shadow:var(--shadow)}.qr-wrap img{max-width:100%;max-height:100%}.pix-label{font-weight:800;font-size:14px;display:block;text-align:left;margin-bottom:7px}.pix-copy-box{display:flex;gap:9px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px}.pix-copy-box>div{flex:1;word-break:break-all;text-align:left;padding:8px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;max-height:105px;overflow:auto}.pix-copy-box button{border:0;border-radius:9px;background:#e9f3ff;color:var(--brand);font-weight:800;padding:0 16px;cursor:pointer}.payment-status{display:flex;justify-content:center;align-items:center;gap:9px;padding:15px;border-radius:12px;margin:18px 0 8px;font-weight:800}.payment-status.pending{background:#fff6e6;color:var(--warn)}.payment-status.paid{background:#e9fbf2;color:var(--ok)}.payment-status.error{background:#fff0f0;color:var(--danger)}.status-dot{width:9px;height:9px;border-radius:50%;background:currentColor}.transaction{color:var(--muted)!important;font-size:12px!important;word-break:break-all}.secondary-btn{width:100%;min-height:52px;border:1px solid var(--brand);background:#fff;color:var(--brand);font-weight:800;border-radius:12px;margin-top:12px;cursor:pointer}.success-icon{width:76px;height:76px;margin:10px auto 16px;border-radius:50%;background:#e7fbf1;color:var(--ok);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,25px);background:#14213d;color:#fff;border-radius:10px;padding:12px 18px;opacity:0;pointer-events:none;transition:.22s;z-index:50;box-shadow:0 8px 25px rgba(0,0,0,.2)}.toast.show{opacity:1;transform:translate(-50%,0)}.loading-overlay{position:fixed;inset:0;background:rgba(245,248,253,.82);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:60}.spinner{width:42px;height:42px;border:4px solid #dce8f8;border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{font-weight:800;color:var(--navy)}.hidden{display:none!important}
@media(max-width:700px){.app-shell{padding:18px 14px 45px}.brand-header{margin-bottom:12px}.brand-logo{width:min(340px,92vw)}.products-grid,.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.product-card{min-height:0}.order-heading{align-items:flex-start;flex-direction:column;gap:6px}.order-heading strong{font-size:25px}.review-row{grid-template-columns:1fr;gap:4px}.qr-wrap{width:min(285px,84vw);height:min(285px,84vw)}.pix-copy-box{flex-direction:column}.pix-copy-box button{min-height:44px}.heading-block h1,.payment-step h1,.order-heading h1{font-size:29px}}
select{width:100%;border:1px solid #ccd8e7;background:#fff;border-radius:11px;padding:13px 14px;font:inherit;font-size:15px;color:var(--text);outline:0;transition:.15s}select:focus{border-color:#55a1eb;box-shadow:0 0 0 3px rgba(7,91,216,.09)}select:disabled{background:#f3f6fa;color:#8c99aa;cursor:not-allowed}.schedule-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:18px 0;box-shadow:var(--shadow);text-align:left}.schedule-heading h2{margin:0;color:#0b326a}.schedule-heading p{color:var(--muted);margin:6px 0 16px}.calendar-box{border:1px solid #e1e8f2;border-radius:16px;padding:14px;background:#fbfdff}.calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:12px}.calendar-head strong{text-align:center;color:#0b326a}.calendar-head button{width:40px;height:40px;border:1px solid #d7e2ef;border-radius:10px;background:#fff;color:var(--brand);font-size:26px;cursor:pointer}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-week span{text-align:center;font-size:11px;font-weight:800;color:#8290a4;padding:4px 0}.calendar-day{aspect-ratio:1/1;min-height:42px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;color:#16345f;font-weight:800;cursor:pointer}.calendar-day:hover:not(:disabled){border-color:#78aee8;background:#f2f8ff}.calendar-day.disabled,.calendar-day:disabled{background:#f3f5f8;color:#b2bbc8;border-color:#eef1f5;cursor:not-allowed}.calendar-day.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.calendar-day.blank{border:0;background:transparent}.schedule-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin-top:16px}.schedule-choice>div{border:1px solid #dbe4f0;border-radius:12px;padding:12px 14px;background:#f8fbff;min-height:72px}.schedule-choice>div span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.schedule-choice>div strong{display:block;color:#0b326a}.schedule-choice label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#34445e}.schedule-success{text-align:center;padding:8px}.schedule-success strong{font-size:20px;color:var(--ok)}.schedule-success p{font-size:18px;color:#0b326a;font-weight:800}.schedule-success small{color:var(--muted)}.primary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.secondary-btn.hidden{display:none!important}
@media(max-width:700px){.schedule-choice{grid-template-columns:1fr}.calendar-day{min-height:38px;font-size:13px}.calendar-box{padding:10px}.calendar-week,.calendar-grid{gap:4px}}
