/* Presentación de páginas públicas pendientes. No define lógica de pago. */
body.public-page { --brand:#1259bd; --brand-dark:#102d50; --text:#102d50; --muted:#526377; background:#fff; }
body.public-page .public-tools { display:flex; flex-wrap:wrap; gap:12px 24px; padding-block:18px; font-size:12px; border-bottom:1px solid #dce4ed; }
body.public-page .public-tools a { color:#1259bd; text-underline-offset:4px; font-weight:650; }
body.public-page .hero { background:#f5f7fa; padding:48px 0 56px; border-bottom:1px solid #dce4ed; }
body.public-page .hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; gap:64px; }
body.public-page .hero-grid > div { min-width:0; }
body.public-page .eyebrow { color:#1259bd; background:none; border:0; padding:0; font-size:10px; letter-spacing:.15em; font-weight:750; }
body.public-page h1 { font-size:clamp(2.05rem,3.6vw,3.25rem); line-height:1.14; margin:14px 0 22px; }
body.public-page .lead { color:#526377; font-size:15px; line-height:1.8; }
body.public-page .btn { min-height:48px; border-radius:5px; padding:13px 20px; font-size:13px; font-weight:700; box-shadow:none; transform:none; white-space:normal; text-align:center; }
body.public-page .btn-primary { background:#1259bd; color:white; }
body.public-page .btn-primary:hover { background:#0c4699; }
body.public-page .btn-light, body.public-page .btn-secondary { color:#102d50; background:#edf3fa; border:1px solid #aabbd0; }
body.public-page .openpay-badge { display:inline-flex; flex-wrap:wrap; gap:12px; align-items:center; padding:12px 16px; border:1px solid #d6e1ed; border-radius:5px; background:#fff; font-size:12px; }
body.public-page .openpay-badge img { width:102px; height:auto; max-height:40px; object-fit:contain; }
body.public-page .payment-form-card { padding:30px; border:1px solid #d6e1ed; border-radius:6px; box-shadow:0 8px 24px #102d5008; background:#fff; gap:8px; }
body.public-page .payment-form-card h2 { font-size:22px; line-height:1.3; }
body.public-page .payment-price { color:#1259bd; font-size:30px; font-weight:750; line-height:1.3; }
body.public-page .public-note { color:#526377; font-size:12px; line-height:1.75; margin:8px 0 22px; }
body.public-page #payment-form { gap:0; }
body.public-page #payment-form label { color:#344e6a; font-size:12px; font-weight:650; margin:14px 0 6px; }
body.public-page #payment-form input { width:100%; min-width:0; min-height:48px; margin:0; padding:11px 12px; border:1px solid #b9c9dc; border-radius:5px; background:#fff; color:#102d50; font-size:16px; }
body.public-page #payment-form input:focus { outline:2px solid #1259bd; outline-offset:2px; box-shadow:none; }
body.public-page #payment-form .error { font-size:12px; color:#ad2020; margin:5px 0 0; }
body.public-page #payment-form .error:empty { margin:0; }
body.public-page #payment-form .btn { margin-top:24px; width:100%; }
body.public-page .public-license-info { border-radius:6px !important; font-size:13px; line-height:1.8; }
body.public-page .public-license-details { margin-top:24px; border-top:1px solid #ccd7e4; border-bottom:1px solid #ccd7e4; }
body.public-page .public-license-details summary { padding:18px 0; color:#1259bd; font-size:14px; font-weight:650; cursor:pointer; }
body.public-page .payment-form-card > .payment-price { text-align:left; }
body.public-page .payment-links { width:min(1140px,calc(100% - 40px)); margin:40px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.public-page .payment-card { padding:22px; border:1px solid #d6e1ed; border-radius:6px; background:#fff; box-shadow:none; transform:none; text-decoration:none; color:#102d50; }
body.public-page .payment-card:hover { border-color:#1259bd; box-shadow:0 6px 18px #102d500d; transform:none; }
body.public-page .payment-card h2 { font-size:20px; margin:0 0 16px; }
body.public-page .payment-card img { display:block; width:100%; height:auto; max-height:210px; object-fit:contain; margin:0 auto 18px; }
body.public-page .payment-card .payment-price { font-size:25px; }
body.public-page .payment-card .public-note { display:block; margin:8px 0 0; }
body.public-page .image-card { background:transparent; border:0; border-radius:0; box-shadow:none; }
body.public-page .image-card img { max-height:240px; width:100%; object-fit:contain; }
body.public-page .status-box, body.public-page .monitor-live-box { padding:28px; border:1px solid #d6e1ed; border-radius:6px; background:#fff; box-shadow:none; }
body.public-page .status-box h2 { line-height:1.5; font-size:20px; }
body.public-page .monitor-live-frame-wrap { border-radius:5px; border:1px solid #d6e1ed; }
body.public-page .monitor-live-frame { width:100%; max-width:100%; }
body.public-page .review-download { border:1px solid #cfdef0; color:#1259bd; }
body.public-page .public-policy-hero { padding:38px 20px 80px; background:#f5f7fa; color:#102d50; }
body.public-page .public-policy-hero::after { display:none; }
body.public-page .public-policy-hero .subtitle { color:#526377; font-size:15px; }
body.public-page .public-policy-hero .brand { color:#1259bd; font-size:11px; letter-spacing:.12em; margin-bottom:12px; }
body.public-page .public-policy-hero .brand-mark { display:none; }
body.public-page .updated { color:#526377; border-color:#d6e1ed; background:#fff; border-radius:5px; font-size:12px; }
body.public-page .public-policy-hero .hero-inner { width:min(1140px,100%); margin:auto; }
body.public-page .public-policy-hero h1 { max-width:800px; }
body.public-page .public-policy-hero .subtitle { max-width:740px; line-height:1.8; }
body.public-page .updated { display:inline-block; margin-top:16px; padding:7px 13px; border:1px solid #d6e1ed; }
body.public-page .layout { display:grid; grid-template-columns:250px minmax(0,1fr); width:min(1180px,100%); gap:24px; align-items:start; margin:-36px auto 0; padding:0 20px 60px; position:relative; }
body.public-page .toc { position:sticky; padding:22px; background:#fff; border:1px solid #d6e1ed; }
body.public-page .toc strong { display:block; margin-bottom:12px; }
body.public-page .toc a { display:block; padding:7px 0; font-size:12px; text-decoration:none; color:#526377; }
body.public-page .layout main, body.public-page .toc { border-color:#d6e1ed; border-radius:6px; box-shadow:none; }
body.public-page .layout main { padding:clamp(22px,4vw,44px); min-width:0; border:1px solid #d6e1ed; background:#fff; font-size:14px; line-height:1.8; }
body.public-page .layout h2 { font-size:25px; line-height:1.3; }
body.public-page .layout h3 { font-size:18px; }
body.public-page .layout section + section { margin-top:38px; }
body.public-page .layout .cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
body.public-page .layout .card strong { display:block; margin-bottom:6px; }
body.public-page .layout .notice { padding:20px; margin:0 0 36px; border-left:4px solid #1259bd; }
body.public-page .layout .contact { padding:24px; color:#fff; }
body.public-page .layout .contact a { color:#fff; }
body.public-page .toc { top:104px; }
body.public-page .layout h2, body.public-page .layout h3 { color:#102d50; }
body.public-page .layout section { padding:0; scroll-margin-top:110px; }
body.public-page .layout .card { border-radius:5px; border-color:#d6e1ed; background:#f5f7fa; padding:18px; }
body.public-page .layout .notice { border-left-color:#1259bd; background:#edf3fa; border-radius:5px; }
body.public-page .layout .contact { border-radius:5px; background:#102d50; }
body.public-page .layout a { overflow-wrap:anywhere; }
body.public-page .public-response { padding:56px 20px 68px; background:#f5f7fa; }
body.public-page .public-response .card { width:min(760px,100%); margin:auto; border:1px solid #d6e1ed; border-radius:6px; padding:clamp(24px,4vw,44px); background:#fff; box-shadow:none; }
body.public-page .public-response .logo { width:min(220px,100%); height:auto; margin-bottom:16px; }
body.public-page .public-response h1 { font-size:clamp(2rem,4vw,2.8rem); }
body.public-page .public-response p { color:#526377; font-size:15px; }
body.public-page .public-response .actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:26px; }
body.public-page .public-response { text-align:center; }
@media(max-width:1119px) { body.public-page .nav .menu { max-height:calc(100vh - 144px); max-height:calc(100dvh - 144px); overflow-y:auto; overscroll-behavior:contain; } }
@media(max-width:899px) { body.public-page .hero-grid { grid-template-columns:1fr; gap:30px; } body.public-page .payment-form-card { max-width:620px; width:100%; } body.public-page .payment-links { grid-template-columns:1fr; max-width:620px; } body.public-page .payment-card img { max-height:180px; } body.public-page .image-card { display:none; } }
@media(max-width:600px) { body.public-page .hero { padding:30px 0 38px; } body.public-page .hero h1 { font-size:2.05rem; } body.public-page .payment-form-card { padding:22px 18px; } body.public-page .public-tools { font-size:11px; gap:12px 18px; } body.public-page .payment-links { width:calc(100% - 32px); margin-top:28px; gap:16px; } body.public-page .payment-card { padding:22px; } body.public-page .payment-price { font-size:27px; } body.public-page .status-box, body.public-page .monitor-live-box { padding:20px; } body.public-page .public-response { padding:32px 16px 42px; } body.public-page .public-response .btn { width:100%; } }
@media(prefers-reduced-motion:reduce) { body.public-page * { scroll-behavior:auto; transition:none; } }
@media(max-width:820px) { body.public-page .layout { grid-template-columns:1fr; } body.public-page .toc { position:static; } }
@media(max-width:560px) { body.public-page .layout { padding-inline:16px; } body.public-page .layout .cards { grid-template-columns:1fr; } }
@media print { body.public-page [data-site-header], body.public-page [data-site-footer], body.public-page .public-tools, body.public-page .toc { display:none; } body.public-page .layout { display:block; margin:0; padding:0; } body.public-page .layout main { border:0; } }
