/* Adaptación de la ficha de producto. El escritorio conserva sus reglas. */
.producto-linea__controls { display: none; }

@media (max-width: 767px) {
    #kueshi-producto { overflow: hidden; }
    #kueshi-producto *, #kueshi-producto *::before, #kueshi-producto *::after { box-sizing: border-box; }

    /* Cabecera: imagen, título y claim en la primera pantalla. */
    #kueshi-producto .producto-cabecera { display: block; min-height: 0; }
    #kueshi-producto .producto-cabecera__col { min-height: 0; padding: 55px 20px; }
    #kueshi-producto .producto-cabecera__col--visual {
        min-height: 100svh;
        padding: clamp(125px, 44vw, 230px) 24px 75px;
        --producto-mobile-color: color-mix(in srgb, var(--producto-gradiente-color, #c3e1f5) 50%, #faf5ff);
        background-image: radial-gradient(ellipse at center, var(--producto-mobile-color) 0%, var(--producto-mobile-color) 44%, color-mix(in srgb, var(--producto-mobile-color) 35%, #faf5ff) 100%);
    }
    #kueshi-producto .producto-cabecera__meta { color: #FFF; margin-bottom: 12px; font-size: clamp(12px, 4.1vw, 18px); line-height: 1.2; }
    #kueshi-producto .producto-cabecera__titulo { max-width: 100%; width: min(100%, 12ch); margin: 0 auto; font-size: clamp(28px, 8vw, 46px); line-height: 1; font-weight: 600; letter-spacing: 0; overflow-wrap: anywhere; }
    #kueshi-producto .producto-cabecera__imagen { flex: none; min-height: 0; height: clamp(235px, 76vw, 460px); padding: 32px 0 20px; margin: 4px 0 12px; }
    #kueshi-producto .producto-cabecera__producto { max-width: 80%; max-height: 100%; }
    #kueshi-producto .producto-cabecera__claim { max-width: 470px; margin: 20px auto 0; padding: 0; font-size: clamp(16px, 5.4vw, 24px); line-height: 1.12; letter-spacing: 0; }

    /* Descripción, textura circular e ingredientes alternados. */
    #kueshi-producto .producto-cabecera__col--informacion { padding: 55px 15px 45px; justify-content: flex-start; }
    #kueshi-producto .producto-cabecera__descripcion { max-width: 550px; margin: 0 auto 38px; }
    #kueshi-producto .producto-cabecera__descripcion, #kueshi-producto .producto-cabecera__descripcion p { font-size: clamp(14px, 4.25vw, 20px); line-height: 1.22; }
    #kueshi-producto .producto-cabecera__natural { width: min(80vw, 460px); flex: none; }
    #kueshi-producto .producto-cabecera__porcentaje { font-size: clamp(16px, 5.3vw, 25px); line-height: 1.2; }
    #kueshi-producto .producto-cabecera__activos { grid-template-columns: 1fr; gap: 20px; margin-top: 35px; max-width: 560px; }
    #kueshi-producto .producto-cabecera__activo { width: 85%; min-height: 72px; padding: 22px 24px; border-radius: 26px 26px 26px 0; }
    #kueshi-producto .producto-cabecera__activo:nth-child(odd) { justify-self: end; border-radius: 26px 26px 0 26px; }
    #kueshi-producto .producto-cabecera__activo p { font-size: clamp(14px, 4.2vw, 20px); line-height: 1.25; }

    /* Una sola secuencia vertical: no repetir las copias del bucle de escritorio. */
    #kueshi-producto #producto-carrusel-organico { padding: 55px 0 65px; }
    #kueshi-producto .carrusel-organico, #kueshi-producto .carrusel-organico__viewport { overflow: visible; }
    #kueshi-producto .carrusel-organico__viewport { padding: 0; }
    #kueshi-producto .carrusel-organico__track { display: block; width: 100%; transform: none !important; }
    #kueshi-producto .carrusel-organico__sequence { display: flex; flex-direction: column; width: min(75vw, 460px); margin: 0 auto; padding: 0; }
    #kueshi-producto .carrusel-organico__sequence[aria-hidden="true"], #kueshi-producto .carrusel-organico__item.is-mobile-repeat { display: none; }
    #kueshi-producto .carrusel-organico__item { position: relative; flex: none; width: 100%; max-width: none; margin: -8% 0 0; z-index: auto; transform: rotate(7deg); filter: none; }
    #kueshi-producto .carrusel-organico__item:first-child { margin-top: 0; }
    #kueshi-producto .carrusel-organico__item:nth-child(odd) { transform: rotate(-7deg); }
    #kueshi-producto .carrusel-organico__media, #kueshi-producto .carrusel-organico__text-card { min-height: 0; aspect-ratio: 1; height: auto; border-radius: 10px; box-shadow: none; animation: none; }
    #kueshi-producto .carrusel-organico__text-card { padding: 30px 22px; font-size: clamp(16px, 4.8vw, 25px); line-height: 1.15; }
    #kueshi-producto .carrusel-organico__item--texto-alterno .carrusel-organico__text-card { background: #fff; color: var(--producto-gradiente-color, #81CDFF); }
    #kueshi-producto .carrusel-organico__text-card p { margin: 0; padding: 0; }

    /* Colección fija seguida por el carrusel táctil de productos. */
    #kueshi-producto .producto-linea { padding: 20px 14px 60px; }
    #kueshi-producto .producto-linea__viewport { padding: 0; overflow-x: auto; overflow-y: hidden; cursor: auto; touch-action: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
    #kueshi-producto .producto-linea__track { width: 100%; transform: none !important; will-change: auto; }
    #kueshi-producto .producto-linea__sequence { flex: 0 0 100%; width: 100%; gap: 16px; padding: 0; }
    #kueshi-producto .producto-linea__sequence[aria-hidden="true"] { display: none; }
    #kueshi-producto .producto-linea__item { flex: 0 0 100%; width: 100%; min-height: 0; border-radius: 9px; scroll-snap-align: start; scroll-snap-stop: always; }
    #kueshi-producto .producto-linea > .producto-linea__item--introduccion { width: 100%; margin-bottom: 30px; padding: 44px 18px 40px; }
    #kueshi-producto .producto-linea__introduccion-contenido { max-width: 520px; }
    #kueshi-producto .producto-linea__titulo { font-size: clamp(25px, 8vw, 42px); line-height: 1.05; margin-bottom: 26px; letter-spacing: 0; overflow-wrap: anywhere; }
    #kueshi-producto .producto-linea__descripcion, #kueshi-producto .producto-linea__descripcion p { font-size: clamp(14px, 4.2vw, 20px); line-height: 1.23; }
    #kueshi-producto .producto-linea__descripcion p:not(:last-child) { margin-bottom: 20px; }
    #kueshi-producto .producto-linea__boton { width: 100%; min-height: 44px; margin-top: 22px; padding: 12px 14px; font-size: clamp(12px, 4vw, 18px); line-height: 1.2; }
    #kueshi-producto .producto-linea__item--producto { height: clamp(335px, 110vw, 610px); background-image: linear-gradient(180deg, #faf5ff, color-mix(in srgb, var(--producto-tarjeta-gradiente-color, #c3e1f5) 50%, #faf5ff)); transform: none; box-shadow: none; }
    #kueshi-producto .producto-linea__producto-enlace { padding: 24px 20px 32px; }
    #kueshi-producto .producto-linea__producto-imagen { min-height: 0; padding: 12px 0; transform: none; }
    #kueshi-producto .producto-linea__producto-imagen img { max-height: min(70vw, 400px); max-width: 85%; }
    #kueshi-producto .producto-linea__producto-nombre { flex: none; margin: 18px 0 0; font-size: clamp(17px, 5.2vw, 26px); line-height: 1.1; letter-spacing: 0; overflow-wrap: anywhere; }
    #kueshi-producto .producto-linea__producto-flecha { top: 12px; right: 12px; width: 34px; height: 34px; opacity: 1; visibility: visible; transform: none; }
    #kueshi-producto .producto-linea__producto-flecha img { width: 20px; height: 20px; transform: none; }
    #kueshi-producto .producto-linea__controls { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: 14px; margin: 32px auto 0; width: 100%; max-width: 520px; }
    #kueshi-producto .producto-linea__controls[hidden] { display: none; }
    #kueshi-producto .producto-linea__control { display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
    #kueshi-producto .producto-linea__control img { display: block; width: 28px; height: 28px; }
    #kueshi-producto .producto-linea__control--prev img { transform: rotate(180deg); }
    #kueshi-producto .producto-linea__progress { height: 2px; background: #d1ccd5; }
    #kueshi-producto .producto-linea__progress-bar { display: block; width: 0; height: 100%; background: #666; transition: width .25s ease; }
    #kueshi-producto .producto-linea__control:focus-visible { outline: 2px solid #A480C6; outline-offset: 2px; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    #kueshi-producto *, #kueshi-producto *::before, #kueshi-producto *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Mismo footer móvil que en la home. */
@media (max-width: 767px) {
    #footer-outer .Footer-Contenido { padding: 65px 15px 25px; }
    #footer-outer .Footer-Superior { grid-template-columns: 1fr; gap: 28px; text-align: center; }
    #footer-outer .Footer-Columna { align-items: center; gap: 20px; }
    #footer-outer .Footer-Columna a, #footer-outer .Footer-Columna p { max-width: 280px; font-size: 13px; line-height: 1.2; padding: 0; font-weight: 500; }
    #footer-outer .Footer-Columna-Identidad { margin-bottom: 16px; }
    #footer-outer .Footer-Redes { justify-content: center; margin-top: 4px; gap: 16px; }
    #footer-outer .Footer-Redes img { height: 24px; }
    #footer-outer .Footer-Logo { margin-top: 64px; }
    #footer-outer .Footer-Inferior { width: calc(100% + 30px); margin-left: -15px; margin-top: 25px; padding: 25px 10px 0; }
    #footer-outer .Footer-Inferior p { font-size: 12px; padding: 0; }
}
