.queue-active header{position:relative;background:#6f0050;height:70px;padding:0 26px}
.queue-active header img{width:150px}
.queue-active header nav,.queue-active>footer{display:none}
.queue-active main{min-height:calc(100dvh - 70px);display:flex;flex-direction:column}
.queue-page{background:#e9ecee;padding-bottom:0;min-height:calc(100dvh - 70px);display:flex;flex-direction:column;flex:1;font-family:Geo,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.queue-hero{width:100%;height:min(50vh,420px);min-height:220px;overflow:hidden;border-radius:0 0 25px 25px;margin-bottom:60px;background:#6f0050 url('/assets/queue-hero.png') top center/cover no-repeat;position:relative;flex-shrink:0}
.queue-hero img{display:none}
.queue-card{max-width:768px;width:calc(100% - 20px);margin:-0 auto 60px;background:#fff;text-align:center;padding:15px 15px 10px;box-shadow:0 20px 50px -10px #5e2e4b;border-radius:6px;color:#000;flex-shrink:0}
.queue-card h1{font-family:Steel,Arial,sans-serif;font-size:2.5rem;font-weight:700;font-style:italic;line-height:normal;margin:15px 0;letter-spacing:.01em;color:#000}
.queue-event{font-size:1rem;line-height:1.5;margin:0 auto 8px;max-width:none;font-weight:400;color:#000}
.queue-help{margin:0 0 8px}
.queue-help summary,.queue-whatis{cursor:pointer;text-decoration:underline;font-size:.875rem;list-style:none;display:inline-block;color:#000}
.queue-help summary::-webkit-details-marker{display:none}
.queue-help p{max-width:540px;margin:14px auto 0;color:#000;font-size:.875rem;line-height:1.5}
.queue-admission{padding:20px 0 8px;text-align:center;max-width:100%;margin:0 auto}
.queue-stage-icon{position:relative;margin:0 auto 10px;width:44px;height:44px;display:grid;place-items:center}
.queue-spinner{width:36px;height:36px;border:3px solid #eadbe7;border-top-color:#6f0050;border-radius:50%;animation:queue-spin .75s linear infinite;grid-area:1/1}
.queue-stage-icon svg{display:none;width:26px;height:26px;fill:none;stroke:#218656;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}
.queue-admission h2{font-size:1.125rem;font-weight:400;margin:0 0 4px;color:#000}
.queue-admission p{font-size:1.125rem;line-height:1.4;color:#000;margin:0}
.queue-admission small{display:block;font-size:.875rem;color:#000;margin-top:10px}
.queue-waiting .queue-spinner{display:block}
.queue-ready .queue-stage-icon{background:#eaf6ee;border-radius:50%}
.queue-ready .queue-spinner{display:none}
.queue-ready .queue-stage-icon svg{display:block;animation:queue-check .28s ease-out}
.queue-ready h2{color:#227949;font-weight:600}
.queue-ready p{font-size:1.125rem;color:#000}
.queue-ready p strong{font-weight:700}
/* Progress bar — style02 oficial: alto 35px, franjas #6f0050, pelota runner */
.queue-progress{height:35px;border-radius:0;overflow:hidden;background:#e9ecee;max-width:100%;margin:8px 0 18px;padding:5px;box-sizing:border-box;position:relative}
.queue-progress span{display:block;background-color:#6f0050;background-image:linear-gradient(90deg,rgba(255,255,255,0) 13px,#6f0050 13px);background-size:15px;height:100%;width:100%;transform:scaleX(.04);transform-origin:left;transition:transform .08s linear;position:relative;border-radius:0}
.queue-progress span::after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:25px;height:25px;background:url('/assets/queue-ball.gif') center/contain no-repeat;pointer-events:none}
.queue-ready ~ .queue-progress span,.queue-ready + .queue-progress span{transform:scaleX(1)!important;transition:transform .25s ease-out}
.queue-ready ~ .queue-progress span::after,.queue-ready + .queue-progress span::after{display:none}
.queue-message{background:#e9ecee;padding:10px;margin:0 0 16px;min-height:0;text-align:center;color:#000}
.queue-message p{font-size:.875rem;line-height:1.4;margin:0 0 8px;color:#000;font-weight:400}
.queue-message p:last-child{margin:0;font-size:1rem;font-weight:400;color:#000;transition:opacity .2s ease}
.queue-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;font-size:.625rem;color:#000;padding:10px 0 4px}
.queue-bottom strong,.queue-id-label{margin-right:8px;font-weight:700;font-size:.625rem;border:0;background:none;padding:0;color:#000;cursor:default;font-family:inherit}
.queue-provider{font:700 25px/1 Arial,sans-serif;letter-spacing:-1.2px;white-space:nowrap;color:#333;display:inline-flex;align-items:center}
.queue-provider svg{height:15px;width:auto;display:block}
.queue-enter{display:inline-block;width:auto;min-height:0;padding:0;margin:6px 0 8px;font-size:.75rem;color:#737985;text-decoration:underline;background:none;border:0}
@keyframes queue-spin{to{transform:rotate(360deg)}}
@keyframes queue-check{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
@media(max-width:768px){
 .queue-hero{border-radius:0 0 12px 12px;margin-bottom:36px;height:42vh}
 .queue-card{margin:0 10px 40px;width:auto}
 .queue-card h1{font-size:2.1rem}
 .queue-bottom{font-size:.625rem}
 .queue-bottom>span{overflow-wrap:anywhere}
}
@media(max-width:540px){
 .queue-active header{height:60px;padding:0 22px}
 .queue-active header img{width:130px}
 .queue-page{padding-bottom:0}
 .queue-card{padding:12px 12px 8px}
 .queue-card h1{font-size:1.85rem;margin:10px 0}
 .queue-event{font-size:.95rem}
 .queue-admission h2,.queue-admission p{font-size:1rem}
 .queue-message p:last-child{font-size:1rem}
 .queue-bottom{gap:12px;flex-wrap:wrap}
 .queue-provider svg{height:13px}
}
@media(prefers-reduced-motion:reduce){
 .queue-spinner{animation:none;border-top-color:#6f0050;opacity:.85}
 .queue-stage-icon svg{animation:none}
 .queue-progress span{transition:none}
}
