/*
Theme Name:   GeneratePress Child
Theme URI:    https://generatepress.com
Description:  GeneratePress Child Theme
Author:       Babait
Author URI:   https://infrico.com
Template:     generatepress
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  generatepress-child
*/

:root {
    --bg: oklch(0.986 0.002 255);
    --surface: #ffffff;
    --ink: oklch(0.245 0.012 262);
    --ink-soft: oklch(0.36 0.011 262);
    --muted: oklch(0.53 0.012 262);
    --faint: oklch(0.72 0.008 262);
    --line: oklch(0.9 0.005 262);
    --line-soft: oklch(0.945 0.004 262);
    --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* roboto-serif-regular */
@font-face {
    font-family: 'Roboto Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/RobotoSerif-Regular.woff2') format('woff2');
}

/* roboto-serif-500 */
@font-face {
    font-family: 'Roboto Serif';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('./fonts/RobotoSerif-Medium.woff2') format('woff2');
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: "Roboto Serif", sans-serif;
}

a {
    text-decoration: none;
}

/** FLATSOME */
h1, h2 {
    font-family: 'Roboto Serif';
}

p {
    margin-bottom: 0;
}

/* Quitar redondeo en todos los botones posibles */
button,
html [type="button"],
[type="reset"],
[type="submit"],
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button {
    border-radius: 0 !important;
}

.mt-4 {
    margin-top: 1.5rem !important;
}

.mt-8 {
    margin-top: 4rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}
.mb-3 {
    margin-bottom: 1rem !important;
}
.mb-4 {
    margin-bottom: 1.5rem !important;
}

.mb-6 {
    margin-bottom: 2rem !important;
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.w-50 {
    width: 50% !important;
    margin: 0 auto;
}

.flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.flex-column {
    flex-direction: column;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.items-center {
    align-items: center;
}

.item-descargas {
    width: 40%;
    border-bottom: 1px solid #ccc;
    font-family: "Roboto Serif", sans-serif;
    font-size: 15px;
}

.item-descargas p {
    margin-left: 10px;
}

.youtube-video-place {
    background-size: cover;
    background-color: transparent;
    margin-bottom: 30px;
    position: relative;
    padding-top: 50px;
    overflow: hidden;
    cursor: pointer;
    height: 280px;
    width: 300px;
}

.youtube-video-place .play-button {
    width: 90px;
    height: 60px;
    background-color: #333;
    box-shadow: 0 0 30px rgba(0,0,0,0.6);
    z-index: 1;
    opacity: 0.8;
    border-radius: 6px;
}

.youtube-video-place .play-button:before {
    content: "";
    border-style: solid;
    border-width: 15px 0 15px 26.0px;
    border-color: transparent transparent transparent #fff;
}

.youtube-video-place img,
.youtube-video-place .play-button {
    cursor: pointer;
}

.youtube-video-place img,
.youtube-video-place iframe,
.youtube-video-place .play-button,
.youtube-video-place .play-button:before {
    position: absolute;
}

.youtube-video-place .play-button,
.youtube-video-place .play-button:before {
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
}

/** NUEVO 2026 */

/* ==========================================================================
   Helper Classes - Ocultar / Mostrar según dispositivo
   ========================================================================== */

/* 1. Ocultar solo en Mobile (Visible en Tablet y Desktop) */
@media (max-width: 768px) {
    .hide-on-mobile {
        display: none !important;
    }
}

/* 2. Ocultar solo en Desktop (Visible en Mobile y Tablet) */
@media (min-width: 769px) {
    .hide-on-desktop {
        display: none !important;
    }
}

/* 3. Ocultar solo en Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .hide-on-tablet {
        display: none !important;
    }
}

/* 4. Mostrar SOLO en Mobile (Oculto en Tablet y Desktop) */
@media (min-width: 769px) {
    .show-only-mobile {
        display: none !important;
    }
}

/* 5. Mostrar SOLO en Desktop (Oculto en Mobile y Tablet) */
@media (max-width: 1024px) {
    .show-only-desktop {
        display: none !important;
    }
}

/* Ocultar en móviles (pantallas menores a 768px) */
@media (max-width: 767px) {
    .ocultar-mobile {
        display: none !important;
    }
}

/* Ocultar en escritorio (pantallas mayores a 768px) */
@media (min-width: 768px) {
    .ocultar-desktop {
        display: none !important;
    }
}

li {
    margin-bottom: 0.5em
}

.contenedor {
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}
@media (min-width: 767px) {
    .contenedor {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}
@media (min-width: 1280px) {
    .contenedor {
        padding-left: 5rem;
        padding-right: 5rem;
    }
}


.linea-titulo {
    position: relative;
    padding-bottom: 15px;
    margin: 0;
    font-weight: 500;
    font-size: 30px;
    margin-top: 35px;
    margin-bottom: 35px;
}
@media (max-width: 767px) {
    .linea-titulo {
        font-size: 24px;
    }
}


.rounded-lg {
    border-radius: 8px;
}

.boxes-destacados h3 {
    font-size: 22px;
    line-height: 26px;
}

.tab-content {
    display: none;
}

.tab-content ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tab-content ul li {
    position: relative;
    padding-left: 30px;
    text-wrap: pretty;
}

.tab-content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 16px;
    height: 1px;
    background: var(--ink);
}

.tab-content h2 {
    color: #444343;
    font-size: 40px;
    border-bottom: 1px solid var(--line);
    font-weight: 500;
    padding-bottom: 15px;
}

.tab-trigger {
    position: relative;
    appearance: none;
    border: 1px solid var(--line);
    background: var(--surface);
    border-radius: 14px;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 10px;
    cursor: pointer;
    color: var(--ink-soft);
    text-align: center;
    transition: border-color 0.35s var(--ease), background 0.35s var(--ease), color 0.35s var(--ease), transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.tab-trigger.is-active {
    background: #eee;
    border-color: #eee;
    transform: translateY(0);
    box-shadow: 0 22px 44px -26px oklch(0.3 0.02 262 / 0.75);
}

.tab-trigger p {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
}

.tab-trigger img {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    transition: transform 0.45s var(--ease);
}

.site-header {
    padding: 5px 0;
}
.site-header button:hover{
    background-color: transparent;
}

.main-navigation{
    background-color: #0094d3 !important;
}
@media (max-width: 768px) {
    .main-navigation .sub-menu {
        background-color: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }

    /* Ocultar arrow en items de segundo nivel dentro de mega-trigger */
    li[class*="mega-trigger-"] > .sub-menu > li > a .dropdown-menu-toggle {
        display: none !important;
    }
}

/* Stack 3rd level menu items under 2nd level */
.main-navigation ul ul ul {
    position: relative;
    top: 0;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    box-shadow: none;
    display: none;
}

/* Show 3rd level when 2nd level is hovered */
.main-navigation ul ul li:hover > ul {
    display: block;
}

/* Optional: Indent the 3rd level for clarity */
.main-navigation ul ul ul li a {
    padding-left: 30px;
}

@media (min-width: 769px) {
    /* Hace que el submenú ocupe todo el ancho */
    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu > ul {
        position: absolute;
        width: 100%;
        left: 0 !important;
        display: flex;
        flex-wrap: wrap;
    }

    /* Estilo para los títulos de las columnas (Nivel 2) */
    nav .main-nav .mega-menu > ul > li > a {
        font-weight: bold;
    }

    /* Fuerza a que el tercer nivel sea siempre visible */
    nav .main-nav .mega-menu ul ul {
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        height: auto;
    }
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li[class*="current-menu-"] > a{
    font-weight: 600;
}

/* 1. Estructura base del mega-menu */
.mega-menu > .sub-menu {
    display: flex !important;
    flex-wrap: wrap;
    width: 800px;
    padding: 20px !important;
}

/* 2. Cada columna (Nivel 2) */
.mega-menu > .sub-menu > .menu-item {
    flex: 1 1 30%;
    list-style: none;
}

/* 3. Título del nivel 2 (Estilo de cabecera) */
.mega-menu > .sub-menu > .menu-item > a {
    font-weight: bold;
    color: #fff;
    pointer-events: none;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
}

/* 4. Lista del nivel 3 (Grid de 6 items) */
.mega-menu > .sub-menu > .menu-item > .sub-menu {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    padding-left: 0 !important;
}

.mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
    font-size: 14px;
    padding: 5px 0;
}

.custom-mega-panel {
    display: none !important;
    position: absolute;
    top: 100%;
    top: 109px;
    left: 0;
    width: 100%;
    z-index: 99999 !important;
    color: #fff;
    color: #484848;
    background-color: rgb(0 0 0 / .6);
    background-color: rgb(255 255 255);
    border: 1px solid #fff;
    border-radius: 0;
    padding: 0;
}

.custom-mega-panel ul {
    list-style: none;
    margin: 0;
}

.custom-mega-panel h4 {
    font-weight: bold;
    color: #484848;
    pointer-events: none;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
    padding: 10px 0;
    font-size: 1em;
    text-transform: uppercase;
    padding: 15px 20px;
}

.custom-mega-panel li, .custom-mega-panel>li {
    padding: 10px 20px;
    padding-top: 5px;
    padding-bottom: 5px;
}

/* Ocultar sub-menu nativo de GP en items con mega-trigger (solo desktop) */
@media (min-width: 769px) {
    li[class*="mega-trigger-"] > .sub-menu,
    li[class*="mega-trigger-"] > .dropdown-menu-toggle {
        display: none !important;
    }
}

/* Estado activo para cualquiera */
.custom-mega-panel.is-active {
    display: grid !important;
}

.custom-mega-panel.mega-panel-empresa.is-active {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr);
}

.mega-panel-productos p {
    color: #fff;
    
}
.mega-panel-productos figure{
    width: 50px;
    height: 50px;
    position: relative;
    /* background: #fff; */
}
.mega-panel-productos figure img{ 
    padding: .5rem;
    height: 100%;
    width: 100%;
}

.gb-element-653acfe2 > div div a, .custom-mega-panel li a {
    color: #fff;
    color: #484848;
    text-decoration: none;
    transition: color 0.25s ease-in-out;
}

.gb-element-653acfe2 > div div:hover a, .custom-mega-panel li a:hover {
    color: rgba(0,148,211,0.85);
}

@media (max-width: 768px) {
    .custom-mega-panel { display: none !important; }
}

/* Columnas Flatsome convertidas */
.infrico-row {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    margin-bottom: 1.5em;
}
.infrico-col-full           { flex: 1 1 100%; }
.infrico-col-half           { flex: 1 1 calc(50% - 1em); min-width: 220px; }
.infrico-col-third          { flex: 1 1 calc(33.333% - 1.4em); min-width: 180px; }
.infrico-col-two-thirds     { flex: 1 1 calc(66.666% - 0.7em); min-width: 260px; }
.infrico-col-quarter        { flex: 1 1 calc(25% - 1.5em); min-width: 150px; }
.infrico-col-three-quarters { flex: 1 1 calc(75% - 0.7em); min-width: 240px; }
.infrico-col                { flex: 1 1 200px; }
@media (max-width: 768px) {
    .infrico-row { flex-direction: column; gap: 1em; }
}

/* Clasificación Energética */
.infrico-energy-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 16px;
}
.energy-label-text {
    font-size: 0.95em;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.energy-label-img {
    height: 30px!important;
    width: auto;
    display: block;
}

/* Forzar un nuevo ancho de contenedor en todas las páginas de Mi Cuenta */
body.woocommerce-account .site.grid-container, body.single-product .site.grid-container {
    max-width: 1400px !important;
}

body.woocommerce-account .site.grid-container {
    max-width: 100% !important;
}

body.woocommerce-account.separate-containers .site-main {
    margin: 0;
}

body.woocommerce-page .site-content {
   padding-top: 40px;
}
body.woocommerce-page .entry-content:not(:first-child){
    margin-top: 0;
}
@media (max-width: 768px) {
   .separate-containers .site-main{
    margin:0;
   }
    
}
.separate-containers .site-main{
    margin: 0;
}

body.woocommerce-account .inside-article {
    padding: 0;
}

body.woocommerce-account .entry-header, .woocommerce-checkout .entry-header {
    display: none;
}

body.woocommerce-account .entry-content > .woocommerce {
    display: flex;
    flex: 1 1 0%;
    overflow: hidden;
}

/** MODIFICAR COLUMNAS ORDENES **/

.woocommerce-MyAccount-content h2 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
}

.woocommerce-MyAccount-content input, .woocommerce-MyAccount-content textarea, .woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce-MyAccount-content select, .woocommerce-MyAccount-content .select2-selection__rendered, :where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid rgb(209, 213, 219);
    border-radius: 8px;
    font-size: 13.5px;
    outline: none;
    background: rgb(255, 255, 255);
    transition: border-color 0.2s;
}

