/* CINÉMA 2.0.10 — optimización táctil y de viewport; no cambia datos ni reproductor */
@media (max-width: 720px) {
  html { scroll-padding-top: 70px; }
  body { overflow-x: clip; }
  .main-shell, .content, .catalog-layout, .settings-layout, .actor-ed-layout,
  .cinema-watch-208, .cinema-editorial-upload { min-width: 0; max-width: 100%; }
  .content { padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important; }
  .footer { padding-bottom: calc(105px + env(safe-area-inset-bottom)); }
  .nocturne-mobile-nav { min-height: 74px; padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
  .nocturne-mobile-nav button { min-height: 52px; touch-action: manipulation; }
  .nocturne-mobile-nav button:focus-visible { outline-offset: -2px; }
  /* Un formulario ocupa el viewport disponible; no comparte espacio con la barra inferior. */
  body:has(.modal-overlay) .nocturne-mobile-nav { visibility: hidden; pointer-events: none; }
  body:has(#modalscreen.modal-overlay) { overflow: hidden; }
  #modalscreen.modal-overlay {
    z-index: 210; left: 0; right: 0; top: var(--cinema-vv-top, 0px); bottom: auto;
    height: var(--cinema-vv-height, 100dvh); max-height: 100dvh;
    padding: 0; align-items: stretch; justify-content: center; overflow: hidden;
  }
  #modalscreen .modal {
    width: 100%; max-width: none; height: 100%; min-height: 0; max-height: none;
    margin: 0; border-radius: 0; border-width: 0; display: flex; flex-direction: column;
    overflow: hidden;
  }
  #modalscreen .modal-head { position: relative; flex: 0 0 auto; z-index: 2; padding: 15px 17px; }
  #modalscreen .modal-head h2 { font-size: clamp(20px, 6vw, 25px); margin-top: 5px; }
  #modalscreen .modal-head .icon-btn { min-width: 44px; min-height: 44px; }
  #modalscreen .modal-body {
    flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto;
    overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch;
    scroll-padding-top: 20px; scroll-padding-bottom: 88px;
    padding: 16px 16px calc(20px + env(safe-area-inset-bottom));
  }
  #modalscreen .modal-body label { min-width: 0; }
  #modalscreen .modal-body input:not([type=checkbox]):not([type=range]),
  #modalscreen .modal-body select, #modalscreen .modal-body textarea {
    font-size: 16px; min-height: 44px; max-width: 100%;
  }
  #modalscreen .modal-body textarea { min-height: 90px; resize: vertical; }
  #modalscreen .modal-body .cast-picker { max-height: min(44dvh, 260px); }
  #modalscreen .modal-body .cast-option { min-height: 44px; }
  #modalscreen .modal-actions,
  #modalscreen .modal-actions.cinema-209-footer {
    position: sticky; bottom: 0; z-index: 5; width: 100%;
    background: linear-gradient(180deg, #191b22f0, #191b22 17%);
    border-top: 1px solid #5a4848;
    box-shadow: 0 -8px 18px #05060a70;
    padding: 13px 0 calc(11px + env(safe-area-inset-bottom));
    margin-top: 12px;
  }
  #modalscreen .modal-actions .outline-btn,
  #modalscreen .modal-actions .primary-btn { min-height: 46px; touch-action: manipulation; }
  /* Vista previa resumida: sigue disponible pero no monopoliza el alto móvil. */
  #modalscreen .cinema-209-editorial-preview {
    padding: 12px; position: static; display: grid; grid-template-columns: minmax(90px, 34%) 1fr;
    gap: 8px 12px; align-items: start;
  }
  #modalscreen .cinema-209-editorial-preview .cinema-209-preview-kicker { grid-column: 1/-1; margin: 0; }
  #modalscreen .cinema-209-editorial-preview .cinema-209-movie-image,
  #modalscreen .cinema-209-editorial-preview .cinema-209-actress-image {
    grid-column: 1; grid-row: 2/6; width: 100%; max-width: 130px; margin: 0;
  }
  #modalscreen .cinema-209-editorial-preview .cinema-209-preview-name,
  #modalscreen .cinema-209-editorial-preview .cinema-209-preview-muted,
  #modalscreen .cinema-209-editorial-preview .cinema-209-summary-list {
    grid-column: 2; grid-row: auto;
  }
  #modalscreen .cinema-209-editorial-preview .cinema-209-preview-name { font-size: clamp(19px, 5.5vw, 24px); margin: 0; line-height: 1.1; }
  #modalscreen .cinema-209-editorial-preview .cinema-209-preview-muted { margin: 0; }
  #modalscreen .cinema-209-summary-list { display: flex; gap: 8px; flex-wrap: wrap; border-top: 0; padding: 0; }
  #modalscreen .cinema-209-summary-list div { min-width: 70px; }
  #modalscreen .cinema-209-summary-list strong { font-size: 15px; }
  #modalscreen .cinema-209-editorial-fields { gap: 12px; }
  #modalscreen .cinema-209-form-section { gap: 10px; padding-top: 10px; }
  #modalscreen .cinema-209-archive-card { padding: 11px; gap: 9px; }
  #modalscreen .cinema-209-archive-actions { gap: 8px; }
  #modalscreen .cinema-209-archive-actions button { min-height: 44px; }
  #modalscreen .cinema-209-archive-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #modalscreen .cinema-209-archive-stats>div:first-child { grid-column: 1/-1; }
  /* Secciones plegables: opcionales, sin ocultar campos por defecto. */
  #modalscreen .cinema-209-form-section h3 { margin: 0; }
  #modalscreen .cinema-210-section-toggle {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; border: 0; background: transparent; color: #e2ad8a;
    font: inherit; font-weight: 900; letter-spacing: inherit; text-transform: inherit;
    text-align: left; padding: 10px 0; width: 100%; min-height: 44px;
  }
  #modalscreen .cinema-210-section-toggle:after {
    content: '⌄'; font-size: 20px; line-height: 1; color: #d4ab91;
    transition: transform .15s;
  }
  #modalscreen .cinema-209-form-section.cinema-210-collapsed>.cinema-210-section-toggle:after,
  #modalscreen .cinema-209-form-section.cinema-210-collapsed>h3 .cinema-210-section-toggle:after {
    transform: rotate(-90deg);
  }
  #modalscreen .cinema-209-form-section.cinema-210-collapsed>:not(h3) { display:none !important; }
  #modalscreen .cinema-209-editorial-form { padding-bottom: calc(30px + env(safe-area-inset-bottom)); }
  .cinema-editorial-upload .media-actions { gap: 9px; }
  .cinema-editorial-upload .media-actions button { min-height: 44px; }
  .cinema-editorial-upload .upload-form-stack input,
  .cinema-editorial-upload .upload-form-stack select,
  .cinema-editorial-upload .upload-form-stack textarea { min-height: 44px; font-size: 16px; }
  .cinema-editorial-upload .upload-form-stack textarea { min-height: 92px; }
  /* Elementos de consulta accesibles por toque en las cinco secciones. */
  .cinema-explore-search input, .catalog-findbar input, .search-input input { font-size: 16px; }
  .cinema-explore-filter-grid select, .cinema-catalog-toolbar203 select { min-height: 44px; }
  .actor-ed-search { height: 46px; min-height: 46px; }
  .actor-ed-search input { font-size: 16px; }
  .actor-ed-films-controls select { min-height: 44px; font-size: 13px; }
  .cinema-watch-208 .cinema-watch-edit { min-height: 44px; }
  .cinema-watch-208 .cinema-rec-open { min-height: 60px; }
  .cinema-editorial-upload input[type=file],
  .cinema-editorial-upload select { max-width: 100%; }
  .actor-ed-film, .cinema-explore-card, .cinema-rec-open { touch-action: manipulation; }
}
@media(max-width:370px){
  #modalscreen .cinema-209-archive-stats { grid-template-columns:1fr; }
  #modalscreen .cinema-209-archive-stats>div:first-child { grid-column:auto; }
  .nocturne-mobile-nav button small { font-size:8px; letter-spacing:-.02em; }
}
@media(prefers-reduced-motion:reduce){
  .cinema-210-section-toggle:after { transition:none!important; }
}
