:root {
    --premium-ink: #0b233d;
    --premium-blue: #145a92;
    --premium-blue-dark: #071b31;
    --premium-red: #aa1628;
    --premium-gold: #d4aa52;
    --premium-cream: #f4f0e8;
    --premium-paper: #fbfcfd;
    --premium-muted: #66788a;
}

html { scroll-behavior: smooth; }
body { color: var(--premium-ink); background: var(--premium-paper); }

/* La portada anterior queda preservada en el archivo para reutilizar su lógica,
   pero se reemplaza visualmente por la versión institucional 2026. */
#banner,
section.about#que_es,
section.about-feature,
#premios,
#review { display: none !important; }

.premium-home { overflow: hidden; font-family: "Montserrat", Arial, sans-serif; }
.premium-home h1,
.premium-home h2,
.premium-home h3,
.premium-home p { margin-top: 0; }

.premium-hero {
    position: relative;
    min-height: 790px;
    padding: 150px 0 92px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(110deg, rgba(5, 25, 45, .98) 0%, rgba(11, 54, 91, .96) 55%, rgba(21, 84, 132, .92) 100%),
        url('../img/slider1.jpg') center/cover no-repeat;
}
.premium-hero::after {
    content: ""; position: absolute; inset: auto 0 0; height: 140px;
    background: linear-gradient(to top, rgba(4, 19, 34, .32), transparent);
    pointer-events: none;
}
.premium-orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.premium-orb-one { width: 460px; height: 460px; top: -220px; right: -80px; background: rgba(201, 155, 57, .14); }
.premium-orb-two { width: 300px; height: 300px; bottom: -160px; left: 38%; background: rgba(170, 22, 40, .18); }
.premium-hero-container { position: relative; z-index: 2; }

.premium-partners { display: flex; align-items: center; gap: 24px; margin-bottom: 70px; }
.premium-partner { display: flex; align-items: center; justify-content: center; }
.premium-partner-camara { width: 350px; height: 74px; }
.premium-partner-camara img { width: 100%; height: 100%; object-fit: contain; }
.premium-partner-ips { width: 245px; height: 65px; }
.premium-partner-ips img { width: 100%; height: 100%; object-fit: contain; }
.premium-partner-separator { font-size: 24px; color: rgba(255,255,255,.55); font-weight: 300; }

