/* Edition artwork is a document, never a cropped decorative background. */
.show-official-hero.is-typographic{min-height:460px;background:var(--ink)}
.show-official-hero.is-typographic::after{background:linear-gradient(120deg,rgba(140,106,61,.16),transparent 65%)}
.show-official-hero .show-official-heading h1{font-size:clamp(1.85rem,5vw,4.5rem);line-height:1.08;max-width:100%;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:normal}
.show-official-section-grid>header h2,.show-official-gallery h2{font-size:clamp(1.85rem,3.2vw,3rem);line-height:1.12;max-width:100%;letter-spacing:-.035em}
.show-edition-artwork{padding:clamp(28px,5vw,64px) 0;background:var(--surface);border-bottom:1px solid var(--line)}
.show-edition-artwork a{display:block;max-width:1152px;margin:auto;text-decoration:none;color:var(--ink)}
.show-edition-artwork picture{display:block;background:var(--ink)}
.show-edition-artwork img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.show-edition-artwork a>span{display:flex;justify-content:space-between;padding:12px 0;font-size:.85rem;color:var(--brand-deep)}
.show-edition-artwork a:focus-visible{outline:3px solid var(--brand);outline-offset:6px}
.show-calendar-choice{position:relative;min-width:0;flex:1 1 180px}
.show-calendar-choice>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 15px;border:1px solid currentColor;list-style:none;cursor:pointer;font-size:.8rem;font-weight:700}
.show-calendar-choice>summary::-webkit-details-marker{display:none}
.show-calendar-choice>summary::after{content:'+';font-size:1.2rem;line-height:1}
.show-calendar-choice[open]>summary::after{content:'−'}
.show-calendar-choice>div{position:absolute;z-index:12;top:calc(100% + 6px);left:0;width:max(100%,260px);max-width:calc(100vw - 64px);padding:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 35px #25282d30}
.show-calendar-choice>div>a{display:block!important;color:var(--ink)!important;padding:12px!important;font-size:.85rem!important;line-height:1.4;text-decoration:none!important;border:0!important}
.show-calendar-choice>div>a:hover,.show-calendar-choice>div>a:focus-visible{background:var(--bg);color:var(--brand-deep)!important}
.show-calendar-choice>div>p{padding:8px 12px;margin:0;font-size:.78rem;line-height:1.5}
.show-official-practical-actions .show-calendar-choice{flex:0 1 260px}
.show-official-footer .container{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
.home-program-picture>img{object-fit:contain!important;object-position:center!important;transform:none!important}
.home-program-picture{background:var(--ink)}
.home-program-feature-shade{display:none}
.home-program-feature-badge{position:relative;inset:auto;padding:14px 22px;width:calc(100% - var(--ticket-width));margin:0;background:var(--ink);z-index:2}
.home-program-feature .home-program-picture{top:48px}
.home-program-row-media img{object-fit:contain!important;background:var(--ink)}
.stage-page-hero .inner-hero-copy{position:relative;min-width:0;z-index:1}
.stage-page-hero .inner-hero-copy h1{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1;max-width:100%;overflow-wrap:break-word}
.stage-page-hero .next-show{min-width:0;margin-top:0}
.stage-page-hero .stage-page-hero-in{gap:clamp(28px,5vw,76px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.ps-page{background:var(--bg);color:var(--ink);padding-bottom:80px}
.madrigal-programmes-page .site-foot{margin-top:0}
.ps-hero{padding:clamp(50px,8vw,110px) 0 44px;border-bottom:1px solid var(--line)}
.ps-hero h1{font-size:clamp(2.65rem,7.5vw,7rem);line-height:.96;letter-spacing:-.055em;max-width:12ch;margin:16px 0 28px}
.ps-hero p:not(.meta-mono){max-width:62ch;color:var(--mut);line-height:1.65}
.ps-hero a{display:inline-block;margin-top:10px;color:var(--brand-deep)}
.ps-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr auto;align-items:end;gap:16px;padding:32px 0 24px}
.ps-filters label{display:grid;gap:8px;font-size:.83rem;font-weight:700;min-width:0}
.ps-filters input,.ps-filters select{width:100%;min-width:0;min-height:48px;padding:10px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:0;font:inherit}
.ps-filters button{min-height:48px;padding:12px 20px;border:0;background:var(--brand-deep);color:var(--surface);font:inherit;font-weight:700;cursor:pointer}
.ps-results-head{display:flex;justify-content:space-between;gap:20px;margin:0 0 28px;font-size:.9rem;align-items:center}
.ps-results-head p{margin:0}.ps-results-head a{color:var(--brand-deep)}
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}
.ps-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:22px;display:flex;flex-direction:column}
.ps-card-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--surface);overflow:hidden;text-decoration:none}
.ps-card-cover img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.ps-card-cover:hover img{transform:scale(1.025)}
.ps-card-cover>span{font:700 2rem/1 var(--font-sans,sans-serif);color:var(--brand)}
.ps-card p{font-size:.9rem;line-height:1.55;color:var(--mut)}
.ps-card .meta-mono{font-size:.72rem;margin:18px 0 10px;color:var(--brand-deep)}
.ps-card h2{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.15;letter-spacing:-.03em;margin:0 0 10px;overflow-wrap:break-word}
.ps-card h2 a{color:inherit;text-decoration:none}
.ps-card .ps-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;color:var(--brand-deep);font-weight:700;font-size:.85rem;text-decoration:none}
.ps-card .ps-note{border-left:2px solid var(--brand);padding-left:12px;font-size:.8rem}
.ps-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:48px}
.ps-pagination a,.ps-pagination span{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);color:var(--ink);text-decoration:none;padding:6px 12px}
.ps-pagination [aria-current]{background:var(--ink);color:var(--bg)}
.ps-page :focus-visible{outline:3px solid var(--brand);outline-offset:4px}
@media(max-width:1000px){.ps-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-filters button{width:max-content}.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.show-official-hero.is-typographic{min-height:0}.show-calendar-choice>div{position:static;width:100%;max-width:100%;margin-top:6px}.stage-page-hero .stage-page-hero-in{grid-template-columns:minmax(0,1fr)}.stage-page-hero .inner-hero-copy h1{font-size:clamp(2.7rem,11vw,5rem)}}
@media(max-width:720px){.home-program-feature-badge{width:100%;font-size:.65rem}.home-program-feature .home-program-picture{top:auto;height:min(135vw,580px);max-height:none}.home-program-feature-badge{order:-1}.home-program-feature{display:flex;flex-direction:column}.home-program-feature-copy{width:100%}}
@media(max-width:600px){.show-edition-artwork a{max-width:400px}.ps-grid{grid-template-columns:minmax(0,1fr);gap:32px}.ps-filters{gap:16px 12px}.ps-filters label:first-child{grid-column:1/-1}.ps-results-head{align-items:flex-start}.ps-card-cover{aspect-ratio:5/4}.ps-card h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.ps-card-cover img{transition:none}}