.woocommerce-MyAccount-content input:focus, .woocommerce-MyAccount-content textarea:focus, .woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus {
    border-color: rgb(0, 174, 239);
}

.woocommerce-MyAccount-content input[type="file"] {
    border: 1.5px dashed rgb(209, 213, 219);
    width: auto;
}

:where(.woocommerce) .select2-container .select2-dropdown, :where(.woocommerce) .select2-container .select2-selection {
    border: none;
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 12px 12px;
}

.woocommerce button.button, .woocommerce-MyAccount-content button, .infrico-col .button, .woocommerce-MyAccount-content input[type="submit"] {
    background-color: rgba(0, 148, 211, 0.85) !important;
    border-radius: 9px !important;
    padding: 10px 18px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.cliente-encontrado input[type="submit"] {
    background-color: rgb(26, 63, 111) !important;
    width: auto;
}

.cliente-encontrado .wrapper-button {
    padding: 14px 18px;
    border-top: 1px solid rgb(229, 231, 235);
    background: rgb(255, 255, 255);
    display: flex;
    justify-content: flex-end;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 20% !important;
    border-right: 1px solid rgb(229, 231, 235);
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 80%;
    padding: 18px 30px;
}

.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content, .woocommerce-account.woocommerce-edit-account .woocommerce-MyAccount-content, .page-peticion-alta .woocommerce-MyAccount-content {
    max-width: 1200px;
}

/* ============================================
   MY ACCOUNT - Mobile responsive
   ============================================ */

@media (max-width: 768px) {
    /* Apilar nav + contenido en columna */
    .woocommerce-account .woocommerce {
        display: flex !important;
        flex-direction: column !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid rgb(229, 231, 235);
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        padding: 16px !important;
    }

    /* Toggle visible solo en mobile */
    .myaccount-nav-toggle {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 12px 14px;
        background: #f5f7fa;
        border: 1px solid rgb(229, 231, 235);
        border-radius: 6px;
        cursor: pointer;
        font-size: 14px;
        font-weight: 600;
        color: #333;
        margin-bottom: 4px;
    }

    .myaccount-nav-toggle .toggle-label {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .myaccount-nav-toggle .toggle-arrow {
        transition: transform 0.25s ease;
        font-size: 10px;
        color: #888;
    }

    .myaccount-nav-toggle.is-open .toggle-arrow {
        transform: rotate(180deg);
    }

    /* Nav colapsado por defecto en mobile */
    .woocommerce-MyAccount-navigation ul {
        display: none;
        padding: 4px 8px 8px !important;
    }

    .woocommerce-MyAccount-navigation.nav-open ul {
        display: block !important;
    }

    /* Items del nav más generosos en mobile */
    .woocommerce-MyAccount-navigation li a {
        padding: 11px 12px !important;
        font-size: 14px !important;
    }

    /* Tabla al 100% sin scroll */
    .woocommerce-account .woocommerce-orders-table {
        display: table !important;
        width: 100% !important;
        overflow-x: visible !important;
    }

    /* Celdas: texto pequeño y padding reducido */
    .woocommerce-account .woocommerce-orders-table td,
    .woocommerce-account .woocommerce-orders-table th {
        padding: 8px 5px !important;
        font-size: 12px !important;
        white-space: normal !important;
        word-break: break-word;
    }

    /* Nro de pedido en negrita */
    .woocommerce-orders-table__cell-order-number a {
        font-weight: 700;
    }

    td.woocommerce-orders-table__cell-order-actions::before {
        text-align: left;
        width: 100%;
        margin-bottom: 5px;
    }

    .woocommerce-orders-table__cell-order-number {
        display: block !important;
    }

    /* Botones de acciones: 2 por fila */
    .woocommerce-orders-table__cell-order-actions .button,
    .woocommerce-orders-table__cell-order-actions a.button {
        display: inline-block !important;
        width: calc(50% - 4px) !important;
        text-align: center;
        margin: 2px 1px !important;
        padding: 5px 3px !important;
        font-size: 11px !important;
        box-sizing: border-box;
    }
}

.woocommerce table.my_account_orders .button {
    border-radius: 6px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Price-amount {
    font-weight: 600;
}

.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content:has(.ordenes-envidas-table) {
    background-color: #eef0f5;
}

.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions .button,
.ordenes-envidas-table .woocommerce-orders-table__cell-actions-column .button {
    font-size: 12.5px;
    padding: 8px 9px;
    text-transform: none;
    margin: 5px 5px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 11.5px;
    font-weight: 600;
    white-space: nowrap;
}

.status-badge.status-waiting {
    background: rgb(255, 251, 235);
    color: rgb(180, 83, 9);
}

.status-badge.status-processing {
    background: rgb(235, 247, 255);
    color: rgb(0, 148, 211);
}

.status-badge.status-cancelled {
    background: rgb(253, 242, 242);
    color: rgb(220, 38, 38);
}

.status-badge.status-completed {
    background: rgb(240, 253, 244);
    color: rgb(21, 128, 61);
}

.status-badge.status-on-hold {
    background: rgb(239, 246, 255);
    color: rgb(29, 78, 216);
}

.status-badge.status-pending {
    background: rgb(249, 250, 251);
    color: rgb(107, 114, 128);
}

.status-badge.status-refunded {
    background: rgb(245, 243, 255);
    color: rgb(109, 40, 217);
}

.status-badge.status-failed {
    background: rgb(255, 241, 242);
    color: rgb(190, 18, 60);
}

/* Botón "Convertir en pedido" en order-received */
.infrico-convert-order-notice {
    background: rgb(239, 246, 255);
    border-left: 4px solid rgb(29, 78, 216);
    border-radius: 4px;
    padding: 16px 20px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.infrico-convert-order-notice p {
    margin: 0;
    flex: 1;
    color: rgb(30, 58, 138);
    font-size: 14px;
}

.infrico-convert-order-notice .button {
    background: rgb(29, 78, 216) !important;
    color: #fff !important;
    border-color: rgb(29, 78, 216) !important;
    white-space: nowrap;
    flex-shrink: 0;
}

.infrico-convert-order-notice .button:hover {
    background: rgb(30, 64, 175) !important;
    border-color: rgb(30, 64, 175) !important;
}

.is-form, button.is-form {
    text-shadow: unset;
    color: #fff;
}

.woocommerce table.shop_table {
    margin-bottom: 0;
}

.woocommerce table.shop_table td, .woocommerce table.shop_table th {
    padding: 15px !important;
}

@media screen and (max-width: 768px) {
    .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
        display: block;
    }
}

.woocommerce-cart-form table.shop_table {
    background: rgb(255, 255, 255);
    border-radius: 14px !important;
    border: 1px solid rgb(229, 231, 235) !important;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 12px;
    overflow: hidden;
}

.cart-collaterals .cart_totals h2 {
    border-left: 1px solid rgb(229, 231, 235);
    border-right: 1px solid rgb(229, 231, 235);
    border-top: 1px solid rgb(229, 231, 235);
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    background: rgb(249, 250, 251);
    margin-bottom: 0;
    padding: 15px !important;
    border-bottom: 1px solid rgb(229, 231, 235);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    border-left: 1px solid rgb(229, 231, 235);
    border-right: 1px solid rgb(229, 231, 235);
    border-bottom: 1px solid rgb(229, 231, 235);
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
}

.woocommerce-cart .cart-collaterals .cart_totals table .order-total {
    background-color: rgb(250, 251, 255);
}

.woocommerce-cart .cart-collaterals .cart_totals table .order-total td {
    font-size: 130%;
}

.woocommerce-cart .cart-collaterals .cart_totals table .order-total td, .woocommerce-cart .cart-collaterals .cart_totals table .order-total th {
    border: none !important;
    vertical-align: middle;
    text-align: left;
}

.woocommerce-cart .cart-collaterals .woocommerce-shipping-totals.shipping, .woocommerce-cart .cart-collaterals .cart-subtotal {
    font-size: 13px;
}

.woocommerce-cart .wc-proceed-to-checkout a {
    padding: 0;
    background: #0054a6 !important;
    color: rgb(255, 255, 255);
    border: medium;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    font-size: 15.5px !important;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cart_totals.calculated_shipping h2 {
    padding: 14px 20px;
    border: 1px solid rgb(229, 231, 235);
    background: rgb(249, 250, 251);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}

.woocommerce table.shop_table thead {
    border-bottom: 1px solid rgb(229, 231, 235);
    background: rgb(249, 250, 251);
}

.woocommerce table.shop_table th {
    background-color: transparent !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(0,0,0,.1) !important;
}

.woocommerce table.shop_table tbody {
    transition: background 0.15s;
    background: rgb(255, 255, 255);
}

.woocommerce-MyAccount-navigation ul {
    padding: 5px 8px;
}

.woocommerce-MyAccount-navigation li a {
    font-size: 95% !important;
    font-family: 'Roboto', sans-serif !important;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 10px !important;
    border-radius: 8px;
    border: medium;
    cursor: pointer;
    text-align: left;
    background: transparent;
    color: #4a4a4a;
    font-size: 12.5px;
    font-weight: 600;
    transition: 0.15s;
    margin-bottom: 1px;
    border-bottom: none !important;
}

.woocommerce-MyAccount-navigation li.is-active a {
    color: white !important;
    background-color: rgba(0, 148, 211, 0.85) !important;
}

.woocommerce-MyAccount-navigation li a:hover {
    color: inherit;
    background-color: #e5e7eb;
}

.woocommerce-MyAccount-navigation li:hover a:before {
    opacity: 1;
}

/* El contenedor padre del slider */
.splide {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    position: relative;
}

/* Track y lista ocupan toda la altura definida por aspect-ratio */
#mi-slider .splide__track,
#mi-slider .splide__list {
    height: 100%;
}

/* Cada slide es el contexto de posicionamiento */
.splide__slide {
    width: 100%;
    height: 100%; /* sin esto la picture:absolute no tiene contenedor con altura → imagen invisible antes de Splide */
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    background-color: #0a2540;
}

/* Antes de que Splide JS inicialice: ocultar slides 2+ para que no apilen visualmente.
   Con type:'slide' no hay clones, es seguro. */
#mi-slider:not(.is-initialized) .splide__slide:not(:first-child) {
    display: none;
}

/* Picture ocupa todo el slide con absolute — cross-browser fiable */
.splide__slide picture {
    position: absolute;
    inset: 0;
    display: block;
}

/* La imagen cubre el picture sin estirarse */
.splide__slide picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Posicionamiento absoluto de la imagen superior */
.splide__slide.banner-lcp .capa-flotante {
    position: absolute !important;
    z-index: 5;
    /* Configuración por defecto: Abajo a la derecha */
    bottom: 10%;
    right: 5%;
    /* Control de tamaño de la imagen absoluta */
    width: 40%;
    height: auto;
}

.splide__slide.banner-lcp .capa-flotante img {
    width: 100%;
    height: auto;
    display: block;
}

/* ── Clases auxiliares de posición para .capa-flotante ──────────────────
   Uso: <div class="capa-flotante x60 y30"> ...
   Las clases x* sobreescriben left, las y* sobreescriben top.
   ─────────────────────────────────────────────────────────────────────── */

.splide__slide .capa-flotante.x0   { left: 0%   }
.splide__slide .capa-flotante.x5   { left: 5%   }
.splide__slide .capa-flotante.x10  { left: 10%  }
.splide__slide .capa-flotante.x15  { left: 15%  }
.splide__slide .capa-flotante.x20  { left: 20%  }
.splide__slide .capa-flotante.x25  { left: 25%  }
.splide__slide .capa-flotante.x30  { left: 30%  }
.splide__slide .capa-flotante.x35  { left: 35%  }
.splide__slide .capa-flotante.x40  { left: 40%  }
.splide__slide .capa-flotante.x45  { left: 45%  }
.splide__slide .capa-flotante.x50  { left: 50%  }
.splide__slide .capa-flotante.x55  { left: 55%  }
.splide__slide .capa-flotante.x60  { left: 60%  }
.splide__slide .capa-flotante.x65  { left: 65%  }
.splide__slide .capa-flotante.x70  { left: 70%  }
.splide__slide .capa-flotante.x75  { left: 75%  }
.splide__slide .capa-flotante.x80  { left: 80%  }
.splide__slide .capa-flotante.x85  { left: 85%  }
.splide__slide .capa-flotante.x90  { left: 90%  }
.splide__slide .capa-flotante.x95  { left: 95%  }
.splide__slide .capa-flotante.x100 { left: 100% }

.splide__slide .capa-flotante.y0   { top: 0%   }
.splide__slide .capa-flotante.y5   { top: 5%   }
.splide__slide .capa-flotante.y10  { top: 10%  }
.splide__slide .capa-flotante.y15  { top: 15%  }
.splide__slide .capa-flotante.y20  { top: 20%  }
.splide__slide .capa-flotante.y25  { top: 25%  }
.splide__slide .capa-flotante.y30  { top: 30%  }
.splide__slide .capa-flotante.y35  { top: 35%  }
.splide__slide .capa-flotante.y40  { top: 40%  }
.splide__slide .capa-flotante.y45  { top: 45%  }
.splide__slide .capa-flotante.y50  { top: 50%  }
.splide__slide .capa-flotante.y55  { top: 55%  }
.splide__slide .capa-flotante.y60  { top: 60%  }
.splide__slide .capa-flotante.y65  { top: 65%  }
.splide__slide .capa-flotante.y70  { top: 70%  }
.splide__slide .capa-flotante.y75  { top: 75%  }
.splide__slide .capa-flotante.y80  { top: 80%  }
.splide__slide .capa-flotante.y85  { top: 85%  }
.splide__slide .capa-flotante.y90  { top: 90%  }
.splide__slide .capa-flotante.y95  { top: 95%  }
.splide__slide .capa-flotante.y100 { top: 100% }

.splide__slide .capa-flotante.w5   { width: 5%   }
.splide__slide .capa-flotante.w10  { width: 10%  }
.splide__slide .capa-flotante.w15  { width: 15%  }
.splide__slide .capa-flotante.w20  { width: 20%  }
.splide__slide .capa-flotante.w25  { width: 25%  }
.splide__slide .capa-flotante.w30  { width: 30%  }
.splide__slide .capa-flotante.w35  { width: 35%  }
.splide__slide .capa-flotante.w40  { width: 40%  }
.splide__slide .capa-flotante.w45  { width: 45%  }
.splide__slide .capa-flotante.w50  { width: 50%  }
.splide__slide .capa-flotante.w55  { width: 55%  }
.splide__slide .capa-flotante.w60  { width: 60%  }
.splide__slide .capa-flotante.w65  { width: 65%  }
.splide__slide .capa-flotante.w70  { width: 70%  }
.splide__slide .capa-flotante.w75  { width: 75%  }
.splide__slide .capa-flotante.w80  { width: 80%  }
.splide__slide .capa-flotante.w85  { width: 85%  }
.splide__slide .capa-flotante.w90  { width: 90%  }
.splide__slide .capa-flotante.w95  { width: 95%  }
.splide__slide .capa-flotante.w100 { width: 100% }

@media (max-width: 768px) {
    .splide {
        /* Define aquí el aspecto ratio para móvil, ej: 4/5 */
        aspect-ratio: 4 / 5;
    }
    .capa-flotante {
        display: none;
    }
}

.overlay-blanco {
    background: rgba(255, 255, 255, .75);
    padding: 25px 30px;
    height: 80% !important;
    min-height: calc(450px * 0.8) !important;
    width: 100% !important;
    max-width: 40%;
    border-radius: 25px;
    color: #333;
}

.overlay-blanco p {
    margin-bottom: 1em;
    margin-top: 1em;
}

.overlay-blanco input[type="text"],
.overlay-blanco input[type="email"] {
    box-shadow: none;
    border: none;
    border-radius: 4px;
    background: #fff;
    height: 3em;
    max-width: 100%;
    padding: 0 .75em;
    width: 100%;
}
.mailchimpSubmit{
    border-radius: 4px;
    background-color: rgb(0, 114, 206);
}

/** CAMBIAR LAYOUT PRODUCT CATEGORY */

/* Ajuste de proporciones para categorías de producto */
@media (min-width: 1025px) {
    .overlay-blanco {
        margin-left: 30px;
    }

    /* Contenedor principal para que ocupe todo el ancho */
    .tax-product_cat .grid-container {
        max-width: 100%;
        padding: 0 30px;
    }

    /* Forzar el Sidebar al 20% */
    .tax-product_cat #left-sidebar {
        width: 18%;
        left: 0;
    }

    /* Forzar el Contenido al 80% */
    .tax-product_cat #primary {
        width: 82%;
        left: 0;
    }
}

