/* Responsive refinement, using the canonical tokens in site.css. */
.hero-mobile-primary{display:none}
.hero-desktop-program{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline}
.mobile-disclosure>summary{font-size:18px;cursor:pointer;min-height:48px;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.mobile-disclosure>summary::-webkit-details-marker{display:none}
.mobile-disclosure>summary::after{content:"+";font-size:26px;color:var(--ink)}
.mobile-disclosure[open]>summary::after{content:"−"}
.mobile-disclosure>summary:hover,.work-page-link:hover{color:var(--ink);text-decoration:underline}
.mobile-disclosure>summary{display:none}
.work-page-link{display:inline-flex;align-items:center;min-height:48px;color:var(--muted);text-decoration:underline;margin:12px 0}
.functions-more{margin-top:20px}
.ssr-work-copy{padding:20px}
.ssr-work h3{font-family:var(--display);font-size:32px;margin-bottom:12px}
.ssr-work p{margin-bottom:20px}
.ssr-poster-link{display:block;aspect-ratio:4/5;background:var(--bg)}
.ssr-poster-link img{width:100%;height:100%;object-fit:contain}
.no-js .reveal,.no-js .reveal-stagger>*{opacity:1;transform:none}
.no-js [data-flip-card],.no-js [data-dyn-book],.no-js #menuBtn,.no-js .reserve-small{display:none}
.no-js .show-back{display:none}
.no-js .faq-a{display:block!important}
.no-js .ssr-work{height:auto;min-height:0}
.no-js .ssr-work .ssr-work-copy{position:static}
.work-performances{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}
.work-performances h2{font-size:32px;margin-bottom:20px}
.work-performance{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;scroll-margin-top:100px}
.work-performance time{display:block}
.work-performance small{color:var(--muted)}
.work-performance a{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline}
.work-prices{margin-top:20px;color:var(--muted)}
.work-reservation-note{font-size:16px;margin-top:16px;color:var(--muted)}
.journal-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:16px;color:var(--muted);margin-bottom:24px}
.journal-breadcrumb a{text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.journal-breadcrumb span{align-self:center}
.journal .work-cover{aspect-ratio:4/5;object-fit:contain;background:var(--bg);max-height:775px;width:min(620px,100%);height:auto}
@media(max-width:620px){
  html{scroll-padding-top:88px}
  .hero{padding-top:104px;padding-bottom:28px;min-height:0}
  .hero-grid{display:block;min-height:0}
  .hero .display{font-size:clamp(40px,10vw,56px);line-height:1.03}
  .hero-desc{margin-top:16px;font-size:18px;max-width:36ch}
  .hero-visual,.hero-note,.hero-practical-links,#heroReserve,.hero-desktop-program{display:none!important}
  .hero-actions{margin-top:22px;display:block}
  .hero-mobile-primary{display:inline-flex;min-height:50px;background:var(--red2);border-color:var(--red2);color:var(--ink);padding:12px 20px}
  .hero-mobile-primary:hover{background:var(--red)}
  .functions,.program,.coming,.history-section,.visit,.faq,.social-v8{padding-top:36px;padding-bottom:36px}
  .section-head{margin-bottom:24px;gap:12px}
  .section-title,.history-v8-head h2,.faq-v6-head .section-title{font-size:36px;line-height:1.08}
  #funciones .section-copy,#cartelera .section-copy,#proximamente .section-copy,.visit .section-copy{display:none}
  .function-row{grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto;gap:12px;padding:18px 0;align-items:center}
  .function-play .mini-thumb,.function-play small{display:none}
  .function-play{min-width:0;display:block}
  .function-play strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
  .function-date{flex-direction:column;align-items:flex-start;gap:4px}
  .function-full-date,.date-meta{font-size:16px}
  .function-row .row-reserve{grid-column:auto;min-width:0;padding:10px 12px;min-height:48px;font-size:16px}
  .function-row.is-disabled{grid-template-columns:minmax(96px,auto) minmax(0,1fr)}
  .function-row.is-disabled .row-reserve{display:none}
  .function-labels{margin-top:6px}
  .show-front-content .show-tags .tag:first-child{display:none}
  .show-front-content>p{display:none}
  .show-front-content h3{margin-bottom:14px}
  .show-actions{gap:12px}
  .show-actions button{min-height:48px}
  .cartelera-comments-v8{padding:20px;margin-top:28px;gap:16px}
  .cartelera-comments-copy h3,.cartelera-comments-copy p,.cartelera-comments-brand small{display:none}
  .cartelera-comments-copy span{font-size:20px;color:var(--ink)}
  .history-v9-tenure{display:none}
  .history-v8-head{margin-bottom:24px;gap:20px}
  .history-v8-copy>p{font-size:18px;line-height:1.6}
  .mobile-disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px}
  .mobile-disclosure>summary{display:flex;padding:14px 0}
  .mobile-disclosure-content{padding-bottom:20px}
  .history-v8-visual{margin-top:16px}
  .history-archive-cta{margin-top:24px}
  .social-v8,.footer-v7-info{display:none}
  .footer-v7-links{display:flex;flex-wrap:wrap;gap:16px}
  .footer-v7-links a{min-height:48px;display:inline-flex;align-items:center}
  .blog-entry-v1{padding:28px 20px}
  .blog-entry-v1-content small,.blog-entry-v1-content p{display:none}
  .blog-entry-v1-content h2{font-size:30px}
  .contact-card>p,.contact-card>.eyebrow{display:none}
  .faq-v6-head{margin-bottom:20px}
  .no-js .navlinks{position:static;display:flex;flex-wrap:wrap;gap:10px;max-height:none;transform:none;visibility:visible;opacity:1;padding:12px 0}
  .no-js .topbar{position:static}
  .no-js .nav{flex-wrap:wrap}
  .no-js .hero{padding-top:28px}
  .journal-nav{gap:12px;flex-wrap:wrap;padding:16px 20px}
  .journal{padding-top:28px}
  .journal-head{padding:24px 0 28px}
  .journal-head h1{font-size:42px;overflow-wrap:anywhere}
  .journal .work-cover{margin-bottom:28px;max-height:none}
  .journal-body{margin:28px auto;line-height:1.65}
  .work-performance{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(forced-colors:active){.hero-mobile-primary{border:1px solid ButtonText}}

@media(max-width:620px){.function-row .buy-extra{display:none}.function-row .guest-tag{font-size:.72rem;letter-spacing:.04em;padding:2px 8px;white-space:nowrap}}

.hero-mobile-secondary{display:none}
@media(max-width:620px){.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-mobile-primary,.hero-mobile-secondary{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:12px 20px;font-weight:600}.hero-mobile-secondary{border:1px solid var(--ink);background:transparent;color:var(--ink)}.hero-mobile-secondary::before{content:'';width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}}

/* Computer: the hero keeps only the two main actions, same as on the phone. */
@media(min-width:621px){#heroReserve,.hero-desktop-program,.hero-practical-links,.hero-note{display:none!important}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}.hero-mobile-primary,.hero-mobile-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:14px 28px;border-radius:6px;font-weight:600;font-size:1.05rem}.hero-mobile-primary{background:var(--red2);border:1px solid var(--red2);color:var(--ink)}.hero-mobile-primary:hover{background:var(--red);border-color:var(--red)}.hero-mobile-secondary{border:1px solid var(--ink);background:transparent;color:var(--ink)}.hero-mobile-secondary:hover{background:rgba(255,255,255,.08)}.hero-mobile-secondary::before{content:'';width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}}

/* Próximas funciones: the booking button is red so it stands out. */
.function-row .row-reserve:not([disabled]),.cal-detail-row .row-reserve:not([disabled]){background:var(--red2);border-color:var(--red2);color:#fff;font-weight:600}.function-row .row-reserve:not([disabled]):hover,.cal-detail-row .row-reserve:not([disabled]):hover{background:var(--red);border-color:var(--red)}

/* Home: the archive button is red so it stands out. */
.history-archive-btn{background:var(--red2);border-color:var(--red2);color:#fff}.history-archive-btn:hover{background:var(--red);border-color:var(--red);color:#fff}
/* Etiqueta "Espectáculo invitado" en Próximas funciones: nunca se mete debajo del botón Comprar/Reservar */
.function-play .guest-tag{max-width:100%;box-sizing:border-box}
@media(max-width:620px){
  .function-row.is-guest:not(.is-disabled),.function-row:has(.guest-tag):not(.is-disabled){grid-template-columns:minmax(96px,auto) minmax(0,1fr);row-gap:10px}
  .function-row.is-guest:not(.is-disabled) .function-date,.function-row:has(.guest-tag):not(.is-disabled) .function-date{grid-row:span 2;align-self:start}
  .function-row.is-guest .row-reserve,.function-row:has(.guest-tag) .row-reserve{grid-column:2;justify-self:start}
  .function-row .guest-tag{white-space:normal;letter-spacing:.03em;line-height:1.25;border-radius:10px;margin-top:6px}
}
/* Pie "Con el apoyo de" (Cofonte, Fortalecimiento) + "Afiliado a" (FUTI): todo en una sola línea */
.supporters{flex-wrap:nowrap;gap:28px}
.supporters-group{display:flex;align-items:center;gap:12px;min-width:0}
.supporters-group .supporters-logos{flex-wrap:nowrap}
@media(max-width:760px){
  .supporters{gap:10px;align-items:flex-end}
  .supporters-group{flex-direction:column;align-items:center;gap:6px}
  .supporters-label{font-size:10px;letter-spacing:.06em;white-space:nowrap}
  .supporters-logos{gap:6px}
  .supporters-logos a{height:34px;padding:5px 7px;border-radius:8px}
  .supporters-logos img{height:20px}
}
@media(max-width:350px){.supporters-logos a{height:30px;padding:4px 5px}.supporters-logos img{height:16px}.supporters{gap:6px}}
