/*
Theme Name:   Divi Child — Base Intercastilla
Theme URI:    https://intercastilla.com
Description:  Plantilla base para nuevos proyectos de child theme Divi 5 en Intercastilla. Clónala, renómbrala y empieza a desarrollar. Incluye estructura modular, enqueue del padre como dependencia, prefijos limpios y convenciones de versionado.
Author:       Intercastilla
Author URI:   https://intercastilla.com
Template:     Divi
Version:      0.1.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  divi-child-base
Tags:         divi, child-theme, starter, base, intercastilla
*/

/* =============================================================
   1. Variables y tipografía base
   ============================================================= */
:root {
    --base-primary: #1a1a1a;
    --base-secondary: #6c6c6c;
    --base-accent: #e8a200;
    --base-text: #1a1a1a;
    --base-bg: #ffffff;
}

/* =============================================================
   2. Custom styles del child theme
   ============================================================= */
/* Cuando uses este starter en un proyecto real:
   1. Renombra la carpeta del tema con el slug del proyecto.
   2. Actualiza Theme Name, Text Domain y constantes en functions.php.
   3. Cambia el prefijo de hooks (`dcb_*`) por uno propio del proyecto.
   4. Sustituye las variables CSS placeholder (`--base-*`) por los valores
      reales del manual de marca del cliente. */

/* =============================================================
   3. Desguaces Herrera — Cabecera global (Theme Builder)
   Colores tomados de las variables globales de Divi 5 (gcid-dh0*).
   ============================================================= */

/* Cabecera fija al hacer scroll */
.et-l--header {
    position: sticky;
    top: 0;
    z-index: 999;
}

/* Menú principal: elementos centrados verticalmente */
.dh-menu-principal .et-menu {
    align-items: center;
}
.dh-menu-principal .et-menu > li > a {
    padding-bottom: 0;
}