/** SIDEBAR CATEGORIAS PRODUCTO */

.nav-infrico { list-style: none; margin: 0; padding: 0; }
.nav-infrico li a { display: block; padding: 10px 0; color: #333; text-decoration: none;}
.nav-infrico li.current-item > a { color: #1e73be; font-weight: bold; }
.nav-infrico li.activa > a { color: #1e73be; }

.nav-hijos { list-style: none; margin-left: 15px; border-left: 2px solid #1e73be; padding-left: 10px; margin-top: 5px; }
.nav-hijos li a { border-bottom: none; font-size: 14px; padding: 5px 0; }

.cat-link-wrapper { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f0f0f0; }
.cat-link-wrapper a { flex-grow: 1; padding: 10px 0; text-decoration: none; color: #333; }
.nav-infrico li.current-item > .cat-link-wrapper a { color: #1e73be; font-weight: bold; }

.toggle-arrow { width: 30px; height: 30px; cursor: pointer; position: relative; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease; }
.toggle-arrow::after { content: ''; width: 6px; height: 6px; border-right: 2px solid #666; border-bottom: 2px solid #666; transform: rotate(45deg); display: block; }

.cat-item.open > .cat-link-wrapper .toggle-arrow { transform: rotate(180deg); }
.nav-hijos { list-style: none; margin-left: 15px; border-left: 2px solid #1e73be; padding-left: 10px; }

.product-info-custom {
    padding: 10px 15px;
    text-align: left;
    min-height: 204px;
}

.woocommerce-loop-product__title {
    min-height: 35px;
}

.woocommerce ul.products.columns-5 li.product, .woocommerce-page ul.products.columns-5 li.product {
    box-shadow: 0 1px 3px -2px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);
    width: 18.5%;
}

@media (max-width: 950px) {
    .woocommerce ul.products.columns-5 li.product, .woocommerce-page ul.products.columns-5 li.product {
    
    width: 30%;
}
}
@media (max-width: 767px) {
    .woocommerce ul.products.columns-5 li.product, .woocommerce-page ul.products.columns-5 li.product {
    
    width: 48.5%;
}
}

.woocommerce ul.products.columns-5 li.product:hover, .woocommerce-page ul.products.columns-5 li.product:hover {
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
}

.single-product .stock-status {
    width: auto;
}

.stock-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 5px;
    border-radius: 4px;
    font-weight: 600;
    font-size: .8em;
    width: 100%;
}

.woocommerce-checkout-review-order .stock-status {
    min-width: 155px;
}

.stock-status.in-stock {
    color: #3d5c33;
    background-color: #b0d49e;
}

.stock-status.available-on-backorder {
    color: #31545c;
    background-color: #91d3ea;
}

/* Botón añadir al carrito en el loop */
.woocommerce ul.products li.product .button.add_to_cart_button {
    background-color: #0054a6;
    color: #ffffff;
    padding: 5px 7px;
    border-radius: 0px;
    font-weight: 400;
    font-size: 13px;
    transition: all 0.3s ease;
    display: block;
    text-align: center;
    margin-top: 10px;
    width: 85%;
    border: none;
}

/* Efecto Hover */
.woocommerce ul.products li.product .button.add_to_cart_button:hover {
    box-shadow: inset 0 0 0 100px rgba(0,0,0,.2);
}

/* Botón cuando el producto ya está en el carrito (View Cart) */
.woocommerce ul.products li.product .added_to_cart {
    display: block;
    text-align: center;
    margin-top: 5px;
    font-size: 12px;
    color: #0054a6;
    text-decoration: underline;
}

.button.add_to_cart_button:before, .single_add_to_cart_button:before {
    background: url(https://infrico.com/wp-content/uploads/2024/07/icono-carrito.png) no-repeat top left;
    background-size: contain;
    content: '';
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: sub;
    margin-right: 3px;
}

@media (min-width: 1025px) {
    .tax-product_cat .grid-container {
        max-width: 100%;
        padding: 0 20px;
    }
}

/* Ajuste específico para el título de la categoría */
.tax-product_cat .page-title {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.tax-product_cat h2.sub-cat-title {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: -0.02em;
}

/* Ajuste para móvil si es necesario */
@media (max-width: 768px) {
    .tax-product_cat .page-title, .tax-product_cat h2.sub-cat-title {
        font-size: 24px;
    }
}

.widget-title {
    font-family: 'Roboto Serif', serif;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 5px;
}

.woocommerce-ordering {
    display: none;
}

.woocommerce-result-count {
    position: absolute;
    right: 20px;
    top: 120px;
}

@media (max-width: 768px) {
    .woocommerce-result-count { position: relative; }
}

/* Ocultar pestañas originales */
.woocommerce-tabs ul.tabs {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    margin: 0;
}

/* Forzar que el contenido esté cerrado al cargar */
.infrico-accordion-content {
    display: none !important;
    padding: 20px 0;
    border-bottom: 1px solid #e5e5e5;
}

/* Cuando añadimos la clase abierto (o vía JS inline style), mostramos */
.item-abierto .infrico-accordion-content {
    display: block !important;
}

.infrico-acc-header {
    padding: 15px 0;
    border-bottom: 1px solid #d5d5d5;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 0;
}

.is-open .infrico-acc-header {
    background-color: rgba(0, 0, 0, .03);
    border-color: #444;
    font-weight: 600;
}

.infrico-acc-header::after {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #1e73be;
    border-bottom: 2px solid #1e73be;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-right: 10px;
    display: inline-block;
}

.is-open .infrico-acc-header::after {
    transform: rotate(-135deg);
}

.infrico-acc-panel {
    padding: 1em 1.5em;
}

.woocommerce div.product .woocommerce-tabs .panel {
    display: block !important;
}

.single-short-desc {
    font-family: 'Roboto Serif', serif;
}

.single-product div.product .product_title {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 5px;
    letter-spacing: -0.01em;
}

/* Ajuste opcional para móvil */
@media (max-width: 768px) {
    .single-product div.product .product_title {
        font-size: 28px;
    }
}

.box-text-products .price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.box-text-products .price ins {
    margin-right: 5px;
}

.box-text-products .price ins bdi {
    font-weight: bold;
    font-size: 125%;
}

.box-text-products del span.amount {
    font-size: 90%
}

.box-text-products del span.amount:before {
    content: 'PVPR';
}

.product-summary .price-wrapper del:before {
    content: 'PVPR ';
    font-weight: 400;
    opacity: .5;
    font-size: 18px;
}

.product-summary .price-wrapper ins:before {
    content: 'PVD ';
    color: #2180be;
    font-weight: bold;
    font-size: 18px;
}

.box-text-products a.add_to_cart_button {
    width: 100%;
}

.box:hover .box-text-products a.add_to_cart_button {
    color: #eee;
}

.woocommerce div.product p.price ins:before, .woocommerce div.product span.price ins:before {
    content: 'PVD ';
    color: #2180be;
    font-weight: bold;
    font-size: 18px;
}

.price {
    font-family: "Roboto Serif", sans-serif;
}

.single-product .summary .price{
    margin: .5em 0;
}
.single-product .tm-extra-product-options-fields{
    padding-top: 10px;
}
.single-product .summary .price ins span.amount {
    color: #2180be;
    font-weight: bold;
}

.single-product .summary .woocommerce-Price-currencySymbol {
    display: inline-block;
    font-size: .75em;
    vertical-align: top;
}

/** OCULTAR ADD TO CART NO ACEPTADOS **/

.role-subscriber .grid-tools .add-to-cart-grid, .role-customer .grid-tools .add-to-cart-grid, .role-no-aceptados .grid-tools .add-to-cart-grid {
    display: none !important;
}

.notlogged .header-cart-link, .role-subscriber .header-cart-link, .role-no-aceptados .header-cart-link {
    display: none;
}

.notlogged .tm-extra-product-options-totals, .notlogged .tm-extra-product-options-field {
    display: none !important;
}

/* TM EXTRA PRODUCT OPTION PLUGIN */

.tm-collapse {
    background: transparent;
    border: none;
    border-bottom: 1.5px solid #bbb;
}

.tm-arrow {
    color: #8F8F8F;
}

.tm-arrow:before {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #1e73be;
    border-bottom: 2px solid #1e73be;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-right: 10px;
    display: inline-block;
}

.toggle-header-open .tm-arrow:before {
    transform: rotate(-135deg);
}

.tm-extra-product-options .tm-collapse .tc-epo-label.tm-section-label {
    padding-bottom: 0;
    padding-left: 0;
}

.tm-extra-product-options .tc-epo-label.tm-section-label {
    font-size: 18px;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    color: #111111;
    padding: .6em 0em;
}

.tm-section-description {
    padding: 0;
    padding-top: 5px;
    color: #111;
}

/* cambiar tamaño y letra de las opciones del plugin extra product options */

.tm-extra-product-options-container li.tmcp-field-wrap label {
    display: inline;
}

.tm-extra-product-options .tmcp-field-wrap .amount {
    margin: .6em .5em 2em;
    color: black;
    font-size: 0.9rem;
    font-weight: 700;
}

.tm-final-totals span.amount {
    color: #2180be;
    font-size: 26px;
    font-weight: bold;
}

.tm-options-totals span.amount {
    opacity: .8;
    font-weight: 400;
}

dl.tm-extra-product-options-totals dd {
    font-size: 16px;
}

.tc-totals-form dl.tm-extra-product-options-totals {
    font-size: .8em;
    text-transform: uppercase;
}

/** EXTRA PRODUCT OPTIONS */

.tm-section-description.color-2895d0 {
    color: #444343 !important;
    font-size: .9em;
    font-family: 'Roboto Serif', serif;
}

@media screen and (max-width: 950px) {
    .tm-extra-product-options .cpf-type-radio ul.tmcp-elements li.tmcp-field-wrap {
        width: 11% !important;
    }
}

.related.products > h2 {
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    position: relative;
    font-size: 32px;
}

.related.products > h2:before {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    width: 50%;
    border-bottom: 1px solid #000;
    left: 0;
}

.woocommerce .related ul.products li.product {
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px -2px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
}

.woocommerce .related ul.products li.product:hover {
    box-shadow: 0 3px 6px -4px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
}

.woocommerce .related ul.products li.product .price {
    margin-top: auto;
    margin-bottom: 0 !important;
}

.woocommerce .related ul.products li.product .button.add_to_cart_button {
    background-color: #0054a6;
    color: #ffffff;
    border: none;
    display: block;
    text-align: center;
    width: 85%;
    font-size: 13px;
    margin-top: 10px;
}

.woocommerce .related ul.products li.product .button.add_to_cart_button:hover {
    box-shadow: inset 0 0 0 100px rgba(0,0,0,.2);
}

.related.products .stock-status {
    font-size: .8em;
    width: 100%;
}

.related.products ins span.amount, .woocommerce ul.products li.product .price span.amount {
    font-size: 160%;
}

.related.products .price del, .woocommerce ul.products li.product .price del {
    display: none !important;
}

.related.products span.price ins:before {
    content: '' !important;
}

.woocommerce .related ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    padding: 10px 0;
    margin: 0 1.2% 2.992em 0;
    display: flex;
    flex-direction: column;
}

/* Empuja el precio y el botón siempre al fondo de la card */
.woocommerce ul.products li.product .price {
    margin-top: auto;
}

.product-breadcrumbs {
    margin-bottom: 20px;
}

#breadcrumbs {
    font-size: .8em;
    text-transform: uppercase;
}

#breadcrumbs span, #breadcrumbs a {
    color: rgba(74, 74, 74, .8);
    font-weight: 400;
}

.light-grey {
    background: #D9D9D9 !important;
    color: #000;
}

.wpcf7-form :where(.wp-block-columns) {
    margin-bottom: 1.25em;
}

.wpcf7-form label {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: normal;
    display: block;
    margin-bottom: 0.5em;
}

.wpcf7 .wpcf7-form-control-wrap {
    margin-top: 5px;
}

.wpcf7-form-control {
    width: 100%;
    display: inline-block;
}

.wpcf7-text, .wpcf7-form input[type="text"], .wpcf7-form input[type="email"], input[type="tel"] {
    box-shadow: none;
    border: none;
    border-bottom: 1px solid #000;
    background: transparent;
    height: 2.507em;
    max-width: 100%;
    padding: 0 .75em;
}

.wpcf7-form-control-wrap textarea, .wpcf7-form select {
    border: 1px solid #000;
    background: transparent;
}

.wpcf7-form .full-border input[type="text"], .wpcf7-form .full-border input[type="email"], .wpcf7-form .full-border input[type="tel"] {
    border: 1px solid #000;
}

.row-contacto .col-inner {
    background: #D9D9D9;
    border-radius: 15px;
    padding: 15px 0;
}

.row-contacto h3 {
    color: #808080;
}

.row-contacto a, .row-contacto p {
    color: #000000;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, select, textarea:focus {
    box-shadow: none;
}

.wpcf7-text:active {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    -ms-opacity: 1;
    opacity: 1;
}

/* CF7 dentro de My Account: igualar estilo al formulario de edit-address */

.woocommerce-MyAccount-content .wpcf7-form input[type="text"],
.woocommerce-MyAccount-content .wpcf7-form input[type="email"],
.woocommerce-MyAccount-content .wpcf7-form input[type="tel"],
.woocommerce-MyAccount-content .wpcf7-form input[type="number"],
.woocommerce-MyAccount-content .wpcf7-form input[type="url"],
.woocommerce-MyAccount-content .wpcf7-form textarea,
.woocommerce-MyAccount-content .wpcf7-form select {
    width: 100%;
    padding: 10px 12px !important;
    border: 1.5px solid rgb(209, 213, 219) !important;
    border-radius: 8px !important;
    font-size: 13.5px;
    background: rgb(255, 255, 255) !important;
    box-shadow: none !important;
    transition: border-color 0.2s;
    height: auto;
}

.woocommerce-MyAccount-content .wpcf7-form input[type="text"]:focus,
.woocommerce-MyAccount-content .wpcf7-form input[type="email"]:focus,
.woocommerce-MyAccount-content .wpcf7-form input[type="tel"]:focus,
.woocommerce-MyAccount-content .wpcf7-form input[type="number"]:focus,
.woocommerce-MyAccount-content .wpcf7-form textarea:focus,
.woocommerce-MyAccount-content .wpcf7-form select:focus {
    border-color: rgb(0, 174, 239) !important;
    outline: none;
}

.woocommerce-MyAccount-content .wpcf7-form label {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: inherit !important;
}

.woocommerce-MyAccount-content .wpcf7-form input[type="submit"] {
    background-color: rgba(0, 148, 211, 0.85) !important;
    border-radius: 9px !important;
    padding: 12px 18px !important;
    font-size: 13.5px !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer;
    width: auto;
}

.font-medium {
    font-weight: 500;
}

.texto-banner {
    font-size: 48px !important;
    line-height: 50px;
    width: auto;
    text-align: center;
    display: inline-block;
    margin-left: 8rem;
}

@media (max-width: 768px) {
    .texto-banner {
        font-size: 34px !important;
        line-height: 38px;
        margin-left: 1rem;
    }
}

/**DELEGACIONES*/

.toggle-item {
    border: 1px solid #e5e5e5;
    padding: 30px 30px 40px 30px;
}

/* Ocultar el contenido por defecto */
.toggle-content {
    display: none;
    padding-top: 15px;
    border-top: 1px solid #eee;
    margin-top: 10px;
}

/* Estilo para el disparador */
.toggle-trigger {
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.toggle-trigger:hover {
    opacity: 0.8;
}

.toggle-trigger p {
    margin-top: 12px;
}

/* Clase para cuando el item está activo (opcional para dar estilo) */
.toggle-item.is-active .toggle-content {
    display: block;
}

/*CREAR PRESUPUESTO CLIENTE */

.resultado-cliente {
    border-radius: 15px;
    width: 60%;
    background: rgb(255, 255, 255);
    border-radius: 12px;
    border: 1px solid rgb(226, 232, 240);
    overflow: visible;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 12px;
}

@media (max-width: 768px) {
    .resultado-cliente {
        width: 100%;
    }
}

.resultado-cliente .found span {
    color: #5cb85c;
}

.cliente-encontrado {
    border-radius: 10px;
    border: 1.5px solid rgb(26, 63, 111);
    overflow: hidden;
    margin-bottom: 24px;
    animation: 0.25s fadeIn;
}

.check-modal {
    background: #5cb85c;
    color: #fff;
    padding: 11px;
    border-radius: 50px;
    font-size: 30px;
}

.tarifa-user {
    padding: 20px 16px;
}

/*AUTOCOMPLETE*/

.autocomplete-suggestions {
    -webkit-overflow-scrolling: touch;
    max-height: 50vh;
    overflow-y: scroll;
    overflow-y: auto;
}

.autocomplete-suggestion {
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    cursor: default;
    display: flex;
    padding: .8em .75em;
}

.autocomplete-suggestion.autocomplete-selected {
    background-color: rgba(0, 174, 239, 0.094)
}

/* Contenedor flexible */
.infrico-grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

/* Clase base para las columnas */
.infrico-col {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    box-sizing: border-box;
    width: 100%;
}

.infrico-col label {
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.5px;
}

.woocommerce form .form-row label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.5px;
}

/* Anchos para Escritorio (Desktop) */
@media (min-width: 769px) {
    .infrico-col-70 { width: 70%; }
    .infrico-col-50 { width: 50%; }
    .infrico-col-35 { width: 35%; }
    .infrico-col-30 { width: 30%; }
    .infrico-col-25 { width: 25%; }
}

/* Ajustes para los inputs dentro de la rejilla */
.infrico-col input,
.infrico-col textarea,
.infrico-col select {
    width: 100%;
}

/**CART*/

.add-to-cart-panel .cart.do-quantity-buttons div.quantity, .do-quantity-buttons div.quantity {
    border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
    border-radius: 4px;
    box-sizing: border-box;
    display: flex;
    position: relative;
    width: 120px;
}

.woocommerce form .quantity.buttons-added .qty {
    appearance: textfield;
    background: transparent;
    border: 0 !important;
    box-shadow: none;
    color: currentColor;
    flex: 1 1 auto;
    font-size: var(--wp--preset--font-size--small, 14px);
    line-height: 1.4;
    line-height: 1;
    margin: 0;
    min-height: 40px !important;
    order: 2;
    padding: .4em 0;
    text-align: center;
    vertical-align: middle;
}

.do-quantity-buttons form .quantity:not(.buttons-added):not(.hidden)::after, .do-quantity-buttons form .quantity:not(.buttons-added):not(.hidden)::before, .woocommerce form .quantity.buttons-added .minus, .woocommerce form .quantity.buttons-added .plus {
    background: none transparent;
    border: 0 !important;
    box-shadow: none;
    color: currentColor;
    cursor: pointer;
    font-size: .9em;
    font-style: normal;
    font-weight: 400;
    margin: 0;
    min-width: 30px;
    opacity: .6;
    padding: 0;
    text-align: center;
    text-decoration: none;
    border: 0;
    min-height: 40px !important;
}

.woocommerce form .quantity.buttons-added .plus {
    order: 3;
}

/* Ocultar el título principal solo en la página de carrito */
.woocommerce-cart .entry-title {
    display: none;
}

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
    width: 80px;
}

/* Estilo para el contenedor del mini-cart desplegable */
.main-navigation .wc-menu-cart-activated .sub-menu {
    width: 350px;
    right: 0;
    left: auto;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border-top: 4px solid #0054a6;
    background-color: #fff;
}

/* Ajuste de los items dentro del carrito */
.widget_shopping_cart .cart_list li {
    padding-left: 0;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 10px;
    position: relative;
}

/* Estilo de los botones (Ver carrito / Finalizar) */
.widget_shopping_cart .woocommerce-mini-cart__buttons .button {
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 8px;
    border-radius: 0;
}

/* Botón de 'Finalizar compra' en azul Infrico */
.widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout {
    background-color: #0054a6;
    margin-left: 15px;
}

/* Ocultar la descripción corta con la clase que detectaste */
.wc-block-components-product-metadata__description {
    display: none !important;
}

/* Ocultar variaciones si existen */
.wc-block-components-product-details__variant-list {
    display: none !important;
}

/* Dar estilo al stock (en caso de que logremos inyectarlo) */
.mini-cart-stock-custom {
    display: block !important;
    font-size: 12px !important;
    font-weight: bold !important;
    color: #28a745;
    margin-top: 5px;
}

/* Ocultar la descripción corta en el carrito del menú */
.widget_shopping_cart_content .wc-block-components-product-metadata__description,
.widget_shopping_cart_content .variation {
    display: none !important;
}

/* Estilo para los estados de stock que creamos en el PHP */
.stock-status-infrico.in-stock { color: #28a745; font-weight: bold; }
.stock-status-infrico.out-of-stock { color: #dc3545; font-weight: bold; }
.stock-status-infrico.available-on-backorder { color: #ffc107; font-weight: bold; }

/* Hacer que el desplegable sea más ancho y elegante */
.main-navigation i.shopping-cart + ul.sub-menu {
    width: 320px;
    padding: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border-top: 3px solid #0054a6;
}

/* Ajuste de botones */
.widget_shopping_cart .buttons a {
    display: block;
    width: 100%;
    margin-bottom: 5px;
    text-align: center;
    border-radius: 0;
}

/* Estilos para el offcanvas del carrito */

/* Ocultar el mini-cart por defecto cuando NO está en modo offcanvas */
body:not(.cart-offcanvas-open) #wc-mini-cart {
    display: none !important;
}

/* Mini-cart preparado para animación - fuera de pantalla (translateX 100%) */
body.cart-offcanvas-open #wc-mini-cart {
    position: fixed !important;
    top: 0 !important;
    left: auto !important;
    right: 0 !important;
    bottom: auto !important;
    width: 430px !important;
    max-width: 430px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    background: #fff !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-shadow: -5px 0 20px rgba(0,0,0,0.2) !important;
    display: block !important;
    visibility: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Slide-in cuando está activo - desliza a la posición visible */
body.cart-offcanvas-open #wc-mini-cart.offcanvas-active {
    transform: translateX(0) !important;
}

/* IMPORTANTE: Sobrescribir cualquier regla de hover de GeneratePress cuando está en modo offcanvas */
body.cart-offcanvas-open .menu-bar-item #wc-mini-cart,
body.cart-offcanvas-open .menu-bar-item:hover #wc-mini-cart,
body.cart-offcanvas-open .menu-bar-item.wc-menu-item #wc-mini-cart,
body.cart-offcanvas-open .menu-bar-item.wc-menu-item:hover #wc-mini-cart,
body.cart-offcanvas-open .wc-menu-item #wc-mini-cart {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Prevenir que otros elementos oculten el mini-cart cuando está en modo offcanvas */
body.cart-offcanvas-open #wc-mini-cart[aria-hidden="false"] {
    display: block !important;
    visibility: visible !important;
}

/* Botón de cerrar */
#wc-mini-cart .cart-close-button {
    position: absolute;
    top: 20px;
    right: 15px;
    background: transparent;
    border: none;
    padding: 5px;
    cursor: pointer;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

#wc-mini-cart .cart-close-button svg {
    width: 24px;
    height: 24px;
    fill: #333;
    transition: fill 0.2s;
}

#wc-mini-cart .cart-close-button:hover svg {
    fill: #0054a6;
}

/* Mini-cart necesita position relative para el overlay */
#wc-mini-cart {
    position: relative;
}

/* Contenido del mini-cart */
#wc-mini-cart .inside-wc-mini-cart {
    margin-top: 10px;
    padding: 60px 20px 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

#wc-mini-cart .total {
    margin: 15px 0 !important;
}

