.public-v2 .branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.branch-card{background:#15291f;border:1px solid #315c3b;border-radius:20px;overflow:hidden}.branch-info{padding:24px}.branch-info small{color:#bbef7a}.branch-info h3{font-size:1.7rem}.branch-info p{color:#b5c9b9;margin:.35em 0}.branch-info button{margin-top:15px}.carousel{height:235px;position:relative;background:#1d452a;overflow:hidden}.carousel img{width:100%;height:100%;object-fit:cover}.carousel-controls{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:4px;background:#07150dbd;border-radius:15px;padding:4px}.carousel-controls button{background:transparent;color:white;padding:1px 9px;font-size:1.4rem}.carousel-controls span{font-size:.75rem;color:white}.photo-placeholder{height:235px;display:grid;place-items:center;background:linear-gradient(145deg,#2d6640,#679255);font-size:4rem}.public-v2 dialog.wide-dialog{width:min(95vw,900px)}.modal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:20px}.modal-cards article{border:1px solid #416145;border-radius:16px;overflow:hidden;background:#21382a}.modal-cards .carousel,.modal-cards .photo-placeholder{height:170px}.card-copy{padding:18px}.card-copy p{color:#b5c9ba}.public-v2 .slots{grid-template-columns:repeat(6,minmax(0,1fr))}.public-v2 .slot-button{padding:14px 6px;display:grid;gap:4px;text-align:center;background:#244d31;color:#fff;border:1px solid #54965c;border-radius:12px}.public-v2 .slot-button small{color:#c7f08b}.public-v2 .slot-button.busy{background:#542f30;color:#ffc7c7;border-color:#884847}.public-v2 .slot-button.past{background:#333e39;color:#9daaa0;border-color:#4a5b50}.public-v2 .slot-button.chosen{background:#b8f35f;color:#173019;box-shadow:0 0 0 2px white}.public-v2 .slot-button.chosen small{color:#173019}.booking-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;background:#21432b;padding:14px;border-radius:13px}.big-payment{background:#b8f35f;color:#10290e;padding:20px;border-radius:16px;display:grid;gap:7px;text-align:center}.big-payment>strong{font-size:1.05rem;line-height:1.3}.big-payment>div{font:800 2rem Outfit}.big-payment>small{font-weight:700}.ticket{text-align:center}.ticket-code{font:800 clamp(1.35rem,5vw,2.3rem) Outfit;color:#b8f35f;margin:16px 0;letter-spacing:.03em;word-break:break-all}.ticket-money{background:#264830;padding:16px;border-radius:12px}.ticket-note{margin:24px 0;background:#e0f898;color:#1b3c18;padding:14px;border-radius:12px;font-weight:800}.ticket-note small{font-weight:500}.lookup-result{margin-top:20px;background:#20392a;padding:16px;border-radius:14px}.lookup-slot{border-top:1px solid #3c6245;padding:10px 0;line-height:1.7}.lookup-actions{display:flex;gap:10px;flex-wrap:wrap}.lookup-actions button{flex:1}.lookup-actions .danger{background:#b94a4a;color:white}.change-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-v2 .top nav a{color:#e9f4ec}@media(max-width:650px){.public-v2 .slots{grid-template-columns:repeat(3,minmax(0,1fr))}.change-controls{grid-template-columns:1fr}.booking-summary{display:grid}.booking-summary button{width:100%}.public-v2 .top nav a{display:none}}
/* Eventos confirmados */
.confirmed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.confirmed-card{background:#192d20;border:1px solid #3a6845;border-radius:20px;overflow:hidden}.confirmed-card>img,.confirmed-placeholder{width:100%;aspect-ratio:5/3;object-fit:cover;background:linear-gradient(125deg,#285e37,#75a64d)}.confirmed-placeholder{display:grid;place-items:center;font-size:4rem}.confirmed-copy{padding:21px}.confirmed-copy h3{font-size:1.5rem}.confirmed-copy p{color:#b8cbb8;margin:.4em 0}.confirmed-copy .dates{color:#bcf17e;font-weight:700}.tiktok-button{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;border:1px solid #8bc7b5;padding:11px 17px;border-radius:11px;font-weight:800;margin-top:15px}.tiktok-button:hover{background:#313131}.tiktok-icon{font-size:1.25rem;text-shadow:2px 1px #f15b76,-2px -1px #56d4d9}@media(max-width:760px){.public-v2 .top{align-items:flex-start}.public-v2 .hero{min-height:0}.public-v2 .hero-inner{padding:55px 20px 35px}.public-v2 .hero-stats{flex-wrap:wrap}.public-v2 .pitch-art{padding:8% 14%}.public-v2 dialog.wide-dialog{width:96vw}.public-v2 .modal-cards{grid-template-columns:1fr}.public-v2 .branch-grid,.confirmed-grid{grid-template-columns:1fr}.public-v2 .inline-form{grid-template-columns:1fr}}@media(max-width:390px){.public-v2 .slots{grid-template-columns:repeat(2,minmax(0,1fr))}.public-v2 .top nav button{font-size:.8rem;padding:9px}.public-v2 .hero-stats{gap:12px}.public-v2 .dialog-body{padding:15px}}
.public-v2 .quote-day{background:#244e30;color:#c4f184;border:1px solid #50945b;border-radius:30px;padding:9px 14px}.public-v2 .day-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 25px;min-height:18px}.public-v2 .inline-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
/* Tarjetas con proporciones estables, incluso cuando solo hay una sede. */
.public-v2 .branch-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),400px));
    justify-content:start;
    align-items:start;
    gap:22px;
}
.public-v2 .branch-card{width:100%;max-width:400px;min-width:0}
.public-v2 .branch-card .carousel,
.public-v2 .branch-card .photo-placeholder{width:100%;height:auto;aspect-ratio:5/3}
.public-v2 .branch-card .carousel img{
    width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#10261a
}
.public-v2 .modal-cards .carousel{height:auto;aspect-ratio:5/3}
.public-v2 .modal-cards .carousel img{object-fit:contain;background:#10261a}
.public-v2 .confirmed-card>img{object-fit:contain;background:#182b1f}
@media(max-width:760px){
    .public-v2 .branch-grid{grid-template-columns:minmax(0,1fr);max-width:420px}
    .public-v2 .branch-card{max-width:420px}
    .public-v2 .section{padding:52px 18px}
    .public-v2 .hero h1{font-size:clamp(2.5rem,12vw,4.3rem)}
    .public-v2 .carousel-controls button{min-width:35px;min-height:35px}
}
@media(max-width:380px){
    .public-v2 .branch-info{padding:18px}
    .public-v2 .dialog-body{padding:16px}
    .public-v2 .booking-summary{padding:12px}
}
@media(max-width:500px){
    .public-v2 .top{gap:10px;padding:15px}
    .public-v2 .brand{font-size:1.2rem}
    .public-v2 .top nav{width:auto}
    .public-v2 .branch-card .carousel,.public-v2 .branch-card .photo-placeholder{aspect-ratio:5/4}
    .public-v2 .confirmed-grid{grid-template-columns:minmax(0,1fr)}
    .public-v2 .slots{gap:7px}
    .public-v2 .slot-button{min-height:66px;padding:9px 5px}
    .public-v2 .change-controls{gap:10px}
    .public-v2 dialog{max-height:94vh}
}
