
.fa-ticket-app,.fa-ticket-modal,.fa-generated-ticket{font-family:Arial,Helvetica,sans-serif}
.fa-ticket-app{background:linear-gradient(135deg,var(--fa-bg),#170202,#000);border:2px solid var(--fa-gold);border-radius:28px;padding:24px;color:var(--fa-text);box-shadow:0 0 35px rgba(212,175,55,.35);margin:18px 0}
.fa-ticket-hero{display:flex;justify-content:space-between;gap:18px;align-items:center}
.fa-ticket-hero h1{color:var(--fa-cyan);font-size:42px;margin:0;font-family:Georgia,serif;letter-spacing:2px}
.fa-ticket-hero h2{font-size:28px;margin:8px 0;color:#fff;font-family:Georgia,serif}
.fa-ticket-hero p{color:#ffe28a;font-weight:900;font-size:20px}
.fa-open-form,.fa-submit,#faSearchBtn{background:linear-gradient(90deg,#ffe88a,#ffae00);color:#111;border:0;border-radius:14px;padding:14px 18px;font-weight:900;cursor:pointer}
.fa-ticket-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:18px}
.fa-ticket-type{background:rgba(255,255,255,.08);border:1px solid var(--fa-gold);border-radius:18px;padding:16px}
.fa-ticket-type h3{color:var(--fa-cyan);margin:0 0 8px}.fa-ticket-type b{display:block;font-size:24px;color:#ffe28a}.fa-ticket-type span{display:block;margin:6px 0 12px;color:#fff}
.fa-ticket-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.84);z-index:2147483000;align-items:center;justify-content:center;padding:18px}
.fa-ticket-modal.active{display:flex}
.fa-ticket-box{width:min(1050px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(135deg,#050505,#170202,#000);border:2px solid #d4af37;border-radius:24px;padding:22px;color:#fff;box-shadow:0 0 55px rgba(212,175,55,.5)}
.fa-close{float:right;background:#8b1111;color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer}
.fa-payment-info{background:rgba(255,255,255,.06);border:1px solid #d4af37;border-radius:16px;padding:12px;margin:12px 0}.fa-payment-info pre{white-space:pre-wrap;color:#111;font-weight:700}
.fa-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;clear:both}
.fa-form-grid input,.fa-form-grid select,.fa-form-grid textarea{width:100%;box-sizing:border-box;background:#050505;border:1px solid #00e5ff;border-radius:12px;padding:13px;color:#fff}
.fa-form-grid textarea{grid-column:1/-1;min-height:90px}.fa-submit{grid-column:1/-1;width:100%;font-size:18px}.fa-result{margin-top:12px}
.fa-generated-ticket{display:grid;grid-template-columns:2.4fr 1fr;gap:0;background:linear-gradient(135deg,var(--fa-bg),#170202,#000);border:5px solid var(--fa-gold);border-radius:28px;color:var(--fa-text);overflow:hidden;min-height:440px;margin:16px 0}
.fa-ticket-left{padding:28px;border-right:5px dashed #fff}.fa-ticket-right{padding:28px;background:#030303;text-align:center}
.fa-generated-ticket h1{color:var(--fa-cyan);font-size:42px;margin:0;font-family:Georgia,serif}.fa-generated-ticket h2{font-family:Georgia,serif;color:#fff}.fa-generated-ticket h3{color:#ffe28a}
.fa-code-box{background:#fff;color:#111;border:4px solid var(--fa-gold);border-radius:18px;padding:12px 18px;margin:24px 0}.fa-code-box small{display:block;color:#8b1111;font-weight:900}.fa-code-box b{font-family:Georgia,serif;font-size:44px;letter-spacing:2px}
.fa-barcode{width:100%;height:115px;background:#fff;border-radius:14px}.fa-mini-barcode{width:100%;height:90px;background:#fff;border-radius:12px}.fa-qr{background:#fff;padding:12px;border-radius:14px;display:inline-block;margin:10px auto}
.fa-client{font-size:20px;font-family:Georgia,serif;margin-top:20px}.fa-client b{color:var(--fa-cyan)}
.fa-courtesy{background:#fff3cd;color:#8b1111;border:3px solid var(--fa-gold);border-radius:16px;padding:18px;margin:16px 0;font-weight:900}
.fa-ticket-search{background:#050505;color:#fff;border:2px solid #d4af37;border-radius:18px;padding:18px}.fa-ticket-search input{padding:12px;border-radius:12px;border:1px solid #00e5ff;background:#000;color:#fff}
@media(max-width:900px){.fa-ticket-hero{flex-direction:column;align-items:flex-start}.fa-generated-ticket{grid-template-columns:1fr}.fa-ticket-left{border-right:0;border-bottom:5px dashed #fff}.fa-form-grid{grid-template-columns:1fr}.fa-generated-ticket h1{font-size:30px}.fa-code-box b{font-size:30px}}
@media print{body *{visibility:hidden}.fa-generated-ticket,.fa-generated-ticket *{visibility:visible}.fa-generated-ticket{position:absolute;left:0;top:0;width:100%}}



.fa-payment-info,
.fa-payment-info *,
.fa-payment-info h3,
.fa-payment-info pre,
.fa-payment-info p,
.fa-payment-info span,
.fa-payment-info div{
    color:#000000 !important;
    text-shadow:none !important;
    opacity:1 !important;
    font-weight:900 !important;
}

.fa-payment-info{
    background:#ffffff !important;
    border:2px solid #d4af37 !important;
}




/* ===== FIX V2: textos negros y botón X al medio derecho ===== */
.fa-payment-info,
.fa-payment-info *,
.fa-payment-info h3,
.fa-payment-info pre,
.fa-payment-info p,
.fa-payment-info span,
.fa-payment-info div,
.fa-ticket-box .fa-payment-info,
.fa-ticket-box .fa-payment-info *{
    color:#000000 !important;
    text-shadow:none !important;
    opacity:1 !important;
    font-weight:900 !important;
}

.fa-payment-info{
    background:#ffffff !important;
    border:2px solid #d4af37 !important;
}

.fa-payment-info pre{
    background:#ffffff !important;
    color:#000000 !important;
    white-space:pre-wrap !important;
    font-family:Arial, Helvetica, sans-serif !important;
    line-height:1.55 !important;
}

.fa-ticket-box{
    position:relative !important;
    overflow:visible !important;
}

.fa-close{
    display:none !important;
}

.fa-close-side{
    position:fixed !important;
    top:50% !important;
    right:24px !important;
    transform:translateY(-50%) !important;
    width:68px !important;
    height:68px !important;
    border-radius:50% !important;
    background:#111111 !important;
    color:#ffffff !important;
    border:5px solid #d4af37 !important;
    font-size:42px !important;
    font-weight:900 !important;
    line-height:54px !important;
    cursor:pointer !important;
    z-index:2147483647 !important;
    box-shadow:0 0 28px rgba(212,175,55,.75), 0 8px 22px rgba(0,0,0,.65) !important;
    text-align:center !important;
}

.fa-close-side:hover{
    background:#8b1111 !important;
    color:#ffffff !important;
}

@media(max-width:700px){
    .fa-close-side{
        right:10px !important;
        width:54px !important;
        height:54px !important;
        font-size:32px !important;
        line-height:42px !important;
    }
}



/* ===== FIX V3: modal con scroll, pago sin datos públicos visibles, textos negros ===== */
.fa-ticket-modal.active{
    display:flex !important;
    overflow-y:auto !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:30px 18px 80px !important;
}
.fa-ticket-box{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    margin:auto !important;
}
.fa-form-grid{
    padding-bottom:40px !important;
}
.fa-payment-info,
.fa-payment-info *,
.fa-payment-info h3,
.fa-payment-info pre,
.fa-payment-info p,
.fa-payment-info span,
.fa-payment-info div{
    color:#000000 !important;
    text-shadow:none !important;
    opacity:1 !important;
    font-weight:900 !important;
}
.fa-payment-info{
    background:#ffffff !important;
    border:2px solid #d4af37 !important;
}
.fa-payment-info pre{
    background:#ffffff !important;
    color:#000000 !important;
    border:1px solid #cccccc !important;
    border-radius:8px !important;
    padding:14px !important;
    max-height:none !important;
    overflow:visible !important;
}
.fa-payment-info pre::selection{
    background:#ffdc73 !important;
    color:#000 !important;
}
.fa-ticket-box h2,
.fa-ticket-box h3{
    color:#ffffff !important;
}
.fa-payment-info h3{
    color:#000000 !important;
}