/* Calendar: browsing controls and the selected month take precedence over empty space. */
.post-type-archive-spectacol .stage-page-hero{min-height:0;padding:0}
.post-type-archive-spectacol .stage-page-hero-in{padding-top:28px;padding-bottom:28px;gap:32px}
.post-type-archive-spectacol .stage-page-hero .inner-hero-copy>.meta-mono{margin:0 0 12px}
.post-type-archive-spectacol .stage-page-hero .inner-hero-copy h1{margin:0;font-size:clamp(2.7rem,5.2vw,4.4rem);line-height:1.04}
.post-type-archive-spectacol .stage-page-hero .inner-hero-lede{margin:16px 0 0;font-size:1rem;line-height:1.5;max-width:48ch}
.stage-calendar-jump{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:12px;color:var(--accent-on-dark);text-decoration:none;font-size:.85rem;font-weight:750}
.stage-calendar-jump:hover{color:var(--surface)}
.post-type-archive-spectacol .next-show{align-self:center;padding:18px 22px;border-top-width:3px}
.post-type-archive-spectacol .next-show .meta-mono{margin:0 0 10px}
.post-type-archive-spectacol .next-show .show-universe-chip{margin:0 0 10px;font-size:.68rem;line-height:1.4}
.post-type-archive-spectacol .next-show-date{padding-bottom:10px;gap:16px}
.post-type-archive-spectacol .next-show-date strong{font-size:2.8rem;line-height:1}
.post-type-archive-spectacol .next-show-date span{font-size:.72rem;line-height:1.4}
.post-type-archive-spectacol .next-show h2{margin:12px 0 8px;font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.18}
.post-type-archive-spectacol .next-show-actions{gap:8px;margin-top:14px;flex-wrap:wrap}
.post-type-archive-spectacol .next-show-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:.72rem;letter-spacing:.04em}
.shows-calendar-page{scroll-margin-top:88px;background:var(--surface)}
.shows-calendar-head{padding:26px 0 18px;gap:24px;align-items:center}
.shows-calendar-head .meta-mono{margin:0 0 6px}
.shows-calendar-head h2{margin:0;font-size:clamp(2rem,3.1vw,3rem);line-height:1.06;letter-spacing:-.045em}
.shows-calendar-head>div>p:last-child{margin:8px 0 0;font-size:.9rem;line-height:1.45}
.shows-year-switch{gap:6px;align-items:stretch}
.shows-year-switch a{min-width:92px;min-height:54px;padding:12px 16px;align-items:center;font-size:1.75rem;line-height:1;color:var(--mut)}
.shows-year-switch a.is-current{box-shadow:inset 0 3px var(--brand)}
.shows-calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 24px;padding-top:16px}
.shows-month-switch,.shows-view-switch{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.shows-month-switch a,.shows-view-switch a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:.82rem;font-weight:700;line-height:1.35;text-decoration:none}
.shows-month-switch a>span{color:var(--mut);font-size:.75rem;font-weight:500}
.shows-month-switch a[aria-current],.shows-view-switch a[aria-current]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.shows-month-switch a[aria-current]>span{color:var(--accent-on-dark)}
.shows-month-switch a:hover,.shows-view-switch a:hover{border-color:var(--brand);color:var(--brand-deep)}
.shows-month-switch a[aria-current]:hover,.shows-view-switch a[aria-current]:hover{color:var(--accent-on-dark)}
.shows-view-switch{flex:0 0 auto}
.shows-calendar-page .city-filters{margin:12px 0 0;gap:6px}
.shows-calendar-page .city-filters button{min-height:44px;font-size:.72rem;letter-spacing:.04em;background:var(--surface)}
.shows-calendar-page .city-filters button[aria-pressed="true"]{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--surface)}
.shows-calendar-page .season-calendar{gap:24px;padding:16px 0 40px}
.shows-calendar-page .season-month{background:var(--surface);box-shadow:none}
.shows-calendar-page .season-month>header{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:14px 18px;border-bottom-width:1px}
.shows-calendar-page .season-month>header .meta-mono{align-self:center}
.shows-calendar-page .season-month>header h3{font-size:1.65rem;line-height:1.1;letter-spacing:-.03em}
.shows-calendar-page .season-month>header strong{font-size:.72rem;line-height:1.3;letter-spacing:.02em}
.shows-calendar-page .season-month-weekdays span{padding:9px 10px;font-size:.68rem;background:var(--bg);color:var(--mut)}
.shows-calendar-page .season-day{min-height:48px;padding:29px 6px 6px;background:var(--surface)}
.shows-calendar-page .season-day.is-empty{background:var(--bg)}
.shows-calendar-page .season-day-number{top:9px;left:9px;font-size:.76rem;color:var(--mut)}
.shows-calendar-page .season-day.has-events{background:var(--surface)}
.shows-calendar-page .season-calendar-event{min-height:44px;padding:8px}
.shows-calendar-page .season-calendar-event time{font-size:.7rem;line-height:1.2}
.shows-calendar-page .season-calendar-event strong{display:block;overflow:visible;margin-top:5px;font-size:.8rem;line-height:1.28;-webkit-line-clamp:unset;overflow-wrap:break-word}
.shows-calendar-page .season-calendar-event small{padding-top:6px;font-size:.7rem;line-height:1.3;color:var(--bg)}
.shows-calendar-page.is-list-view .season-calendar{display:none}
.shows-calendar-page.is-list-view .season-agenda{display:grid}
.shows-calendar-page .season-agenda{gap:0;padding:0 0 40px;margin-top:16px;border-top:1px solid var(--ink)}
.shows-calendar-page .season-agenda>article{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.shows-calendar-page .season-agenda time{display:flex;flex-direction:column;gap:6px;color:var(--brand-deep)}
.shows-calendar-page .season-agenda time strong{font-size:1.6rem;line-height:1.05}
.shows-calendar-page .season-agenda time small{margin:0;color:var(--mut);font-size:.8rem;line-height:1.3}
.show-official-prose h3{margin:28px 0 12px;font:700 clamp(1.1rem,1.5vw,1.4rem)/1.3 var(--font-sans);letter-spacing:-.02em;color:var(--brand-deep)}
.show-official-prose ul{padding-left:1.2em}
.show-official-prose li+li{margin-top:8px}
.shows-calendar-page .season-agenda h3{margin:5px 0 7px;font-size:1.15rem;line-height:1.25}
.shows-calendar-page .season-agenda h3 a{color:var(--ink);text-decoration:none}
.shows-calendar-page .season-agenda p{margin:0;color:var(--mut);font-size:.85rem;line-height:1.4}
.shows-calendar-page .season-agenda .meta-mono{font-size:.7rem;color:var(--brand-deep)}
.shows-calendar-page .season-agenda-actions{grid-column:auto;display:flex;gap:8px;flex-wrap:wrap;max-width:230px}
.shows-calendar-page .season-agenda-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.72rem;font-weight:750;text-transform:uppercase}
.shows-calendar-page .season-agenda-actions .btn-bilete{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--surface)}
.shows-calendar-page .season-agenda>[hidden],.shows-calendar-page .season-calendar-event[hidden]{display:none}
.shows-calendar-page .shows-year-empty{margin:20px 0 40px;padding:24px;background:var(--bg)}
.shows-calendar-page .shows-year-empty strong{font-size:1.4rem;line-height:1.3}
.shows-calendar-page :focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.post-type-archive-spectacol .shows-program-description{padding-top:24px;padding-bottom:36px}
.post-type-archive-spectacol .shows-program-description h2{margin:0 0 12px;font-size:1.6rem;line-height:1.2}
.post-type-archive-spectacol .shows-program-description p{max-width:78ch;margin:0;font-size:.95rem;line-height:1.6}
@media(max-width:980px){.shows-calendar-toolbar{flex-direction:column;gap:10px}.shows-calendar-page .season-agenda>article{grid-template-columns:76px minmax(0,1fr)}.shows-calendar-page .season-agenda-actions{grid-column:2;max-width:none}}
@media(max-width:760px){
 .post-type-archive-spectacol .stage-page-hero-in{padding-top:24px;padding-bottom:24px;gap:20px}
 .post-type-archive-spectacol .stage-page-hero .inner-hero-copy h1{font-size:clamp(2.2rem,10vw,3.4rem);line-height:1.08}
 .post-type-archive-spectacol .stage-page-hero .inner-hero-lede{font-size:.9rem;margin-top:12px}
 .post-type-archive-spectacol .next-show{padding:16px;max-width:none}
 .post-type-archive-spectacol .next-show-date strong{font-size:2.15rem}
 .post-type-archive-spectacol .next-show h2{font-size:1.18rem}
 .shows-calendar-page{scroll-margin-top:74px}
 .shows-calendar-head{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:22px 0 16px;align-items:start}
 .shows-calendar-head h2{font-size:2rem}
 .shows-calendar-head>div>p:last-child{font-size:.82rem}
 .shows-year-switch{width:auto;gap:5px;flex-direction:column}
 .shows-year-switch a{min-width:78px;min-height:44px;padding:10px 12px;flex:0 0 auto;font-size:1.3rem}
 .shows-calendar-toolbar{padding-top:12px}
 .shows-month-switch{gap:6px}
 .shows-month-switch a{padding:10px 11px;font-size:.78rem}
 .shows-view-switch{display:none}
 .shows-calendar-page .city-filters{margin-top:10px}
 .shows-calendar-page .city-filters button{font-size:.68rem;padding:9px 12px}
 .shows-calendar-page .season-calendar{display:none}
 .shows-calendar-page .season-agenda{display:grid;margin-top:14px;padding-bottom:28px}
 .shows-calendar-page .season-agenda>article{grid-template-columns:64px minmax(0,1fr);gap:10px 14px;padding:16px 0}
 .shows-calendar-page .season-agenda time{align-self:start;padding-top:4px}
 .shows-calendar-page .season-agenda time strong{font-size:1.3rem}
 .shows-calendar-page .season-agenda time small{font-size:.75rem}
 .shows-calendar-page .season-agenda h3{font-size:1.06rem;line-height:1.28}
 .shows-calendar-page .season-agenda p{font-size:.8rem;line-height:1.45}
 .shows-calendar-page .season-agenda .meta-mono{font-size:.68rem}
 .shows-calendar-page .season-agenda-actions a{padding:10px 12px;font-size:.7rem}
}