.wc-menu-item .wc-mini-cart .widget_shopping_cart {
    padding: 10px 0 !important;
}

#wc-mini-cart .widget_shopping_cart_content {
    flex: 1;
    overflow-y: auto;
}

#wc-mini-cart .woocommerce-mini-cart-item {
    padding: 10px 0 5px 80px;
    border-bottom: 1px solid #eee;
}

#wc-mini-cart .woocommerce-mini-cart-item:last-child {
    border-bottom: none;
}

/* Mostrar precio en mini-cart items */
#wc-mini-cart .woocommerce-mini-cart-item .quantity {
    display: block !important;
    margin-top: 5px;
    font-weight: 600;
    color: #2180be;
    float: right;
    bottom: 65px;
    position: relative;
    right: 20px;
}

#wc-mini-cart .woocommerce-mini-cart-item .amount {
    display: inline !important;
    font-size: 14px;
}

/* Campos de cantidad en el mini-cart */
#wc-mini-cart .mini-cart-quantity {
    border: 1px solid
    color-mix(in srgb, currentColor 30%, transparent);
    border-radius: 4px;
    box-sizing: border-box;
    display: flex;
    position: relative;
    width: 107px;
}

#wc-mini-cart .mini-cart-quantity .qty {
    appearance: textfield;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: currentColor;
    flex: 1 1 auto;
    font-size: var(--wp--preset--font-size--small, 14px);
    line-height: 1.4;
    line-height: 1;
    margin: 0;
    min-width: 40px;
    order: 2;
    padding: .4em 0;
    text-align: center;
    vertical-align: middle;
}

