/* ═══════════════════════════════════════════════════════════════════════════
   IMAGIC FILMS — mobile.css
   Responsive: tablet (1024px) + mobile (768px / 480px / 390px)
   Carga con prioridad 99 en functions.php → siempre gana al resto de CSS.

   NOTA: Las secciones 2 (Header+Logo), 3 (Menú hamburguesa) y el fix
   del header área cliente han sido eliminadas — ahora las gestiona
   imagic-mobile-ui.css completamente.

   ÍNDICE
   1.  GLOBAL — variables mobile, contenedores, tipografía
   2.  HOME — hero, carrusel, grids, mockup
   3.  SERVICIOS — timeline, acordeón
   4.  CATÁLOGO — filtros, grid de obras
   5.  ENVIANOS TU PELÍCULA — formulario
   6.  ÁREA CLIENTE — sidebar, nav, KPIs, wallet, tabla
   7.  BLOG / PRENSA — grid y single
   8.  FOOTER
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   1. GLOBAL — variables mobile, contenedores, tipografía
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    :root {
        --content-padding: 20px;
        --text-size-large: 36px;
        --text-size-medium: 28px;
    }

    .ih-container,
    .ib-container,
    .ibs-container,
    .sv-wrap,
    .cat-s1 .ih-container {
        width: 94% !important;
    }
}

@media (max-width: 768px) {
    :root {
        --content-padding: 16px;
        --text-size-large: 28px;
        --text-size-medium: 22px;
        --text-size-small: 18px;
        --text-size-body: 15px;
    }

    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    p, .entry-content p {
        text-align: left !important;
    }

    h1 { font-size: 1.9rem !important; }
    h2 { font-size: 1.6rem !important; }
    h3 { font-size: 1.25rem !important; }
}

@media (max-width: 480px) {
    :root {
        --content-padding: 14px;
        --text-size-large: 24px;
        --text-size-medium: 20px;
    }

    h1 { font-size: 1.65rem !important; }
    h2 { font-size: 1.4rem !important; }
}

@media (max-width: 390px) {
    :root {
        --content-padding: 12px;
    }

    h1 { font-size: 1.5rem !important; }
    h2 { font-size: 1.25rem !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   2. HOME — hero, carrusel, grids, mockup, apoyos
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Secciones ocultas en móvil ── */
@media (max-width: 768px) {
    /* Sección 4: Cómo trabajamos */
    .ih-proceso { display: none !important; }

    /* Sección 5: solo mostrar logos festivales — ocultar el resto */
    .ih-area-promo  { display: none !important; }
    .ih-sep         { display: none !important; }
    .ih-apoyos-grid { display: none !important; }
}

@media (max-width: 1024px) {

    .ih-hero {
        height: 85vh !important;
        min-height: 500px !important;
    }

    .ih-hero__title {
        font-size: clamp(2rem, 5vw, 3rem) !important;
    }

    .ih-carrusel {
        padding: 0 52px !important;
    }

    .ih-poster {
        flex: 0 0 200px !important;
    }

    .ih-pasos,
    .ih-pasos--3 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    .ih-area-promo {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        gap: 40px !important;
    }

    .ih-area-promo__visual {
        order: -1 !important;
        max-width: 480px !important;
        margin: 0 auto !important;
    }

    .ih-apoyos-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .ih-apoyos-grid .ih-apoyos-col:last-child {
        text-align: left !important;
    }

    .ih-apoyos-grid .ih-apoyos-col:last-child .ih-apoyos-col__logos {
        justify-content: flex-start !important;
    }
    
}

