@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-Medium.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
body,section#vs-route-app,body.cinema-page{font-family:Montserrat,Arial,sans-serif}
:is(section#vs-route-app,.cinema-page) :is(p,button,a,select,label,input,textarea,figcaption,.vs-state,.vs-place,.vs-card-copy,.event-description,.event-access,.event-venue){font-family:Montserrat,Arial,sans-serif}
:is(section#vs-route-app,.cinema-page) :is(h2,h3,.vs-title,.event-title,.film-marquee-title){font-family:'Archivo Black',Arial,sans-serif}
:is(section#vs-route-app,.cinema-page) .film-poster-slide figcaption{font-family:Montserrat,Arial,sans-serif;font-style:normal;font-size:1rem;line-height:1.4}
.festival-brand-pair{display:flex;align-items:center;gap:18px;max-width:610px;margin-bottom:20px}
.festival-brand-pair .festival-mascot{width:120px;height:175px;object-fit:contain;flex:none;filter:none;background:none}
body.verbena-texture-page section#vs-route-app .festival-brand-pair .vs-logo{flex:1;min-width:0;margin:0;max-width:310px!important;width:calc(100% - 130px)}
.cinema-page .festival-brand-pair .cinema-cover-logo{flex:1;min-width:0;margin:0}
.cinema-page .festival-brand-pair .festival-mascot{width:130px;height:180px}
body.verbena-texture-page{background-image:linear-gradient(#2c1b5387,#2c1b5387),url('/identidad-2026/verbena-textura-continua-original.png')!important}
.cinema-page .program-section{padding-top:24px;padding-bottom:40px}
.cinema-page .session-strip{margin-bottom:0;padding-block:22px}
.cinema-page .quick-dates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.cinema-page .quick-date{min-height:84px;padding:8px 12px}
/* Compact activity summaries. Complete images, access and programme remain in each dialog. */
section#vs-route-app .vs-schedule .vs-list{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
section#vs-route-app .vs-schedule .vs-event:nth-child(n){grid-column:auto}
section#vs-route-app .vs-schedule .vs-event .vs-event-body{box-shadow:2px 3px 0 #230d39;border-width:1px}
section#vs-route-app .vs-schedule .vs-event-header{padding:8px 14px;align-items:center;gap:12px}
section#vs-route-app .vs-schedule .vs-date strong{font-size:1.65rem;line-height:1}
section#vs-route-app .vs-schedule .vs-date span{font-size:.8rem}
section#vs-route-app .vs-schedule .vs-type{font-size:.8rem;line-height:1.3}
section#vs-route-app .vs-schedule .vs-open{padding:12px 14px;gap:6px}
section#vs-route-app .vs-schedule .vs-title{font-size:1.15rem;line-height:1.3;margin:0}
section#vs-route-app .vs-schedule .vs-card-copy{font-size:.9rem;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
section#vs-route-app .vs-schedule .vs-place{font-size:.875rem;padding-top:7px;margin-top:4px}
section#vs-route-app .vs-schedule .vs-card-time{font-size:.875rem;margin-top:0}
section#vs-route-app .vs-schedule .vs-card-action{font-size:.875rem;margin-top:4px}
section#vs-route-app .vs-schedule .vs-state{padding:8px 12px;font-size:.875rem;line-height:1.4}
section#vs-route-app .vs-schedule .vs-fav{min-height:44px;padding:8px 12px;min-width:88px}
section#vs-route-app .vs-schedule .vs-day25-card .vs-event-footer{flex-wrap:nowrap}
section#vs-route-app .vs-schedule .vs-day25-card .vs-state{flex-basis:auto}
section#vs-route-app .vs-schedule .vs-day25-card .vs-fav{width:auto;border-top:0;border-left:1px solid currentColor}
.cinema-page .event-list{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
.cinema-page .event-header,.cinema-page .day25-cards .event-header{padding:8px 14px;align-items:center}
.cinema-page .event-date strong{font-size:1.65rem;line-height:1}
.cinema-page .event-open{padding:12px 14px;gap:6px}
.cinema-page .event-title,.cinema-page .day25-cards .event-title{font-size:1.15rem;line-height:1.3;margin:0 0 6px}
.cinema-page .event-description{font-size:.9rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.cinema-page .event-venue,.cinema-page .event-time{font-size:.875rem;line-height:1.4;margin-top:4px}
.cinema-page .event-category,.cinema-page .program-number{font-size:.8rem}
.cinema-page .event-access{padding:8px 12px;font-size:.875rem;line-height:1.4}
.cinema-page .favorite{min-height:44px;padding:8px 12px}
.cinema-page .event-cta{font-size:.875rem;margin-top:8px}
:is(.event-open,.vs-open) .festival-event-image{display:none}
:is(.event-open,.vs-open) .activity-venue-logos{padding:0;gap:12px}
:is(.event-open,.vs-open) .activity-venue-logos img{height:32px!important;width:85px}
:is(.event-open,.vs-open) .activity-venue-logos img[alt^='Filmoteca']{width:170px;height:42px!important}
:is(.vs-event-body,.event)>.finale-lineup{display:none}
.activity-venue-logos img[alt^='Filmoteca']{width:300px;height:auto!important;max-width:100%}
.activity-portraits{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}
.activity-portraits figure{margin:0;max-width:170px}
.activity-portraits img{width:170px;height:190px;object-fit:contain;background:transparent}
.activity-portraits figcaption{font-size:.875rem;margin-top:6px}
.miradas-mascot{float:right;margin:0 0 16px 20px;width:120px}
.miradas-mascot img{display:block;width:100%;height:auto;filter:none}
.identity-art--ruge{aspect-ratio:600/338;background:transparent}
.identity-art--ruge img{position:static;width:100%!important;max-width:100%!important;height:auto;left:auto;top:auto}
.festival-legal{padding:24px max(20px,calc((100% - 1080px)/2))!important}
.festival-official-logos{gap:24px!important;align-items:center}
.festival-official-logos img{max-width:100%;object-fit:contain}
.festival-legal p{font:400 .875rem/1.6 Montserrat,Arial,sans-serif!important}
:is(.artist-carousel,.talent-carousel,.film-posters) .film-poster-buttons button{min-width:44px!important;min-height:44px!important}
.festival-skip{position:fixed;top:8px;left:8px;z-index:9999;background:white;color:#111;padding:12px;transform:translateY(-160%)}
.festival-skip:focus{transform:none}
:is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:760px){
 .festival-brand-pair{gap:12px}.festival-brand-pair .festival-mascot,.cinema-page .festival-brand-pair .festival-mascot{width:82px;height:126px}
 body.verbena-texture-page section#vs-route-app .festival-brand-pair .vs-logo{width:calc(100% - 94px);max-width:250px!important}
 .cinema-page .quick-dates{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}
 .cinema-page .program-section{padding-top:18px}
 section#vs-route-app .vs-schedule .vs-list,.cinema-page .event-list,.cinema-page .day25-cards{grid-template-columns:1fr!important}
 section#vs-route-app .vs-schedule .vs-event:nth-child(n){grid-column:1/-1}
 .cinema-page .event-open,section#vs-route-app .vs-schedule .vs-open{padding:12px}
 .cinema-page .day25-cards .event-footer{flex-wrap:nowrap}
 .film-poster-buttons{gap:6px!important}.miradas-mascot{width:90px}
 .festival-official-logos{gap:18px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Final compact rows: date, short summary, save action. Full content remains in dialogs. */
.cinema-page .event-list .event{display:grid;grid-template-columns:64px minmax(0,1fr) 70px;align-items:stretch;min-height:0}
.cinema-page .event-list .event-header{display:flex;flex-direction:column;justify-content:center;padding:10px 6px;border-right:1px solid currentColor;border-bottom:0;gap:6px}
.cinema-page .event-list .event-category{display:none}
.cinema-page .event-list .event-open{padding:12px;min-height:0;display:flex;flex-direction:column;gap:5px}
.cinema-page .event-list .event-title{font-size:1.05rem;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cinema-page .event-list :is(.program-number,.event-description,.event-access){display:none}
.cinema-page .event-list .event-venue{border:0;padding:0;margin:0;font-size:.875rem}
.cinema-page .event-list .event-time{margin:0;font-size:.875rem}
.cinema-page .event-list .event-cta{margin:0;font-size:.8rem}
.cinema-page .event-list .profest-note{margin:2px 0;font-size:.875rem;line-height:1.3}
.cinema-page .event-list .event-footer{display:flex;flex-direction:column;border:0;border-left:1px solid currentColor;padding:0}
.cinema-page .event-list .favorite{flex:1;width:100%;min-width:0;padding:8px 4px;border:0;font-size:.875rem;white-space:normal}
section#vs-route-app .vs-schedule .vs-event .vs-event-body{display:grid;grid-template-columns:64px minmax(0,1fr) 70px}
section#vs-route-app .vs-schedule .vs-event-header{flex-direction:column;justify-content:center;padding:10px 6px;border-bottom:0;border-right:1px solid currentColor;gap:6px}
section#vs-route-app .vs-schedule .vs-event-header .vs-type{display:none}
section#vs-route-app .vs-schedule .vs-open{padding:12px;gap:5px}
section#vs-route-app .vs-schedule .vs-title{font-size:1.05rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
section#vs-route-app .vs-schedule :is(.vs-card-copy,.vs-state){display:none}
section#vs-route-app .vs-schedule .vs-place{border:0;padding:0;margin:0}
section#vs-route-app .vs-schedule .vs-card-action{margin:0;font-size:.8rem}
section#vs-route-app .vs-schedule .profest-note{margin:2px 0;font-size:.875rem;line-height:1.3}
section#vs-route-app .vs-schedule .vs-event-footer{border:0;border-left:1px solid currentColor;display:flex;flex-direction:column}
section#vs-route-app .vs-schedule .vs-fav{flex:1;min-width:0;width:100%;padding:8px 4px;border:0!important;font-size:.875rem;white-space:normal}
section#vs-route-app .vs-schedule .vs-finale .vs-event-body,.cinema-page .event--finale{grid-template-columns:64px minmax(0,1fr) 70px}
@media(max-width:760px){.cinema-page .event-list .event,section#vs-route-app .vs-schedule .vs-event .vs-event-body{grid-template-columns:48px minmax(0,1fr) 56px}.cinema-page .event-list .event-open,section#vs-route-app .vs-schedule .vs-open{padding:10px}.cinema-page .event-list .event-title,section#vs-route-app .vs-schedule .vs-title{font-size:1rem}.cinema-page .event-list .activity-venue-logos img,section#vs-route-app .vs-schedule .activity-venue-logos img{max-width:100%;height:28px!important}.activity-venue-logos{flex-wrap:wrap}}
.cinema-page .program-section{color:#111}
.cinema-page .program-section .section-heading :is(h2,p,.eyebrow){color:#111}
.cinema-page .program-section .section-heading{margin-bottom:20px;align-items:center}
.cinema-page .program-section .section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15}
.cinema-page .event-list .event{transform:none!important;margin:0;box-shadow:2px 3px 0 #482067}
.cinema-page .event-list .event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;width:100%;text-align:center}
.cinema-page .event-list .event-date strong{display:block;font-size:1.65rem;line-height:1}
.cinema-page .event-list .event-date span{display:block;font-size:.7rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere;max-width:52px}
section#vs-route-app .vs-schedule .vs-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;width:100%;text-align:center}
section#vs-route-app .vs-schedule .vs-date strong{font-size:1.65rem;line-height:1}
section#vs-route-app .vs-schedule .vs-date span{font-size:.7rem;line-height:1.3;white-space:normal;max-width:52px}
/* Original Verbena pattern remains continuous behind the programme, including mobile scroll. */
body.verbena-texture-page{background-image:linear-gradient(#2c1b5352,#2c1b5352),url('/identidad-2026/verbena-textura-continua-original.png')!important;background-attachment:scroll!important}
body.verbena-texture-page section#vs-route-app .vs-schedule{background:transparent!important}
.activity-venue-logos img[alt='Somos Voces']{background:transparent;padding:0;border-radius:0}
.activity-venue-logos img[alt='Fundación Cuórum'],.activity-venue-logos img[alt^='Filmoteca']{background:transparent;padding:0}
.activity-venue-logos img[alt='Cineteca Nacional']{width:100px;height:44px;object-fit:contain}
.activity-venue-logos img[alt='House of Vans']{width:100px;height:40px;object-fit:contain}
.activity-venue-logos img[alt='Los de Arriba']{width:70px;height:64px;object-fit:contain}
:is(.event-open,.vs-open) .activity-venue-logos{align-items:center;flex-wrap:wrap;gap:8px;max-width:100%}
:is(.event-open,.vs-open) .activity-venue-logos img{max-width:100%;object-fit:contain}
@media(max-width:760px){body.verbena-texture-page{background-size:auto,600px 360px!important;background-attachment:scroll!important}}

/* Transparent card presentation: originals remain unchanged. */
.activity-venue-logos,.activity-venue-logos img{background:transparent!important;border:0;border-radius:0;padding:0}
:is(.vs-tone-purple,.verbena-tone-purple) .activity-venue-logos img[alt="Galería La Violeta"]{filter:brightness(0) invert(1);mix-blend-mode:normal}
.activity-venue-logos img[alt="Somos Voces"]{filter:drop-shadow(1px 0 0 #171717) drop-shadow(-1px 0 0 #171717) drop-shadow(0 1px 0 #171717) drop-shadow(0 -1px 0 #171717);mix-blend-mode:normal}
/* The supplied Los de Arriba master is opaque; blend its existing white canvas away. */
.activity-venue-logos img[alt="Los de Arriba"]{filter:grayscale(1) invert(1) brightness(7) invert(1);mix-blend-mode:multiply}
:is(.vs-tone-purple,.verbena-tone-purple) .activity-venue-logos img[alt="Los de Arriba"]{filter:grayscale(1) invert(1) brightness(7);mix-blend-mode:screen}
