/* Scoped to Sienna: keep the festival's normal layout unchanged. */
.asw-container .asw-menu-btn {
  width: auto; min-width: 58px; min-height: 48px; height: auto;
  padding: 9px 15px; gap: 8px; border-radius: 999px;
  font: 700 14px/1.4 Arial, sans-serif;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
}
.asw-container .asw-menu-btn::after { content: attr(data-label); color: white; }
.asw-container .asw-menu { max-width: 100vw; height: 100dvh; font-family: Arial, sans-serif; }
.asw-container .asw-menu-header { min-height: 64px; flex-shrink: 0; }
.asw-container .asw-menu-content { min-height: 0; overscroll-behavior: contain; }
.asw-container .asw-footer { flex-shrink: 0; padding-bottom: max(20px, env(safe-area-inset-bottom)); }
.asw-container .asw-plus,.asw-container .asw-minus { min-width: 44px; min-height: 44px; padding: 0; }
.asw-container .asw-menu-close,.asw-container .asw-menu-reset { min-width: 44px; min-height: 44px; }
.asw-container :focus-visible { outline: 3px solid #111 !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px #fff !important; }
.asw-container .asw-btn { line-height: 1.3 !important; }
.asw-container .asw-btn .asw-translate { line-height: 1.3 !important; }
@media (max-width: 560px) {
  .asw-container .asw-menu-btn { padding: 8px 11px; font-size: 12px; left: 14px !important; }
  .asw-container .asw-menu-btn svg { width: 26px; height: 26px; min-width: 26px; min-height: 26px; }
}
@media (prefers-reduced-motion: reduce) { .asw-container * { transition: none !important; } }
/* Reflow only when the visitor chooses larger text. */
html.wcf-text-enlarged main *,html.wcf-text-enlarged .audio-guide * { min-width: 0; overflow-wrap: anywhere; }
html.wcf-text-enlarged select,html.wcf-text-enlarged input,html.wcf-text-enlarged textarea { max-width: 100%; }
html.wcf-text-enlarged .button { white-space: normal; height: auto; }
html.wcf-text-enlarged .status { display: inline-block; max-width: 100%; box-sizing: border-box; white-space: normal; }
@media (max-width: 700px) {
  html.wcf-text-enlarged .film-grid { grid-template-columns: minmax(0,1fr); }
  html.wcf-text-enlarged .section-head { flex-direction: column; align-items: flex-start; grid-template-columns: minmax(0,1fr); }
  html.wcf-text-enlarged .hero-copy h1 { overflow-wrap: anywhere; }
}
