/* Every declaration is guarded: no desktop selector is changed. */
@media (max-width:700px), (max-width:980px) and (max-height:500px) and (orientation:landscape) {
  html { scroll-padding-top:80px; }
  .iaavim-container { width:calc(100% - 32px); max-width:100%; }
  .iaavim-site-header .iaavim-header-inner { position:relative; flex-direction:row; flex-wrap:nowrap; align-items:center; min-height:64px; gap:12px; padding:8px 0; }
  .iaavim-site-header .iaavim-brand { order:0; margin:0; max-width:calc(100% - 112px); }
  .iaavim-site-header .iaavim-brand-logo { width:auto; max-width:150px; height:auto; max-height:48px; object-fit:contain; }
  .iaavim-site-header .iaavim-header-right { display:none; }
  .iaavim-site-header { z-index:200; }
  .iaavim-mobile-menu { order:1; margin-left:auto; color:#fff; }
  .iaavim-mobile-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:88px; min-height:44px; padding:8px 12px; border:1px solid rgba(255,255,255,.4); border-radius:8px; background:#111; color:#fff; font:600 14px/1.2 var(--iaavim-font, sans-serif); cursor:pointer; }
  .iaavim-mobile-menu-toggle::before { content:'☰'; font-size:23px; line-height:1; }
  .iaavim-mobile-menu-toggle[aria-expanded=true]::before { content:'×'; }
  .iaavim-mobile-menu-panel { position:absolute; top:calc(100% + 6px); right:0; width:min(360px,calc(100vw - 48px)); max-height:calc(100svh - 100px); overflow-y:auto; overscroll-behavior:contain; padding:12px; background:#111; border:1px solid #454545; border-radius:12px; box-shadow:0 12px 36px #0009; z-index:220; }
  .iaavim-mobile-menu-panel[hidden] { display:none!important; }
  .iaavim-mobile-menu-panel ul { list-style:none; padding:0; margin:0; }
  .iaavim-mobile-menu-panel ul ul { padding-left:12px; }
  .iaavim-mobile-menu-panel a { display:flex; align-items:center; min-height:44px; padding:10px 12px; color:#fff; text-decoration:none; font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
  .iaavim-mobile-menu-panel li + li { border-top:1px solid #ffffff15; }
  .iaavim-mobile-menu-panel h2 { font-size:13px; margin:16px 12px 8px; color:#e8b44b; }
  .iaavim-mobile-menu-panel .iaavim-home-search { width:100%; height:48px; margin:8px 0; }
  .iaavim-mobile-menu-panel .iaavim-home-search input { font-size:16px; }
  .iaavim-mobile-menu-panel .iaavim-mobile-socials { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
  .iaavim-mobile-menu button:focus-visible,.iaavim-mobile-menu a:focus-visible { outline:2px solid #e8b44b; outline-offset:2px; }

  /* Fiche: restore a true single column after the later desktop grid rule. */
  .iaavim-single-hero .iaavim-single-layout { display:flex; flex-direction:column; gap:24px; padding-top:24px; padding-bottom:24px; }
  .iaavim-single-layout > * { min-width:0; width:100%; max-width:100%; }
  .iaavim-single-layout .iaavim-poster { align-self:center; width:min(70%,250px); margin:0; }
  .iaavim-single-layout .iaavim-poster img { display:block; width:100%; height:auto; max-height:375px; object-fit:contain; }
  .iaavim-single-layout .iaavim-single-title { font-size:clamp(28px,7.5vw,40px); line-height:1.12; overflow-wrap:anywhere; }
  .iaavim-single-layout .iaavim-data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .iaavim-data-item { min-width:0; overflow-wrap:anywhere; }
  .iaavim-data-item.iaavim-mobile-wide { grid-column:1/-1; }
  .iaavim-data-value { font-size:15px; line-height:1.5; }
  .iaavim-single-layout .iaavim-buttons { display:flex; flex-wrap:wrap; gap:10px; }
  .iaavim-single-layout .iaavim-button { flex:1 1 120px; justify-content:center; min-height:44px; }
  .iaavim-mobile-fiche-heading { order:-1; }
  .iaavim-mobile-fiche-heading .iaavim-single-title { margin:8px 0 0; }
  .iaavim-mobile-fiche-actions .iaavim-buttons { margin-top:0; }
  .iaavim-section { padding-top:20px; padding-bottom:20px; }
  .iaavim-panel { padding:20px 16px; min-width:0; }
  .iaavim-panel p { font-size:16px; line-height:1.6; }
  .iaavim-tags { flex-wrap:wrap; }
  .iaavim-credits,.iaavim-technical-team-grid { grid-template-columns:minmax(0,1fr); }

  /* Explore: content before advanced filters, with one visible search. */
  .iaavim-explore-hero { padding:28px 0 10px; }
  .iaavim-explore-hero .iaavim-title { font-size:clamp(27px,7.5vw,36px); }
  .iaavim-explore-hero .iaavim-lead { font-size:16px; line-height:1.5; margin-bottom:8px; }
  .iaavim-explore-layout { display:block; padding-top:16px; }
  .iaavim-explore-sidebar { position:static; margin-bottom:16px; }
  .iaavim-mobile-filters summary { min-height:48px; cursor:pointer; gap:10px; }
  .iaavim-mobile-filters summary::after { content:'＋'; margin-left:auto; font-size:22px; }
  .iaavim-mobile-filters[open] summary::after { content:'−'; }
  .iaavim-explore-form { gap:16px; }
  .iaavim-explore-form label { font-size:13px; }
  .iaavim-explore-form input,.iaavim-explore-form select { font-size:16px; min-height:48px; }
  .iaavim-mobile-explore .iaavim-explore-search { display:none; }
  .iaavim-explore-main-search { margin-bottom:16px; padding:10px; }
  .iaavim-explore-main-search input { font-size:16px; }
  .iaavim-explore-results-head { gap:10px; margin-bottom:16px; }
  .iaavim-explore-results-toolbar { gap:8px 12px; }
  .iaavim-explore-order-switch { font-size:14px; }
  .iaavim-explore-export { gap:8px; margin-bottom:20px; }
  .iaavim-explore-export span { font-size:13px; }
  .iaavim-explore-card-body { padding:12px 10px; }
  .iaavim-explore-card h3 { font-size:16px; line-height:1.35; }
  .iaavim-explore-card .iaavim-meta-line { font-size:14px; line-height:1.5; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
  .iaavim-explore-card .iaavim-tag { font-size:12px; }
  .iaavim-explore-pagination .page-numbers { min-width:44px; min-height:44px; }

  /* Home enhancement hides originals only after an accessible menu exists. */
  .iaavim-mobile-home .iaavim-home-left { display:flex!important; flex-direction:row!important; align-items:center!important; top:16px!important; left:16px!important; right:120px!important; bottom:auto!important; width:auto!important; padding:0!important; min-height:48px; }
  .iaavim-mobile-home .iaavim-home-logo { width:min(140px,100%)!important; margin:0!important; }
  .iaavim-mobile-home .iaavim-home-logo img { max-height:48px!important; object-position:left center; }
  .iaavim-mobile-home .iaavim-home-left > nav,
  .iaavim-mobile-home .iaavim-home-left > .iaavim-home-search,
  .iaavim-mobile-home .iaavim-home-left > .iaavim-home-socials,
  .iaavim-mobile-home > .iaavim-home-floating { display:none!important; }
  .iaavim-mobile-home > .iaavim-mobile-menu { position:absolute; top:16px; right:16px; z-index:120; }
  .iaavim-mobile-home .iaavim-mobile-menu-panel { top:56px; }
  .iaavim-home-hero.iaavim-mobile-home { height:var(--iaavim-mobile-hero-height,100svh)!important; min-height:var(--iaavim-mobile-hero-height,100svh)!important; }
  /* Background media must not push the in-flow poster copy below the slide. */
  .iaavim-mobile-home .iaavim-home-slide > img.iaavim-home-media,
  .iaavim-mobile-home .iaavim-home-slide > video.iaavim-home-media { position:absolute; inset:0; }
  .iaavim-mobile-home .iaavim-home-poster-content { position:relative!important; inset:auto!important; margin:100px 20px 84px; width:auto; min-height:calc(100svh - 184px); padding:20px 0; overflow:visible!important; justify-content:center; }
  .iaavim-mobile-home .iaavim-home-poster-title { font-size:clamp(28px,8.5vw,44px)!important; line-height:1.08; text-wrap:balance; }
  .iaavim-mobile-home .iaavim-home-poster-tagline { margin-bottom:16px; font-size:12px; }
  .iaavim-mobile-home .iaavim-home-poster-subtitle { margin-top:16px; font-size:14px; line-height:1.5; }
  .iaavim-mobile-home .iaavim-home-poster-buttons { width:min(100%,320px); display:grid; grid-template-columns:1fr; gap:10px; margin-top:22px; }
  .iaavim-mobile-home .iaavim-home-poster-buttons a { width:100%; min-height:48px; font-size:13px; padding:13px 16px; }
  .iaavim-mobile-home .iaavim-home-dots { bottom:22px; gap:4px; }
  .iaavim-mobile-home .iaavim-home-dots button { width:44px; height:44px; display:grid; place-items:center; background:transparent; transform:none; }
  .iaavim-mobile-home .iaavim-home-dots button::before { content:''; width:9px; height:9px; border-radius:50%; background:#ffffff80; }
  .iaavim-mobile-home .iaavim-home-dots button.is-active::before { background:#fff; width:12px; height:12px; }

  /* Carousel text flows naturally; no second vertical scrollbar. */
  .iaavim-cinematic { min-height:0!important; padding-top:24px; padding-bottom:24px; }
  .iaavim-cinematic-topbar { grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; }
  .iaavim-cinematic-heading { font-size:20px; }
  .iaavim-cinematic .iaavim-cinematic-arrow { width:44px; height:44px; }
  .iaavim-cinematic .iaavim-cinematic-icon { min-width:44px; min-height:44px; }
  .iaavim-mobile-carousel .iaavim-cinematic-dots { display:none; }
  .iaavim-mobile-carousel-count { display:block; text-align:center; margin:12px 0 0; color:#ddd; font-size:14px; }
  .iaavim-cinematic-info,.iaavim-cinematic-info-content { min-height:0!important; height:auto!important; }
  .iaavim-cinematic-info-content { display:flex!important; flex-direction:column; gap:20px; width:calc(100% - 32px)!important; padding:24px 0!important; }
  .iaavim-cinematic-info .iaavim-cinematic-facts { position:relative!important; inset:auto!important; order:-1; width:100%!important; max-width:none; max-height:none!important; overflow:visible; margin:0; transform:none!important; }
  .iaavim-cinematic-facts:not(.is-collapsed) { height:auto; }
  .iaavim-cinematic-facts-body { max-height:none!important; overflow:visible!important; padding:20px 16px; }
  .iaavim-cinematic-info .iaavim-cinematic-info-left { position:static!important; width:100%; max-height:none; align-self:stretch; transform:none; }
  .iaavim-cinematic-info .iaavim-cinematic-info-center { display:none; }
  .iaavim-cinematic-info h3 { font-size:24px; }
  .iaavim-cinematic-synopsis,.iaavim-cinematic-synopsis p { font-size:16px; line-height:1.55; }
  .iaavim-cinematic-meta,.iaavim-cinematic-detail-link { font-size:13px; }
  .iaavim-cinematic-detail-link { min-height:44px; align-items:center; }
  .iaavim-related-result-copy p { font-size:14px; }

  /* Lists lead; the optional map expands below its mobile control. */
  .iaavim-venue-archive,.iaavim-venue-single { padding-top:28px; padding-bottom:32px; }
  .iaavim-venue-archive h1,.iaavim-venue-single h1 { font-size:30px; }
  .iaavim-mobile-map-control { margin:20px 0; }
  .iaavim-mobile-map-control button { min-height:48px; width:100%; padding:12px; border:1px solid #ffffff55; border-radius:8px; background:#171d24; color:#fff; font:600 15px var(--iaavim-font,sans-serif); cursor:pointer; }
  .iaavim-mobile-map-closed { display:none!important; }
  .iaavim-cineclub-map-shell .iaavim-cineclub-map-overlay { position:relative!important; inset:auto!important; width:100%; margin:0; border-radius:0; padding:16px!important; }
  .iaavim-cineclub-map-shell .iaavim-cineclub-map { height:300px!important; min-height:0!important; }
  .iaavim-cineclub-map-shell { min-height:0!important; }
  .iaavim-cineclub-map-overlay h2 { font-size:21px!important; }
  .iaavim-venue-archive-grid { margin:24px 0; gap:28px; }
  .iaavim-venue-card h3 { font-size:17px; }
  .iaavim-venue-card p { font-size:14px; line-height:1.5; }
  .iaavim-venue-card .iaavim-venue-dates { display:inline-block; margin-top:8px; padding:6px 9px; background:#ffffff12; border-radius:5px; color:#eee; }
  .iaavim-venue-arrows button { width:44px; height:44px; }
  .iaavim-venue-all { font-size:14px; min-height:44px; display:inline-flex; align-items:center; }
  .iaavim-venue-single-layout { grid-template-columns:minmax(0,1fr); gap:20px; }

  .iaavim-page-showcase { min-height:0!important; padding:12px; }
  .iaavim-page-showcase-stage,.iaavim-page-showcase-item,.iaavim-page-showcase-copy { min-height:420px!important; }
  .iaavim-page-showcase-copy { padding:28px 20px; }
  .iaavim-page-showcase-copy h3 { font-size:clamp(28px,8vw,36px); }
  .iaavim-page-showcase-copy p { font-size:15px; line-height:1.55; }
  .iaavim-page-showcase-menu button { min-height:44px; font-size:13px; }
  .iaavim-cycle-header { padding:24px 0; }
  .iaavim-cycle-intro-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .iaavim-cycle-art img { max-height:260px; }
  .iaavim-cycle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .iaavim-cycle-movie-copy { padding:12px; }
  .iaavim-cycle-movie h3 { font-size:16px; }
  .iaavim-cycle-movie-meta,.iaavim-cycle-movie-director { font-size:14px; }
  .iaavim-cycle-selection { padding-top:28px; padding-bottom:32px; }
  .iaavim-mobile-editorial .elementor-widget-spacer { display:none!important; }
  .iaavim-mobile-editorial .e-con { --min-height:0px; min-height:0!important; --gap:24px; --row-gap:24px; }
  .iaavim-mobile-editorial .e-parent { padding-top:24px!important; padding-bottom:24px!important; }
  .iaavim-mobile-editorial .iaavim-mobile-art { min-height:280px!important; background-size:contain!important; background-repeat:no-repeat!important; background-position:center!important; }
  .iaavim-mobile-editorial .elementor-widget-heading h1 { font-size:30px!important; margin:0; }

  /* Editorial copy, forms and footer retain content and gain readable spacing. */
  .iaavim-page-content .elementor-widget-text-editor p { text-align:left!important; font-size:16px; line-height:1.6; }
  .iaavim-page-content .elementor-widget-heading h1 { overflow-wrap:anywhere; }
  .iaavim-agam-wrap { padding:20px 16px; }
  .iaavim-agam-grid,.iaavim-agam-educativo,.iaavim-contact-grid { grid-template-columns:minmax(0,1fr); }
  .iaavim-agam-grid > label { display:block; line-height:1.5; }
  .iaavim-agam-grid > label input,.iaavim-agam-grid > label textarea { margin-top:8px; }
  .iaavim-agam-form input:not([type=radio]):not([type=checkbox]),.iaavim-agam-form textarea,.iaavim-contact-form input,.iaavim-contact-form textarea { font-size:16px; min-height:48px; max-width:100%; }
  .iaavim-agam-grid fieldset label { min-height:44px; }
  .iaavim-agam-submit,.iaavim-contact-form button[type=submit] { width:100%; min-height:48px; }
  .iaavim-mobile-external-form-note { padding:16px; font-size:15px; line-height:1.5; }
  .iaavim-mobile-external-form-note a { display:inline-flex; align-items:center; min-height:44px; color:var(--iaavim-accent,#e8b44b); }
  .iaavim-site-footer { margin-top:32px; padding-top:28px; padding-bottom:80px; }
  .iaavim-footer-grid { gap:24px; }
  .iaavim-footer-logo { max-width:140px; }
  .iaavim-footer-contact-list a { overflow-wrap:anywhere; }
  .iaavim-footer-menu a,.iaavim-footer-socials a { display:flex; align-items:center; min-height:44px; }
  .iaavim-footer-menu,.iaavim-footer-socials { gap:2px; }
  .iaavim-footer-bottom { text-align:left; padding-right:56px; }
  .iaavim-mobile-footer-toggle { display:flex; width:100%; align-items:center; justify-content:space-between; min-height:44px; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
  .iaavim-mobile-footer-toggle::after { content:'+'; font-size:24px; }
  .iaavim-mobile-footer-toggle[aria-expanded=true]::after { content:'−'; }
  .iaavim-mobile-footer-closed { display:none!important; }
  .iaavim-mobile-form-section { padding-top:24px!important; padding-bottom:24px!important; min-height:0!important; }
  .iaavim-home-elementor-content .elementor-widget-spacer { display:none!important; }
  .iaavim-mobile-showcase-section { min-height:0!important; padding-top:24px!important; padding-bottom:24px!important; }
  .iaavim-mobile-form-section .elementor-widget-spacer { display:none!important; }
  .iaavim-mobile-agam-logo img { max-height:90px!important; width:auto!important; max-width:240px!important; }
}
@media(max-width:359px) {
  .iaavim-single-layout .iaavim-data-grid,.iaavim-cycle-grid { grid-template-columns:minmax(0,1fr); }
  .iaavim-explore-results-toolbar { gap:4px 10px; }
}
