/* Artist Directory act pages — additions to act-page.css (all text >= 1rem) */
.hero__price{font-size:1.125rem;color:var(--color-gold);font-weight:600;letter-spacing:.04em;margin:-.5rem 0 1.5rem}
.about-source p,.about-source li{font-size:1rem;line-height:1.8;margin-bottom:1.2rem}
.about-source h2{font-size:clamp(1.3rem,2vw,1.7rem);margin:1.6rem 0 .8rem;text-transform:none}
.about-source a{color:var(--color-gold-text);text-decoration:underline}
.price-tile{background:var(--color-purple-deep);min-height:280px;display:flex}
.price-tile .event-tile__body{position:relative;opacity:1;transform:none}
.enquiry .booking-cta__panel--instant{padding-bottom:3rem}
.enquiry .booking-cta__panel p{max-width:none}
.enquiry .booking-cta__panel p a{color:var(--color-gold)}
.enquiry__price{display:flex;justify-content:space-between;padding:.9rem 1.2rem;background:rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:1.125rem;margin-bottom:1.6rem}
.enquiry__price strong{color:var(--color-gold)}
.enquiry__form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.enquiry__form label{display:flex;flex-direction:column;gap:.35rem;color:#fff;font-size:1rem}
.enquiry__form input,.enquiry__form textarea{font:inherit;font-size:1rem;padding:.75rem .9rem;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(255,255,255,.95);color:var(--color-ink)}
.enquiry__wide{grid-column:1/-1}
.enquiry__form .btn{justify-content:center;cursor:pointer;border:0}
.enquiry__note{font-size:1rem;color:#fff;margin:0 !important}
.enquiry__photo{padding:0 !important;position:relative;min-height:420px}
.enquiry__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(20,8,20,.88);padding:1.5rem}
.video-modal.is-open{display:flex}
.video-modal__box{position:relative;width:min(960px,100%);aspect-ratio:16/9}
.video-modal__box iframe{width:100%;height:100%;border:0;border-radius:12px}
.video-modal__close{position:absolute;top:-3rem;right:0;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
button.btn--outline-white{cursor:pointer}
@media(max-width:700px){.enquiry__form{grid-template-columns:1fr}.enquiry__photo{min-height:260px}}

.price-tile .event-tile__desc,.price-tile .event-tile__link{opacity:1 !important;transform:none !important;max-height:none !important;display:block;font-size:1rem;color:rgba(255,255,255,.85)}
.price-tile .event-tile__link{display:inline-flex;color:var(--color-gold);margin-top:.8rem}
.price-tile .event-tile__sub{font-size:1.125rem;font-style:normal;font-weight:600}
.price-tile{aspect-ratio:auto !important;min-height:300px;align-items:flex-end}

.enquiry{display:block !important}
.enquiry__photo{position:relative;height:clamp(180px,26vw,400px);min-height:0 !important;overflow:hidden}
.enquiry .booking-cta__panel--instant{max-width:none;padding-left:var(--gutter);padding-right:var(--gutter)}
.enquiry__form{max-width:960px}
.page-act .about-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){.page-act .about-split{grid-template-columns:1fr}}

.enquiry__sub{font-family:var(--font-display);font-weight:400;font-size:1.4rem;text-transform:uppercase;color:#fff;margin:0 0 1rem}
.enquiry__source{margin-bottom:1.6rem}
.enquiry__source p{font-size:1rem;line-height:1.7;color:rgba(255,255,255,.88);margin-bottom:1rem}
.enquiry__source a{color:var(--color-gold);text-decoration:underline}

.events-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important}

.repertoire__grid--solo{grid-template-columns:1fr !important;max-width:1100px;margin:0 auto}
.repertoire__grid--solo .rep__list{columns:2;column-gap:3rem}
@media(max-width:700px){.repertoire__grid--solo .rep__list{columns:1}}

.credentials__cta{display:flex;justify-content:center;padding:2.5rem 1rem 0}

.lineup__feature{margin:2rem 0 0;padding-top:1.8rem;border-top:1px solid var(--color-border)}
.lineup__feature blockquote{margin:0 0 .8rem;font-family:var(--font-display);font-size:1.25rem;line-height:1.5;font-style:italic;color:var(--color-purple-deep)}
.lineup__feature figcaption{font-size:1rem;font-weight:600;color:var(--color-gold-text);letter-spacing:.04em;margin-bottom:1.2rem}
.lineup__ideal{font-size:1rem;line-height:1.7;color:var(--color-ink);margin:0;padding:1rem 1.1rem;background:#fff;border-left:3px solid var(--color-gold);border-radius:6px}

.lineup__feature{margin-top:0;padding-top:0;border-top:0}
.lineup__feature blockquote{font-size:1.35rem}

/* Watch Video lightbox — fill most of the screen, keep 16:9 */
.video-modal{padding:2vh 2vw}
.video-modal__box{width:min(96vw,calc(94vh * 16 / 9));max-width:none}
.video-modal__close{top:-2.6rem;font-size:2.4rem}
@media(max-width:700px){.video-modal__box{width:96vw}}

.enquiry__pricenote{font-size:1rem;color:rgba(255,255,255,.85);margin:-.8rem 0 1.4rem !important}


.enquiry__photo{position:relative;height:clamp(180px,26vw,400px);min-height:0 !important;overflow:hidden;padding:0 !important;display:block;background:none}
.enquiry__photo img{position:absolute !important;inset:0;width:100% !important;height:100% !important;max-width:none !important;object-fit:cover;border-radius:0;box-shadow:none}

/* ---- generated band pages ---- */
.repertoire__grid--one{grid-template-columns:minmax(0,1fr)}
.repertoire__left{display:grid;gap:1.5rem;align-content:start}
.lineup__src p,.lineup__src li{font-size:1rem;line-height:1.7;margin:0 0 .6rem}
.lineup__src ul{padding-left:1.2rem;margin:0 0 .6rem}
.lineup__src strong{color:var(--color-purple-deep,#4a2650)}
.rep__group{font-family:'Cormorant Garamond',serif;font-size:1.4rem;margin:1.4rem 0 .6rem}
.about-split--single{grid-template-columns:minmax(0,1fr)!important}
.about-split--single .about-split__text{max-width:860px}
.enquiry:not(:has(.enquiry__photo)) .booking-cta__panel{max-width:900px;margin:0 auto}
.rep__panel .rep__list{columns:2 260px;column-gap:2rem;display:block}
.rep__panel .rep__list li{break-inside:avoid;padding:.45rem 0}

.video-modal:fullscreen{padding:0;background:#000}.video-modal:fullscreen .video-modal__box{width:100vw;height:100vh;aspect-ratio:auto;max-width:none}.video-modal:fullscreen iframe{border-radius:0}.video-modal:fullscreen .video-modal__close{top:1rem;right:1.25rem;z-index:2;text-shadow:0 0 6px #000}
.video-modal:-webkit-full-screen{padding:0;background:#000}.video-modal:-webkit-full-screen .video-modal__box{width:100vw;height:100vh;aspect-ratio:auto;max-width:none}

.video-modal__box,.video-modal__box iframe{background:#000}

/* Video pop-up: centred lightbox (not browser full-screen) */
.video-modal{padding:3vh 3vw;background:rgba(10,8,24,.88)}
.video-modal__box{width:min(1200px,92vw,calc(80vh * 16 / 9));max-width:none;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:visible}
.video-modal__box [data-slot]{position:absolute;inset:0}
.video-modal__box iframe{display:block;width:100%;height:100%;border:0;border-radius:12px;background:#000}
.video-modal__close{top:-2.8rem;right:0;font-size:2.4rem;z-index:2}
@media(max-width:700px){.video-modal__box{width:94vw}}

/* Hero paragraph: standard 1–3 lines */
.page-act .hero__text{max-width:900px}
.page-act .hero__subtitle{max-width:880px}
/* Centre enquiry block */
.enquiry .booking-cta__panel--instant{max-width:none !important;margin:0;padding-left:max(var(--gutter),calc((100% - 960px)/2)) !important;padding-right:max(var(--gutter),calc((100% - 960px)/2)) !important;text-align:center}
.enquiry__form{max-width:none;text-align:left}
.enquiry__price{width:100%}
.enquiry__form .btn{justify-self:center}

/* Enquiry: one solid plum, same as the footer (--color-purple-deep) */
.enquiry,.enquiry .booking-cta__panel,.enquiry .booking-cta__panel--instant{background:var(--color-purple-deep) !important}
.enquiry .booking-cta__panel--instant{max-width:1100px !important;margin:0 auto !important;padding-left:clamp(1.25rem,5vw,4rem) !important;padding-right:clamp(1.25rem,5vw,4rem) !important}

/* Read more toggle */
.read-more__btn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--color-gold-text);color:var(--color-gold-text);padding:.6rem 1.2rem;border-radius:999px;font:inherit;font-size:1rem;cursor:pointer;margin:.4rem 0 1rem;transition:background .2s,color .2s}
.read-more__btn:hover,.read-more__btn:focus-visible{background:var(--color-gold-text);color:#fff}
.read-more__btn svg{transition:transform .2s}
.read-more__btn.is-open svg{transform:rotate(180deg)}
.read-more__content[hidden]{display:none}
/* Header image height reduced by 25% (band + entertainment pages only): desktop 82vh -> 61.5vh, mobile 88vh -> 66vh */
.page-act .hero{height:auto;min-height:max(420px,61.5vh);padding-top:calc(var(--nav-height) + 2.5rem);padding-bottom:2rem}
@media (max-width:768px){.page-act .hero{height:auto;min-height:66vh}}
/* Mobile only: show the whole header photo (zoomed out), desktop unchanged */
@media (max-width:768px){
.page-act .hero{display:block;height:auto;min-height:0;background:#2a0f2a;padding:var(--nav-height) 0 2rem}
.page-act .hero__bg{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:var(--ar,3/2);background-size:100% 100%;background-position:center;background-repeat:no-repeat;background-color:#2a0f2a}
.page-act .hero__overlay{display:none}
.page-act .hero__content{position:relative;z-index:2;padding-top:1.5rem}
}
.lineup__notes{font-size:1rem;line-height:1.7;color:var(--color-ink);margin:1rem 0 0}
.lineup__notes p{margin:0 0 .6rem}
.lineup__notes ul{margin:0 0 .6rem 1.2rem;padding:0}

/* Single line-up/show option: centred card instead of a lone tile in a wide grid */
.events-grid:has(> .price-tile:only-child){display:flex !important;justify-content:center;max-width:680px;margin-left:auto;margin-right:auto}
.events-grid > .price-tile:only-child{flex:1 1 auto;width:100%;min-height:0;align-items:center;justify-content:center;text-align:center;padding:1rem 1rem 2rem;border:0;border-radius:0;background:transparent}
.events-grid > .price-tile:only-child .event-tile__body{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
.events-grid > .price-tile:only-child .event-tile__desc{max-width:46ch}

/* "Read more" drop-down for line-up grids with more than 4 cards */
.events-grid .events-more{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center}
.events-grid .events-more[hidden]{display:none}
.events-grid .events-more > .price-tile{flex:0 0 25%;max-width:25%;box-sizing:border-box}
@media (max-width:1024px){.events-grid .events-more > .price-tile{flex-basis:50%;max-width:50%}}
@media (max-width:640px){.events-grid .events-more > .price-tile{flex-basis:100%;max-width:100%}}
.events-readmore{text-align:center;margin:2rem 0 0}
.events-readmore button{background:none;border:0;padding:0;font:inherit;font-size:1rem;color:var(--color-gold);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.events-grid.events-grid--more{grid-template-columns:repeat(4,1fr) !important}
@media (max-width:1024px){.events-grid.events-grid--more{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:640px){.events-grid.events-grid--more{grid-template-columns:1fr !important}}

/* Single-card line-up/show option sections: compact spacing */
.events-section:has(.events-grid > .price-tile:only-child){padding:2.75rem 0 2.5rem}
.events-section:has(.events-grid > .price-tile:only-child) .section-header{margin-bottom:1.25rem}
.events-section:has(.events-grid > .price-tile:only-child) .section-header .eyebrow{margin-bottom:.4rem;display:block}
.events-section:has(.events-grid > .price-tile:only-child) .section-header h2{margin:0;line-height:1.1}
.events-grid > .price-tile:only-child{padding:0}
.events-grid > .price-tile:only-child .event-tile__body{padding:0}
.events-grid > .price-tile:only-child .event-tile__number{margin-bottom:0;font-size:2.75rem}
.events-grid > .price-tile:only-child .event-tile__category{margin-bottom:.3rem}
.events-grid > .price-tile:only-child .event-tile__title{margin-bottom:.35rem;line-height:1.15}
.events-grid > .price-tile:only-child .event-tile__sub{margin-bottom:.45rem}
.events-grid > .price-tile:only-child .event-tile__desc{margin:0 0 .5rem !important;line-height:1.5}
.events-grid > .price-tile:only-child .event-tile__link{margin-top:.2rem}


/* Line-Up Options (plum) section: tighter top/bottom spacing — applies to every band page */
.events-section:has(.price-tile){padding:3.5rem 0 3rem}
.events-section:has(.price-tile) .section-header{margin-bottom:1.75rem}
.price-tile{min-height:0 !important}
.price-tile .event-tile__body{padding-top:1.25rem;padding-bottom:1.25rem}
.price-tile .event-tile__number{margin-bottom:.25rem}
.enquiry__source--bottom{margin:1.6rem 0 0;text-align:center}.enquiry__source--bottom .enquiry__sub{margin-bottom:.5rem}
.enquiry__after{font-size:1rem;color:#fff;margin:24px 0 0;line-height:1.6}.enquiry__after a{color:inherit;text-decoration:underline}
