/* October UI refresh: navigation, early support access, larger existing cards.
   No programme, artwork, carousel, registration, checkout or footer changes. */
body.verbena-texture-page section#vs-route-app .vs-participate-card :is(.vs-ruge-open,.vs-bazara-open){display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}
.cinema-page .masthead .nav a:focus-visible{outline-color:currentColor}
.cinema-page .hero-actions .route-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;border-radius:50%;background:#111;color:#fff;font-size:.8rem}
/* Keep approved photographs and playback unchanged, enlarge their existing viewport. */
@media(min-width:901px){body.verbena-texture-page section#vs-route-app .vs-hero,.cinema-page .hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,480px)}}
:is(.cinema-page,section#vs-route-app) .film-posters{max-width:480px}
:is(.cinema-page,section#vs-route-app) .film-poster-slide>img{height:400px}
:is(.cinema-page,section#vs-route-app) .artist-carousel,:is(.cinema-page,section#vs-route-app) .talent-carousel{max-width:480px}
:is(.artist-carousel,.talent-carousel) .film-poster-slide figcaption{padding:14px 12px;gap:7px;line-height:1.4}
:is(.artist-carousel,.talent-carousel) .film-poster-slide figcaption a{font:700 14px/1.45 Montserrat,Arial,sans-serif;min-height:32px;display:inline-flex;align-items:center}
:is(.artist-carousel,.talent-carousel) .film-poster-slide figcaption small{font:12px/1.4 Montserrat,Arial,sans-serif}
/* More room for existing programme photos, without previewing full official posters. */
section#vs-route-app .vs-schedule .vs-event .vs-event-body,.cinema-page .event-list .event{min-height:190px;grid-template-columns:64px minmax(0,1fr) 76px}
section#vs-route-app .vs-schedule .vs-open,.cinema-page .event-list .event-open{padding:18px;gap:9px}
section#vs-route-app .vs-schedule .vs-title,.cinema-page .event-list .event-title{font-size:1.15rem;line-height:1.4;display:block;overflow:visible;-webkit-line-clamp:unset}
:is(.event-open,.vs-open) .festival-event-image:not(.festival-event-poster){display:block;width:100%;height:210px;max-height:260px;object-fit:contain;margin:4px 0 12px}
:is(.event-open,.vs-open) .workshop-composition img{height:150px}
:is(.event-open,.vs-open) .workshop-composition strong{font-size:.8rem;line-height:1.45}
/* All workshops green, scene purple, tables/exhibition pink. Cinema stays white. */
.festival-chapter--talleres,.finale-lineup button[data-festival-section='talleres']{background:#91d548;color:#230d39;border-color:#482067}
section#vs-route-app .vs-tone-green :is(.vs-event-body,.vs-event-header,.vs-open,.vs-event-footer){background-color:#91d548;color:#230d39}
section#vs-route-app .vs-tone-pink :is(.vs-event-body,.vs-event-header,.vs-open,.vs-event-footer){background-color:#ef69b0;color:#230d39}
.cinema-page .event.event--verbena :is(.event-header,.event-open,.event-footer){background:var(--verbena-bg);color:var(--verbena-fg)}
.cinema-page .event.verbena-tone-pink,.cinema-page .detail.verbena-tone-pink .detail-card{background:#ef69b0;color:#230d39}
.cinema-page .detail.verbena-tone-green .detail-content{background:#91d548;color:#230d39}
@media(max-width:760px){
 :is(.cinema-page,section#vs-route-app) .film-posters{max-width:460px}
 :is(.cinema-page,section#vs-route-app) .film-poster-slide>img{height:clamp(300px,96vw,400px)}
 section#vs-route-app .vs-schedule .vs-event .vs-event-body,.cinema-page .event-list .event{grid-template-columns:46px minmax(0,1fr) 58px;min-height:180px}
 section#vs-route-app .vs-schedule .vs-open,.cinema-page .event-list .event-open{padding:12px}
 section#vs-route-app .vs-schedule .vs-title,.cinema-page .event-list .event-title{font-size:1rem}
 :is(.event-open,.vs-open) .festival-event-image:not(.festival-event-poster){height:180px}
 :is(.event-open,.vs-open) .workshop-composition{grid-template-columns:1fr}
 :is(.event-open,.vs-open) .workshop-composition img{height:145px}
}
/* Compact first view: the festival comes first; support remains one quick choice. */
.festival-support-intro{display:grid;grid-template-columns:1fr 1.18fr;gap:10px;margin:14px 0;font-family:Montserrat,Arial,sans-serif}
.festival-support-intro>a{display:flex;align-items:center;gap:10px;min-height:70px;padding:10px 12px;border:1px solid #b991d3;border-radius:8px;background:#fff;color:#351345;text-decoration:none;box-shadow:none;min-width:0}
.festival-support-intro>a:hover{background:#f7effb}.festival-support-intro>a:focus-visible{outline:3px solid #91d548;outline-offset:3px}
.festival-support-intro strong{display:block;font-size:.88rem;line-height:1.3}.festival-support-intro small{display:block;font-size:.73rem;line-height:1.4;margin-top:5px}
.festival-shirt-icon{width:40px;height:40px;flex:none}.festival-vaquita img{display:block;width:88px;height:54px;object-fit:contain;flex:none}
.festival-support-intro .festival-vaquita{background:#eee1f5;margin:0}.cinema-page .festival-support-intro>a{border-color:#777;color:#161616}.cinema-page .festival-support-intro .festival-vaquita{background:#f1f1f1}
body.verbena-texture-page section#vs-route-app .vs-hero{min-height:0;padding:20px clamp(18px,4vw,48px);gap:26px;align-items:center;grid-template-columns:minmax(0,1fr) minmax(270px,330px)}
body.verbena-texture-page section#vs-route-app .vs-hero-editorial{max-width:650px}
body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair,.cinema-page .hero .festival-brand-pair{justify-content:flex-start;gap:20px;max-width:440px;margin:0 0 12px}
body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .vs-logo{max-width:215px!important;flex:0 1 215px}
body.verbena-texture-page section#vs-route-app .vs-hero .vs-logo img{max-height:135px}
body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .festival-mascot,.cinema-page .hero .festival-brand-pair .festival-mascot{height:130px;width:auto;max-width:100px}
body.verbena-texture-page section#vs-route-app .verbena-cover-meta{margin-bottom:12px;padding:8px 10px}
body.verbena-texture-page section#vs-route-app .verbena-cover-meta strong{font-size:1.05rem}
body.verbena-texture-page section#vs-route-app .vs-hero-copy .verbena-cover-statement{font-size:1.35rem;margin:0 0 8px;max-width:none}
body.verbena-texture-page section#vs-route-app .vs-hero-copy .verbena-cover-description{font-size:.94rem;line-height:1.5;margin:0 0 10px;max-width:60ch}
body.verbena-texture-page section#vs-route-app .vs-hero-copy .verbena-cover-finale{margin-top:12px;font-size:.8rem}
body.verbena-texture-page section#vs-route-app .verbena-hero-actions,.cinema-page .hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
body.verbena-texture-page section#vs-route-app .verbena-hero-actions .vs-hero-cta,.cinema-page .hero-actions .button{min-height:44px;width:auto;padding:9px 12px;gap:7px;font-size:.83rem;line-height:1.3;box-shadow:none}
.cinema-page .hero{padding-block:12px}.cinema-page .hero-grid{padding-block:12px;gap:26px;align-items:center;grid-template-columns:minmax(0,1fr) minmax(240px,310px)}
.cinema-page .hero .festival-brand-pair .cinema-cover-logo{max-width:260px!important}
.cinema-page .cinema-cover-meta{margin-block:8px 12px}.cinema-page .cinema-cover-statement{font-size:1.4rem!important;line-height:1.3!important;margin:8px 0!important}.cinema-page .cinema-cover-description{font-size:.94rem!important;line-height:1.5!important;margin:8px 0!important}
:is(.cinema-page,section#vs-route-app) .film-posters{max-width:360px}
:is(.cinema-page,section#vs-route-app) .film-poster-slide>img{height:300px}
:is(.artist-carousel,.talent-carousel) .film-poster-slide>span{height:300px!important;max-height:300px!important}
:is(.artist-carousel,.talent-carousel) .film-poster-slide figcaption{padding:10px;gap:5px}
section#vs-route-app .vs-schedule{margin-top:24px;padding-top:28px;padding-bottom:28px}
section#vs-route-app .vs-schedule .vs-heading{margin-bottom:18px}.cinema-page .program-section,.cinema-page .route-section,.cinema-page .sister-section,.cinema-page .contact-section{padding-block:30px}
/* One reading order on every closed agenda card: type, name, date, time, venue. */
section#vs-route-app .vs-schedule .vs-event-header,.cinema-page .event-header{padding:10px 16px;justify-content:flex-start;min-height:0}
section#vs-route-app .vs-schedule .vs-type,.cinema-page .event-category{max-width:100%;text-align:left;font-size:.78rem}
section#vs-route-app .vs-schedule .vs-open,.cinema-page .event-list .event-open{padding:16px;gap:6px;min-height:0}
section#vs-route-app .vs-schedule .vs-title,.cinema-page .event-list .event-title{font-size:1.17rem;line-height:1.3;margin:0 0 6px}
section#vs-route-app .vs-schedule .vs-card-date,.cinema-page .event-card-date{font-weight:750;font-size:.9rem}
section#vs-route-app .vs-schedule .vs-card-time,.cinema-page .event-time{margin:0;font-size:.88rem;line-height:1.4}
section#vs-route-app .vs-schedule .vs-place,.cinema-page .event-venue{margin:0;padding:0;border:0;font-size:.88rem;line-height:1.4;font-weight:650}
section#vs-route-app .vs-schedule .vs-card-copy,.cinema-page .event-description{margin:4px 0 0;font-size:.85rem;line-height:1.45}
section#vs-route-app .vs-schedule .vs-card-action,.cinema-page .event-cta{margin-top:9px;font-size:.8rem}
.cinema-page .event-open .program-number{display:none}
section#vs-route-app .vs-schedule .vs-state,.cinema-page .event-access{padding:10px 14px;font-size:.8rem}
section#vs-route-app .vs-schedule .vs-fav,.cinema-page .favorite{min-height:46px;padding:10px 14px}
@media(max-width:760px){
 body.verbena-texture-page section#vs-route-app .vs-hero,.cinema-page .hero-grid{grid-template-columns:1fr;gap:20px;padding:16px}
 .cinema-page .hero-grid{padding:10px 0}.cinema-page .masthead-inner{padding-block:8px;gap:7px}
 body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair,.cinema-page .hero .festival-brand-pair{max-width:350px;justify-content:space-between;margin-bottom:10px}
 body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .vs-logo{max-width:170px!important;flex-basis:170px}
 body.verbena-texture-page section#vs-route-app .vs-hero .vs-logo img{max-height:108px}
 body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .festival-mascot,.cinema-page .hero .festival-brand-pair .festival-mascot{height:100px;max-width:80px}
 .cinema-page .hero .festival-brand-pair .cinema-cover-logo{max-width:205px!important}
 .festival-support-intro{gap:8px;margin:12px 0}.festival-support-intro>a{gap:7px;padding:9px;min-height:76px}.festival-support-intro strong{font-size:.8rem}.festival-support-intro small{font-size:.69rem}
 .festival-shirt-icon{width:28px;height:32px}.festival-vaquita img{width:50px;height:38px}
 body.verbena-texture-page section#vs-route-app .verbena-cover-meta{gap:4px;margin-bottom:10px}body.verbena-texture-page section#vs-route-app .verbena-cover-meta strong{font-size:.93rem}body.verbena-texture-page section#vs-route-app .verbena-cover-meta span{font-size:.8rem}
 :is(.cinema-page,section#vs-route-app) .film-posters{max-width:360px;width:100%}.cinema-page .hero-actions .button{flex:1 1 calc(50% - 8px);justify-content:center}
 section#vs-route-app .vs-schedule .vs-list,.cinema-page .event-list{gap:16px}
}
@media(max-width:380px){.festival-support-intro{grid-template-columns:1fr}.festival-support-intro>a{min-height:60px}.festival-vaquita img{width:68px}.festival-support-intro strong{font-size:.85rem}}

/* Existing Verbenita product image, only in the Verbena support card. */
.festival-merch-card .festival-shirt-photo{display:block;width:68px;height:68px;object-fit:contain;flex:none;border-radius:4px}
@media(max-width:760px){.festival-merch-card .festival-shirt-photo{width:52px;height:52px}}
