/* Events: an editorial performance bill in Holud Panjabi's existing palette. */
.performances-section{background:var(--paper);border-top:1px solid var(--line)}
.performances-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:42px}
.performances-heading h2{font-size:clamp(38px,5vw,68px);margin-bottom:0}.performances-heading>p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.performance-feature{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:30px 0;gap:clamp(28px,5vw,76px)}
.performance-flyer{min-width:0;background:#eee6d3;border:1px solid #d9cdb4;padding:12px;position:relative;display:grid;align-items:center;align-self:start;background-image:repeating-linear-gradient(135deg,transparent,transparent 9px,#a8322905 9px,#a8322905 10px)}
.performance-flyer>img,.performance-enlarge>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:drop-shadow(0 5px 10px #30271f16)}
.performance-copy{min-width:0;align-self:center;padding:18px 0;overflow-wrap:anywhere}.performance-kicker{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--red);line-height:1.6;margin:0 0 22px}
.performance-date{display:flex;gap:12px;align-items:baseline;margin:0 0 24px;flex-wrap:wrap;color:var(--red)}.performance-date>span{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.performance-date>strong{font:500 clamp(52px,6vw,86px)/1 'Playfair Display',serif;letter-spacing:-3px}.performance-date>small{font-size:12px;color:var(--muted);letter-spacing:1px}
.performance-organiser{font-size:12px;letter-spacing:1px;font-weight:700;color:var(--red);margin:0 0 10px}.performance-identity h3{font:500 clamp(28px,3vw,43px)/1.25 'Playfair Display','Noto Serif Bengali',serif;margin:0 0 16px;overflow-wrap:anywhere}.performance-location{font-size:15px;line-height:1.6;color:var(--muted);margin:0}.performance-summary{font-size:15px;line-height:1.85;color:var(--muted);max-width:470px;margin:20px 0}
.performance-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;background:var(--red);border:1px solid var(--red);color:var(--paper);font:600 12px 'DM Sans',sans-serif;cursor:pointer;text-align:center;line-height:1.5;transition:background .2s,transform .2s;border-radius:2px}.performance-copy>.performance-action{margin-top:24px}.performance-action:hover{background:var(--ink);border-color:var(--ink)}.performance-action.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.performance-action.secondary:hover{background:#eee6d3}
.performance-more-heading{font:500 29px/1.3 'Playfair Display',serif;margin:42px 0 24px}.performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.performance-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:20px;transition:transform .25s}.performance-card .performance-flyer{aspect-ratio:auto;padding:10px;overflow:hidden}.performance-card .performance-flyer>img{height:auto;max-height:none;transition:transform .25s}.performance-card .performance-copy{padding:22px 0 0}.performance-card .performance-kicker{margin-bottom:16px}.performance-card .performance-date{margin-bottom:16px}.performance-card .performance-date>strong{font-size:42px;letter-spacing:-1px}.performance-card .performance-identity h3{font-size:27px}.performance-card .performance-summary{font-size:14px}.performance-card .performance-action{background:transparent;color:var(--red);border:0;border-bottom:1px solid var(--red);padding:10px 0;justify-content:start;margin-top:14px}
@media(hover:hover){.performance-card:hover{transform:translateY(-4px)}.performance-card:hover .performance-flyer>img{transform:scale(1.02)}}
.performance-no-flyer{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:24px;color:var(--red)}.performance-no-flyer>span:not(.performance-flower){font-size:9px;letter-spacing:3px}.performance-flower{font-size:66px;line-height:1}.performance-no-flyer strong{font:500 26px/1.4 'Playfair Display',serif;max-width:220px}.performance-no-flyer small{font-size:11px;color:var(--muted)}.performance-flyer-fallback{font-size:14px;color:var(--muted);line-height:1.8;padding:30px;text-align:center}
.performance-booking{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;font-size:13px;color:var(--muted)}.performance-booking a{min-height:44px;display:inline-flex;align-items:center;gap:20px;color:var(--red);font-weight:700}.performance-booking a span{font-size:24px}
#past-performances{margin-top:55px;border-top:1px solid var(--line);padding-top:34px}#past-performances[hidden]{display:none}#past-performances>.performance-more-heading{margin-top:12px}.performance-past-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:28px;border-bottom:1px solid var(--line);padding:24px 0}.performance-past-row>span{font-size:12px;color:var(--muted);line-height:1.8}.performance-past-row .performance-identity h3{font-size:23px;margin-bottom:8px}.performance-empty{text-align:center;padding:65px 20px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.performance-empty .performance-kicker{margin:25px 0 12px}.performance-empty h3{font:500 clamp(30px,4vw,46px)/1.3 'Playfair Display',serif}.performance-empty>p:not(.performance-kicker){font-size:15px;color:var(--muted);margin-bottom:28px}.events-loading{padding:36px 0;line-height:1.8;color:var(--muted)}
/* Dedicated event landing dialog; gallery lightboxes are independent. */
.performance-dialog-open{overflow:hidden}.performance-dialog{width:min(1280px,calc(100vw - 32px));max-width:none;max-height:92vh;max-height:92dvh;padding:0;border:0;border-radius:5px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 25px 90px #0005}.performance-dialog::backdrop,.performance-zoom::backdrop{background:#211b16b8}
.performance-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;background:var(--paper);border-bottom:1px solid var(--line)}.performance-toolbar>span{font-size:9px;letter-spacing:2px;color:var(--red);font-weight:700}.performance-close{min-height:44px;min-width:44px;padding:10px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:12px;cursor:pointer;border-radius:2px}
.performance-detail-body{padding:36px}.performance-detail-hero{height:auto;display:block;background:transparent;border:0;padding:0 0 28px;overflow-wrap:anywhere}.performance-detail-hero h2{font:500 clamp(30px,4vw,54px)/1.25 'Playfair Display','Noto Serif Bengali',serif;margin:0 0 18px}.performance-detail-hero>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.performance-detail-hero .performance-kicker{margin-bottom:18px}.performance-detail-columns{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:36px;align-items:start}.performance-detail-columns .performance-flyer{position:static;padding:12px}.performance-enlarge{display:block;border:0;padding:0;width:100%;background:transparent;cursor:zoom-in}.performance-enlarge>img{height:auto;max-height:none}.flyer-zoom-label{display:block;padding-top:15px;font-size:11px;color:var(--red)}.performance-info{min-width:0}.performance-info-block{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.performance-info-block h3{font:700 10px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--red);margin:0 0 12px}.performance-info-block p{font-size:15px;line-height:1.85;margin:0;white-space:pre-wrap}.performance-actions{display:flex;flex-wrap:wrap;gap:10px}.performance-calendar-note{font-size:11px;color:var(--muted);line-height:1.7}.performance-feedback{font-size:13px;overflow-wrap:anywhere}.performance-feedback input{font-size:13px}.performance-zoom{width:min(1100px,calc(100vw - 24px));max-width:none;max-height:94dvh;border:0;border-radius:4px;padding:16px;background:var(--paper)}.performance-zoom>.performance-close{display:block;margin-left:auto;margin-bottom:12px}.performance-zoom>img{display:block;width:100%;height:78vh;height:78dvh;object-fit:contain}
/* Full-page announcement: the flyer remains readable on phones and desktop. */
.performance-announcement{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;box-sizing:border-box;z-index:30;display:grid;place-items:center;padding:clamp(18px,4vw,56px);background:#211b16d9;overflow:hidden}
.performance-announcement::before{content:"";position:absolute;inset:0;background:var(--paper);opacity:.96;z-index:-1}
.performance-notice-close{position:fixed;right:clamp(14px,3vw,42px);top:clamp(14px,3vw,34px);z-index:2;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;font-size:27px;line-height:1;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 5px 20px #30271f22}
.performance-notice-slide{display:grid;place-items:center;width:min(980px,calc(100vw - 96px));height:min(760px,calc(100dvh - 96px));padding:clamp(12px,2.5vw,30px);background:var(--paper);border:1px solid var(--line);box-shadow:0 22px 80px #30271f30}
.performance-notice-slide>img{display:block;width:100%;height:100%;max-height:calc(100dvh - 160px);object-fit:contain;background:#eee6d3;border:1px solid #d9cdb4;padding:12px}
.performance-notice-slide>div{min-width:0;overflow-wrap:anywhere}.performance-notice-footer{position:absolute;left:clamp(20px,4vw,64px);bottom:clamp(20px,4vw,50px);display:flex;align-items:center}.performance-notice-view{min-height:48px;padding:13px 20px;border:1px solid var(--red);background:var(--red);color:var(--paper);font-weight:700;font-size:12px;cursor:pointer}.performance-notice-view:hover{background:var(--ink);border-color:var(--ink)}
@media(max-width:1000px){.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-feature{gap:30px}.performance-detail-body{padding:26px}.performance-detail-columns{gap:24px}}
@media(max-width:720px){.performances-heading{display:block;margin-bottom:28px}.performances-heading>p{margin-top:18px}.performance-feature{grid-template-columns:minmax(0,1fr);gap:0;padding:20px 0}.performance-feature .performance-flyer{padding:16px}.performance-feature .performance-flyer>img{max-height:none;width:100%;height:auto}.performance-copy{padding:26px 0 12px}.performance-feature .performance-date>strong{font-size:65px}.performance-feature .performance-identity h3{font-size:32px}.performance-detail-columns{grid-template-columns:minmax(0,1fr)}.performance-detail-columns .performance-flyer{position:static}.performance-detail-hero{padding-bottom:24px}.performance-dialog{width:calc(100vw - 16px);max-height:95dvh}.performance-detail-body{padding:20px}.performance-toolbar{padding:8px 14px}.performance-past-row{grid-template-columns:minmax(0,1fr);gap:14px}.performance-past-row>.performance-action{justify-self:start}.performance-booking{align-items:start;flex-direction:column;gap:4px}}
@media(max-width:720px){.performance-notice-slide{height:min(76dvh,620px);padding:14px}.performance-notice-slide>img{height:100%}.performance-notice-footer{left:20px}}
@media(max-width:520px){.performance-grid{grid-template-columns:minmax(0,1fr)}.performance-card{display:grid;grid-template-columns:minmax(0,1fr)}.performance-card .performance-flyer{aspect-ratio:auto}.performance-card .performance-flyer>img{height:auto;max-height:none}.performance-copy>.performance-action{width:100%}.performance-actions{display:grid;grid-template-columns:minmax(0,1fr)}.performance-actions .performance-action{width:100%}.performance-notice-slide{height:min(70dvh,520px);padding:10px}.performance-notice-slide>img{height:100%}.performance-notice-footer{left:16px}.performance-toolbar>span{font-size:8px;letter-spacing:1px}.performance-info-block p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.performance-card,.performance-card img,.performance-action{transition:none}.performance-card:hover,.performance-card:hover .performance-flyer>img{transform:none}}
@media(min-width:721px){.performance-grid:has(>.performance-card:only-child){grid-template-columns:minmax(0,1fr)}.performance-grid>.performance-card:only-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}.performance-grid>.performance-card:only-child .performance-copy{padding:0}.performance-grid>.performance-card:only-child .performance-flyer{aspect-ratio:auto}}
@media(max-width:720px){.performance-detail-body{display:flex;flex-direction:column}.performance-detail-columns{display:contents}.performance-detail-columns>.performance-flyer{order:0;margin-bottom:26px}.performance-detail-hero{order:1}.performance-info{order:2}}

/* Size announcement flyers by width; tall originals remain scrollable instead of shrinking. */
.performance-announcement{display:block;overflow:auto;overscroll-behavior:contain;padding:80px 20px 96px}
.performance-notice-slide{width:min(760px,100%);height:auto;margin:0 auto;padding:10px}
.performance-notice-slide>img{width:100%;height:auto;max-height:none;padding:0;border:0}
.performance-notice-footer{position:fixed;bottom:20px;left:20px;z-index:2}
@media(max-width:720px){.performance-announcement{padding:76px 12px 90px}.performance-notice-slide{width:100%;height:auto;padding:6px}}