/* Botón "Vende tu coche" dentro del menú */
.dh-menu-principal .et-menu > li.dh-menu-cta {
    align-self: center;
    display: flex;
    align-items: center;
}
.dh-menu-principal .et-menu > li.dh-menu-cta > a {
    display: inline-block;
    height: auto;
    line-height: 1.2 !important;
    background: var(--gcid-dh0rojo00, #d7263d);
    color: #fff !important;
    padding: 11px 18px !important;
    border-radius: 4px;
    opacity: 1 !important;
    transition: background-color .2s ease;
}
.dh-menu-principal .et-menu > li.dh-menu-cta > a:hover {
    background: var(--gcid-dh0rojohv, #a81c2f);
}

/* Lupa de FiboSearch integrada en el menú */
.dh-menu-principal .et-menu > li.dh-menu-buscar {
    display: flex;
    align-items: center;
    padding-left: 4px;
    padding-right: 0;
}
.dh-menu-principal li.dh-menu-buscar .dgwt-wcas-search-wrapp {
    margin: 0;
    min-width: 0;
}
.dh-menu-principal li.dh-menu-buscar .dgwt-wcas-ico-magnifier-handler {
    width: 22px;
    max-width: 22px;
}

/* Barra superior: el menú secundario siempre en línea (sin hamburguesa) */
.dh-menu-secundario .et_pb_menu__menu {
    display: flex !important;
}
.dh-menu-secundario .et_mobile_nav_menu {
    display: none !important;
}
.dh-menu-secundario .et-menu > li > a {
    padding-bottom: 0;
}
.dh-menu-secundario .et-menu > li > a:hover {
    text-decoration: underline;
    opacity: 1;
}

@media (max-width: 767px) {
    /* En móvil solo el menú secundario en la barra; los datos de contacto ya están en el pie y en el botón de WhatsApp */
    .dh-barra-superior .dh-barra-extra {
        display: none;
    }
    .dh-barra-superior .dh-barra-label {
        display: none;
    }
    .dh-barra-superior .dh-barra-info,
    .dh-barra-superior .dh-barra-info p {
        text-align: left;
        white-space: nowrap;
        font-size: 12px;
        padding-bottom: 0;
    }
    .dh-barra-superior .et_pb_row {
        row-gap: 4px !important;
        --vertical-gap: 4px;
    }
    .dh-barra-superior .et_pb_column,
    .dh-barra-superior .et_pb_module {
        margin-bottom: 0 !important;
    }
    .dh-barra-superior .dh-barra-info p {
        margin: 0;
        padding: 0;
    }
    .dh-menu-secundario .et_pb_menu__wrap,
    .dh-menu-secundario .et_pb_menu__menu,
    .dh-menu-secundario .et-menu {
        justify-content: flex-end;
        width: 100%;
    }
    .dh-menu-secundario .et-menu {
        flex-wrap: nowrap;
        margin: 0;
    }
    .dh-menu-secundario .et-menu > li > a {
        font-size: 12px !important;
        white-space: nowrap;
    }
    .dh-menu-secundario .et-menu > li {
        padding-left: 0;
        padding-right: 10px;
        margin-top: 0;
    }
    .dh-menu-secundario .et-menu > li:last-child {
        padding-right: 0;
    }
}

/* Lupa de FiboSearch visible en móvil y tablet, junto a la hamburguesa */
.dh-buscar-movil {
    display: none;
}
@media (max-width: 980px) {
    .dh-cabecera .et_pb_column {
        position: relative;
    }
    .dh-buscar-movil {
        display: block;
        position: absolute;
        right: 56px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
        margin: 0 !important;
    }
    .dh-buscar-movil .dgwt-wcas-ico-magnifier-handler {
        width: 24px;
        max-width: 24px;
    }
    .dh-buscar-movil .dgwt-wcas-ico-magnifier-handler path {
        fill: var(--gcid-dh0marino, #14324f);
    }
}

/* =============================================================
   4. Desguaces Herrera — Listados de productos (tienda y módulo Tienda de Divi)
   ============================================================= */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--et_global_body_font, 'Barlow'), sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--gcid-dh0marino, #14324f);
    padding: 12px 0 4px;
}
.woocommerce ul.products li.product .price {
    font-family: var(--et_global_heading_font, 'Barlow Condensed'), sans-serif;
    font-size: 22px !important;
    font-weight: 700;
    color: var(--gcid-dh0marino, #14324f) !important;
}
.woocommerce ul.products li.product .price .dh-consultar-precio {
    font-family: var(--et_global_body_font, 'Barlow'), sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--gcid-dh0whats0, #1f7a4a);
}
.woocommerce ul.products li.product a img {
    border-radius: 6px;
}

/* Home: tarjetas de familia (grupo clicable, misma altura) */
.dh-familias .et_pb_column > .dh-card {
    flex-grow: 1;
    position: relative;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.dh-familias .dh-card:hover {
    border-color: var(--gcid-dh0marino, #14324f) !important;
    box-shadow: 0 6px 18px rgba(20, 50, 79, .08);
}
.dh-familias .dh-card .et_pb_text:last-child {
    margin-top: auto;
}
.dh-card-link {
    font-weight: 600;
}
/* Toda la tarjeta clicable (el enlace cubre la tarjeta) */
.dh-card-link::after {
    content: "";
    position: absolute;
    inset: 0;
}
.dh-card:hover .dh-card-link {
    color: var(--gcid-dh0rojo00, #d7263d);
}
.dh-familias .et_pb_column > .et_pb_group:not(.dh-card) {
    flex-grow: 1;
}

/* Home: recambios por marca en tarjetas con recuento */
.dh-marcas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
}
.dh-marca-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 18px;
    border: 1px solid var(--gcid-dh0linea0, #d5dae1);
    border-radius: 6px;
    background: var(--gcid-dh0fondo0, #f4f5f7);
    transition: border-color .2s ease, background-color .2s ease;
}
.dh-marca-card:hover {
    border-color: var(--gcid-dh0marino, #14324f);
    background: #fff;
}
.dh-marca-nombre {
    font-family: var(--et_global_heading_font, 'Barlow Condensed'), sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--gcid-dh0marino, #14324f);
}
.dh-marca-num {
    font-size: 14px;
    color: var(--gcid-dh0suave0, #566172);
}

/* =============================================================
   5. Desguaces Herrera — Ficha de producto
   ============================================================= */
.dh-wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px 22px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 17px;
    line-height: 1.2;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color .2s ease, color .2s ease;
}
.dh-wa-btn--principal {
    background: var(--gcid-dh0whats0, #1f7a4a);
    color: #fff !important;
}
.dh-wa-btn--principal:hover {
    background: #17603a;
}
.dh-wa-btn--secundario {
    background: #fff;
    color: var(--gcid-dh0whats0, #1f7a4a) !important;
    border: 2px solid var(--gcid-dh0whats0, #1f7a4a);
}
.dh-wa-btn--secundario:hover {
    background: #eef6f1;
}
.dh-wa-nota {
    margin-top: 8px;
    font-size: 14px;
    color: var(--gcid-dh0suave0, #566172);
    padding-bottom: 0;
}
/* Botón añadir al carrito con el estilo de la marca */
.dh-ficha .single_add_to_cart_button,
.dh-ficha .single_add_to_cart_button.button {
    background: var(--gcid-dh0rojo00, #d7263d) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    padding: 14px 26px !important;
}
.dh-ficha .single_add_to_cart_button:hover {
    background: var(--gcid-dh0rojohv, #a81c2f) !important;
}
.dh-ficha .single_add_to_cart_button:after {
    display: none !important;
}
/* Tabla de datos de la pieza */
.dh-ficha .woocommerce-product-attributes th,
.dh-ficha .woocommerce-product-attributes td {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--gcid-dh0linea0, #d5dae1);
    font-size: 16px;
}
.dh-ficha .woocommerce-product-attributes th {
    width: 38%;
    color: var(--gcid-dh0suave0, #566172);
    font-weight: 500;
}
.dh-ficha .woocommerce-product-attributes td p {
    padding: 0;
    color: var(--gcid-dh0marino, #14324f);
    font-weight: 600;
}
.dh-ficha .price .dh-consultar-precio {
    font-size: 26px;
    color: var(--gcid-dh0marino, #14324f);
}

.dh-ficha .woocommerce-product-attributes td a {
    color: var(--gcid-dh0marino, #14324f);
    text-decoration: none;
}
.dh-ficha .woocommerce-product-attributes td a:hover {
    color: var(--gcid-dh0rojo00, #d7263d);
    text-decoration: underline;
}
.dh-ficha .product_meta {
    font-size: 15px;
    color: var(--gcid-dh0suave0, #566172);
}
.dh-ficha .product_meta .sku {
    color: var(--gcid-dh0marino, #14324f);
    font-weight: 600;
}
/* Título de relacionadas como H2 de sección */
.et_pb_wc_related_products section.related > h2,
.related.products > h2 {
    font-family: var(--et_global_heading_font, 'Barlow Condensed'), sans-serif;
    font-size: 32px !important;
    font-weight: 700;
    color: var(--gcid-dh0marino, #14324f);
    padding-bottom: 16px;
}
.dh-ficha .price,
.dh-ficha .price .amount {
    color: var(--gcid-dh0marino, #14324f) !important;
    font-family: var(--et_global_heading_font, 'Barlow Condensed'), sans-serif;
    font-size: 34px !important;
    font-weight: 700;
}
.dh-ficha .stock.in-stock {
    color: #1a5c38;
    font-weight: 600;
    font-size: 15px;
}

/* =============================================================
   6. Menú móvil: submenús plegados por defecto (js/menu-movil.js)
   ============================================================= */
.et_mobile_menu .menu-item-has-children {
    position: relative;
}
.et_mobile_menu .menu-item-has-children > a {
    padding-right: 56px !important;
}
.et_mobile_menu .menu-item-has-children > .sub-menu {
    display: none !important;
}
.et_mobile_menu .menu-item-has-children.dh-abierto > .sub-menu {
    display: block !important;
}
.dh-submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 52px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-left: 1px solid var(--gcid-dh0linea0, #d5dae1);
    background: transparent;
    color: var(--gcid-dh0marino, #14324f);
    cursor: pointer;
}
.dh-submenu-toggle svg {
    transition: transform .2s ease;
}
.dh-abierto > .dh-submenu-toggle svg {
    transform: rotate(180deg);
}
/* La lupa ya está en la cabecera móvil: no repetirla dentro del menú desplegable */
.et_mobile_menu li.dh-menu-buscar {
    display: none !important;
}

/* =============================================================
   7. Desguaces Herrera — Tienda y categorías (plantilla del Theme Builder)
   ============================================================= */
.dh-migas {
    font-size: 14px;
    color: var(--gcid-dh0suave0, #566172);
}
.dh-migas a {
    color: var(--gcid-dh0marino, #14324f);
}
.dh-listado .woocommerce-result-count {
    color: var(--gcid-dh0suave0, #566172);
    font-size: 14px;
}
@media (max-width: 980px) {
    /* Bloques plegables en móvil (js/plegables.js): solo se ve el título hasta que se toca */
    .dh-plegable.dh-plegado > :not(.dh-plegable-titulo) {
        display: none !important;
    }
    .dh-plegable .dh-plegable-titulo {
        position: relative;
        cursor: pointer;
        padding-right: 36px;
        margin-bottom: 0 !important;
    }
    .dh-plegable .dh-plegable-titulo::after {
        content: "";
        position: absolute;
        right: 4px;
        top: 50%;
        width: 10px;
        height: 10px;
        border-right: 2.5px solid currentColor;
        border-bottom: 2.5px solid currentColor;
        transform: translateY(-70%) rotate(45deg);
        transition: transform .2s ease;
    }
    .dh-plegable:not(.dh-plegado) .dh-plegable-titulo::after {
        transform: translateY(-30%) rotate(-135deg);
    }
    .dh-plegable .dh-plegable-titulo p {
        padding-bottom: 0;
    }
    /* Descripción de la categoría recortada a 3 líneas */
    .dh-listado-desc p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}
@media (max-width: 980px) {
    .dh-plegable--oscuro .dh-plegable-titulo::after {
        border-color: #fff;
    }
}
@media (max-width: 980px) {
    .dh-plegable .dh-plegable-titulo {
        width: 100%;
        align-self: stretch;
        box-sizing: border-box;
    }
}
/* HUSKY usa "chosen", que calcula el ancho al cargar: dentro de un bloque plegado sale a 0 px */
.dh-plegable .chosen-container {
    width: 100% !important;
}

/* Cabecera: el botón "Vende tu coche" mantiene el texto blanco también cuando es la página activa */
.dh-menu-principal .et-menu > li.dh-menu-cta.current-menu-item > a,
.dh-menu-principal .et-menu > li.dh-menu-cta.current_page_item > a,
.dh-menu-principal .et-menu > li.dh-menu-cta > a:hover {
    color: #fff !important;
}
/* Cabecera: menú más compacto para que quepa en una línea en portátiles */
.dh-menu-principal .et-menu > li {
    padding-left: 10px;
    padding-right: 10px;
}
@media (min-width: 981px) and (max-width: 1280px) {
    .dh-menu-principal .et-menu > li > a {
        font-size: 15px !important;
    }
    .dh-menu-principal .et-menu > li {
        padding-left: 7px;
        padding-right: 7px;
    }
    .dh-menu-principal .et_pb_menu__logo img {
        max-height: 52px !important;
    }
}
