/*
 * Capa responsive de Bioquímica.
 *
 * Se mantiene fuera de las plantillas de Elementor para que los ajustes
 * móviles sean consistentes entre header, landings, catálogo, ficha,
 * carrito, checkout y footer, sin quitarles editabilidad desde Elementor.
 */

@media (max-width: 1024px) {
    body .elementor,
    body .elementor-section,
    body .elementor-container,
    body .e-con,
    body .e-con-inner,
    body .elementor-widget,
    body .elementor-widget-container {
        min-width: 0;
    }

    body .elementor img,
    body .elementor video,
    body .elementor iframe {
        max-width: 100%;
    }

    body .elementor-widget-heading .elementor-heading-title,
    body .elementor-widget-text-editor,
    body .elementor-widget-text-editor p,
    body .elementor-widget-text-editor li {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 767px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body .elementor-location-header,
    body .elementor-location-footer {
        max-width: 100%;
    }

    body .elementor-location-header {
        overflow: visible;
        position: relative;
        z-index: 100;
    }

    body .elementor-location-header > .elementor-5897,
    body .elementor-location-header > .elementor-1407 {
        box-sizing: border-box !important;
        max-width: 100% !important;
        position: relative !important;
        width: 100% !important;
    }

    /* La huincha la imprime el autocotizador antes del header de Elementor. */
    body .bio-mode-banner {
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .bio-mode-banner__inner {
        align-items: stretch !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        padding: 10px 14px !important;
        width: 100% !important;
    }

    body .bio-mode-banner__identity {
        justify-content: center !important;
        margin: 0 !important;
        min-width: 0 !important;
        text-align: center !important;
    }

    body .bio-mode-banner__identity strong {
        font-size: 14px !important;
        letter-spacing: .02em !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    body .bio-mode-banner__benefits {
        align-items: stretch !important;
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin: 0 !important;
        width: 100% !important;
    }

    body .bio-mode-banner__benefits span {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        font-size: 11px !important;
        gap: 4px !important;
        justify-content: center !important;
        line-height: 1.25 !important;
        min-width: 0 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body .bio-mode-banner__benefits i {
        border: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    body .bio-mode-banner__benefits .bio-mode-icon {
        height: 19px !important;
        width: 19px !important;
    }

    body .bio-mode-banner__switch {
        box-sizing: border-box !important;
        font-size: 11px !important;
        justify-self: stretch !important;
        margin: 2px 0 0 !important;
        min-height: 34px !important;
        padding: 8px 10px !important;
        width: 100% !important;
    }

    body .elementor-location-header .bio-mode-banner {
        align-items: center !important;
        box-sizing: border-box !important;
        gap: 9px 14px !important;
        min-height: 0 !important;
        padding: 10px 12px !important;
        width: 100% !important;
    }

    body .elementor-location-header .bio-mode-banner .elementor-heading-title,
    body .elementor-location-header .bio-mode-banner .elementor-icon-list-text,
    body .elementor-location-header .bio-mode-banner .elementor-button-text {
        line-height: 1.25 !important;
        overflow-wrap: anywhere;
    }

    body .elementor-location-header .bio-mode-banner .elementor-heading-title {
        font-size: 15px !important;
    }

    body .elementor-location-header .bio-mode-banner .elementor-icon-list-items,
    body .elementor-location-header .bio-mode-banner__benefits {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px 16px !important;
        justify-content: center !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    body .elementor-location-header .bio-mode-banner .elementor-icon-list-item {
        margin: 0 !important;
        max-width: 100%;
    }

    body .elementor-location-header .bio-mode-banner .elementor-icon-list-text,
    body .elementor-location-header .bio-mode-banner .elementor-icon-box-title {
        font-size: 11px !important;
    }

    body .elementor-location-header .bio-mode-banner .elementor-button {
        max-width: 100% !important;
        min-height: 34px;
        padding: 8px 14px !important;
    }

    /* Header de tienda/cotizador: logo y búsqueda arriba; accesos y menú
     * debajo, sin dejar un widget azul aislado en el borde izquierdo. */
    body .elementor-5897 .elementor-element-289435f,
    body .elementor-1407 .elementor-element-aed0c6b {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0 !important;
        max-width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        position: relative !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-c23e44c,
    body .elementor-5897 .elementor-element-7e7db3c,
    body .elementor-1407 .elementor-element-9a7be60 {
        box-sizing: border-box !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }

    body .elementor-5897 .elementor-element-c23e44c,
    body .elementor-5897 .elementor-element-7e7db3c,
    body .elementor-1407 .elementor-element-9a7be60 {
        padding: 6px 8px !important;
    }

    body .elementor-1407 .elementor-element-9a7be60 {
        flex: 1 1 auto !important;
        max-width: 100% !important;
        width: auto !important;
    }

    body .elementor-5897 .elementor-element-9e205b7 img,
    body .elementor-1407 .elementor-element-e44d90e img {
        display: block !important;
        height: 34px !important;
        max-width: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-9a331ac,
    body .elementor-5897 .elementor-element-9a331ac .e-search-form,
    body .elementor-1407 .elementor-element-40d4a59 .e-search-form {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-9a331ac .e-search-input,
    body .elementor-1407 .elementor-element-40d4a59 .e-search-input {
        font-size: 13px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-9a331ac .e-search-submit {
        padding-inline: 15px !important;
    }

    body .elementor-5897 .elementor-element-3f4c6ef {
        align-items: center !important;
        background: #f7fbfd !important;
        border-bottom: 1px solid #e5eff3 !important;
        border-top: 1px solid #e5eff3 !important;
        box-sizing: border-box !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        display: flex !important;
        flex: 0 0 100% !important;
        flex-wrap: nowrap !important;
        gap: 14px !important;
        justify-content: flex-end !important;
        max-width: 100% !important;
        min-height: 44px !important;
        padding: 4px 10px 4px 60px !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-3f4c6ef > .elementor-element {
        flex: 0 1 auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: auto !important;
    }

    body .bio-header-catalog-link {
        flex: 0 0 auto !important;
        margin: 0 !important;
        max-width: 112px !important;
        overflow: hidden;
        padding-inline: 11px !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body .elementor-5897 .elementor-element-3f4c6ef {
        gap: 14px !important;
    }

    /* En tienda/cotizador el menú queda como acción izquierda y los accesos
     * permanecen juntos a la derecha. */
    body .elementor-5897 .elementor-element-7ea616c {
        left: 8px !important;
        right: auto !important;
    }

    body .elementor-5897 .elementor-element-038784d .elementor-menu-toggle {
        margin: 0 !important;
    }

    body .elementor-5897 .elementor-element-3f4c6ef > .elementor-element {
        flex: 0 0 auto !important;
    }

    body .elementor-5897 .elementor-element-dc12d4d,
    body .elementor-5897 .elementor-element-ab8b89e {
        min-width: 30px !important;
        width: auto !important;
    }

    body .elementor-5897 .elementor-element-dc12d4d .elementor-menu-cart__toggle_button,
    body .elementor-5897 .elementor-element-ab8b89e .elementor-icon {
        align-items: center !important;
        display: inline-flex !important;
        justify-content: center !important;
        min-height: 36px !important;
        min-width: 30px !important;
        padding: 0 !important;
    }

    body .elementor-5897 .elementor-element-3f4c6ef .bio-header-catalog-link {
        margin: 0 !important;
    }

    body .bio-header-catalog-link:focus,
    body .bio-header-catalog-link:hover {
        transform: none !important;
    }

    body .bio-header-catalog-link {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body .elementor-5897 .elementor-element-7ea616c {
        align-items: center !important;
        display: flex !important;
        justify-content: center !important;
    }

    body .elementor-5897 .elementor-element-7ea616c,
    body .elementor-1407 .elementor-element-40d4a59 {
        border: 0 !important;
        bottom: 8px !important;
        align-items: center !important;
        display: flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        gap: 8px !important;
        height: 44px !important;
        min-height: 0 !important;
        max-width: calc(100vw - 16px) !important;
        padding: 0 !important;
        position: absolute !important;
        right: 8px !important;
        top: auto !important;
        transform: none !important;
        width: auto !important;
        z-index: 110 !important;
    }

    body .elementor-5897 .elementor-element-7ea616c {
        max-width: 44px !important;
        width: 44px !important;
    }

    body .elementor-1407 .elementor-element-40d4a59 {
        align-items: center !important;
        display: block !important;
        height: 44px !important;
        max-width: calc(100% - 16px) !important;
        width: 152px !important;
    }

    body .elementor-5897 .elementor-element-7ea616c {
        align-items: center !important;
        inset: auto auto 4px 8px !important;
        left: 8px !important;
        right: auto !important;
    }

    body .elementor-1407 .elementor-element-2c91c9f {
        display: block !important;
        flex: 0 0 44px !important;
        height: 44px !important;
        max-width: 44px !important;
        min-width: 44px !important;
        width: 44px !important;
    }

    body .elementor-1407 .elementor-element-2c91c9f {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
    }

    body .elementor-1407 .elementor-element-da5e2d5 {
        border: 0 !important;
        display: block !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        max-width: none !important;
        order: -1 !important;
        padding: 0 !important;
        width: auto !important;
    }

    body .elementor-1407 .elementor-element-da5e2d5 {
        position: absolute !important;
        right: 52px !important;
        top: 0 !important;
    }

    body .elementor-1407 .elementor-element-da5e2d5 .elementor-heading-title {
        background: #fff !important;
        border: 1px solid #2a9fd1 !important;
        border-radius: 22px !important;
        color: #147cae !important;
        display: block !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        line-height: 1 !important;
        padding: 12px 9px !important;
        white-space: nowrap !important;
    }

    body .elementor-location-header .elementor-element-038784d,
    body .elementor-location-header .elementor-element-d16b74a {
        box-sizing: border-box !important;
        display: block !important;
        max-width: 100% !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .elementor-location-header .elementor-element-1e3aa90,
    body .elementor-location-header .elementor-element-2c91c9f,
    body .elementor-location-header .elementor-element-7ea616c > .e-con-inner,
    body .elementor-location-header .elementor-element-40d4a59 > .e-con-inner {
        box-sizing: border-box !important;
        display: block !important;
        min-height: 44px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .elementor-location-header .elementor-nav-menu--main {
        display: none !important;
    }

    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle {
        align-items: center !important;
        background: #2a9fd1 !important;
        border-radius: 8px !important;
        color: #fff !important;
        display: flex !important;
        fill: #fff !important;
        height: 40px !important;
        justify-content: center !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        width: 44px !important;
    }

    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle {
        font-size: 0 !important;
        position: relative !important;
    }

    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle::before,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle::before {
        color: #fff !important;
        content: '☰' !important;
        display: block !important;
        font-family: Arial, sans-serif !important;
        font-size: 23px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle.elementor-active::before,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle.elementor-active::before {
        content: '×' !important;
        font-size: 30px !important;
        font-weight: 400 !important;
    }

    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle svg,
    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle i,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle svg,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle i {
        display: none !important;
    }

    body .elementor-location-header .elementor-element-038784d .elementor-menu-toggle svg,
    body .elementor-location-header .elementor-element-d16b74a .elementor-menu-toggle svg {
        fill: currentColor !important;
        height: 24px !important;
        width: 24px !important;
    }

    body .elementor-location-header .elementor-nav-menu--dropdown,
    body .elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
        box-sizing: border-box !important;
        left: auto !important;
        margin: 6px 0 0 !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        position: absolute !important;
        right: 0 !important;
        top: 44px !important;
        width: min(320px, calc(100vw - 24px)) !important;
        z-index: 1000 !important;
    }

    body .elementor-location-header .elementor-nav-menu--dropdown > ul {
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .elementor-location-header .elementor-nav-menu--dropdown a {
        max-width: calc(100vw - 56px) !important;
        padding: 12px 18px !important;
        white-space: normal !important;
    }

    body .elementor-location-header .elementor-nav-menu--dropdown .sub-menu {
        position: static !important;
        width: 100% !important;
    }

    /* Menú abierto de tienda/cotizador: deja de usar el ancho del botón y
     * ocupa toda la franja del header. */
    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) {
        height: 0 !important;
        inset: auto !important;
        max-width: 100% !important;
        position: static !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) > .e-con-inner,
    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-element-1e3aa90,
    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-element-038784d {
        min-height: 0 !important;
        position: static !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-menu-toggle {
        bottom: 4px !important;
        left: 8px !important;
        margin: 0 !important;
        position: absolute !important;
        right: auto !important;
        top: auto !important;
        z-index: 1002 !important;
    }

    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown,
    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu__container.elementor-nav-menu--dropdown {
        border-radius: 0 0 10px 10px !important;
        left: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        right: auto !important;
        top: 100% !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown > ul,
    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown a {
        box-sizing: border-box !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body .elementor-5897 .elementor-element-7ea616c:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown a {
        display: flex !important;
        justify-content: space-between !important;
        white-space: normal !important;
    }

    /* Header de landings: centra verticalmente catálogo + hamburguesa y
     * convierte el menú abierto en una franja de ancho completo. */
    body .elementor-1407 .elementor-element-40d4a59 {
        inset: auto 8px 3px auto !important;
        bottom: 3px !important;
        left: auto !important;
        right: 8px !important;
        top: auto !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) {
        height: 0 !important;
        inset: auto !important;
        max-width: 100% !important;
        position: static !important;
        width: 100% !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) > .e-con-inner,
    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-element-2c91c9f,
    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-element-d16b74a {
        min-height: 0 !important;
        position: static !important;
        width: 100% !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-menu-toggle {
        bottom: 3px !important;
        left: auto !important;
        margin: 0 !important;
        position: absolute !important;
        right: 8px !important;
        top: auto !important;
        z-index: 1002 !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-element-da5e2d5 {
        bottom: 3px !important;
        left: auto !important;
        position: absolute !important;
        right: 60px !important;
        top: auto !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown,
    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu__container.elementor-nav-menu--dropdown {
        border-radius: 0 0 10px 10px !important;
        left: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        right: auto !important;
        top: 100% !important;
        width: 100% !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown > ul,
    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown a {
        box-sizing: border-box !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body .elementor-1407 .elementor-element-40d4a59:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown a {
        display: flex !important;
        justify-content: space-between !important;
        white-space: normal !important;
    }

    /* Contenedores de catálogo y resultados de búsqueda. */
    body .elementor-1479 .elementor-element-78db7ed,
    body .elementor-5870 .elementor-element-090740f {
        box-sizing: border-box !important;
        max-width: 100% !important;
        padding: 22px 16px 36px !important;
        width: 100% !important;
    }

    body .elementor-1479 .elementor-element-1b579d0 {
        align-items: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        max-width: 100% !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .elementor-1479 .elementor-element-0d0f192,
    body .elementor-1479 .elementor-element-8670904 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .elementor-1479 .elementor-element-223512c,
    body .elementor-1479 .elementor-element-3eed1cc,
    body .elementor-5870 .elementor-heading-title {
        max-width: 100% !important;
        width: 100% !important;
    }

    body .elementor-1479 .elementor-element-223512c .elementor-heading-title,
    body .elementor-5870 .elementor-heading-title {
        font-size: clamp(26px, 8vw, 32px) !important;
        line-height: 1.12 !important;
    }

    body .bio-ajax-active-filters {
        margin: 0 0 14px !important;
        max-width: 100% !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .bio-ajax-products,
    body .elementor-wc-products,
    body .elementor-products-grid {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .bio-ajax-products ul.products,
    body .elementor-wc-products ul.products,
    body .elementor-products-grid ul.products {
        display: grid !important;
        float: none !important;
        gap: 14px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .bio-ajax-products ul.products::before,
    body .bio-ajax-products ul.products::after,
    body .elementor-wc-products ul.products::before,
    body .elementor-wc-products ul.products::after {
        content: none !important;
        display: none !important;
    }

    body .bio-ajax-products ul.products li.product,
    body .elementor-wc-products ul.products li.product,
    body .elementor-products-grid ul.products li.product {
        float: none !important;
        margin: 0 !important;
        min-width: 0 !important;
        width: auto !important;
    }

    body .bioquimica-product-card .bioquimica-product-image img,
    body .elementor-wc-products ul.products li.product img {
        height: 165px !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    body .bioquimica-product-card .bioquimica-product-info {
        gap: 5px !important;
        padding: 11px 12px 13px !important;
    }

    body .bioquimica-product-card .bioquimica-product-name {
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    body .bioquimica-product-card .bioquimica-product-price .price,
    body .elementor-wc-products ul.products li.product .price {
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    body .elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
    body .elementor-products-grid ul.products li.product .woocommerce-loop-product__title {
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    body .bioquimica-product-card .bioquimica-product-actions .button,
    body .bioquimica-product-card .bioquimica-product-actions a {
        font-size: 12px !important;
        min-height: 40px !important;
        padding-inline: 8px !important;
    }

    /* Ficha de producto: las dos columnas de Elementor pasan a una sola sin
     * comprimir la galería ni el bloque de compra. */
    body .elementor-1486 .elementor-element-4a25019,
    body .elementor-1486 .elementor-element-3729451 {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 22px !important;
        max-width: 100% !important;
        padding: 26px 16px !important;
        width: 100% !important;
    }

    body .elementor-1486 .elementor-element-6db9fe0,
    body .elementor-1486 .elementor-element-f273ee0,
    body .elementor-1486 .elementor-element-ffb397a {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .bioquimica-gallery-main {
        min-height: 220px !important;
    }

    body .bioquimica-gallery-main img.bioquimica-main-img {
        max-height: 300px !important;
        padding: 12px !important;
    }

    body .bioquimica-info-title {
        font-size: clamp(22px, 7vw, 28px) !important;
        line-height: 1.2 !important;
    }

    body .bioquimica-tabs-nav {
        max-width: 100%;
        overflow-x: auto;
        padding-bottom: 1px;
    }

    body .bioquimica-tab-btn {
        font-size: 13px;
        padding: 11px 14px;
    }

    /* Footer Elementor: columnas apiladas y textos que pueden envolver. */
    body .elementor-1503 .elementor-element-1ef3e10,
    body .elementor-1503 .elementor-element-3f292d5 {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        max-width: 100% !important;
        padding: 24px 16px !important;
        width: 100% !important;
    }

    body .elementor-1503 .elementor-element-9761663,
    body .elementor-1503 .elementor-element-4b0754b,
    body .elementor-1503 .elementor-element-4f9f4dc {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-inline: 0 !important;
        width: 100% !important;
    }

    body .elementor-1503 .elementor-heading-title,
    body .elementor-1503 .elementor-icon-list-text {
        overflow-wrap: anywhere;
    }

    body .elementor-1503 .elementor-element-ce72abb .elementor-heading-title {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    /* Carrito personalizado [bioquimica_cart] y su variante compacta. */
    body [id^="hc"] .hc-layout {
        grid-template-columns: 1fr;
    }

    body [id^="hc"] .hc-summary {
        position: static;
    }

    body [id^="hc"] .hc-summary-box {
        padding: 18px 16px;
    }

    body [id^="hc"] .hc-item {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px 12px;
        padding: 14px;
    }

    body [id^="hc"] .hc-img-link {
        height: 64px;
        width: 64px;
    }

    body [id^="hc"] .hc-details {
        flex-basis: calc(100% - 78px);
    }

    body [id^="hc"] .hc-right {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        padding-left: 76px;
        width: 100%;
    }

    /* Tablas y tablas de resumen: nunca fuerzan el ancho del viewport. */
    body .bioquimica-tab-specs,
    body .woocommerce-checkout .e-checkout__order_review,
    body .woocommerce-checkout .e-checkout__order_review-2,
    body .woocommerce-checkout #order_review {
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
    }

    body .woocommerce-checkout .e-checkout__container {
        padding-inline: 0 !important;
        width: 100% !important;
    }

    body .woocommerce-checkout .bio-checkout-section {
        padding: 18px 14px !important;
    }

    body .woocommerce-checkout .bio-checkout-choice-row label {
        min-height: 0;
        padding: 12px !important;
    }

    body .woocommerce-checkout .bio-checkout-shipping-option {
        align-items: flex-start;
        gap: 8px;
        padding: 10px !important;
    }

    body .woocommerce-checkout .bio-checkout-shipping-option__delivery {
        max-width: 100%;
        white-space: normal;
    }

    body .woocommerce-checkout .bio-checkout-shipping-option__price {
        margin-left: auto;
    }

    body .woocommerce-checkout #payment,
    body .woocommerce-checkout #payment .place-order,
    body .woocommerce-checkout #place_order {
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    body .elementor-5897 .elementor-element-3f4c6ef {
        gap: 5px !important;
        padding-inline: 6px !important;
    }

    body .bio-header-catalog-link {
        font-size: 10px;
        padding-inline: 9px;
    }

    body .bioquimica-product-card .bioquimica-product-image img,
    body .elementor-wc-products ul.products li.product img {
        height: 145px !important;
    }

    body .bioquimica-product-card .bioquimica-product-name {
        font-size: 12.5px !important;
    }

    body .woocommerce-checkout .e-checkout__order_review .shop_table,
    body .woocommerce-checkout .e-checkout__order_review-2 .shop_table,
    body .woocommerce-checkout .woocommerce-checkout-review-order-table {
        font-size: 12px;
    }
}