.premium-eyebrow,
.premium-kicker { display: inline-flex; align-items: center; gap: 10px; color: #efd48f; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.premium-eyebrow::before,
.premium-kicker::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.premium-hero h1 { max-width: 760px; margin: 25px 0 26px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(54px, 6vw, 88px); line-height: .98; font-weight: 700; letter-spacing: -.045em; color: #fff; }
.premium-hero h1 em { display: block; color: #efd48f; font-weight: 400; }
.premium-lead { max-width: 675px; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.75; }
.premium-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.premium-button { min-height: 54px; padding: 0 25px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; font-size: 13px; font-weight: 800; letter-spacing: .03em; transition: transform .25s, box-shadow .25s, background .25s; }
.premium-button:hover { transform: translateY(-2px); text-decoration: none; }
.premium-button-primary { color: #09213a; background: #efd48f; box-shadow: 0 16px 30px rgba(0,0,0,.2); }
.premium-button-primary:hover { color: #09213a; background: #f8e5ad; }
.premium-button-ghost { color: #fff; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.premium-button-ghost:hover { color: #fff; background: rgba(255,255,255,.13); }
.premium-video-link { align-self: center; box-sizing: border-box; height: 54px; min-height: 54px; padding: 0 21px; display: inline-flex; align-items: center; gap: 11px; border: 1px solid rgba(239,212,143,.58); border-radius: 8px; color: #fff; background: rgba(239,212,143,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.025); font-size: 12px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; transition: transform .25s, background .25s, border-color .25s; }
.premium-video-link span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: var(--premium-blue-dark); background: #efd48f; transition: transform .25s; }
.premium-video-link i { margin-left: 2px; }
.premium-video-link:hover { transform: translateY(-2px); border-color: #efd48f; color: #fff; background: rgba(239,212,143,.17); text-decoration: none; }
.premium-video-link:hover span { transform: scale(1.08); }
.premium-validity { display: flex; align-items: center; gap: 8px; margin-top: 28px; color: rgba(255,255,255,.7); font-size: 13px; }
.premium-validity strong { color: #fff; }
.premium-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #70d5a8; box-shadow: 0 0 0 6px rgba(112,213,168,.12); margin-right: 4px; }

.premium-benefit-card { position: relative; max-width: 430px; margin-left: auto; padding: 42px; border: 1px solid rgba(255,255,255,.2); border-radius: 26px; background: rgba(255,255,255,.1); box-shadow: 0 32px 80px rgba(0,0,0,.25); backdrop-filter: blur(18px); }
.premium-benefit-card::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; pointer-events: none; }
.premium-card-label { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #efd48f; }
.premium-discount { display: flex; align-items: center; margin: 22px 0 12px; }
.premium-discount strong { font-family: Georgia, serif; font-size: 118px; line-height: .8; letter-spacing: -.08em; color: #fff; }
.premium-discount span { margin-left: 12px; color: #efd48f; font-size: 48px; font-weight: 800; line-height: .8; }
.premium-discount small { display: block; width: 95px; margin-top: 14px; color: #fff; font-size: 11px; line-height: 1.3; letter-spacing: .11em; }
.premium-benefit-card p { position: relative; color: rgba(255,255,255,.77); font-size: 15px; line-height: 1.7; }
.premium-card-rule { height: 1px; margin: 25px 0 20px; background: rgba(255,255,255,.14); }
.premium-card-foot { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.75); font-size: 12px; }
.premium-card-foot i { font-size: 24px; color: #efd48f; }
.premium-app-downloads { position: relative; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.premium-app-downloads > span { display: block; margin-bottom: 12px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; letter-spacing: .025em; }
.premium-app-downloads > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.premium-app-downloads a { position: relative; display: grid; min-height: 48px; padding: 8px 8px 7px 42px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; color: #fff; background: rgba(4,20,36,.38); transition: transform .2s, border-color .2s, background .2s; }
.premium-app-downloads a:hover { transform: translateY(-2px); border-color: rgba(239,212,143,.7); color: #fff; background: rgba(4,20,36,.56); text-decoration: none; }
.premium-app-downloads a i { position: absolute; left: 13px; top: 13px; color: #efd48f; font-size: 23px; }
.premium-app-downloads a small { display: block; color: rgba(255,255,255,.62); font-size: 8px; line-height: 1; }
.premium-app-downloads a strong { display: block; margin-top: 2px; font-size: 11px; line-height: 1.1; }

.premium-impact { padding: 118px 0 100px; background: var(--premium-paper); }
.premium-section-heading { max-width: 840px; margin: 0 auto 66px; text-align: center; }
.premium-section-heading > span { color: var(--premium-red); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.premium-section-heading h2,
.premium-steps h2,
.premium-prizes h2,
.premium-home h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -.035em; }
.premium-section-heading h2 { margin: 20px 0 25px; font-size: clamp(40px, 5vw, 62px); line-height: 1.06; }
.premium-section-heading p { max-width: 710px; margin: auto; color: var(--premium-muted); font-size: 16px; line-height: 1.8; }
.premium-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #dde5ec; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 24px 60px rgba(18, 48, 76, .08); }
.premium-stats article { padding: 35px 22px; text-align: center; border-right: 1px solid #e4eaf0; }
.premium-stats article:last-child { border-right: 0; }
.premium-stats strong { display: block; color: var(--premium-blue); font-family: Georgia, serif; font-size: 38px; line-height: 1; }
.premium-stats span { display: block; margin-top: 12px; color: var(--premium-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }

.premium-steps { padding: 110px 0; background: var(--premium-cream); }
.premium-kicker { color: var(--premium-red); }
.premium-heading-row { margin-bottom: 55px; }
.premium-steps h2, .premium-prizes h2 { margin: 18px 0 0; font-size: clamp(44px, 5vw, 64px); line-height: 1.02; }
.premium-heading-row p { color: #627181; line-height: 1.75; margin-bottom: 8px; }
.premium-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.premium-step-grid article { position: relative; min-height: 325px; padding: 40px 35px; overflow: hidden; border-radius: 20px; background: #fff; box-shadow: 0 22px 50px rgba(31,45,58,.08); transition: transform .3s, box-shadow .3s; }
.premium-step-grid article:hover { transform: translateY(-7px); box-shadow: 0 30px 65px rgba(31,45,58,.13); }
.premium-step-grid article > span { position: absolute; right: 25px; top: 18px; color: #e7ecf0; font-family: Georgia, serif; font-size: 70px; font-weight: 700; }
.premium-step-grid i { position: relative; display: inline-grid; place-items: center; width: 66px; height: 66px; border-radius: 17px; color: #fff; background: var(--premium-blue); font-size: 34px; box-shadow: 0 13px 25px rgba(20,90,146,.24); }
.premium-step-grid h3 { margin: 48px 0 15px; color: var(--premium-ink); font-size: 20px; font-weight: 800; }
.premium-step-grid p { color: var(--premium-muted); line-height: 1.7; font-size: 14px; }

.premium-prizes { padding: 115px 0; color: #fff; background: var(--premium-blue-dark); }
.premium-prizes .premium-kicker { color: #efd48f; }
.premium-prizes h2 { color: #fff; }
.premium-prize-copy > p { margin: 28px 0; color: #aebdcb; font-size: 15px; line-height: 1.8; }
.premium-prize-date { display: flex; align-items: center; gap: 13px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.12); color: #d4dce3; font-size: 13px; }
.premium-prize-date i { color: #efd48f; font-size: 26px; }
.premium-prize-date strong { color: #fff; }
.premium-prizes-image { display: block; width: 100%; height: auto; margin-left: 35px; filter: drop-shadow(0 30px 35px rgba(0,0,0,.25)); }


/* Integración premium con los módulos dinámicos existentes. */
#comercios { background: #ffffff !important; }
#comercios .portfolioHeading { margin-bottom: 24px; }
#comercios .portfolioHeading .text-sec { color: var(--premium-red) !important; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
#comercios .high-lighted-heading { color: var(--premium-ink) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 5vw, 58px); letter-spacing: -.035em; }
.premium-commerce-intro { max-width: 650px; margin: 18px auto 0; color: var(--premium-muted); font-size: 15px; line-height: 1.7; }
#participa { padding: 112px 0 120px !important; background: #f7f9fb !important; }
.premium-ticket-heading { margin-bottom: 34px; }
.premium-ticket-eyebrow { display: block; color: #a9132b !important; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
#participa .contact-heading { max-width: 880px; margin: 14px auto 18px; color: var(--premium-ink) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 58px); line-height: 1.08; letter-spacing: -.035em; }
.premium-ticket-heading p { max-width: 680px; margin: 0 auto; color: var(--premium-muted); font-size: 15px; line-height: 1.7; }
.premium-ticket-assurance { position: relative; z-index: 2; display: flex; justify-content: center; gap: 12px; max-width: 760px; margin: 0 auto 30px; }
.premium-ticket-assurance span { display: flex; align-items: center; gap: 7px; padding: 9px 14px; border: 1px solid #d8e3eb; border-radius: 999px; color: #466176; background: #fff; font-size: 11px; font-weight: 700; }
.premium-ticket-assurance i { color: var(--premium-blue); font-size: 18px; }
#participa .premium-ticket-form { position: relative; max-width: 1120px; margin: 0 auto; padding: 58px 58px 48px; overflow: hidden; border: 1px solid #d5e0e8; border-radius: 20px; background: #fff; box-shadow: 0 26px 65px rgba(16,46,72,.11); }
#participa .premium-ticket-form::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--premium-red) 0 16%, var(--premium-blue) 16% 100%); }
#participa .premium-ticket-form::after { content: "CARGÁ LOS DATOS DEL COMPROBANTE"; position: absolute; top: 24px; left: 58px; color: #7890a4; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.premium-ticket-section-label { display: flex; align-items: center; gap: 10px; margin: 5px 0 18px; color: var(--premium-ink); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.premium-ticket-section-label span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--premium-blue); font-size: 10px; }
.premium-ticket-section-label::after { content: ""; flex: 1; height: 1px; margin-left: 5px; background: #e1e8ee; }
.premium-ticket-section-label-second { margin-top: 20px; }
#participa .premium-ticket-form .form-group { margin-bottom: 0px; }
#participa .premium-ticket-form .form-control { height: 55px; padding: 12px 17px; border: 1px solid #d3dee7; border-radius: 8px; color: var(--premium-ink); background: #f8fafc; font-size: 13px; transition: border-color .2s, box-shadow .2s, background .2s; }
#participa .premium-ticket-form .form-control:focus { border-color: var(--premium-blue); background: #fff; box-shadow: 0 0 0 4px rgba(20,90,146,.09); }
#participa .premium-ticket-form .select2-container .select2-selection--single { height: 55px; border-color: #d3dee7; border-radius: 8px; background: #f8fafc; }
#participa .premium-ticket-form .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px; color: var(--premium-ink); }
#participa .premium-ticket-form .select2-container--default .select2-selection--single .select2-selection__arrow { height: 54px; }
#participa .premium-ticket-form input[type="file"] { height: auto; min-height: 54px; }
.premium-dni-status { display: block; min-height: 16px; margin-top: 5px; color: #71869a; font-size: 10px; line-height: 1.4; }
.premium-dni-status.is-found { color: #16805c; }
.premium-dni-status.is-new { color: var(--premium-blue); }
.premium-dni-status.is-error { color: var(--premium-red); }
#participa .premium-ticket-form input[type="checkbox"] { accent-color: var(--premium-blue); }
#participa .premium-ticket-form #btn_registrar { border: 0 !important; border-radius: 8px !important; color: #fff !important; background: var(--premium-blue) !important; box-shadow: 0 12px 24px rgba(20,90,146,.22); }
#participa .premium-ticket-form #btn_consultar_comp { border: 1px solid #c9d7e1 !important; border-radius: 8px !important; color: var(--premium-ink) !important; background: #eef3f7 !important; }
#participa .premium-ticket-form #btn_registrar:hover, #participa .premium-ticket-form #btn_consultar_comp:hover { color: #fff !important; background: var(--premium-blue-dark) !important; }
.footer-sec { background: var(--premium-blue-dark) !important; }
.navbar-top-default { transition: background .25s, box-shadow .25s; }

@media (max-width: 991px) {
    .premium-hero { padding-top: 125px; }
    .premium-partners { margin-bottom: 45px; }
    .premium-benefit-card { margin: 55px 0 0; max-width: 100%; }
    .premium-stats { grid-template-columns: repeat(2, 1fr); }
    .premium-stats article:nth-child(2) { border-right: 0; }
    .premium-stats article:nth-child(-n+2) { border-bottom: 1px solid #e4eaf0; }
    .premium-step-grid { grid-template-columns: 1fr; }
    .premium-prizes-image { margin: 50px 0 0; }
    .premium-ticket-assurance { max-width: 90%; gap: 18px; }
    #participa .premium-ticket-form { padding: 68px 35px 45px; }
    #participa .premium-ticket-form::after { left: 35px; }
}

@media (max-width: 600px) {
    .premium-hero { min-height: auto; padding: 110px 0 70px; }
    .premium-partners { gap: 8px; margin-bottom: 42px; }
    .premium-partner-camara { width: 190px; height: 52px; }
    .premium-partner-ips { width: 120px; height: 45px; }
    .premium-partner-separator { font-size: 16px; }
    .premium-hero h1 { font-size: 50px; }
    .premium-lead { font-size: 16px; }
    .premium-button { width: 100%; }
    .premium-validity { align-items: flex-start; line-height: 1.5; }
    .premium-benefit-card { padding: 32px 27px; }
    .premium-app-downloads > div { grid-template-columns: 1fr; }
    .premium-discount strong { font-size: 94px; }
    .premium-impact, .premium-steps, .premium-prizes { padding: 78px 0; }
    .premium-video-link { width: 100%; justify-content: center; margin: 5px 0 0; }
    .premium-stats { grid-template-columns: 1fr; }
    .premium-stats article { border-right: 0; border-bottom: 1px solid #e4eaf0; }
    .premium-stats article:last-child { border-bottom: 0; }
    #participa { padding: 80px 0 !important; }
    .premium-ticket-assurance { flex-direction: column; align-items: flex-start; gap: 9px; max-width: calc(100% - 32px); margin-bottom: 24px; }
    .premium-ticket-assurance span { width: 100%; justify-content: center; }
    #participa .premium-ticket-form { padding: 68px 16px 30px; border-radius: 17px; }
    #participa .premium-ticket-form::after { left: 16px; }
}
