/* Mejora de lectura y contraste - APP SORTEOS */
:root{
    --legible-dark:#07111f;
    --legible-text:#101828;
    --legible-muted:#344054;
    --legible-light:#ffffff;
    --legible-gold:#ffd447;
    --legible-orange:#ff9f1c;
    --legible-blue:#0b69ff;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-size:16px;line-height:1.55;color:var(--legible-text)!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
/* Fondos oscuros: texto blanco real, no gris apagado */
.topbar,.hero,.count-section,.footer,.top,.resumen,.hero *,.count-section *,.footer *{text-rendering:optimizeLegibility;}
.brand,.brand span,.top strong,.top a{color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.45);}
.hero h1,.hero h1 span,.count-title h2,.footer h3,.footer h4,.hero p,.eyebrow,.mini strong,.mini small,.safe,.count-title small,.count-title p{
    opacity:1!important;
}
.hero h1{color:#fff!important;text-shadow:0 5px 24px rgba(0,0,0,.55);font-weight:1000!important;}
.hero h1 span{color:var(--legible-gold)!important;text-shadow:0 4px 22px rgba(0,0,0,.55),0 0 20px rgba(255,212,71,.20)!important;}
.hero p{color:#f1f6ff!important;font-size:20px!important;font-weight:700;text-shadow:0 3px 15px rgba(0,0,0,.45);}
.eyebrow{background:rgba(255,255,255,.15)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;font-weight:900!important;box-shadow:0 10px 28px rgba(0,0,0,.18);}
.mini{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.25)!important;box-shadow:0 14px 35px rgba(0,0,0,.14);}
.mini strong{color:#fff!important;font-size:28px!important;}
.mini small{color:#eef5ff!important;font-size:14px!important;font-weight:900!important;}
.safe{background:rgba(30,199,115,.22)!important;border-color:rgba(30,199,115,.45)!important;color:#f2fff8!important;font-weight:900!important;}
.count-card{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.25)!important;box-shadow:0 20px 55px rgba(0,0,0,.22);}
.count-title small,.count-title p{color:#f3f7ff!important;font-weight:800!important;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.count-title h2{color:#fff!important;text-shadow:0 4px 18px rgba(0,0,0,.45);}
.timebox{background:#ffffff!important;color:#07111f!important;border:2px solid rgba(255,212,71,.45);box-shadow:0 12px 28px rgba(0,0,0,.20);}
.timebox strong{color:#07111f!important;font-size:34px!important;}
.timebox span{color:#26364d!important;font-size:13px!important;}
/* Tarjetas claras: texto oscuro, títulos más marcados */
.section-title small{color:#005ce6!important;font-size:13px!important;font-weight:1000!important;}
.section-title h2,.panel h3,.premio h3,.formcard h1,.cardx h1,.cardx h3,.resumen-body h2{color:#101828!important;font-weight:1000!important;}
.section-title p,.premio p,.tagline small,.text-muted,.panel p,.help,.list-item,.form-label,label{color:#344054!important;opacity:1!important;}
.consulta-card,.panel,.premio,.formcard,.resumen,.cardx{border:1px solid #d8e2f0!important;box-shadow:0 22px 55px rgba(16,24,40,.11)!important;}
.form-control,.form-select,input,select,textarea{color:#101828!important;background:#fff!important;border:2px solid #cbd5e1!important;font-size:16px!important;font-weight:700!important;}
.form-control::placeholder,input::placeholder,textarea::placeholder{color:#667085!important;opacity:1!important;font-weight:600!important;}
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{border-color:#0b69ff!important;box-shadow:0 0 0 .25rem rgba(11,105,255,.18)!important;}
.btn-gold,.btn-main{background:linear-gradient(135deg,var(--legible-gold),var(--legible-orange))!important;color:#07111f!important;font-weight:1000!important;border:0!important;box-shadow:0 14px 34px rgba(255,159,28,.28)!important;letter-spacing:.2px;}
.btn-soft{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.36)!important;font-weight:1000!important;}
.badge-price,.floating{color:#07111f!important;background:var(--legible-gold)!important;font-weight:1000!important;}
.tagline b{color:#101828!important;}
.badge-ok{color:#046c35!important;background:#dcffed!important;}
.estado.aprobado,.aprobado{color:#046c35!important;background:#dcffed!important;}
.estado.pendiente,.pendiente{color:#9a4d00!important;background:#fff0cc!important;}
.footer p,.footer a,.paychip{color:#eef5ff!important;opacity:1!important;}
.footer{border-top:1px solid rgba(255,255,255,.12);}
.paychip{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.24)!important;}
/* Mejor lectura en celulares */
@media(max-width:560px){
    body{font-size:17px;}
    .hero{padding-top:30px!important;}
    .hero h1{font-size:42px!important;line-height:1.03!important;letter-spacing:-1px!important;}
    .hero p{font-size:18px!important;line-height:1.55!important;}
    .brand{font-size:18px!important;}
    .mini strong{font-size:30px!important;}
    .section-title h2{font-size:30px!important;}
    .btn-gold,.btn-soft,.btn-main{font-size:16px!important;padding:14px 18px!important;}
    .consulta-card,.panel,.formcard,.cardx,.resumen-body{padding:20px!important;}
    .timebox strong{font-size:30px!important;}
    .timebox span{font-size:12px!important;}
}

/* =========================================================
   OPCIÓN B - HOME MEJORADO: contraste real y secciones claras
   Fecha: actualización de lectura para landing pública
   ========================================================= */
.home-page{
    background:#f4f7fb!important;
    color:#101828!important;
}
.home-page .page-bg{
    background:
        radial-gradient(circle at 8% 10%, rgba(255,201,56,.18), transparent 34%),
        radial-gradient(circle at 92% 15%, rgba(30,199,115,.13), transparent 30%),
        linear-gradient(135deg,#07111f 0%,#0a1930 52%,#062430 100%)!important;
    color:#ffffff!important;
    padding-bottom:42px!important;
}
.home-page .topbar{
    background:rgba(7,17,31,.94)!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
}
.home-page .brand,
.home-page .brand span{
    color:#ffffff!important;
}
.home-page .btn-soft{
    background:rgba(255,255,255,.16)!important;
    color:#ffffff!important;
    border:1px solid rgba(255,255,255,.42)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
}
.home-page .btn-soft:hover{
    background:rgba(255,255,255,.25)!important;
    color:#ffffff!important;
}
.home-page .hero{
    color:#ffffff!important;
}
.home-page .hero h1{
    color:#ffffff!important;
    text-shadow:0 6px 28px rgba(0,0,0,.52)!important;
}
.home-page .hero h1 span{
    color:#ffd447!important;
    text-shadow:0 8px 28px rgba(0,0,0,.52),0 0 22px rgba(255,212,71,.22)!important;
}
.home-page .hero p{
    color:#eaf2ff!important;
    font-weight:700!important;
}
.home-page .hero-cta .btn-soft{
    background:#ffffff!important;
    color:#07111f!important;
    border:0!important;
    font-weight:1000!important;
}
.home-page .safe{
    background:#e7fff2!important;
    color:#075d34!important;
    border:1px solid #91e6bc!important;
    text-shadow:none!important;
}
.home-page .count-section{
    color:#ffffff!important;
    padding-bottom:8px!important;
}
.home-page .count-card{
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.28)!important;
    box-shadow:0 28px 70px rgba(0,0,0,.28)!important;
}
.home-page .count-title small{
    color:#ffd447!important;
    opacity:1!important;
    letter-spacing:.03em;
}
.home-page .count-title h2{
    color:#ffffff!important;
    opacity:1!important;
    text-shadow:0 4px 18px rgba(0,0,0,.42)!important;
}
.home-page .count-title p,
.home-page .count-title .text-white-50{
    color:#eaf2ff!important;
    opacity:1!important;
    font-weight:700!important;
}
.home-page .timebox{
    background:#ffffff!important;
    color:#07111f!important;
    border:2px solid rgba(255,212,71,.65)!important;
    box-shadow:0 16px 36px rgba(0,0,0,.20)!important;
}
.home-page .timebox strong{
    color:#050b14!important;
    opacity:1!important;
}
.home-page .timebox span{
    color:#334155!important;
    opacity:1!important;
}
.home-page > .section{
    background:#f4f7fb!important;
    color:#101828!important;
}
.home-page #consulta{
    margin-top:0!important;
    padding-top:64px!important;
}
.home-page #catalogo{
    background:#ffffff!important;
    border-radius:34px!important;
    margin-top:16px!important;
    margin-bottom:16px!important;
    box-shadow:0 18px 50px rgba(16,24,40,.04)!important;
}
.home-page .section-title small{
    color:#005ce6!important;
    opacity:1!important;
    font-weight:1000!important;
}
.home-page .section-title h2{
    color:#0f172a!important;
    opacity:1!important;
    text-shadow:none!important;
}
.home-page .section-title p{
    color:#475569!important;
    opacity:1!important;
    font-weight:600!important;
}
.home-page .consulta-card{
    background:#ffffff!important;
    border:1px solid #d6e0ee!important;
    box-shadow:0 24px 60px rgba(15,23,42,.11)!important;
}
.home-page .consulta-card label{
    color:#0f172a!important;
    opacity:1!important;
}
.home-page .consulta-card input{
    color:#0f172a!important;
    background:#ffffff!important;
    border:2px solid #cbd5e1!important;
}
.home-page .premio,
.home-page .panel{
    background:#ffffff!important;
    border:1px solid #d8e2f0!important;
    box-shadow:0 20px 55px rgba(15,23,42,.09)!important;
}
.home-page .premio h3,
.home-page .panel h3{
    color:#0f172a!important;
}
.home-page .premio p,
.home-page .list-item,
.home-page .panel p{
    color:#475569!important;
}
.home-page .footer{
    background:#07111f!important;
    color:#ffffff!important;
}
.home-page .footer h3,
.home-page .footer h4{
    color:#ffffff!important;
}
.home-page .footer p{
    color:#dbeafe!important;
}
@media(max-width:900px){
    .home-page .page-bg{padding-bottom:26px!important;}
    .home-page .count-card{gap:18px!important;}
}
@media(max-width:560px){
    .home-page .nav-actions{width:100%!important;}
    .home-page .nav-actions a{width:100%!important;text-align:center!important;}
    .home-page #consulta{padding-top:42px!important;}
    .home-page #catalogo{border-radius:0!important;}
}
