/* =========================================================
   PARCHE 10 - Corrección visual estable
   Paleta única: azul oscuro + azul principal + blanco + verde/ámbar
   Este archivo se carga después de style.css para neutralizar colores viejos.
   ========================================================= */
:root{
    --rifa-bg:#f4f7fb;
    --rifa-surface:#ffffff;
    --rifa-surface-2:#f8fafc;
    --rifa-dark:#0f172a;
    --rifa-dark-2:#1e293b;
    --rifa-primary:#2563eb;
    --rifa-primary-dark:#1d4ed8;
    --rifa-primary-soft:#dbeafe;
    --rifa-success:#16a34a;
    --rifa-warning:#f59e0b;
    --rifa-danger:#dc2626;
    --rifa-text:#0f172a;
    --rifa-muted:#64748b;
    --rifa-border:#e2e8f0;
    --rifa-radius:18px;
    --rifa-shadow:0 14px 38px rgba(15,23,42,.10);
    --rifa-shadow-soft:0 8px 22px rgba(15,23,42,.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body,
.body{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
    background:var(--rifa-bg) !important;
    color:var(--rifa-text) !important;
    font-family:'Alexandria', Arial, Helvetica, sans-serif !important;
    font-size:15px !important;
    line-height:1.5 !important;
}

img{max-width:100%;height:auto;}
a{text-decoration:none !important;}
.container{max-width:1180px;}

/* ===== Header limpio ===== */
.header2,
header.header2,
header{
    position:sticky !important;
    top:0 !important;
    z-index:1040 !important;
    height:auto !important;
    min-height:72px !important;
    margin-top:0 !important;
    background:linear-gradient(135deg,var(--rifa-dark),var(--rifa-dark-2)) !important;
    box-shadow:0 8px 24px rgba(15,23,42,.18) !important;
}

.container_menu1{
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    position:relative !important;
}

.div_logo{display:flex !important;align-items:center !important;}
.logo1{
    position:static !important;
    width:auto !important;
    max-width:150px !important;
    height:56px !important;
    max-height:56px !important;
    margin:0 !important;
    object-fit:contain !important;
    display:block !important;
}

.div_menu{display:none !important;}
.menu{position:static !important;margin:0 !important;background:transparent !important;width:auto !important;display:block !important;}
.list_ul{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    list-style:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
}
.link1,
.link2{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    color:#ffffff !important;
    background:transparent !important;
    border:1px solid rgba(255,255,255,.16) !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    cursor:pointer !important;
    transition:.18s ease !important;
}
.link1:hover,
.link2:hover{
    color:#ffffff !important;
    background:var(--rifa-primary) !important;
    border-color:var(--rifa-primary) !important;
    transform:translateY(-1px) !important;
}
#btn-menu{display:none !important;}
.label_menu{display:none !important;}

/* ===== Botones unificados: sin morado ===== */
.btn,
.rifa-btn-primary,
.rifa-btn-dark,
.rifa-btn-success,
.rifa-btn-secondary,
.rifa-btn-outline,
.btn-mqn,
.btn_home,
.btn_modal,
.btn-dora,
.btn-primary,
.btn-success,
.btn-warning{
    border-radius:999px !important;
    font-weight:800 !important;
    min-height:44px !important;
    line-height:1.2 !important;
    box-shadow:none !important;
    text-transform:none !important;
}
.rifa-btn-primary,
.btn-primary,
.btn_home,
.btn_modal,
.btn-dora{
    color:#fff !important;
    background:var(--rifa-primary) !important;
    border:1px solid var(--rifa-primary) !important;
}
.rifa-btn-primary:hover,
.btn-primary:hover,
.btn_home:hover,
.btn_modal:hover,
.btn-dora:hover{
    color:#fff !important;
    background:var(--rifa-primary-dark) !important;
    border-color:var(--rifa-primary-dark) !important;
    transform:translateY(-1px) !important;
}
.rifa-btn-dark{color:#fff !important;background:var(--rifa-dark) !important;border:1px solid var(--rifa-dark) !important;}
.rifa-btn-success,.btn-success{color:#fff !important;background:var(--rifa-success) !important;border:1px solid var(--rifa-success) !important;}
.rifa-btn-secondary{color:var(--rifa-dark) !important;background:#e2e8f0 !important;border:1px solid #cbd5e1 !important;}
.rifa-btn-outline,
.btn-mqn{
    color:var(--rifa-primary) !important;
    background:var(--rifa-primary-soft) !important;
    border:1px solid #bfdbfe !important;
}

/* ===== Portada / inicio ===== */
.home{height:auto !important;min-height:420px !important;background:var(--rifa-dark) !important;position:relative !important;}
.img_home{position:relative !important;width:100% !important;min-height:420px !important;object-fit:cover !important;opacity:.86 !important;}
.div_button{margin-top:-220px !important;margin-bottom:150px !important;z-index:2 !important;}
.div_title1{
    background:linear-gradient(135deg,var(--rifa-primary),var(--rifa-dark)) !important;
    padding:24px 15px !important;
}
.txt_title,
.txt_title1{
    color:#fff !important;
    font-size:clamp(20px,3vw,34px) !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    font-weight:900 !important;
}
.div_txt1,
.div_txt2,
.info2,
.info3{
    background:var(--rifa-bg) !important;
}
.title1,
.title6,
.ico_down,
.title11{
    color:var(--rifa-primary) !important;
}
.hr1{background:var(--rifa-primary) !important;}

/* ===== Compra pública ===== */
.rifa-compra-page,
.rifa-verify-page,
.body .rifa-compra-page,
.body .rifa-verify-page{
    background:var(--rifa-bg) !important;
    color:var(--rifa-text) !important;
}
.rifa-alert{border-radius:14px !important;border:0 !important;box-shadow:var(--rifa-shadow-soft) !important;}

.rifa-hero-modern{
    padding:42px 0 32px !important;
    background:linear-gradient(135deg,#ffffff 0%,#eef5ff 100%) !important;
    color:var(--rifa-text) !important;
}
.rifa-hero-copy{padding:12px 0 !important;}
.rifa-badge,
.rifa-section-title span,
.rifa-form-heading span,
.rifa-form-section-title{
    color:var(--rifa-primary) !important;
    background:var(--rifa-primary-soft) !important;
    border-radius:999px !important;
    display:inline-flex !important;
    padding:6px 12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    font-size:12px !important;
}
.rifa-hero-copy h1,
.rifa-section-title h1,
.rifa-section-title h2,
.rifa-form-heading h2{
    color:var(--rifa-dark) !important;
    font-weight:900 !important;
    line-height:1.08 !important;
    letter-spacing:-.03em !important;
}
.rifa-hero-copy h1{font-size:clamp(30px,5vw,54px) !important;margin:16px 0 10px !important;}
.rifa-hero-subtitle,
.rifa-section-title p,
.rifa-form-heading p,
.rifa-form-note,
.rifa-progress-detail{
    color:var(--rifa-muted) !important;
    line-height:1.55 !important;
}

.rifa-info-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    margin:22px 0 !important;
}
.rifa-info-card,
.rifa-progress-card,
.rifa-card,
.rifa-tools-card,
.rifa-number-panel,
.rifa-verify-card,
.rifa-ticket-result,
.rifa-price-card{
    background:#fff !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:var(--rifa-radius) !important;
    box-shadow:var(--rifa-shadow) !important;
    color:var(--rifa-text) !important;
}
.rifa-info-card{padding:14px 16px !important;}
.rifa-info-card small,
.rifa-ticket-data-grid small,
.rifa-ticket-numbers small{
    display:block !important;
    color:var(--rifa-muted) !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
}
.rifa-info-card strong{display:block !important;color:var(--rifa-dark) !important;font-size:18px !important;margin-top:3px !important;}

.rifa-progress-card{padding:18px !important;margin-bottom:22px !important;}
.rifa-progress-bar{height:12px !important;border-radius:999px !important;background:#e2e8f0 !important;overflow:hidden !important;}
.rifa-progress-bar div{height:100% !important;background:linear-gradient(90deg,var(--rifa-success),var(--rifa-primary)) !important;border-radius:999px !important;}
.rifa-progress-detail{display:flex !important;justify-content:space-between !important;font-size:13px !important;margin-top:8px !important;}

.rifa-prize-card{
    padding:16px !important;
    border-radius:28px !important;
    background:#fff !important;
    border:1px solid var(--rifa-border) !important;
    box-shadow:var(--rifa-shadow) !important;
}
.rifa-prize-card img{
    width:100% !important;
    max-height:520px !important;
    object-fit:cover !important;
    border-radius:22px !important;
    box-shadow:none !important;
}
.rifa-section{padding:38px 0 !important;background:var(--rifa-bg) !important;}
.rifa-section-light{background:#fff !important;}
.rifa-section-title{margin-bottom:22px !important;}
.rifa-card{padding:22px !important;}

.rifa-winners-list{display:grid !important;gap:12px !important;}
.rifa-winner-item{
    display:grid !important;
    grid-template-columns:80px 1fr 1fr 1fr !important;
    gap:12px !important;
    align-items:center !important;
    padding:14px !important;
    border-radius:14px !important;
    background:var(--rifa-surface-2) !important;
    border:1px solid var(--rifa-border) !important;
    color:var(--rifa-text) !important;
}
.rifa-price-grid{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;gap:14px !important;}
.rifa-price-card{padding:18px !important;min-height:105px !important;box-shadow:var(--rifa-shadow-soft) !important;}
.rifa-price-card i{font-size:28px !important;color:var(--rifa-primary) !important;}
.rifa-price-card p{margin:10px 0 0 !important;color:var(--rifa-dark) !important;font-weight:800 !important;line-height:1.45 !important;}
.rifa-bonus-card{margin:24px auto 0 !important;max-width:760px !important;text-align:center !important;}
.rifa-bonus-card img{border-radius:20px !important;box-shadow:var(--rifa-shadow) !important;}

/* ===== Barra de seleccion: fija abajo, no tapa arriba ===== */
#miBoton,
.rifa-selected-bar{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:16px !important;
    transform:translateX(-50%) !important;
    z-index:1050 !important;
    width:min(94vw,980px) !important;
    padding:12px !important;
    background:rgba(15,23,42,.96) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:22px !important;
    box-shadow:0 20px 60px rgba(15,23,42,.30) !important;
    backdrop-filter:blur(10px) !important;
}
.rifa-selected-bar .container{max-width:100% !important;padding:0 !important;}
.rifa-selected-content{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;color:#fff !important;}
.rifa-selected-content strong{color:#fff !important;line-height:1.35 !important;}
.rifa-selected-content p,
.numb2{
    color:#dbeafe !important;
    background:transparent !important;
    border-radius:0 !important;
    padding:0 !important;
    margin:4px 0 0 !important;
    max-width:650px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
.rifa-selected-actions{display:flex !important;gap:10px !important;flex-shrink:0 !important;}

/* ===== Herramientas y números ===== */
.rifa-tools-card{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px !important;padding:16px !important;margin-bottom:16px !important;}
.rifa-search-form{display:flex !important;gap:10px !important;flex:1 !important;margin:0 !important;}
.form-control,
.rifa-search-form .form-control,
.rifa-form-modern .form-control,
.rifa-verify-form .form-control,
.input1{
    min-height:48px !important;
    border-radius:14px !important;
    border:1px solid #cbd5e1 !important;
    background:#fff !important;
    color:var(--rifa-dark) !important;
    box-shadow:none !important;
    line-height:1.3 !important;
}
.form-control:focus,
.input1:focus{
    border-color:var(--rifa-primary) !important;
    box-shadow:0 0 0 .18rem rgba(37,99,235,.15) !important;
}
.rifa-legend{display:flex !important;justify-content:center !important;gap:18px !important;flex-wrap:wrap !important;color:var(--rifa-muted) !important;font-weight:800 !important;margin-bottom:16px !important;}
.rifa-dot{display:inline-block !important;width:12px !important;height:12px !important;border-radius:50% !important;margin-right:6px !important;vertical-align:middle !important;}
.rifa-dot-free{background:#fff !important;border:1px solid var(--rifa-border) !important;}
.rifa-dot-selected{background:var(--rifa-primary) !important;}
.rifa-dot-taken{background:var(--rifa-dark) !important;}
.rifa-number-panel,
.lista_number{
    padding:18px !important;
    background:#fff !important;
    border-radius:var(--rifa-radius) !important;
    border:1px solid var(--rifa-border) !important;
    box-shadow:var(--rifa-shadow) !important;
}
.row_list,
.rifa-number-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fill,minmax(74px,1fr)) !important;
    gap:8px !important;
    justify-content:center !important;
    align-items:stretch !important;
    margin:0 !important;
    padding:0 !important;
}
.row_list > [class*="col"],
.row_list .col,
.col_list,
.ticket-cell{
    width:auto !important;
    max-width:none !important;
    flex:none !important;
    padding:0 !important;
    margin:0 !important;
    display:block !important;
}
.ticket-pick,
.row_list label{display:block !important;margin:0 !important;width:100% !important;cursor:pointer !important;}
input[type="checkbox"]{display:none !important;}
.ticket-number,
.number1,
.number2desap,
.numb{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:8px 6px !important;
    border-radius:12px !important;
    border:1px solid var(--rifa-border) !important;
    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
    line-height:1 !important;
    box-shadow:none !important;
    transition:.16s ease !important;
    background:#fff !important;
    color:var(--rifa-dark) !important;
}
.ticket-number.is-free,
.number1{background:#fff !important;color:var(--rifa-dark) !important;}
.ticket-number.is-free:hover,
.number1:hover{border-color:var(--rifa-primary) !important;box-shadow:0 8px 18px rgba(37,99,235,.14) !important;}
.ticket-number.is-taken,
.number2desap,
.number1.disabled{
    background:var(--rifa-dark) !important;
    color:#fff !important;
    border-color:var(--rifa-dark) !important;
    opacity:.72 !important;
    cursor:not-allowed !important;
}
input[type="checkbox"]:checked + p,
input[type="checkbox"]:checked + .ticket-number{
    background:var(--rifa-primary) !important;
    color:#fff !important;
    border-color:var(--rifa-primary) !important;
    transform:none !important;
    box-shadow:0 8px 20px rgba(37,99,235,.22) !important;
}
.rifa-loading{text-align:center !important;color:var(--rifa-primary) !important;padding:28px !important;}
.rifa-pagination .pagination{gap:6px !important;flex-wrap:wrap !important;}
.rifa-pagination .page-link{border-radius:10px !important;color:var(--rifa-primary) !important;}
.rifa-pagination .page-item.active .page-link{background:var(--rifa-primary) !important;border-color:var(--rifa-primary) !important;color:#fff !important;}

/* ===== Modales ===== */
.modal2,
.modal-dialog.modal2{background:transparent !important;}
.rifa-modal .modal-content,
.rifa-modal-simple,
.modal-content,
.modal1{
    background:#fff !important;
    color:var(--rifa-text) !important;
    border:0 !important;
    border-radius:22px !important;
    box-shadow:0 26px 80px rgba(15,23,42,.28) !important;
    overflow:hidden !important;
}
.rifa-modal .modal-header,
.rifa-modal-simple .modal-header,
.modal-header{
    background:var(--rifa-surface-2) !important;
    border-bottom:1px solid var(--rifa-border) !important;
    padding:18px 22px !important;
}
.modal-title,
.rifa-modal .modal-title{color:var(--rifa-dark) !important;font-weight:900 !important;line-height:1.25 !important;}
.close,
.x{color:var(--rifa-dark) !important;opacity:1 !important;text-shadow:none !important;}
.rifa-modal .modal-body,
.modal-body{padding:20px 22px !important;}
.txt_modal1,
.txt_modal3,
.txt_modal5,
.number3{color:var(--rifa-dark) !important;line-height:1.45 !important;}
.rifa-form-modern label,
.rifa-verify-form label{
    color:#334155 !important;
    font-size:13px !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    font-weight:900 !important;
}
.rifa-form-section{
    margin-top:12px !important;
    padding:14px !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:16px !important;
    background:#fff !important;
}
.rifa-form-note{
    display:flex !important;
    gap:10px !important;
    padding:14px !important;
    border-radius:14px !important;
    background:var(--rifa-primary-soft) !important;
    border:1px solid #bfdbfe !important;
    color:#1e3a8a !important;
}

/* ===== Verificación ===== */
.rifa-verify-hero{padding:42px 0 22px !important;background:linear-gradient(135deg,#eef5ff,#fff) !important;}
.rifa-verify-card{padding:26px !important;}
.rifa-ticket-result{overflow:hidden !important;}
.rifa-ticket-header{display:flex !important;justify-content:space-between !important;gap:18px !important;padding:22px !important;border-bottom:1px solid var(--rifa-border) !important;background:#fff !important;}
.rifa-ticket-header h2{margin:8px 0 0 !important;font-weight:900 !important;color:var(--rifa-dark) !important;}
.rifa-ticket-status{align-self:flex-start !important;padding:9px 14px !important;border-radius:999px !important;font-weight:900 !important;}
.rifa-ticket-status.is-approved{color:#166534 !important;background:#dcfce7 !important;}
.rifa-ticket-status.is-pending{color:#92400e !important;background:#fef3c7 !important;}
.rifa-ticket-body{padding:22px !important;}
.rifa-ticket-numbers{padding:16px !important;border-radius:16px !important;background:var(--rifa-primary-soft) !important;border:1px solid #bfdbfe !important;margin-bottom:14px !important;}
.rifa-ticket-numbers.muted{background:var(--rifa-surface-2) !important;border-color:var(--rifa-border) !important;}
.rifa-ticket-numbers strong{display:block !important;margin-top:6px !important;font-size:24px !important;letter-spacing:.03em !important;color:var(--rifa-dark) !important;}
.rifa-ticket-data-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
.rifa-ticket-data-grid div{padding:14px !important;border-radius:14px !important;background:var(--rifa-surface-2) !important;border:1px solid var(--rifa-border) !important;}
.rifa-ticket-data-grid strong{display:block !important;margin-top:4px !important;color:var(--rifa-dark) !important;}
.rifa-ticket-image{height:100% !important;min-height:330px !important;padding:24px !important;background:linear-gradient(135deg,var(--rifa-dark),var(--rifa-primary)) !important;color:#fff !important;display:flex !important;flex-direction:column !important;justify-content:center !important;text-align:center !important;}
.rifa-ticket-image img{border-radius:18px !important;max-height:300px !important;object-fit:cover !important;box-shadow:0 20px 50px rgba(0,0,0,.24) !important;}
.rifa-ticket-image h3{margin-top:16px !important;font-weight:900 !important;color:#fff !important;}

/* ===== Footer / WhatsApp ===== */
.footer,
.copyright{
    background:var(--rifa-dark) !important;
    color:#fff !important;
    margin-top:0 !important;
}
.copyright{padding:18px 0 !important;}
.copyright p,
.copyright a{color:#cbd5e1 !important;font-size:14px !important;line-height:1.5 !important;margin:0 !important;}
.copyright a:hover{color:#fff !important;}

/* ===== Neutralizar colores antiguos que quedaban morados/dorados/rojos ===== */
.info1,
.container_pay,
.lista_number{
    background:var(--rifa-bg) !important;
}
.title3{color:var(--rifa-dark) !important;font-size:clamp(22px,4vw,36px) !important;line-height:1.2 !important;font-weight:900 !important;}
.title4{color:var(--rifa-dark) !important;font-size:clamp(18px,3vw,26px) !important;line-height:1.35 !important;}
.img_premio{background:var(--rifa-bg) !important;padding:22px !important;}
.img_premio1{border:0 !important;border-radius:22px !important;box-shadow:var(--rifa-shadow) !important;width:min(100%,640px) !important;}
.ico_down,.ico_down2{color:var(--rifa-primary) !important;}

/* ===== Responsive ===== */
@media (max-width:991px){
    .rifa-info-grid{grid-template-columns:1fr !important;}
    .rifa-selected-content,
    .rifa-tools-card,
    .rifa-ticket-header{flex-direction:column !important;align-items:stretch !important;}
    .rifa-search-form{flex-direction:column !important;}
    .rifa-selected-actions{width:100% !important;}
    .rifa-selected-actions .btn{flex:1 !important;}
    .rifa-winner-item{grid-template-columns:1fr !important;}
}

@media (max-width:768px){
    .header2,
    header.header2,
    header{min-height:64px !important;}
    .container_menu1{min-height:64px !important;padding-left:14px !important;padding-right:14px !important;}
    .logo1{height:46px !important;max-height:46px !important;max-width:130px !important;}
    .div_menu{display:flex !important;align-items:center !important;margin-left:auto !important;}
    .label_menu{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:42px !important;
        height:42px !important;
        padding:0 !important;
        margin:0 !important;
        border-radius:12px !important;
        border:1px solid rgba(255,255,255,.24) !important;
        color:#fff !important;
        background:rgba(255,255,255,.08) !important;
    }
    .ico_menu{color:#fff !important;font-size:23px !important;}
    .menu{
        position:absolute !important;
        left:14px !important;
        right:14px !important;
        top:66px !important;
        width:auto !important;
        background:#fff !important;
        border:1px solid var(--rifa-border) !important;
        border-radius:18px !important;
        box-shadow:var(--rifa-shadow) !important;
        padding:10px !important;
        display:none !important;
        margin:0 !important;
    }
    #btn-menu:checked ~ .menu{display:block !important;margin:0 !important;}
    .list_ul{flex-direction:column !important;align-items:stretch !important;gap:8px !important;}
    .link1,.link2{width:100% !important;color:var(--rifa-dark) !important;background:var(--rifa-surface-2) !important;border-color:var(--rifa-border) !important;}
    .link1:hover,.link2:hover{color:#fff !important;background:var(--rifa-primary) !important;}
    .rifa-hero-modern{padding:28px 0 !important;text-align:center !important;}
    .rifa-prize-card{margin-bottom:16px !important;}
    .row_list,.rifa-number-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr)) !important;gap:6px !important;}
    .ticket-number,.number1,.number2desap,.numb{min-height:40px !important;font-size:12px !important;border-radius:10px !important;}
    #miBoton,.rifa-selected-bar{bottom:10px !important;width:calc(100vw - 18px) !important;border-radius:18px !important;}
    .rifa-selected-content p,.numb2{white-space:normal !important;max-height:44px !important;}
    .rifa-ticket-data-grid{grid-template-columns:1fr !important;}
}

@media (max-width:576px){
    body,.body{font-size:14px !important;}
    .container{padding-left:14px !important;padding-right:14px !important;}
    .rifa-section{padding:28px 0 !important;}
    .rifa-card,
    .rifa-number-panel,
    .rifa-verify-card{padding:16px !important;border-radius:16px !important;}
    .rifa-modal .modal-body,
    .modal-body{padding:16px !important;}
    .modal-dialog,
    .modal-dialog.modal2{
        width:calc(100% - 18px) !important;
        max-width:calc(100% - 18px) !important;
        margin:9px auto !important;
    }
    .txt_title1{font-size:20px !important;}
}

/* =========================================================
   PARCHE 11 - Ajuste final: home, logo, footer y contraste
   ========================================================= */
.rifa-public-body{
    background:#f4f7fb !important;
    color:#0f172a !important;
}

/* Header final */
.rifa-site-header{
    position:sticky !important;
    top:0 !important;
    width:100% !important;
    z-index:1040 !important;
    background:linear-gradient(135deg,#0f172a,#17233a) !important;
}
.rifa-site-nav{
    max-width:1180px !important;
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
}
.rifa-brand-box,
.rifa-brand-link{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
}
.rifa-brand-logo{
    width:auto !important;
    height:54px !important;
    max-height:54px !important;
    max-width:190px !important;
    object-fit:contain !important;
    background:transparent !important;
}
.rifa-brand-fallback{
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:8px 14px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.09) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    max-width:230px !important;
}
.rifa-menu-list{gap:9px !important;}
.rifa-login-link{
    background:#2563eb !important;
    border-color:#2563eb !important;
    color:#fff !important;
}

/* Home reestructurado */
.rifa-home-page{
    background:#f4f7fb !important;
    color:#0f172a !important;
}
.rifa-home-hero{
    padding:56px 0 48px !important;
    background:linear-gradient(135deg,#ffffff 0%,#eef5ff 100%) !important;
    overflow:hidden !important;
}
.rifa-home-copy{
    padding:18px 0 !important;
}
.rifa-home-copy h1{
    margin:16px 0 12px !important;
    color:#0f172a !important;
    font-weight:900 !important;
    font-size:clamp(34px,5vw,60px) !important;
    line-height:1.04 !important;
    letter-spacing:-.04em !important;
}
.rifa-home-copy p{
    max-width:560px !important;
    color:#475569 !important;
    font-size:clamp(16px,1.8vw,19px) !important;
    line-height:1.65 !important;
    margin-bottom:0 !important;
}
.rifa-home-actions{
    margin-top:24px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-wrap:wrap !important;
}
.rifa-home-main-card{
    width:100% !important;
    max-width:520px !important;
    margin-left:auto !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:28px !important;
    padding:14px !important;
    box-shadow:0 22px 60px rgba(15,23,42,.14) !important;
}
.rifa-home-main-card img{
    display:block !important;
    width:100% !important;
    max-height:560px !important;
    object-fit:contain !important;
    border-radius:20px !important;
    background:#f8fafc !important;
}
.rifa-home-empty-img{
    min-height:330px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
    border-radius:18px !important;
    background:#eff6ff !important;
    color:#2563eb !important;
    font-weight:800 !important;
}
.rifa-home-empty-img i{font-size:48px !important;}
.rifa-home-empty-img.small{min-height:260px !important;}
.rifa-home-sorteos{background:#f4f7fb !important;}
.rifa-home-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
    gap:22px !important;
}
.rifa-home-card{
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:24px !important;
    box-shadow:0 16px 42px rgba(15,23,42,.10) !important;
    overflow:hidden !important;
    color:#0f172a !important;
}
.rifa-home-card-img{
    height:390px !important;
    background:#f8fafc !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:10px !important;
}
.rifa-home-card-img img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    border-radius:16px !important;
}
.rifa-home-card-body{
    padding:18px !important;
}
.rifa-home-card-body h3{
    margin:0 0 10px !important;
    color:#0f172a !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
}
.rifa-home-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-bottom:16px !important;
}
.rifa-home-meta span{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    color:#1d4ed8 !important;
    font-weight:800 !important;
    font-size:13px !important;
}
.rifa-home-steps{
    padding:42px 0 !important;
    background:#0f172a !important;
    color:#fff !important;
}
.rifa-home-steps-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}
.rifa-home-step{
    padding:22px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.07) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    text-align:center !important;
}
.rifa-home-step strong{
    width:42px !important;
    height:42px !important;
    margin:0 auto 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:#2563eb !important;
    color:#fff !important;
    font-weight:900 !important;
}
.rifa-home-step h3{
    color:#fff !important;
    font-weight:900 !important;
    margin:0 0 8px !important;
    font-size:22px !important;
}
.rifa-home-step p{
    color:#cbd5e1 !important;
    margin:0 !important;
    line-height:1.55 !important;
}

/* Compra: no permitir que la barra tape contenido */
.rifa-compra-page{padding-bottom:104px !important;}
.rifa-number-panel,
.lista_number{margin-bottom:0 !important;}
#miBoton,.rifa-selected-bar{bottom:18px !important;}

/* WhatsApp y footer compactos */
.rifa-whatsapp-strip{
    background:linear-gradient(135deg,#2563eb,#1e3a8a) !important;
    color:#fff !important;
    padding:28px 0 !important;
}
.rifa-whatsapp-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
}
.rifa-whatsapp-kicker{
    display:inline-flex !important;
    padding:5px 10px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.14) !important;
    color:#dbeafe !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    margin-bottom:8px !important;
}
.rifa-whatsapp-strip h2{
    color:#fff !important;
    font-weight:900 !important;
    margin:0 0 4px !important;
    font-size:clamp(24px,3vw,34px) !important;
    line-height:1.15 !important;
}
.rifa-whatsapp-strip p{
    color:#dbeafe !important;
    margin:0 !important;
}
.rifa-whatsapp-btn{
    min-height:48px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    padding:12px 18px !important;
    border-radius:999px !important;
    background:#22c55e !important;
    color:#fff !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:0 16px 38px rgba(34,197,94,.28) !important;
}
.rifa-floating-whatsapp{
    position:fixed !important;
    right:20px !important;
    bottom:20px !important;
    z-index:1060 !important;
    width:58px !important;
    height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:#22c55e !important;
    color:#fff !important;
    font-size:28px !important;
    box-shadow:0 16px 38px rgba(15,23,42,.24) !important;
}
.rifa-floating-whatsapp:hover,
.rifa-whatsapp-btn:hover{color:#fff !important;transform:translateY(-1px) !important;}
.rifa-footer-clean,
.rifa-footer-clean .copyright{
    background:#0f172a !important;
    color:#cbd5e1 !important;
}
.rifa-footer-clean .copyright{padding:18px 0 !important;}
.rifa-footer-clean p{margin:0 !important;text-align:center !important;color:#cbd5e1 !important;font-size:14px !important;}

/* Evitar textos oscuros sobre fondos oscuros */
.rifa-home-steps *,
.rifa-footer-clean *,
.rifa-whatsapp-strip *{
    text-shadow:none !important;
}

/* Ajustes responsive */
@media (max-width:991px){
    .rifa-home-hero{text-align:center !important;padding:36px 0 34px !important;}
    .rifa-home-copy p{margin-left:auto !important;margin-right:auto !important;}
    .rifa-home-actions{justify-content:center !important;}
    .rifa-home-main-card{margin:26px auto 0 !important;max-width:500px !important;}
    .rifa-home-steps-grid{grid-template-columns:1fr !important;}
    .rifa-whatsapp-inner{flex-direction:column !important;text-align:center !important;}
}
@media (max-width:768px){
    .rifa-site-nav{min-height:64px !important;}
    .rifa-brand-logo{height:44px !important;max-height:44px !important;max-width:150px !important;}
    .rifa-brand-fallback{font-size:14px !important;max-width:180px !important;}
    .rifa-home-card-img{height:340px !important;}
    .rifa-home-copy h1{font-size:34px !important;}
    .rifa-whatsapp-strip{padding:24px 0 !important;}
    .rifa-floating-whatsapp{width:54px !important;height:54px !important;right:14px !important;bottom:14px !important;}
}
@media (max-width:576px){
    .rifa-home-hero{padding:28px 0 28px !important;}
    .rifa-home-main-card{border-radius:20px !important;padding:10px !important;}
    .rifa-home-main-card img{max-height:430px !important;border-radius:16px !important;}
    .rifa-home-grid{grid-template-columns:1fr !important;gap:16px !important;}
    .rifa-home-card-img{height:320px !important;}
    .rifa-home-card-body{padding:16px !important;}
    .rifa-home-actions .btn{width:100% !important;}
    .rifa-whatsapp-btn{width:100% !important;}
}

/* =========================================================
   PARCHE 12 - Métodos de pago y notificación más profesional
   ========================================================= */
.rifa-pay-page,
.rifa-notify-page{
    min-height:calc(100vh - 72px);
    background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%) !important;
    color:var(--rifa-text) !important;
}

.rifa-pay-hero,
.rifa-notify-hero{
    padding:42px 0 28px !important;
    background:
        radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 32%),
        linear-gradient(135deg,#ffffff 0%,#eef5ff 100%) !important;
}

.rifa-pay-hero-card{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr) !important;
    gap:24px !important;
    align-items:center !important;
    background:#fff !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:28px !important;
    padding:32px !important;
    box-shadow:var(--rifa-shadow) !important;
}

.rifa-pay-copy h1{
    color:var(--rifa-dark) !important;
    font-size:clamp(30px,4.4vw,52px) !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:-.04em !important;
    margin:16px 0 12px !important;
}

.rifa-pay-copy p{
    color:var(--rifa-muted) !important;
    font-size:16px !important;
    line-height:1.65 !important;
    max-width:720px !important;
    margin-bottom:0 !important;
}

.rifa-pay-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-top:24px !important;
}

.rifa-pay-summary{
    background:linear-gradient(135deg,var(--rifa-dark),var(--rifa-dark-2)) !important;
    border-radius:24px !important;
    padding:22px !important;
    color:#fff !important;
    min-height:240px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    box-shadow:0 18px 46px rgba(15,23,42,.26) !important;
}

.rifa-pay-summary img{
    max-width:180px !important;
    max-height:80px !important;
    object-fit:contain !important;
    background:rgba(255,255,255,.94) !important;
    border-radius:18px !important;
    padding:10px !important;
}

.rifa-pay-logo-fallback{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    max-width:100% !important;
    padding:12px 16px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    color:#fff !important;
    font-weight:900 !important;
}

.rifa-pay-current small{
    display:block !important;
    color:#bfdbfe !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    font-size:12px !important;
    letter-spacing:.06em !important;
    margin-bottom:6px !important;
}

.rifa-pay-current strong{
    color:#fff !important;
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
}

.rifa-pay-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
    gap:18px !important;
}

.rifa-payment-card{
    background:#fff !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:24px !important;
    box-shadow:var(--rifa-shadow-soft) !important;
    padding:20px !important;
    color:var(--rifa-text) !important;
    min-height:100% !important;
}

.rifa-payment-head{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    margin-bottom:18px !important;
}

.rifa-payment-logo{
    width:76px !important;
    height:76px !important;
    border-radius:18px !important;
    background:#f8fafc !important;
    border:1px solid var(--rifa-border) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-shrink:0 !important;
    overflow:hidden !important;
}

.rifa-payment-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:8px !important;
}

.rifa-payment-logo i{
    color:var(--rifa-primary) !important;
    font-size:34px !important;
}

.rifa-payment-head small,
.rifa-payment-data span{
    display:block !important;
    color:var(--rifa-muted) !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

.rifa-payment-head h3{
    color:var(--rifa-dark) !important;
    font-size:22px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    margin:4px 0 0 !important;
}

.rifa-payment-data{
    display:grid !important;
    gap:12px !important;
}

.rifa-payment-data > div{
    background:var(--rifa-surface-2) !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:16px !important;
    padding:14px !important;
}

.rifa-payment-data strong{
    display:block !important;
    color:var(--rifa-dark) !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.35 !important;
    word-break:break-word !important;
    margin-top:5px !important;
}

.rifa-copy-btn{
    border:0 !important;
    margin-top:10px !important;
    border-radius:999px !important;
    padding:8px 12px !important;
    background:var(--rifa-primary-soft) !important;
    color:var(--rifa-primary-dark) !important;
    font-weight:900 !important;
    cursor:pointer !important;
}

.rifa-payment-note{
    margin-top:14px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:#fffbeb !important;
    border:1px solid #fde68a !important;
    display:flex !important;
    gap:10px !important;
    align-items:flex-start !important;
}

.rifa-payment-note i{color:var(--rifa-warning) !important;font-size:20px !important;flex-shrink:0 !important;}
.rifa-payment-note p{margin:0 !important;color:#854d0e !important;line-height:1.55 !important;font-weight:700 !important;}

.rifa-empty-state{
    text-align:center !important;
    background:#fff !important;
    border:1px dashed #bfdbfe !important;
    border-radius:24px !important;
    padding:38px 20px !important;
    box-shadow:var(--rifa-shadow-soft) !important;
}

.rifa-empty-state i{font-size:44px !important;color:var(--rifa-primary) !important;}
.rifa-empty-state h3{color:var(--rifa-dark) !important;font-weight:900 !important;margin:14px 0 8px !important;}
.rifa-empty-state p{color:var(--rifa-muted) !important;margin:0 auto !important;max-width:620px !important;}

.rifa-payment-steps{
    padding:10px 0 42px !important;
    background:var(--rifa-bg) !important;
}

.rifa-payment-steps-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
}

.rifa-payment-steps-grid > div,
.rifa-notify-tips{
    background:#fff !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:20px !important;
    padding:20px !important;
    box-shadow:var(--rifa-shadow-soft) !important;
}

.rifa-payment-steps-grid strong{
    width:38px !important;
    height:38px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    color:#fff !important;
    background:var(--rifa-primary) !important;
    font-weight:900 !important;
}

.rifa-payment-steps-grid h3,
.rifa-notify-tips h3{
    color:var(--rifa-dark) !important;
    font-weight:900 !important;
    margin:12px 0 8px !important;
    font-size:20px !important;
}

.rifa-payment-steps-grid p,
.rifa-notify-tips p{
    color:var(--rifa-muted) !important;
    margin:0 !important;
    line-height:1.55 !important;
}

.rifa-notify-card{
    max-width:850px !important;
    margin:0 auto !important;
    background:#fff !important;
    border:1px solid var(--rifa-border) !important;
    border-radius:28px !important;
    box-shadow:var(--rifa-shadow) !important;
    padding:28px !important;
}

.rifa-notify-form{
    max-width:680px !important;
    margin:24px auto 0 !important;
}

.rifa-notify-form label{
    color:var(--rifa-dark) !important;
    font-weight:900 !important;
    font-size:13px !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    margin-bottom:8px !important;
}

.rifa-file-box{
    background:var(--rifa-surface-2) !important;
    border:1px dashed #bfdbfe !important;
    border-radius:18px !important;
    padding:16px !important;
}

.rifa-file-box i{
    display:block !important;
    color:var(--rifa-primary) !important;
    font-size:34px !important;
    margin-bottom:10px !important;
}

.rifa-file-box input{
    background:#fff !important;
}

.rifa-file-box small{
    display:block !important;
    color:var(--rifa-muted) !important;
    margin-top:8px !important;
}

.rifa-notify-tips{
    margin:18px 0 !important;
    background:#ecfdf5 !important;
    border-color:#bbf7d0 !important;
}

.rifa-notify-tips h3 i{color:var(--rifa-success) !important;}
.rifa-form-actions{display:flex !important;justify-content:flex-end !important;gap:12px !important;flex-wrap:wrap !important;}

@media (max-width: 991px){
    .rifa-pay-hero-card{grid-template-columns:1fr !important;padding:24px !important;}
    .rifa-pay-summary{min-height:190px !important;}
    .rifa-payment-steps-grid{grid-template-columns:1fr !important;}
}

@media (max-width: 575px){
    .rifa-pay-hero,.rifa-notify-hero{padding:24px 0 !important;}
    .rifa-pay-hero-card,.rifa-notify-card{border-radius:22px !important;padding:18px !important;}
    .rifa-pay-actions,.rifa-form-actions{display:grid !important;grid-template-columns:1fr !important;}
    .rifa-pay-grid{grid-template-columns:1fr !important;}
    .rifa-payment-card{padding:16px !important;border-radius:20px !important;}
    .rifa-payment-head{align-items:flex-start !important;}
    .rifa-payment-logo{width:62px !important;height:62px !important;}
}

/* =========================================================
   PARCHE 22 - Login moderno y corrección de espacios blancos
   ========================================================= */
html,
body.rifa-public-body{
    min-height:100% !important;
}
body.rifa-public-body{
    min-height:100vh !important;
    display:flex !important;
    flex-direction:column !important;
    background:#f4f7fb !important;
}
.rifa-site-header,
.rifa-whatsapp-strip,
.rifa-footer-clean{
    flex-shrink:0 !important;
}
.rifa-public-main{
    flex:1 0 auto !important;
    width:100% !important;
    display:block !important;
    background:#f4f7fb !important;
}
.rifa-public-main > main,
.rifa-public-main > section{
    width:100% !important;
}
.rifa-footer-clean{
    margin-top:0 !important;
}
.rifa-footer-clean .copyright{
    padding:16px 0 !important;
}

/* Header: mejora contraste del logo en fondos oscuros */
.rifa-brand-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:6px 12px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.90) !important;
    border:1px solid rgba(255,255,255,.36) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.14) !important;
}
.rifa-brand-link .rifa-brand-logo,
.rifa-brand-logo{
    height:44px !important;
    max-height:44px !important;
    max-width:180px !important;
}
.rifa-brand-link .rifa-brand-fallback,
.rifa-brand-fallback{
    background:transparent !important;
    border:0 !important;
    color:#0f172a !important;
    padding:0 !important;
    min-height:auto !important;
    box-shadow:none !important;
}

/* Páginas cortas: evitar gran blanco debajo del footer */
.rifa-verify-page,
.rifa-pay-page,
.rifa-notify-page{
    min-height:auto !important;
}
.rifa-verify-hero{
    padding:46px 0 46px !important;
}
.rifa-verify-card{
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.rifa-whatsapp-strip{
    padding:24px 0 !important;
}
.rifa-whatsapp-strip h2{
    margin-bottom:4px !important;
}

/* Login moderno */
.rifa-login-page{
    flex:1 0 auto !important;
    min-height:calc(100vh - 72px - 56px) !important;
    display:flex !important;
    align-items:center !important;
    padding:42px 0 !important;
    background:
        radial-gradient(circle at 8% 12%, rgba(37,99,235,.16), transparent 32%),
        radial-gradient(circle at 92% 88%, rgba(34,197,94,.12), transparent 30%),
        linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%) !important;
}
.rifa-login-container{
    width:100% !important;
}
.rifa-login-shell{
    max-width:1040px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(360px,440px) !important;
    gap:24px !important;
    align-items:stretch !important;
}
.rifa-login-info,
.rifa-login-card{
    border:1px solid #e2e8f0 !important;
    border-radius:30px !important;
    box-shadow:0 24px 70px rgba(15,23,42,.13) !important;
}
.rifa-login-info{
    min-height:440px !important;
    padding:34px !important;
    color:#fff !important;
    background:
        linear-gradient(135deg,rgba(15,23,42,.90),rgba(30,64,175,.86)),
        radial-gradient(circle at top right,rgba(96,165,250,.38),transparent 34%) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    overflow:hidden !important;
    position:relative !important;
}
.rifa-login-info::after{
    content:"" !important;
    position:absolute !important;
    right:-90px !important;
    bottom:-90px !important;
    width:230px !important;
    height:230px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.10) !important;
}
.rifa-login-brand{
    width:max-content !important;
    max-width:100% !important;
    min-height:48px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 14px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.92) !important;
    border:1px solid rgba(255,255,255,.35) !important;
    margin-bottom:22px !important;
}
.rifa-login-brand img{
    display:block !important;
    max-width:190px !important;
    max-height:58px !important;
    object-fit:contain !important;
}
.rifa-login-brand span{
    color:#0f172a !important;
    font-weight:900 !important;
}
.rifa-login-kicker{
    width:max-content !important;
    max-width:100% !important;
    display:inline-flex !important;
    align-items:center !important;
    padding:7px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.12) !important;
    color:#dbeafe !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.05em !important;
    margin-bottom:14px !important;
}
.rifa-login-info h1{
    color:#fff !important;
    font-weight:900 !important;
    font-size:clamp(30px,4vw,48px) !important;
    line-height:1.06 !important;
    letter-spacing:-.04em !important;
    margin:0 0 14px !important;
    max-width:620px !important;
}
.rifa-login-info p{
    color:#dbeafe !important;
    font-size:16px !important;
    line-height:1.65 !important;
    margin:0 !important;
    max-width:560px !important;
}
.rifa-login-benefits{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:26px !important;
    position:relative !important;
    z-index:1 !important;
}
.rifa-login-benefits div{
    min-height:92px !important;
    padding:14px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:8px !important;
}
.rifa-login-benefits i{
    color:#93c5fd !important;
    font-size:24px !important;
}
.rifa-login-benefits span{
    color:#fff !important;
    font-weight:900 !important;
    line-height:1.25 !important;
    font-size:13px !important;
}
.rifa-login-card{
    padding:32px !important;
    background:#fff !important;
    color:#0f172a !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}
.rifa-login-card-head{
    text-align:left !important;
    margin-bottom:22px !important;
}
.rifa-login-card-head span{
    display:inline-flex !important;
    align-items:center !important;
    padding:6px 11px !important;
    border-radius:999px !important;
    background:#dbeafe !important;
    color:#1d4ed8 !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}
.rifa-login-card-head h2{
    color:#0f172a !important;
    margin:12px 0 6px !important;
    font-weight:900 !important;
    font-size:32px !important;
    line-height:1.1 !important;
}
.rifa-login-card-head p{
    color:#64748b !important;
    margin:0 !important;
    line-height:1.5 !important;
}
.rifa-login-alert{
    border:0 !important;
    border-radius:16px !important;
    background:#fee2e2 !important;
    color:#991b1b !important;
    font-weight:700 !important;
    padding:12px 14px !important;
}
.rifa-login-form .form-group{
    margin-bottom:16px !important;
}
.rifa-login-form label{
    display:block !important;
    color:#334155 !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    margin-bottom:8px !important;
}
.rifa-login-input{
    position:relative !important;
}
.rifa-login-input i{
    position:absolute !important;
    left:16px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:#2563eb !important;
    font-size:18px !important;
    z-index:2 !important;
}
.rifa-login-input .form-control{
    width:100% !important;
    height:52px !important;
    min-height:52px !important;
    border-radius:16px !important;
    padding-left:48px !important;
    background:#f8fafc !important;
    border:1px solid #cbd5e1 !important;
    color:#0f172a !important;
    font-weight:700 !important;
}
.rifa-login-input .form-control::placeholder{
    color:#94a3b8 !important;
    font-weight:600 !important;
}
.rifa-login-options{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin:6px 0 18px !important;
}
.rifa-check{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    cursor:pointer !important;
    color:#475569 !important;
    font-weight:800 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:14px !important;
}
.rifa-check input[type="checkbox"]{
    display:inline-block !important;
    width:16px !important;
    height:16px !important;
    accent-color:#2563eb !important;
}
.rifa-login-submit{
    width:100% !important;
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    border-radius:16px !important;
    font-size:15px !important;
}

/* Anular estilos antiguos del login */
.login,
.login .container{
    background:transparent !important;
}
.div-login,
.col-login{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}

@media (max-width:991px){
    .rifa-login-page{
        padding:28px 0 !important;
        align-items:flex-start !important;
    }
    .rifa-login-shell{
        grid-template-columns:1fr !important;
        max-width:620px !important;
    }
    .rifa-login-info{
        min-height:auto !important;
        padding:28px !important;
    }
    .rifa-login-benefits{
        grid-template-columns:1fr !important;
    }
}
@media (max-width:768px){
    .rifa-brand-link{
        min-height:40px !important;
        padding:5px 10px !important;
    }
    .rifa-brand-link .rifa-brand-logo,
    .rifa-brand-logo{
        height:38px !important;
        max-height:38px !important;
        max-width:150px !important;
    }
    .rifa-login-card,
    .rifa-login-info{
        border-radius:24px !important;
        padding:22px !important;
    }
    .rifa-login-card-head h2{
        font-size:28px !important;
    }
    .rifa-whatsapp-strip{
        padding:22px 0 !important;
    }
}
@media (max-width:576px){
    .rifa-login-page{
        padding:20px 0 !important;
    }
    .rifa-login-shell{
        gap:16px !important;
    }
    .rifa-login-info h1{
        font-size:28px !important;
    }
    .rifa-login-info p{
        font-size:14px !important;
    }
    .rifa-login-card,
    .rifa-login-info{
        padding:18px !important;
    }
    .rifa-login-brand img{
        max-height:46px !important;
        max-width:160px !important;
    }
}

/* =========================================================
   PARCHE 25 - FLUJO SIMPLE DE COMPRA
   ========================================================= */
.rifa-checkout-unico{
    padding:0!important;
}
.rifa-checkout-heading{
    margin-bottom:14px!important;
}
.rifa-checkout-heading h2{
    font-size:28px!important;
    line-height:1.05!important;
}
.rifa-checkout-steps{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:8px!important;
    margin:0 0 16px!important;
}
.rifa-checkout-steps div{
    border:1px solid #dbeafe!important;
    background:#eff6ff!important;
    border-radius:16px!important;
    padding:9px 10px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
}
.rifa-checkout-steps strong{
    width:24px!important;
    height:24px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#2563eb!important;
    color:#fff!important;
    font-size:12px!important;
    flex:0 0 auto!important;
}
.rifa-checkout-steps span{
    color:#0f172a!important;
    font-size:12px!important;
    font-weight:900!important;
}
.rifa-form-section-clean{
    border:1px solid #e2e8f0!important;
    background:#fff!important;
    border-radius:20px!important;
    padding:16px!important;
    margin-bottom:14px!important;
}
.rifa-metodos-inline{
    display:grid!important;
    gap:10px!important;
    margin-top:10px!important;
}
.rifa-metodo-info{
    border:1px solid #bfdbfe!important;
    background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%)!important;
    border-radius:18px!important;
    padding:14px!important;
    color:#0f172a!important;
}
.rifa-metodo-info-head{
    display:flex!important;
    gap:12px!important;
    align-items:center!important;
    margin-bottom:12px!important;
}
.rifa-metodo-logo-mini{
    width:56px!important;
    height:56px!important;
    border-radius:14px!important;
    background:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #dbeafe!important;
    overflow:hidden!important;
    flex:0 0 auto!important;
}
.rifa-metodo-logo-mini img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    padding:5px!important;
}
.rifa-metodo-logo-mini i{
    font-size:26px!important;
    color:#2563eb!important;
}
.rifa-metodo-info-head strong{
    display:block!important;
    color:#0f172a!important;
    font-size:16px!important;
    font-weight:950!important;
}
.rifa-metodo-info-head span{
    color:#64748b!important;
    font-size:13px!important;
    font-weight:800!important;
}
.rifa-metodo-row{
    border-top:1px dashed #bfdbfe!important;
    padding-top:10px!important;
    margin-top:10px!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:6px 10px!important;
    align-items:center!important;
}
.rifa-metodo-row small{
    grid-column:1/-1!important;
    color:#64748b!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    font-size:11px!important;
}
.rifa-metodo-row strong{
    color:#0f172a!important;
    font-size:15px!important;
    font-weight:950!important;
    word-break:break-word!important;
}
.rifa-copy-btn-mini{
    border:0!important;
    background:#2563eb!important;
    color:#fff!important;
    border-radius:12px!important;
    padding:8px 10px!important;
    font-size:12px!important;
    font-weight:900!important;
}
.rifa-metodo-note{
    margin:12px 0 0!important;
    color:#475569!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.45!important;
}
.rifa-file-upload-simple{
    border:1px dashed #93c5fd!important;
    background:#f8fbff!important;
    border-radius:18px!important;
    padding:14px!important;
}
.rifa-file-upload-simple .form-control{
    background:#fff!important;
}
.rifa-file-upload-simple small{
    display:block!important;
    margin-top:8px!important;
    color:#64748b!important;
    font-weight:800!important;
}
.rifa-optional-details{
    border:1px solid #e2e8f0!important;
    background:#f8fafc!important;
    border-radius:18px!important;
    margin:0 0 14px!important;
    overflow:hidden!important;
}
.rifa-optional-details summary{
    list-style:none!important;
    cursor:pointer!important;
    padding:14px 16px!important;
    color:#0f172a!important;
    font-weight:950!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
}
.rifa-optional-details summary::-webkit-details-marker{display:none!important;}
.rifa-optional-details summary span{
    margin-left:auto!important;
    color:#2563eb!important;
    background:#dbeafe!important;
    border-radius:999px!important;
    padding:4px 9px!important;
    font-size:11px!important;
    text-transform:uppercase!important;
}
.rifa-optional-body{
    padding:0 14px 14px!important;
}
.rifa-form-note-compact{
    margin-top:8px!important;
}
.rifa-checkout-footer{
    justify-content:flex-end!important;
    gap:10px!important;
    position:sticky!important;
    bottom:0!important;
    background:#fff!important;
    z-index:5!important;
    border-top:1px solid #e2e8f0!important;
}
.rifa-checkout-footer .btn{
    min-height:46px!important;
    border-radius:999px!important;
    font-weight:950!important;
}
.rifa-support-card .rifa-pay-copy h1{
    max-width:720px!important;
}
.rifa-notify-tips-blue{
    background:#eff6ff!important;
    border-color:#bfdbfe!important;
    margin-bottom:18px!important;
}
.rifa-notify-tips-blue h3,
.rifa-notify-tips-blue p{
    color:#0f172a!important;
}
@media(max-width:768px){
    .rifa-checkout-steps{grid-template-columns:1fr!important;}
    .rifa-checkout-heading h2{font-size:24px!important;}
    .rifa-form-section-clean{padding:13px!important;}
    .rifa-metodo-row{grid-template-columns:1fr!important;}
    .rifa-copy-btn-mini{width:100%!important;}
    .rifa-checkout-footer{flex-direction:column!important;align-items:stretch!important;}
    .rifa-checkout-footer .btn{width:100%!important;}
}
