.purchase-status-active header{position:relative;background:linear-gradient(#360029,#700052);height:100px}
.purchase-status-active>footer{margin-top:0}
.status-demo-note{margin:0;padding:10px 16px;text-align:center;font:13px Geo,Arial,sans-serif;background:#fff4d9;color:#594510;line-height:1.4}

/* —— Pantalla final: Tu reserva expiró (oficial Deportick) —— */
.reservation-expired{position:relative;background:#e8ecf2;padding:0 0 80px;min-height:75vh}
.expired-band{position:absolute;inset:0 0 auto;height:190px;background:linear-gradient(to right,#6f0050,#6f0050);pointer-events:none}
.expired-container{position:relative;z-index:1;max-width:1180px;width:100%;margin:0 auto;padding:110px 20px 0}
.expired-content{background:#fff;border-radius:3px;padding:50px;margin:0 0 40px;box-shadow:-6.891px 24.032px 76px 0 rgba(0,0,0,.1)}
.expired-status-header{background:#d0021b;color:#fff;font:500 16.8px/24px Geo,Arial,sans-serif;text-align:center;padding:20px 16px;margin:0}
.expired-body{background:#f1f4f6;text-align:center;padding:0;color:#333;margin:0 0 20px}
.expired-advice{max-width:407px;margin:0 auto;padding:50px 28px 70px}
.expired-advice h1{margin:20px 0 10px;font:700 15.4px/22px Geo,Arial,sans-serif;color:#333;text-align:center}
.expired-advice h3{margin:20px 0 10px;font:600 14px/20px Geo,Arial,sans-serif;color:#192e44;text-align:center}
.expired-advice p{margin:0;padding:0 0 20px;font:400 14px/20px Geo,Arial,sans-serif;color:#555;text-align:center}
.expired-advice p strong{font-weight:700;color:#111;font-size:14px}
.expired-retry{display:inline-block;box-sizing:border-box;width:300px;max-width:100%;background:#fff;color:#192e44;border:.8px solid transparent;border-radius:3px;padding:14px 28px;font:400 14px/normal Geo,Arial,sans-serif;text-align:center;cursor:pointer;box-shadow:none}
.expired-retry:hover{background:#fafbfc;color:#122233}
.expired-retry:focus-visible{outline:3px solid #6f0050;outline-offset:3px}

/* —— Aviso modal: Se acabó el tiempo de reserva —— */
.reservation-timeout-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,20,34,.66);display:flex;justify-content:center;align-items:flex-start;padding:100px 16px 24px;overflow:auto}
.reservation-timeout-dialog{position:relative;width:400px;max-width:100%}
.timeout-notice-close{position:absolute;top:10px;right:10px;z-index:50;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f1f1f1;border:0;border-radius:4px;color:#333;font:400 22px/1 Geo,Arial,sans-serif;padding:0;cursor:pointer}
.timeout-notice-close:hover{background:#e6e6e6}
.timeout-alert-body{background:#fff;border-radius:4px;padding:40px 20px 20px;text-align:center;color:#333;font:400 14px/20px Geo,Arial,sans-serif}
.timeout-alert-image{margin:0 0 30px;min-height:0}
.timeout-alert-body h4{margin:10px 0;font:700 18px/1.1 Geo,Arial,sans-serif;color:#333;text-align:center}
.timeout-alert-body p{margin:0 0 10px;font:400 14px/20px Geo,Arial,sans-serif;color:#333;text-align:center}
.timeout-notice-action{display:inline-block;margin-top:14px;background:#6f0050;color:#fff;border:.8px solid transparent;border-radius:3px;padding:14px 28px;font:400 14px/normal Geo,Arial,sans-serif;cursor:pointer}
.timeout-notice-action:hover{background:#5a0041}
.timeout-notice-action:focus-visible{outline:3px solid #c974b1;outline-offset:3px}

.declined-preview{background:#e9ecf3;min-height:70vh;padding-bottom:50px}
.declined-layout{max-width:1180px;margin:35px auto 0;padding:0 20px}
.declined-panel{width:66%;background:white;border-radius:3px;padding:40px 44px 75px;box-shadow:0 2px 3px #0002}
.declined-panel h1{font-size:18px;font-weight:400;color:#008cff;margin:0 0 22px}
.reference-address{display:grid;grid-template-columns:2.25fr 1fr;gap:38px}
.reference-address span{font-size:13px;color:#999}
.reference-address p{border-bottom:1px solid #ddd;padding:18px 0 22px;margin:0;font-size:16px;color:#111}
.payment-declined{margin:50px 0 0;border:1px solid #ff8b96;border-radius:4px;padding:18px 20px;text-align:center;color:#d00000;line-height:1.5;font-size:17px}
.declined-layout>.primary{width:66%;margin-top:50px;font-size:17px}
.status-preview-link{display:inline-block;margin-top:24px;color:#6f0050;text-decoration:underline}
.status-loading{position:fixed;inset:0;z-index:100;background:#ffffffed;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#444;text-align:center;padding:20px;gap:14px}
.status-loading[hidden],.payment-declined[hidden]{display:none}
.status-loading p{margin:0}
.status-loading small{color:#666}
.status-spinner{width:38px;height:38px;border:4px solid transparent;border-top-color:#6f0050;border-right-color:#6f0050;border-radius:50%;animation:status-spin .8s linear infinite}
@keyframes status-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
 .purchase-status-active header{height:75px}
 .expired-band{height:140px}
 .expired-container{padding:70px 12px 0}
 .expired-content{padding:28px 16px}
 .expired-advice{padding:36px 12px 54px}
 .expired-retry{width:100%}
 .reservation-timeout-overlay{padding-top:70px}
 .reservation-timeout-dialog{width:100%}
 .declined-panel,.declined-layout>.primary{width:100%}
 .declined-panel{padding:28px 22px 50px}
 .reference-address{gap:20px}
 .payment-declined{padding:18px 14px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.status-spinner{animation:none}}
