:root{--ta-ink:#292522;--ta-muted:#827a72;--ta-accent:#4735fd;--ta-gold:#b39470;--ta-line:#e7e0d8;--ta-paper:#fff;--ta-warm:#faf8f5}
*{box-sizing:border-box}
body{background:var(--ta-paper)!important;color:var(--ta-ink)!important;font-family:Inter,"Segoe UI",Arial,sans-serif!important;line-height:1.55}
a{color:var(--ta-accent)}
h1,h2,h3,.hero h1,.section-heading{font-family:Georgia,"Times New Roman",serif!important;color:var(--ta-ink);font-weight:500;letter-spacing:-.025em}
h1{line-height:1.2}
.topbar,header{background:var(--ta-paper)!important;border-bottom:1px solid var(--ta-line)!important}
.topbar-inner{max-width:1180px!important;padding:18px clamp(18px,4vw,48px)!important}
.brand{color:var(--ta-accent)!important;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700!important;letter-spacing:0!important}
.nav{gap:clamp(14px,2.5vw,30px)!important}
.nav a{color:#625c56!important;text-decoration:none;font-weight:550!important}
.nav a:hover{color:var(--ta-accent)!important}
.container{width:min(1120px,calc(100% - 36px));padding:34px 0 58px!important}
.hero{padding:26px 0 30px!important;border-radius:0!important;background:transparent!important;color:var(--ta-ink)!important;border-bottom:1px solid var(--ta-line);margin-bottom:28px!important}
.hero h1{font-size:clamp(34px,5vw,52px)!important;line-height:1.12!important;margin:0 0 10px!important}
.hero p{color:var(--ta-muted)!important;opacity:1!important;line-height:1.65!important}
.eyebrow{color:var(--ta-gold)!important;opacity:1!important;letter-spacing:.16em!important}
.section-heading{font-size:29px!important;margin-bottom:20px!important}
.card,.empty{background:var(--ta-paper)!important;border:1px solid var(--ta-line)!important;border-radius:10px!important;box-shadow:0 8px 24px #3b2d1d08!important}
.poster-placeholder{background:#f4eee8!important;color:var(--ta-accent)!important}
.card h3{font-size:25px!important}
.function,.row{border-color:var(--ta-line)!important}
.description,.details,.muted,.meta{color:var(--ta-muted)!important}
.button,.btn,button{background:var(--ta-accent)!important;color:#fff!important;border:1px solid var(--ta-accent)!important;border-radius:4px!important;box-shadow:none!important}
.button:hover,.btn:hover,button:hover{background:#3727d8!important}
.button.disabled,.btn:disabled,button:disabled{opacity:.55}
input,textarea,select{border-color:#d9d1c8!important;border-radius:4px!important;color:var(--ta-ink)!important}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ta-gold)!important;box-shadow:0 0 0 3px #b3947020!important}
.notice{background:#fbf5eb!important;border:1px solid #e8d6bd!important;border-radius:5px!important;color:#67513a!important}
.pill{background:#f4eee8!important;color:#695740!important}
.stage{background:#f4eee8!important;color:var(--ta-accent)!important;border:1px solid var(--ta-line);border-radius:4px!important;letter-spacing:.16em!important}
.seat{border-radius:4px!important}
.seat.seleccionada{background:var(--ta-accent)!important;border-color:var(--ta-accent)!important;color:#fff!important}
.dot.selected{background:var(--ta-accent)!important;border-color:var(--ta-accent)!important}
footer{border-color:var(--ta-line)!important;color:#aaa197!important}
@media(max-width:600px){.topbar-inner{align-items:flex-start!important;flex-direction:column!important}.container{padding-top:24px!important}.hero{padding:20px 0 24px!important}.hero h1{font-size:36px!important}}

.ticket .head{background:var(--ta-accent)!important}

/* Colores solicitados para el mapa de butacas */
.seat.disponible:not(.seleccionada){background:#4735fd!important;border-color:#4735fd!important;color:#fff!important}
.seat.reservada,.seat.vendida{background:#e2e1fe!important;border-color:#e2e1fe!important;color:#070619!important}
.seat.seleccionada{background:#070619!important;border-color:#070619!important;color:#fff!important;box-shadow:0 0 0 2px #07061925!important}
.dot.free{background:#4735fd!important;border-color:#4735fd!important}
.dot.taken{background:#e2e1fe!important;border-color:#e2e1fe!important}
.dot.selected{background:#070619!important;border-color:#070619!important}
/* Números blancos en butacas ocupadas */
.seat.reservada,.seat.vendida{color:#fff!important}