#wc-mini-cart .mini-cart-quantity .qty-btn {
    background: none transparent;
    border: 0;
    box-shadow: none;
    color: currentColor;
    cursor: pointer;
    font-size: .9em;
    font-style: normal;
    font-weight: 400;
    margin: 0;
    min-width: 30px;
    opacity: .6;
    padding: 0;
    text-align: center;
    text-decoration: none;
}

#wc-mini-cart .mini-cart-quantity .qty-btn.qty-plus {
    order: 3;
}

#wc-mini-cart ul.woocommerce-mini-cart {
    list-style: none;
    margin: 0;
}

.widget_shopping_cart ul.cart_list li img, .woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
    width: 70px !important;
}

.widget_shopping_cart ul.cart_list li img {
    position: absolute;
    left: 0;
}

/* REMOVE ICON */
.woocommerce-mini-cart li a.remove {
    border: none !important;
    position: absolute;
    float: none;
    right: 167px !important;
    bottom: 2px;
}

#wc-mini-cart .mini-cart-quantity .qty::-webkit-outer-spin-button,
#wc-mini-cart .mini-cart-quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#wc-mini-cart .mini-cart-quantity .qty:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

#wc-mini-cart .mini-cart-quantity .qty-btn:hover {
    background: #0054a6;
    color: #fff;
    border-color: #0054a6;
}

