.sponsor-slide{background:var(--cream);color:var(--teal);position:relative}.sponsor-slide img{background:transparent;mix-blend-mode:multiply;transform:none}.sponsor-slide-dark{background:var(--cream);color:var(--teal);border-top-color:var(--coral)}.sponsor-slide-dark>span{color:#4b7778}.sponsor-slide-dark p{border-top-color:#063f432e}.sponsor-slide-dark img,.sponsor-slide[data-sponsor="quinta-seara-dordens"] img{mix-blend-mode:normal;transform:scale(.72)}.sponsor-slide>a{color:inherit;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}.sponsor-slide>a:focus-visible{outline:3px solid var(--aqua);outline-offset:8px}.sponsor-slide>a:after{content:"Visitar página ↗";text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:900;opacity:.7;position:absolute;top:34px;right:38px}.stewards-grid{display:none}.stewards-section .section-heading h2 br{display:none}.stewards-photo-wall{border-top:2px solid var(--teal);margin-top:44px;padding-top:34px}.stewards-photo-wall h3{max-width:850px;margin:0;text-transform:uppercase;letter-spacing:-.045em;font-size:clamp(2.3rem,4.2vw,4.8rem);line-height:.98}.stewards-photo-wall p{max-width:720px;color:#426b6d;margin:20px 0 0;font-size:1.05rem;line-height:1.65}

.activity-archive-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:48px}.activity-archive-card{grid-column:span 4;min-width:0;background:var(--paper);border:1px solid #063f4324}.activity-archive-card:first-child,.activity-archive-card:nth-child(2){grid-column:span 6}.activity-archive-card button{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;height:100%;padding:0;text-align:left;width:100%}.activity-cover{aspect-ratio:4/3;background:#d7e0dd;display:block;overflow:hidden;position:relative}.activity-cover img{height:100%;object-fit:cover;transition:transform .45s ease;width:100%}.activity-cover>span{background:var(--coral);bottom:16px;color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.1em;padding:9px 12px;position:absolute;right:16px;text-transform:uppercase}.activity-card-copy{display:flex;flex:1;flex-direction:column;padding:24px}.activity-card-copy small{color:#527577;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.activity-card-copy strong{font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.04em;line-height:1;margin-top:10px;text-transform:uppercase}.activity-card-copy>span{color:#426b6d;font-size:.94rem;line-height:1.55;margin-top:15px}.activity-archive-card button:hover .activity-cover img{transform:scale(1.035)}.activity-archive-card button:focus-visible{outline:3px solid var(--coral);outline-offset:4px}

.activity-cover.peditorios-cover{aspect-ratio:4/3;background:var(--paper)}.activity-cover.peditorios-cover>img{object-position:center 48%}

.activity-lightbox{background:#072f32;border:0;color:#fff;height:100dvh;margin:0;max-height:none;max-width:none;padding:0;width:100vw}.activity-lightbox::backdrop{background:#001b1ddd}.lightbox-bar{align-items:center;border-bottom:1px solid #ffffff26;display:flex;justify-content:space-between;padding:18px clamp(20px,4vw,58px)}.lightbox-bar div{display:flex;flex-direction:column;gap:4px}.lightbox-bar small{color:#8bc1bd;font-size:.65rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.lightbox-bar strong{font-size:clamp(1.25rem,2.5vw,2.1rem);letter-spacing:-.035em;text-transform:uppercase}.lightbox-close{background:transparent;border:1px solid #ffffff55;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;height:48px;line-height:1;width:48px}.lightbox-stage{align-items:center;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;height:calc(100dvh - 200px);padding:18px clamp(12px,2vw,32px)}.lightbox-stage figure{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0;min-height:0}.lightbox-stage img{box-shadow:0 18px 80px #0007;display:block;max-height:calc(100dvh - 260px);max-width:100%;object-fit:contain}.lightbox-stage figcaption{color:#a9c8c6;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-top:12px}.lightbox-prev,.lightbox-next{background:transparent;border:0;color:#fff;cursor:pointer;font-size:2rem;height:64px}.lightbox-thumbnails{display:flex;gap:8px;justify-content:center;overflow-x:auto;padding:0 24px 18px}.lightbox-thumbnails button{background:transparent;border:2px solid transparent;cursor:pointer;height:52px;opacity:.58;padding:0;width:52px}.lightbox-thumbnails button.active{border-color:var(--coral);opacity:1}.lightbox-thumbnails img{height:100%;object-fit:cover;width:100%}

.commission-photo-strip{display:grid;gap:12px;grid-template-columns:1.25fr .8fr 1fr;margin-top:30px}.commission-photo-strip img{height:clamp(210px,30vw,420px);object-fit:cover;width:100%}.commission-photo-strip img:nth-child(2){margin-top:36px}

@media (width<=900px){.activity-archive-card,.activity-archive-card:first-child,.activity-archive-card:nth-child(2){grid-column:span 6}.lightbox-stage{grid-template-columns:46px minmax(0,1fr) 46px}.commission-photo-strip{grid-template-columns:1fr 1fr}.commission-photo-strip img:last-child{grid-column:1/-1}.commission-photo-strip img:nth-child(2){margin-top:0}}

@media (width<=620px){.sponsor-slide-dark img,.sponsor-slide[data-sponsor="quinta-seara-dordens"] img{transform:scale(.68)}.sponsor-slide>a:after{top:28px;right:28px}.activity-archive-grid{gap:12px;margin-top:32px}.activity-archive-card,.activity-archive-card:first-child,.activity-archive-card:nth-child(2){grid-column:1/-1}.activity-cover{aspect-ratio:16/10}.activity-card-copy{padding:20px}.lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;height:calc(100dvh - 190px);padding:12px 4px}.lightbox-prev,.lightbox-next{font-size:1.45rem}.lightbox-stage img{max-height:calc(100dvh - 250px)}.commission-photo-strip{grid-template-columns:1fr}.commission-photo-strip img,.commission-photo-strip img:last-child{grid-column:auto;height:250px}.commission-photo-strip img:nth-child(2){display:none}}

.stewards-story{display:grid;gap:clamp(28px,6vw,90px);grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);margin-bottom:34px}.stewards-story>div:first-child>span{color:#527577;display:block;font-size:.7rem;font-weight:900;letter-spacing:.14em;margin-bottom:15px;text-transform:uppercase}.stewards-photo-wall p{max-width:620px;margin:0}.stewards-gallery-action{align-items:center;background:transparent;border:0;border-bottom:2px solid var(--coral);color:var(--teal);cursor:pointer;display:flex;font:inherit;font-size:.72rem;font-weight:900;gap:18px;letter-spacing:.1em;margin-top:24px;padding:0 0 8px;text-transform:uppercase}.stewards-gallery-action span{color:var(--coral);font-size:1rem}.stewards-gallery-action:focus-visible{outline:3px solid var(--coral);outline-offset:6px}.commission-photo-mosaic{display:grid;gap:12px;grid-auto-rows:clamp(135px,15vw,220px);grid-template-columns:repeat(12,minmax(0,1fr))}.commission-photo-mosaic button{background:#d7e0dd;border:0;cursor:pointer;grid-column:span 3;overflow:hidden;padding:0;position:relative}.commission-photo-mosaic button:nth-child(1){grid-column:span 5;grid-row:span 2}.commission-photo-mosaic button:nth-child(2){grid-column:span 3}.commission-photo-mosaic button:nth-child(3){grid-column:span 4}.commission-photo-mosaic button:nth-child(4){grid-column:span 3}.commission-photo-mosaic button:nth-child(5){grid-column:span 4}.commission-photo-mosaic button:nth-child(6),.commission-photo-mosaic button:nth-child(7),.commission-photo-mosaic button:nth-child(8){grid-column:span 4}.commission-photo-mosaic img{height:100%;object-fit:cover;transition:filter .35s ease,transform .45s ease;width:100%}.commission-photo-mosaic button:hover img{filter:saturate(1.08);transform:scale(1.035)}.commission-photo-mosaic button:focus-visible{outline:4px solid var(--coral);outline-offset:3px;z-index:1}

@media (width<=900px){.stewards-story{grid-template-columns:1fr}.commission-photo-mosaic{grid-auto-rows:180px}.commission-photo-mosaic button,.commission-photo-mosaic button:nth-child(n){grid-column:span 6;grid-row:span 1}.commission-photo-mosaic button:first-child{grid-row:span 2}}

@media (width<=620px){.stewards-story{margin-bottom:24px}.commission-photo-mosaic{gap:8px;grid-auto-rows:138px}.commission-photo-mosaic button,.commission-photo-mosaic button:nth-child(n){grid-column:span 6;grid-row:span 1}.commission-photo-mosaic button:first-child{grid-column:1/-1;grid-row:span 2}.commission-photo-mosaic button:nth-child(n+6){display:none}}

/* Montagem dos peditórios: oito momentos com o mesmo peso visual.
   As fotografias são apresentadas por inteiro para não cortar pessoas. */
.commission-photo-mosaic{
  grid-auto-rows:auto;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.commission-photo-mosaic button,
.commission-photo-mosaic button:nth-child(n){
  aspect-ratio:4/3;
  background:#e7ebe7;
  grid-column:auto;
  grid-row:auto;
}
.commission-photo-mosaic img{
  object-fit:contain;
}
.commission-photo-mosaic button:hover img{
  transform:none;
}

@media (width<=900px){
  .commission-photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commission-photo-mosaic button,
  .commission-photo-mosaic button:nth-child(n){grid-column:auto;grid-row:auto}
}

@media (width<=620px){
  .commission-photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commission-photo-mosaic button,
  .commission-photo-mosaic button:nth-child(n){display:block;grid-column:auto;grid-row:auto}
}

/* Espaços ainda sem conteúdo ficam apenas ocultos e podem ser reativados. */
#programa .section-heading,
#programa .days-grid,
#mordomos>.gallery-heading,
#mordomos>.community-gallery{display:none}
#programa{padding-top:72px;padding-bottom:72px}
#programa .poster-placeholder{margin-top:0}

.lightbox-copy{color:#c8dedd;font-size:.92rem;line-height:1.55;margin:16px auto 0;max-width:1050px;padding:0 clamp(20px,4vw,58px)}
.lightbox-copy p{margin:0 0 .65em}.lightbox-copy p:last-child{margin-bottom:0}
.lightbox-media{align-items:center;display:flex;height:100%;justify-content:center;min-height:0;width:100%}
.lightbox-media img,.lightbox-media video{box-shadow:0 18px 80px #0007;display:block;max-height:calc(100dvh - 360px);max-width:100%;object-fit:contain}
.lightbox-media video{width:min(100%,1100px)}
.lightbox-stage{height:calc(100dvh - 290px)}
.lightbox-thumbnails button{align-items:center;color:#fff;display:flex;flex:0 0 52px;justify-content:center}

.peditorios-montage{background:var(--paper);width:100%}
.peditorios-montage img{filter:none!important}
.peditorios-montage button,.peditorios-montage button:nth-child(n){aspect-ratio:16/9;display:block;grid-column:1/-1;grid-row:auto}
.peditorios-montage img{object-fit:cover;object-position:center 48%}
.peditorios-montage button:focus-visible,.stewards-gallery-action:focus-visible{outline:4px solid var(--coral);outline-offset:4px}

.raffle-ticket-visual{cursor:pointer;position:relative}
.raffle-ticket-visual:focus-visible{outline:5px solid var(--coral);outline-offset:6px}
.raffle-open-label{background:var(--teal);bottom:18px;color:#fff;font-size:.7rem;font-weight:900;left:50%;letter-spacing:.08em;padding:12px 16px;position:absolute;text-align:center;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}
.raffle-prizes-dialog{background:var(--cream);border:0;color:var(--teal);height:100dvh;margin:0;max-height:none;max-width:none;padding:0;width:100vw}
.raffle-prizes-dialog::backdrop{background:#001b1ddd}
.raffle-dialog-bar{align-items:center;background:var(--teal);border-bottom:1px solid #ffffff26;color:#fff;display:flex;justify-content:space-between;padding:18px clamp(20px,4vw,58px);position:sticky;top:0;z-index:2}
.raffle-dialog-bar>div{display:flex;flex-direction:column;gap:4px}
.raffle-dialog-bar small{color:#8bc1bd;font-size:.65rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.raffle-dialog-bar strong{font-size:clamp(1.25rem,2.5vw,2.1rem);letter-spacing:-.035em;text-transform:uppercase}
.raffle-dialog-bar button{background:transparent;border:1px solid #ffffff55;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;height:48px;line-height:1;width:48px}
.raffle-prizes-dialog .raffle-supporters{margin:0;padding:clamp(16px,4vw,48px)}

@media (width<=620px){
  #programa{padding-top:36px;padding-bottom:42px}
  #programa .poster-placeholder{min-height:0}
  .lightbox-copy{font-size:.8rem;max-height:94px;overflow:auto}
  .lightbox-stage{height:calc(100dvh - 300px)}
  .lightbox-media img,.lightbox-media video{max-height:calc(100dvh - 370px)}
  .lightbox-thumbnails{justify-content:flex-start}
  .raffle-open-label{bottom:12px;font-size:.62rem;padding:10px 12px}
  .raffle-prizes-dialog .raffle-supporters{grid-template-columns:1fr;padding:12px}
}