@media (max-width: 768px) {

    .ih-hero {
        height: 88vh !important;
        min-height: 420px !important;
    }

    .ih-hero__title {
        font-size: clamp(1.8rem, 7vw, 2.6rem) !important;
        text-align: center !important;
    }

    .ih-hero__subtitle {
        font-size: 16px !important;
        text-align: center !important;
        padding: 0 20px !important;
    }

    .ih-hero__btns {
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .ih-hero__btns .ih-btn {
        width: 100% !important;
        max-width: 300px !important;
    }

    .ih-pasos,
    .ih-pasos--3 {
        grid-template-columns: 1fr !important;
    }

    /* ── Carrusel Apple-style: scroll nativo, sin flechas ── */
    .ih-carrusel {
        padding: 0 !important;
        position: static !important;
        overflow: visible !important;
    }

    /* Ocultar flechas en móvil */
    .ih-carrusel__btn--prev,
    .ih-carrusel__btn--next {
        display: none !important;
    }

    /* El viewport se convierte en el contenedor con scroll */
    .ih-carrusel__viewport {
        overflow-x: scroll !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;          /* Firefox */
        padding-left: 20px !important;
        /* Peek: padding-right menor → se ve el inicio del siguiente */
        padding-right: 40px !important;
        box-sizing: border-box !important;
    }

    .ih-carrusel__viewport::-webkit-scrollbar {
        display: none !important;                  /* Chrome / Safari */
    }

    /* Track: flex, sin transform JS en móvil */
    .ih-carrusel__track {
        transform: none !important;
        transition: none !important;
        display: flex !important;
        gap: 12px !important;
        width: max-content !important;
    }

    /* Cada poster: ancho fijo, snap al inicio */
    .ih-poster {
        flex: 0 0 65vw !important;
        max-width: 240px !important;
        scroll-snap-align: start !important;
    }

    .ih-poster--cta {
        flex: 0 0 70vw !important;
        max-width: 260px !important;
        scroll-snap-align: start !important;
    }

    .ih-mockup-content {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .ih-festivales__track {
        gap: 24px !important;
    }

    .ih-festivales__logo-wrap img {
        max-height: 36px !important;
        max-width: 90px !important;
    }
}

@media (max-width: 480px) {

    .ih-hero__content {
        padding: 0 16px !important;
    }

    /* Carrusel 480px: posters ligeramente más pequeños, peek visible */
    .ih-carrusel__viewport {
        padding-left: 16px !important;
        padding-right: 36px !important;
    }

    .ih-poster {
        flex: 0 0 68vw !important;
        max-width: 210px !important;
    }

    .ih-poster--cta {
        flex: 0 0 72vw !important;
        max-width: 230px !important;
    }

    .ih-mockup-content {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .ih-proceso,
    .ih-area-dark { padding: 48px 0 !important; }

    .ih-intro { padding: 48px 0 !important; }
}

@media (max-width: 390px) {

    .ih-carrusel__viewport {
        padding-left: 14px !important;
        padding-right: 32px !important;
    }

    .ih-poster {
        flex: 0 0 72vw !important;
        max-width: 190px !important;
    }

    .ih-hero__btns .ih-btn {
        padding: 12px 20px !important;
        font-size: 14px !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   3. SERVICIOS — timeline, acordeón
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    .sv-accordion__trigger  { padding: 16px 18px !important; }
    .sv-accordion__label    { font-size: 15px !important; }
    .sv-accordion__num      { font-size: 20px !important; }
    .sv-accordion__body     { padding: 20px 18px !important; }
    .sv-accordion__text     { font-size: 14px !important; }
    .sv-descuento-nota      { font-size: 13px !important; padding: 12px 16px !important; }

    .sv-timeline { padding-left: 0 !important; }

    .sv-timeline__item {
        display: block !important;
        padding: 0 0 32px 0 !important;
        position: relative !important;
    }

    .sv-timeline__marker {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
        position: static !important;
        width: auto !important;
    }

    .sv-timeline__num   { font-size: 28px !important; flex-shrink: 0 !important; }
    .sv-timeline__title { font-size: 16px !important; }
    .sv-timeline__text  { font-size: 14px !important; }
}

@media (max-width: 480px) {
    .sv-section       { padding: 40px 0 !important; }
    .sv-section__title { font-size: 1.4rem !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   4. CATÁLOGO — filtros, grid de obras
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    .cat-s1__tagline {
        font-size: 1.6rem !important;
        text-align: center !important;
        margin-bottom: 24px !important;
    }

    .cat-search-wrap {
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .cat-search {
        width: 100% !important;
        font-size: 15px !important;
    }

    .cat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
        padding: 24px 0 !important;
    }

    .cat-card__title { font-size: 14px !important; }
}

@media (max-width: 480px) {

    .cat-grid      { grid-template-columns: 1fr !important; gap: 16px !important; }
    .cat-s1        { padding: 40px 0 0 !important; }
    .cat-card__body { padding: 12px !important; }
}

@media (max-width: 390px) {
    .cat-grid { grid-template-columns: 1fr !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   5. ENVIANOS TU PELÍCULA — formulario
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    .envianos-wrapper,
    .page-template-page-envianos-tu-pelicula-php main {
        padding: 24px 16px !important;
    }

    .envianos-wrapper input,
    .envianos-wrapper select,
    .envianos-wrapper textarea,
    .envianos-wrapper .form-field {
        width: 100% !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
    }

    .envianos-wrapper .form-row,
    .envianos-wrapper .form-grid {
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
    }

    .envianos-wrapper button[type="submit"],
    .envianos-wrapper .btn-submit {
        width: 100% !important;
        padding: 14px !important;
        font-size: 15px !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   6. ÁREA CLIENTE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 6a. Layout wrapper / sidebar ── */

@media (max-width: 1024px) {

    .imagic-cliente-sidebar {
        width: 180px !important;
        min-width: 180px !important;
        flex-shrink: 0 !important;
    }

    .sidebar-nombre {
        font-size: 13px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .sidebar-corto {
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .sidebar-nav-item {
        font-size: 13px !important;
        padding: 10px 12px !important;
    }
}

@media (max-width: 768px) {

    .imagic-cliente-wrapper {
        flex-direction: column !important;
        display: flex !important;
    }

    .imagic-cliente-sidebar {
        width: 100% !important;
        min-width: 0 !important;
        position: static !important;
        flex-shrink: 0 !important;
        padding: 14px 16px !important;
        border-bottom: 1px solid #e5e5ea !important;
        background: #fff !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    }

    .sidebar-avatar {
        display: inline-block !important;
        margin-right: 12px !important;
        margin-bottom: 0 !important;
        vertical-align: middle !important;
    }

    .sidebar-avatar img {
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        display: block !important;
    }

    .sidebar-nombre {
        font-size: 15px !important;
        font-weight: 600 !important;
        display: inline-block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 180px !important;
        vertical-align: middle !important;
    }

    .sidebar-corto {
        font-size: 12px !important;
        color: #86868b !important;
        display: block !important;
        margin-top: 2px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 220px !important;
        padding-left: 56px !important;
    }

    .sidebar-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 6px !important;
        margin-top: 12px !important;
        padding-bottom: 2px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .sidebar-nav::-webkit-scrollbar { display: none !important; }

    .sidebar-nav-item {
        flex-shrink: 0 !important;
        padding: 7px 15px !important;
        border-radius: 100px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #1d1d1f !important;
        background: #f5f5f7 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        border: none !important;
        transition: background 0.15s ease, color 0.15s ease !important;
        display: inline-block !important;
    }

    .sidebar-nav-item:hover  { background: #e5e5ea !important; color: #1d1d1f !important; }
    .sidebar-nav-item.activo { background: #CC8E03 !important; color: #fff !important; font-weight: 600 !important; }

    .imagic-cliente-main {
        width: 100% !important;
        padding: 20px 16px !important;
        flex: 1 !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    .imagic-cliente-sidebar { padding: 12px !important; }
    .sidebar-avatar img     { width: 38px !important; height: 38px !important; }
    .sidebar-nombre         { font-size: 14px !important; max-width: 150px !important; }
    .sidebar-nav-item       { padding: 6px 13px !important; font-size: 12px !important; }
    .imagic-cliente-main    { padding: 16px 12px !important; }
}

@media (max-width: 390px) {
    .sidebar-nav-item { padding: 6px 11px !important; font-size: 11px !important; }
    .sidebar-nombre   { max-width: 110px !important; }
    .sidebar-corto    { padding-left: 50px !important; }
}


/* ── 6b. Inicio — KPIs y accesos rápidos ── */

@media (max-width: 768px) {

    .inicio-wrapper  { padding: 0 !important; }
    .inicio-subtitulo { font-size: 14px !important; margin-bottom: 20px !important; }

    .inicio-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }

    .inicio-stat  { padding: 16px 12px !important; }
    .stat-numero  { font-size: 22px !important; }
    .stat-label   { font-size: 11px !important; }

    .inicio-materiales { padding: 16px !important; margin-bottom: 20px !important; }
    .mat-item          { font-size: 11px !important; padding: 3px 8px !important; }

    .inicio-accesos {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .acceso-card  { padding: 16px 14px !important; }
    .acceso-titulo { font-size: 14px !important; }
    .acceso-sub   { font-size: 12px !important; }
}

@media (max-width: 480px) {
    .stat-numero { font-size: 20px !important; }

    .inicio-accesos {
        grid-template-columns: 1fr !important;
    }

    .acceso-card {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 14px !important;
    }
}

@media (max-width: 390px) {
    .stat-numero       { font-size: 18px !important; }
    .inicio-stats-grid { gap: 8px !important; }
}


/* ── 6c. Circuito — wallet, filtros, tabla ── */

@media (max-width: 768px) {

    .circuito-wallet {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        margin-bottom: 20px !important;
    }

    .wallet-item  { padding: 14px 12px !important; border-radius: 10px !important; }
    .wallet-num   { font-size: 16px !important; }
    .wallet-label { font-size: 11px !important; }

    .circuito-dudosos-aviso {
        font-size: 13px !important;
        padding: 12px 14px !important;
        border-radius: 8px !important;
        margin-bottom: 16px !important;
    }

    .circuito-filtros {
        flex-direction: column !important;
        gap: 10px !important;
        align-items: flex-start !important;
        margin-bottom: 16px !important;
    }

    .circuito-estado-form,
    .circuito-search-wrap { width: 100% !important; }

    .circuito-estado-form select,
    .circuito-search-wrap input {
        width: 100% !important;
        font-size: 14px !important;
        padding: 8px 12px !important;
        box-sizing: border-box !important;
    }

    .circuito-tabla {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 8px !important;
    }

    .circuito-tabla table {
        min-width: 640px !important;
        width: 100% !important;
        border-collapse: collapse !important;
    }

    .circuito-tabla th { font-size: 11px !important; padding: 10px !important; white-space: nowrap !important; }
    .circuito-tabla td { font-size: 12px !important; padding: 10px !important; white-space: nowrap !important; }

    .circuito-tabla th.col-ambito,
    .circuito-tabla td.col-ambito { display: none !important; }

    .circuito-tabla .estado-badge,
    .circuito-tabla [class^="estado-"],
    .circuito-tabla [class*="estado-"] {
        font-size: 10px !important;
        padding: 3px 8px !important;
        border-radius: 4px !important;
    }

    .circuito-tabla .btn-voto-si,
    .circuito-tabla .btn-voto-no { font-size: 11px !important; padding: 5px 10px !important; }
}

@media (max-width: 480px) {
    .circuito-wallet { gap: 8px !important; }
    .wallet-num      { font-size: 14px !important; }

    .circuito-tabla table { min-width: 520px !important; }
    .circuito-tabla th,
    .circuito-tabla td    { font-size: 11px !important; padding: 8px !important; }
}

@media (max-width: 390px) {
    .wallet-item { padding: 12px 10px !important; }
    .wallet-num  { font-size: 13px !important; }
}


/* ── 6d. Mi Corto — tabs ── */

@media (max-width: 768px) {

    .mi-corto-wrapper { padding: 0 !important; }

    .mi-corto-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        padding-bottom: 4px !important;
        margin-bottom: 20px !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .mi-corto-tabs::-webkit-scrollbar { display: none !important; }

    .mc-tab {
        flex-shrink: 0 !important;
        font-size: 13px !important;
        padding: 8px 16px !important;
        border-radius: 100px !important;
        white-space: nowrap !important;
    }

    .profile-checklist-wrapper,
    .profile-calendar-wrapper { padding: 20px 16px !important; }

    .checklist-item  { padding: 12px !important; }
    .checklist-label { font-size: 14px !important; }
    .checklist-status { font-size: 12px !important; padding: 3px 10px !important; }
    .progress-percentage { font-size: 20px !important; }

    .calendar-container {
        width: 100% !important;
        min-height: 400px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .calendar-container iframe {
        width: 100% !important;
        min-height: 400px !important;
    }
}

@media (max-width: 480px) {
    .mc-tab { font-size: 12px !important; padding: 7px 14px !important; }
    .profile-checklist-header h2,
    .profile-calendar-header h2 { font-size: 20px !important; }
}


/* ── 6e. Industria ── */

@media (max-width: 768px) {

    .industria-wrapper { padding: 0 !important; }

    .industria-filtros {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        padding-bottom: 4px !important;
        margin-bottom: 20px !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .industria-filtros::-webkit-scrollbar { display: none !important; }

    .industria-perfil {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 14px 12px !important;
    }
}


/* ── 6f. Ajustes ── */

@media (max-width: 768px) {

    .ajustes-wrapper { padding: 0 !important; }

    .ajustes-bloque {
        padding: 20px 16px !important;
        border-radius: 10px !important;
        margin-bottom: 16px !important;
    }

    .ajustes-bloque h3 { font-size: 16px !important; }

    .ajustes-bloque input,
    .ajustes-bloque select,
    .ajustes-bloque textarea {
        width: 100% !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
    }

    .ajustes-bloque button,
    .ajustes-bloque .btn-guardar {
        width: 100% !important;
        padding: 12px !important;
        font-size: 14px !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   7. BLOG / PRENSA — grid y single
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    .ib-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    .ib-intro       { padding: 40px 0 24px !important; }
    .ib-intro__title { font-size: 1.7rem !important; }
    .ib-intro__sub  { font-size: 16px !important; }

    .ib-filters     { position: static !important; padding: 12px 0 !important; }
    .ib-filters__wrap { flex-direction: column !important; gap: 12px !important; }
    .ib-search-wrap { flex: 1 1 100% !important; margin-left: 0 !important; }

    .ib-tags {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 4px !important;
    }

    .ib-tags::-webkit-scrollbar { display: none !important; }
    .ib-tag { flex-shrink: 0 !important; white-space: nowrap !important; }

    .ib-card:hover { transform: none !important; }

    .ibs-container--cols {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .ibs-sidebar    { position: static !important; }
    .ibs-hero__title { font-size: clamp(1.5rem, 5vw, 2.2rem) !important; }

    .ibs-nav {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .ibs-nav__item--next { text-align: left !important; }
}

@media (max-width: 480px) {

    .ib-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
    .ib-feed { padding: 32px 0 56px !important; }

    .ib-pagination {
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: center !important;
    }
}

@media (max-width: 390px) {
    .ib-intro__title { font-size: 1.4rem !important; }
    .ib-card__title  { font-size: 0.9rem !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   8. FOOTER
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    body:not(.imagic-cliente-page) .footer-horizontal {
        padding: 12px 16px !important;
        text-align: center !important;
    }

    body:not(.imagic-cliente-page) .footer-horizontal .top-row {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: center !important;
    }

    body:not(.imagic-cliente-page) .footer-horizontal .bottom-row {
        flex-direction: column !important;
        gap: 4px !important;
        align-items: center !important;
        text-align: center !important;
    }

    body:not(.imagic-cliente-page) .footer-horizontal span,
    body:not(.imagic-cliente-page) .footer-horizontal a { font-size: 12px !important; }

    body:not(.imagic-cliente-page) .footer-horizontal .footer-divider { display: none !important; }

    body.imagic-cliente-page .site-footer,
    body.imagic-cliente-page #colophon {
        text-align: center !important;
        padding: 16px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 390px) {
    body:not(.imagic-cliente-page) .footer-horizontal { padding: 10px 12px !important; }
    body:not(.imagic-cliente-page) .footer-horizontal span,
    body:not(.imagic-cliente-page) .footer-horizontal a { font-size: 11px !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   ACCESIBILIDAD — motion reduce
   ═══════════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
    .ih-festivales__track { animation: none !important; }
    .ih-carrusel__track   { transition: none !important; }
    .ib-card              { transition: none !important; }
    .ib-card:hover        { transform: none !important; }
    .sidebar-nav-item     { transition: none !important; }
}