#wc-mini-cart .mini-cart-quantity .qty-btn:active {
    transform: scale(0.95);
}

#wc-mini-cart .mini-cart-quantity .qty-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

#wc-mini-cart .mini-cart-quantity .qty-btn:disabled:hover {
    background: #f5f5f5;
    color: #333;
    border-color: #ddd;
}

/* Loader/Spinner para actualizaciones del carrito */
#wc-mini-cart .cart-loader-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.45);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10001;
}

#wc-mini-cart .cart-loader-overlay.show {
    display: flex !important;
}

/* Spinner animado */
#wc-mini-cart .cart-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #0054a6;
    border-radius: 50%;
    animation: cart-spin 0.8s linear infinite;
}

@keyframes cart-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#wc-mini-cart .woocommerce-mini-cart__total {
    padding: 15px 0;
    margin-top: 15px;
    border-top: 2px solid #0054a6;
    font-weight: bold;
}

#wc-mini-cart .woocommerce-mini-cart__total .amount {
    float: right;
}

#wc-mini-cart .woocommerce-mini-cart__buttons a {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 12px;
    text-align: center;
    border-radius: 3px;
}

/* Deshabilitar el comportamiento normal del dropdown */
body.cart-offcanvas-open .cart-contents.shopping-cart + #wc-mini-cart {
    display: block !important;
}

/* Responsive */
@media (max-width: 768px) {
    body.cart-offcanvas-open #wc-mini-cart {
        width: 90% !important;
        max-width: 90% !important;
    }
}

@media (min-width: 769px) {
    .woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
        width: 100%;
    }

    /* Contenedor principal del carrito de WooCommerce */
    .woocommerce-cart-form {
        flex: 1 1 70%;
        margin-right: 30px;
    }

    .cart-collaterals {
        flex: 1 1 30%;
        margin-top: 0 !important;
    }

    /* Envoltura que contiene ambos bloques */
    .woocommerce .cart-wrapper {
        display: flex;
        align-items: flex-start;
    }
}

.woocommerce-cart.separate-containers .inside-article, .woocommerce-checkout.separate-containers .inside-article {
    padding: 10px;
}

/* En móviles, quizás quieras reducirlo aún más para que las tablas no se corten */
@media (max-width: 768px) {
    .woocommerce-cart.separate-containers .inside-article, .woocommerce-checkout.separate-containers .inside-article {
        padding: 15px;
    }
}

/* Ocultar el título 'Tu pedido' en el checkout */
#order_review_heading {
    display: none;
}

/* Ocultar el título 'Tu pedido' en el checkout */
.woocommerce-billing-fields h3 {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
}

.woocommerce-privacy-policy-text {
    font-size: 12px;
}

.woocommerce-terms-and-conditions-checkbox-text {
    font-weight: normal;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    padding: 15px !important;
    padding-bottom: 15px;
    padding-top: 15px;
    text-transform: uppercase;
    justify-content: center;
    font-size: 120% !important;
    background-color: #0054a6 !important;
    color: #ffffff !important;
}

/* Add to cart — product page */
.woocommerce div.product .single_add_to_cart_button {
    background-color: #0054a6 !important;
    color: #ffffff !important;
}

/* Aplicar cupón — carrito */
.woocommerce .coupon .button {
    background-color: #0054a6 !important;
    color: #ffffff !important;
}

/*cupon*/

.woocommerce-form-coupon-toggle .woocommerce-info {
    background: transparent;
    color: inherit;
    border-left: none;
    padding: 0;
}

.woocommerce-form-coupon-toggle .woocommerce-info a {
    color: inherit;
}

/* Ocultar el botón de actualizar carrito ya que es automático */
button[name="update_cart"] {
    display: none !important;
}

.woocommerce-cart-form.processing {
    opacity: 0.5;
    pointer-events: none;
}

.cart-wrapper {
    position: relative;
}

.cart-wrapper .woocommerce-message {
    background-color: transparent;
    color: #0b9444;
    border-left: none;
    margin: 0;
    padding: 10px 5px;
    position: absolute;
    top: -50px;
}

.payment-icons .payment-icon {
    background-color: rgba(0,0,0,.1);
    border-radius: 5px;
    display: inline-block;
    margin: 3px 3px 0;
    opacity: .6;
    padding: 3px 5px 5px;
    transition: opacity .3s;
}

.payment-icons .payment-icon svg {
    height: 20px;
    vertical-align: middle;
    width: auto !important;
}

.shop_table .woocommerce-checkout-review-order-table {
    margin-bottom: 0;
}

.form-row.place-order {
    padding-bottom: 0 !important;
}

.woocommerce-privacy-policy-text {
    margin-top: 10px;
    margin-bottom: 10px;
}

.woocommerce-checkout #payment div.payment_box {
    margin: 0;
}

/* Borde izquierdo solo a la primera celda */
.woocommerce-checkout-review-order-table thead th:first-child {
    border-left: 1px solid rgb(229, 231, 235) !important;
    border-top: 1px solid rgb(229, 231, 235) !important;
    border-top-left-radius: 14px;
}

/* Borde derecho solo a la última celda */
.woocommerce-checkout-review-order-table thead th:last-child {
    border-top: 1px solid rgb(229, 231, 235) !important;
    border-right: 1px solid rgb(229, 231, 235) !important;
    border-top-right-radius: 14px;
}

.woocommerce-checkout-review-order-table tbody td:first-child {
    border-left: 1px solid rgb(229, 231, 235) !important;
}

.woocommerce-checkout-review-order-table tbody td:last-child {
    border-right: 1px solid rgb(229, 231, 235) !important;
}

.woocommerce-checkout-review-order-table tfoot th {
    border-left: 1px solid rgb(229, 231, 235) !important;
}

.woocommerce-checkout-review-order-table tfoot td {
    border-bottom: 1px solid rgb(229, 231, 235) !important;
    border-right: 1px solid rgb(229, 231, 235) !important;
}

.woocommerce-checkout-payment {
    border: 1px solid rgb(229, 231, 235);
    border-radius: 0 !important;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
    padding: 15px;
    border-top: 0;
}

.searchform-custom .search-field.search-field3 {
    padding-left: 35px;
}

/* Autocomplete Spinner */
.autocomplete-spinner {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #3b82f6;
    pointer-events: none;
    z-index: 10;
}

.live-search-results {
    top: calc(100% + 4px);
    left: 0px;
    right: 0px;
    background: rgb(255, 255, 255);
    border-radius: 8px;
    overflow: hidden;
    z-index: 50;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 8px 24px;
}

.footer-interno {
    background-color: #f8f9fa;
    
    color: oklch(92.8% .006 264.531);
}
.footer-interno a, .footer-interno h3 {
    color: #fff;
    text-decoration: none;
}
.site-footer h3{
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 1rem;
}
.site-footer svg{
    width: 28px;
    height: 28px;
}
:where(.space-x-4>:not(:last-child)) {
    margin-right: 1rem;
}
.site-footer p {
    margin-bottom: 1.3rem;
}
.footer-interno p{
    margin-bottom: .3rem;
}
@media (max-width: 768px) {
    .footer-interno p{
        font-size: 90%;
    }
    .w-m-50{
        max-width: 50%;
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* ============================================
   PRODUCT GALLERY - Miniaturas verticales a la izquierda
   ============================================ */

.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
}

.woocommerce-product-gallery .flex-control-thumbs {
    order: -1;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px;
    width: 80px !important;
    flex-shrink: 0;
    overflow-y: auto;
    max-height: 500px;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 70px !important;
    object-fit: cover;
    border: 2px solid transparent;
    border-radius: 3px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
    border-color: #2180be;
}

.woocommerce-product-gallery .flex-viewport {
    flex: 1 !important;
    min-width: 0;
}

@media (max-width: 768px) {
    .woocommerce-product-gallery {
        flex-direction: column !important;
    }

    .woocommerce-product-gallery .flex-control-thumbs {
        order: 1;
        flex-direction: row !important;
        width: 100% !important;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .woocommerce-product-gallery .flex-control-thumbs li {
        width: 70px !important;
        flex-shrink: 0;
    }
}

/* ============================================
   LANG DROPDOWN [lang_selector]
   ============================================ */

.infrico-lang-dropdown {
    position: relative;
    flex-shrink: 0;
}

.lang-trigger {
    display: flex;
    align-items: center;
    gap: 5px;
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 6px 8px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.2s ease;
    white-space: nowrap;
}

.lang-trigger:hover {
    background: rgba(255,255,255,0.12);
}

.lang-trigger img {
    display: block;
    border-radius: 2px;
}

.lang-chevron {
    transition: transform 0.2s ease;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.infrico-lang-dropdown:hover .lang-chevron {
    transform: rotate(180deg);
}

.lang-options {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    min-width: 110px;
    list-style: none;
    margin: 0;
    padding: 4px 0;
    z-index: 99999;
    /* pequeño área de relleno para que el ratón pueda moverse del trigger al dropdown */
    padding-top: 8px;
    margin-top: -2px;
}

.infrico-lang-dropdown:hover .lang-options {
    display: block;
}

.lang-options li {
    margin: 0;
}

.lang-options li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    color: #333;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s ease;
}

.lang-options li a:hover {
    background: #f5f5f5;
    color: #0054a6;
}

.lang-options li a.lang-active {
    color: #0054a6;
    font-weight: 600;
}

.lang-options li a img {
    border-radius: 2px;
    display: block;
}

/* ============================================
   SHORTCODE [buscador_productos]
   ============================================ */

.infrico-search-shortcode {
    position: relative;
    width: 100%;
}

.infrico-search-shortcode-form .search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 100%;
}

.infrico-search-shortcode-form .search-icon {
    position: absolute;
    left: 14px;
    color: #666;
    pointer-events: none;
    z-index: 2;
}

.infrico-search-shortcode-form .search-field {
    width: 100%;
    padding: 12px 20px 12px 44px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    color: #333;
    background: #fff;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-family: inherit;
    height: 44px;
}

.infrico-search-shortcode-form .search-field::placeholder {
    color: #aaa;
}

.infrico-search-shortcode-form .search-field:focus {
    border-color: #0054a6;
    box-shadow: 0 0 0 3px rgba(0, 84, 166, 0.1);
}

/* Resultados */
.infrico-search-shortcode-form .live-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 99999;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    overflow: visible;
}

.infrico-search-shortcode-form .autocomplete-suggestions {
    background: #fff !important;
    border-radius: 6px;
    position: static !important;
    max-height: 420px;
    overflow-y: auto;
    width: 100% !important;
    box-shadow: none !important;
}

.infrico-search-shortcode-form .search-result-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.15s ease;
}

.infrico-search-shortcode-form .search-result-item:last-child {
    border-bottom: none;
}

.infrico-search-shortcode-form .search-result-item:hover,
.infrico-search-shortcode-form .autocomplete-selected {
    background: #f5f8fc;
}

.infrico-search-shortcode-form .search-result-image {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 4px;
    overflow: hidden;
    background: #f5f5f5;
}

.infrico-search-shortcode-form .search-result-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.infrico-search-shortcode-form .search-result-content {
    flex: 1;
    min-width: 0;
}

.infrico-search-shortcode-form .search-result-title {
    font-weight: 500;
    color: #222;
    font-size: 14px;
    line-height: 1.35;
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.infrico-search-shortcode-form .search-result-title strong {
    color: #0054a6;
    font-weight: 600;
}

.infrico-search-shortcode-form .search-result-meta {
    font-size: 12px;
    color: #888;
}

.infrico-search-shortcode-form .search-spinner {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.col-40 {
    flex-basis: 40%;
}

.boxes-contacto h3 {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #808080;
}
/* .sub-menu.toggled-on {
        display: none !important;
       
       
    } */
@media (max-width: 768px) {
    ol, ul {
        margin: 0 0 1.5em 1.5em;
    }
    .overlay-blanco {
        max-width: 100%;
    }
    .wp-block-columns.grilla-categorias {
        flex-wrap: wrap !important;
    }
    .wp-block-columns.grilla-categorias > .wp-block-column {
        flex-basis: calc(50% - 15px) !important;
        max-width: calc(50% - 15px) !important;
    }

    .main-navigation .main-nav > ul > li > ul > li.menu-item-has-children > a {
        color: #fff;
        font-size: .9em;
        font-weight: bolder;
        text-transform: uppercase;
        margin-bottom: 3px;
    }

    .sub-menu.toggled-on ul {
        display: block !important;
        visibility: visible !important;
        height: auto;
        opacity: 1;
        pointer-events: auto;
        overflow: visible;
        float: none;
    }

    .main-navigation.toggled .main-nav > ul > li > ul > li > ul {
        padding-left: 10px;
    }

    .main-navigation .main-nav ul ul li a {
        padding-bottom: 5px;
        padding-top: 5px;
        font-size: 15px;
        line-height: 20px;
    }

    /* 1. Forzamos el apilado vertical (uno arriba del otro) */
    .wp-block-columns.apilar-certificados-mobile {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        gap: 25px !important;
    }

    /* 2. Forzamos a que ambas columnas ocupen el 100% de ancho */
    .wp-block-columns.apilar-certificados-mobile > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* 3. Centramos el icono del PDF para que visualmente quede mejor en celulares */
    .wp-block-columns.apilar-certificados-mobile .alignright {
        float: none !important;
        display: block !important;
        margin: 0 auto !important;
        text-align: center;
    }

    .w-50.w-full-mobile {
        width: 100% !important;
    }
}


.order-more-trigger {
    padding: 10px 18px;
}

/* ==========================================================================
   TIPOGRAFÍA: Roboto + mayúsculas
   ========================================================================== */

/* Navegación principal — Roboto en todos los niveles */
.main-navigation .main-nav ul li a {
    font-family: 'Roboto', sans-serif;
}

/* Primer nivel en mayúsculas */
.main-navigation .main-nav > ul > li > a {
    text-transform: uppercase;
}

/* Segundo y tercer nivel: Roboto sin mayúsculas */
.main-navigation .main-nav > ul > li > ul li a,
.main-navigation .main-nav > ul > li > ul li ul li a {
    font-family: 'Roboto', sans-serif;
    text-transform: none;
}

/* Inside-header: textos de cuenta y carrito */
.inside-header .account-text,
.inside-header .cart-text,
.inside-header .infrico-header-lang {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
}

/* Títulos de producto (loop y single) */
.woocommerce-loop-product__title,
.single-product div.product .product_title {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
}

/* Descripción corta del producto */
.woocommerce-product-details__short-description,
.short-description, .custom-short-desc {
    font-family: 'Roboto', sans-serif;
}

/* Limitar descripción del loop a 3 líneas para igualar altura de cards */
.woocommerce ul.products li.product .custom-short-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Widget categorías de producto */
.widget_product_categories li a,
.widget_product_categories li {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link>:not(:first-child) {
    margin-top: 2px;
}

.woocommerce ul.products li.product .price {
    margin-bottom: 0;
}

/* ==========================================================================
   BREADCRUMB DE PASOS: Carrito › Pago › Pedido confirmado
   ========================================================================== */

.infrico-checkout-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 1px 0 24px;
    font-family: 'Roboto', sans-serif;
}

.checkout-step__inner {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.checkout-step__num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
    border: 2px solid currentColor;
}

.checkout-step__label {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.checkout-step__sep {
    font-size: 18px;
    color: #d1d5db;
}

/* Pendiente */
.checkout-step--pending .checkout-step__inner {
    color: #9ca3af;
}

/* Done — clickeable */
.checkout-step--done .checkout-step__inner {
    color: #0054a6;
}

.checkout-step--done .checkout-step__inner:hover .checkout-step__label {
    text-decoration: underline;
}

/* Activo */
.checkout-step--active .checkout-step__inner {
    color: #0054a6;
}

.checkout-step--active .checkout-step__num {
    background: #0054a6;
    color: #fff;
    border-color: #0054a6;
}

@media (max-width: 600px) {
    .checkout-step__label { display: none; }
    .infrico-checkout-steps { gap: 12px; }
}

/* Bloque convertir en pedido (debajo de tabla de items) */
.infrico-convert-order-block {
    margin-top: 24px;
    padding: 20px 24px;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #0054a6;
    background: #f8faff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.infrico-convert-order-block p {
    margin: 0;
    font-size: 14px;
    color: #374151;
}

/* ── Filtro de estado en My Account Orders ───────────────────────────── */
.infrico-order-status-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
}

.order-status-tab {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #d1d5db;
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 500;
    color: #6b7280;
    text-decoration: none;
    transition: all 0.2s ease;
    background: #fff;
}

.order-status-tab:hover {
    border-color: #0054a6;
    color: #0054a6;
}

.order-status-tab.is-active {
    background: #0054a6;
    border-color: #0054a6;
    color: #fff !important;
}

/* Colores por estado */
.order-status-tab.status-pending.is-active     { background: #f59e0b; border-color: #f59e0b; }
.order-status-tab.status-processing.is-active  { background: #3b82f6; border-color: #3b82f6; }
.order-status-tab.status-on-hold.is-active     { background: #8b5cf6; border-color: #8b5cf6; }
.order-status-tab.status-completed.is-active   { background: #10b981; border-color: #10b981; }
.order-status-tab.status-cancelled.is-active   { background: #ef4444; border-color: #ef4444; }
.order-status-tab.status-waiting.is-active     { background: #f97316; border-color: #f97316; }

/* ── Blog Read More ──────────────────────────────────────────────────── */
.read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    padding: 8px 18px;
    border: 1.5px solid currentColor;
    background: transparent;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: background 0.25s ease, color 0.25s ease;
}

.read-more:hover {
    background: currentColor;
}

.read-more:hover .read-more__text {
    color: #fff;
}

.read-more .read-more__arrow {
    transition: transform 0.25s ease;
}

.read-more:hover .read-more__arrow {
    transform: translateX(4px);
}


/* Blog */
.wp-block-latest-posts__list li{
background: rgb(255, 255, 255);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px;
}
.wp-block-latest-posts__post-title{
    padding: 20px;
    display: block;
}
/* Forzar contenedor de la imagen al 100% */
.wp-block-latest-posts__featured-image {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Forzar que la etiqueta <a> y la <img> ocupen todo el ancho disponible */
.wp-block-latest-posts__featured-image a,
.wp-block-latest-posts__featured-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: cover; /* Asegura que la imagen mantenga buena proporción sin deformarse */
}


.w-4{
    width: 2rem !important;
    height: 2rem !important;
    
}
.site-header .header-image,
    .mobile-header-logo img {
        width: auto;
        height: 40px; /* Ancho/alto fijo para el logo en mobile */
    }
/* Prevenir salto en el header móvil */
@media (max-width: 768px) {
    .site-header,
    .mobile-header-navigation {
        min-height: 105px; /* Ajustá al alto real de tu logo/header */
    }
    
    /* Evitar que el logo cambie de tamaño al cargar */
    
}
.wp-block-image>a{
    display: block;
}
.grid-productos-home p{
    /* color: #fff; */
    font-family: 'Roboto', sans-serif;
    padding-top: .5em;
    padding-bottom: 1em;
    font-weight: 600;
    font-size: 18px;
}

.grid-productos-home img{
    height: 140px;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
    border-radius: 4px;
}
@media (max-width: 768px) {
    .grid-productos-home img {
        height: 160px; 
    }
}

/* 1. Recortar cualquier desbordamiento para que el zoom no salga del cuadro */
.grid-productos-home .wp-block-cover {
    overflow: hidden;
    position: relative;

    aspect-ratio: 16 / 9 !important; /* O la proporción que tengan tus imágenes */
    min-height: auto !important;
}

/* 2. Definir la transición suave en la imagen de fondo */
.grid-productos-home .wp-block-cover__image-background {
    transition: transform 0.4s ease-in-out !important;
    will-change: transform;

    height: 100% !important;
    object-fit: cover !important;
}

/* 3. Escalar la imagen al hacer hover sobre la tarjeta */
.grid-productos-home .wp-block-cover:hover .wp-block-cover__image-background {
    transform: scale(1.05) !important;
}

/* ==========================================================================
   MOBILE: 2 columnas + drawer de filtros (categorías de producto)
   ========================================================================== */

/* El botón y el drawer nunca se muestran en desktop */
.infrico-filtros-btn,
.infrico-filtros-overlay,
.infrico-filtros-drawer {
    display: none;
}

@media (max-width: 768px) {

    /* Ocultar el sidebar convencional en mobile */
    .tax-product_cat #left-sidebar {
        display: none !important;
    }

    /* 2 columnas de productos en mobile */
    .tax-product_cat .woocommerce ul.products li.product,
    .tax-product_cat .woocommerce-page ul.products li.product {
        width: 47% !important;
        margin-left: 1.5% !important;
        margin-right: 1.5% !important;
    }

    /* Botón FILTROS */
    .infrico-filtros-btn {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 8px 16px;
        background: transparent;
        border: 1.5px solid #333;
        color: #333;
        font-family: 'Roboto', sans-serif;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .08em;
        cursor: pointer;
        margin-bottom: 16px;
        border-radius: 0;
        line-height: 1;
    }
    .infrico-filtros-btn svg {
        flex-shrink: 0;
    }

    /* Overlay oscuro */
    .infrico-filtros-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .45);
        z-index: 9998;
    }
    .infrico-filtros-overlay.filtros-open {
        display: block;
    }

    /* Drawer lateral */
    .infrico-filtros-drawer {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 82%;
        max-width: 300px;
        height: 100%;
        background: #fff;
        z-index: 9999;
        overflow-y: auto;
        padding: 0 20px 30px;
        transform: translateX(-105%);
        transition: transform .28s ease;
        box-shadow: 3px 0 12px rgba(0,0,0,.15);
    }
    .infrico-filtros-drawer.filtros-open {
        transform: translateX(0);
    }

    /* Cabecera del drawer */
    .infrico-filtros-drawer-header {
        position: sticky;
        top: 0;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 0 12px;
        border-bottom: 1px solid #e5e5e5;
        margin-bottom: 20px;
        z-index: 1;
    }
    .infrico-filtros-drawer-title {
        font-family: 'Roboto', sans-serif;
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
        margin: 0;
    }
    .infrico-filtros-drawer-close {
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 4px;
        line-height: 0;
        color: #333;
    }
}

/**PODCAST */
/* ============================================================
   PODCAST — Archive estilo Morgan Stanley
   ============================================================ */

/* Margen superior para separar del header en archive y single */
.post-type-archive-podcast .site-main,
.single-podcast .site-main {
	padding-top: 3rem;
}

.pod-archive-header {
	margin-bottom: 2rem;
}
.pod-archive-header h1 {
	font-size: 2rem;
	font-weight: 700;
}

/* Lista: separador entre episodios */
.pod-archive-list {
	border-top: 1px solid #e0e0e0;
}

/* Episodio: fila horizontal con imagen a la derecha */
.pod-episode {
	display: flex;
	align-items: flex-start;
	gap: 2.5rem;
	padding: 2.5rem 0;
	border-bottom: 1px solid #e0e0e0;
}

/* Cuerpo (izquierda) */
.pod-episode__body {
	flex: 1 1 0;
	min-width: 0;
}

/* Meta: número · fecha · duración */
.pod-episode__meta {
	font-size: 0.78rem;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 0.6rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.pod-episode__num {
	font-weight: 600;
	color: #555;
}
.pod-episode__sep {
	opacity: 0.5;
}

/* Título */
.pod-episode__title {
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 0.75rem;
}
.pod-episode__title a {
	color: inherit;
	text-decoration: none;
}
.pod-episode__title a:hover {
	color: #0094d3;
}

/* Excerpt */
.pod-episode__excerpt {
	font-size: 0.95rem;
	color: #555;
	line-height: 1.6;
	margin-bottom: 0.6rem;
}
.pod-episode__excerpt p { margin: 0; }

/* Link transcripción */
.pod-episode__transcript-link {
	display: inline-block;
	font-size: 0.82rem;
	color: #333;
	text-decoration: none;
	margin-bottom: 1.2rem;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
}
.pod-episode__transcript-link:hover { color: #0094d3; }

/* Fila botón + plataformas */
.pod-episode__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.1rem;
}

/* Botón outlined */
.pod-episode__btn {
	display: inline-block;
	padding: 0.45em 1.1em;
	border: 1.5px solid #333;
	color: #333;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.18s, color 0.18s;
}
.pod-episode__btn:hover {
	background: #333;
	color: #fff;
}

/* Plataformas */
.pod-episode__platforms {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.pod-platform {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
	transition: opacity 0.15s;
}
.pod-platform:hover { opacity: 0.75; }
.pod-platform--youtube { color: #FF0000; }
.pod-platform--spotify { color: #1DB954; }

/* Imagen portada (derecha) */
.pod-episode__cover {
	flex: 0 0 200px;
	width: 200px;
}
.pod-episode__cover img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Paginación */
.pod-archive-pagination {
	padding: 2rem 0;
}

/* Mobile */
@media (max-width: 640px) {
	.pod-episode {
		flex-direction: column-reverse;
		gap: 1.2rem;
		padding: 1.8rem 0;
	}
	.pod-episode__cover {
		flex: none;
		width: 100%;
		max-width: 200px;
	}
	.pod-episode__title { font-size: 1.25rem; }
}

/* --- Single episodio --- */
.podcast-episodio__numero {
	display: block;
	font-size: 0.85rem;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.podcast-episodio__titulo {
	margin-top: 0.25rem;
}

.podcast-episodio__reproductores {
	margin: 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.podcast-embed iframe {
	display: block;
	width: 100%;
}

.podcast-episodio__escuchar-en {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin-bottom: 2rem;
	font-size: 0.9rem;
}

.podcast-episodio__escuchar-en a {
	font-weight: 600;
}

.podcast-episodio__invitados ul {
	list-style: none;
	padding: 0;
}

.podcast-episodio__transcripcion {
	margin-top: 2rem;
	border-top: 1px solid #e5e5e5;
	padding-top: 1rem;
}

.podcast-episodio__transcripcion summary {
	cursor: pointer;
	font-weight: 600;
}

.podcast-episodio__transcripcion-texto {
	margin-top: 1rem;
	line-height: 1.7;
}

.legal p{
    margin-bottom: 1rem;
}
.legal h1{
    font-size: 1.5rem;
    font-weight: 600;
}
.legal h3{
    font-size: 1.2rem;
    font-weight: 600;
}