/*
Theme Name: Hello Elementor Child
Theme URI: https://www.cochera.com/
Template: hello-elementor
Author: Brandevs
Description: Tema hijo de Hello Elementor para Cochera Clásicos. Contiene la lógica de negocio de WooCommerce (solicitud de presupuesto, textos de checkout, JSON de pedidos, etc.) y la plantilla personalizada archive-product.php, trasladadas desde "The7 Child".
Version: 1.10.2
Text Domain: hello-elementor-child
Requires at least: 6.0
Requires PHP: 8.0
*/


.imagen-tabla:hover{
	scale: 2.5 2.5;
}

.woocommerce-shipping-destination {
    display: none !important;
}

.shipping-calculator-button{
    display: none !important;
}

/* (1.5.0) Eliminado el CSS heredado de The7 Child que ocultaba el detalle del pedido en la
   confirmación: ahora el cliente ve el resumen de lo que ha solicitado. */

/* Estilos de la plantilla archive-product.php modificada */
.container{
    display: flex;
    margin: 25px 0px 25px 0px;
    justify-content: space-between;
}

.category-image{
    width: 45%;
}

.category-image img{
    width: 100%;
}

.product-table{
    width: 50%;
}

.product-table table{
    border: 1px solid black;
    text-align: center;
}

.product-table table td{
    border: 1px solid #f7b501;
}

.product-table table th{
    text-align: center;
}

.product-table table thead{
    background-color: black;
    color: white;
}

/* Solo los enlaces de la tabla (1.6.3): antes ".product-table a" alcanzaba también al botón
   "Ver solicitud" del aviso, que está dentro de .product-table, y le quitaba el relleno. */
.product-table table a{
    padding: 4px 2px !important;
    text-decoration: none;
}

/* Tabla del despiece adaptable: ocupa el ancho de su columna sin salirse de la pantalla */
.product-table table{
    width: 100%;
}

.product-table th,
.product-table td{
    padding: 8px 6px;
    vertical-align: middle; /* contenido centrado en vertical respecto a la miniatura */
}

/* La descripción puede partir palabras largas (referencias tipo "M-121-921/928") */
.product-table td:nth-child(3){
    overflow-wrap: anywhere;
}

/* Cabecera de la tabla del despiece: "Nº Pieza" y "Solicitar" en una sola línea */
.product-table th.col-num,
.product-table th.col-solicitar {
    white-space: nowrap;
}

.product-table .imagen-tabla {
    width: auto !important;
    height: 90px !important;
    max-width: none !important;
}

/* Oculta el minimapa (navegador) de Image Map Pro, que tapaba parte del plano.
   El zoom con los botones +/- y la rueda del ratón sigue funcionando. */
.imp-ui-navigator-root {
    display: none !important;
}

/* Carrito de la cabecera (plugin WP Menu Cart): texto blanco y dorado al pasar el ratón */
.wpmenucartli,
.wpmenucartli a,
.wpmenucartli .wpmenucart-contents {
    color: #ffffff !important;
}
.wpmenucartli:hover,
.wpmenucartli a:hover {
    color: #f7b501 !important;
}

/* Estilos contenedor pasos a seguir en tienda*/
.container-steps {
    margin: 20px 0px 20px 0px;
    text-align: left;
}



/* Estilos base para los botones */

.my-button {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
    text-decoration: none;
    background-color: #000000;
    color: #ffffff;
    transition: all 0.3s ease-out;
}

.my-button:hover {
    background-color: #f7b501;
    color: #000000;
}

/* Botón de añadir al carrito de la tabla: acción principal (dorado con texto negro) */
.my-button.my-button-add {
    background-color: #f7b501;
    color: #000000;
}

.my-button.my-button-add:hover {
    background-color: #000000;
    color: #f7b501;
}

.my-button3 {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
    text-decoration: none;
    background-color: black;
    color: white;
    transition: all 0.3s ease-out;
}

.my-button3:hover {
    background-color: #f7b501;
    color: #000000;
}

.my-button2 {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
    text-decoration: none;
    background-color: #f2f2f2;
    color: black;
    border: 2px solid rgb(102, 102, 102);
    transition: all 0.3s ease-out;
}

.my-button2:hover {
    background-color: white;
    border: 2px solid #f7b501;
}

/* (1.5.2) Eliminados los estilos del antiguo aviso por JavaScript ("Producto añadido al carrito"),
   que además pisaban el margen del aviso de WooCommerce y montaban su icono sobre el texto. */

.step-1 img{height: 150px; width: auto;}

/* Responsive styles */
/* Media query para dispositivos móviles */
@media (max-width: 767px) {
    
    .btn-container {
        display: flex;
        flex-direction: column;
        text-align: center;
        margin: 25px 0px 25px 0px;
    }
    .btn-container-2{
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    /* tr th:first-child,
    tr td:first-child
    { 
        display: none;
    } */

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

    .category-image,
    .product-table {
        width: 100%;
    }


    .my-button,
    .my-button2,
    .my-button3 {
        margin-top: 5px;
    }

    /* Order single product buttons page */
    .order-sp-1 {
        order: 4;
    }

    .order-sp-2 {
        order: 1;
    }

    .order-sp-3 {
        order: 2;
    }

    .order-sp-4 {
        order: 3;
    }

    .order-sp-5 {
        order: 5;
    }

    /* Order product buttons page */
    .order-1 {
        order: 3;
    }
    .order-2 {
        order: 1;
    }
    .order-3 {
        order: 2;
    }
    .order-4 {
        order: 4;
    }

    /*Order steps cart*/
    .steps {
        display: flex;
        flex-direction: column;
    }
    .step-1 {
        width: 100%;
    }
    .step-2 {
        width: 80%;
    }
    .step-3 {
        width: 100%;
    }
    .step-4 {
        width: 100%;
    }

}
  
/* Media query para tabletas */
@media (min-width: 768px) and (max-width: 1023px) {
    
    .btn-container{
        display: flex;
        flex-wrap: wrap;
        margin: 25px 0px 25px 0px;
        text-align: center;
    }
    .btn-container-2{
        display: flex;
        flex-wrap: wrap;
        text-align: center;
    }

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

    .category-image,
    .product-table {
        width: 100%;
    }

    /* Order single product buttons page */
    .order-sp-1 {
        width: 50%;
        margin-top: 10px;
        order: 4;
    }
    .order-sp-2 {
        width: 33.33%;
        order: 1;
    }
    .order-sp-3 {
        width: 33.33%;
        order: 2;
    }
    .order-sp-4 {
        width: 33.33%;
        order: 3;
    }
    .order-sp-5 {
        width: 50%;
        margin-top: 10px;
        order: 5;
    }

    /* Order product buttons page */
    .order-1 {
        width: 50%;
        margin-top: 5px;
        order: 3;
    }
    .order-2 {
        width: 50%;
        margin-top: 5px;
        order: 1;
    }
    .order-3 {
        width: 50%;
        margin-top: 5px;
        order: 2;
    }
    .order-4 {
        width: 50%;
        margin-top: 5px;
        order: 4;
    }

    /*Order steps cart*/
    .steps {
        display: flex;
        flex-wrap: wrap;
    }
    .step-1 {
        width: 33%
    }
    .step-2 {
        width: 65%;
    }
    .step-3 {
        width: 40%;
    }
    .step-4 {
        width: 50%;
    }
}
  
  /* Media query para ordenadores */
@media (min-width: 1024px) {
    .btn-container{
        display: flex;
        text-align: center;
        justify-content: space-between;
        margin: 25px 0px 25px 0px;
    }

    .btn-container-2{
        display: flex;
        text-align: center;
        justify-content: space-between;
    }
    
    .my-button,
    .my-button2,
    .my-button3 {
        margin: 0px 5px 0px 5px;
    }

    .container{
        display: flex;
        margin: 25px 0px 25px 0px;
        justify-content: space-between;
        
    }

    /* Páginas de categoría de producto a todo el ancho de la pantalla
       (Hello Elementor limita el contenido a 1140px; el plano necesita más espacio) */
    body.tax-product_cat .site-main{
        max-width: none !important;
        width: 100% !important;
        padding-left: 30px;
        padding-right: 30px;
        box-sizing: border-box;
    }

    /* Columna del plano: se queda pegada bajo la cabecera al hacer scroll
       sin salirse de su columna (sustituye al antiguo .fixed de mi-script.js) */
    .category-image{
        position: sticky;
        top: 100px;
        align-self: flex-start;
        width: 58%;
    }

    .category-image img{
        width: 100%;
    }

    .product-table{
        margin-left: auto;
        z-index: 1;
        width: 40%;
    }

    /*Order steps cart*/
    .steps {
        display: flex;
        text-align: left;
        margin-top: 2%;
    }

    .step-1 {
        width: 20%;
        text-align: left;
        margin-left: 3%;
    }
    .step-2 {
        width: 80%;
        text-align: left;
        margin-left: 3%;
    }
    .step-3 {
        width: 40%;
        text-align: left;
        margin-left: 3%;
       
    }
    .step-4 {
        width: 22%;  
        margin-left: 3%;
        text-align: left;
    }

}



/* Botón "Añadir" de cada fila de la tabla */
.product-table .my-button.my-button-add {
    white-space: nowrap;
    font-weight: 600;
    font-size: 14px;
    padding: 6px 12px !important;
}

/* Formulario "piezas no registradas" encima de la tabla del despiece */
.piezas-no-registradas {
    background-color: #f7f7f7;
    border-left: 4px solid #f7b501;
    padding: 12px 14px;
    margin: 0 0 16px;
    text-align: left;
}

.piezas-no-registradas label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 8px;
}

.piezas-no-registradas .pnr-fila {
    display: flex;
    gap: 8px;
}

.piezas-no-registradas input[type="text"] {
    flex: 1;
    min-width: 0;
    padding: 8px 10px;
    font-size: 14px;
    border: 1px solid #606266;
    border-radius: 0.2rem;
    background-color: #ffffff;
}

.piezas-no-registradas .pnr-boton {
    background-color: #f7b501;
    color: #000000;
    border: 0;
    border-radius: 0.2rem;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.3s ease-out;
}

.piezas-no-registradas .pnr-boton:hover,
.piezas-no-registradas .pnr-boton:focus {
    background-color: #000000;
    color: #f7b501;
}

/* Tabla del despiece: tamaños de miniatura y reparto según pantalla */
@media (max-width: 767px) {
    .product-table .imagen-tabla {
        height: 56px !important;
    }
    .product-table td,
    .product-table th {
        font-size: 13px;
    }
    .product-table .my-button.my-button-add {
        font-size: 13px;
        padding: 5px 8px !important;
    }
}

/* Móviles estrechos (≤400px): miniatura y márgenes más pequeños para que quepa "Añadir" */
@media (max-width: 400px) {
    .product-table .imagen-tabla {
        height: 44px !important;
    }
    .product-table th,
    .product-table td {
        padding: 6px 4px;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .product-table .imagen-tabla {
        height: 70px !important;
    }
}

/* Portátiles pequeños (1024–1279px): 58/40 deja la tabla demasiado estrecha */
@media (min-width: 1024px) and (max-width: 1279px) {
    .category-image {
        width: 50%;
    }
    .product-table {
        width: 48%;
    }
}

/* Migas de pan de WooCommerce: separadas de la cabecera */
html .woocommerce .woocommerce-breadcrumb {
    padding-top: 24px;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    html .woocommerce .woocommerce-breadcrumb {
        padding-top: 16px;
        margin-bottom: 14px;
    }
}

/* En los despieces (página con tabla de piezas) las migas se ocultan: los botones de
   navegación de encima del plano ya cumplen esa función. Solo se ocultan visualmente, así que
   el marcado de migas para Google (BreadcrumbList) se mantiene. */
body:has(.product-table) .woocommerce-breadcrumb {
    display: none;
}

/* Aire entre la cabecera y las columnas del despiece (plano + tabla) */
body:has(.product-table) .site-main .container {
    margin-top: 48px;
}

@media (max-width: 767px) {
    body:has(.product-table) .site-main .container {
        margin-top: 28px;
    }
}

/* ==========================================================================
   WooCommerce — colores de la paleta Cochera
   Negro #000000 · Dorado #f7b501 · Blanco · Gris #606266
   (sustituye el morado/lila/oliva por defecto de WooCommerce y el rosa de Hello)
   El prefijo "html" sube la especificidad para ganar a las reglas de WooCommerce sin !important.
   ========================================================================== */

/* Botones secundarios: negro con texto blanco; hover dorado con texto negro */
html .woocommerce a.button,
html .woocommerce button.button,
html .woocommerce input.button,
html .woocommerce #respond input#submit {
    background-color: #000000;
    color: #ffffff;
    border: 0;
    border-radius: 0.2rem;
    transition: all 0.3s ease-out;
}

html .woocommerce a.button:hover,
html .woocommerce button.button:hover,
html .woocommerce input.button:hover,
html .woocommerce #respond input#submit:hover {
    background-color: #f7b501;
    color: #000000;
}

/* Botones principales: dorado con texto negro; hover negro con texto dorado
   (Añadir al carrito, Solicitar/Comprar, Finalizar solicitud) */
html .woocommerce a.button.alt,
html .woocommerce button.button.alt,
html .woocommerce input.button.alt,
html .woocommerce #respond input#submit.alt,
html .woocommerce .single_add_to_cart_button,
html .woocommerce .checkout-button,
html .woocommerce #place_order {
    background-color: #f7b501;
    color: #000000;
}

html .woocommerce a.button.alt:hover,
html .woocommerce button.button.alt:hover,
html .woocommerce input.button.alt:hover,
html .woocommerce #respond input#submit.alt:hover,
html .woocommerce .single_add_to_cart_button:hover,
html .woocommerce .checkout-button:hover,
html .woocommerce #place_order:hover {
    background-color: #000000;
    color: #f7b501;
}

/* Botones desactivados (p. ej. "Actualizar carrito" sin cambios) */
html .woocommerce button.button:disabled,
html .woocommerce button.button:disabled[disabled],
html .woocommerce button.button:disabled:hover {
    background-color: #606266;
    color: #ffffff;
    opacity: 0.6;
}

/* Precio ("Solicitar presupuesto" / "A definir"): negro en negrita en lugar de verde oliva */
html .woocommerce div.product p.price,
html .woocommerce div.product span.price,
html .woocommerce ul.products li.product .price {
    color: #000000;
    font-weight: 700;
}

/* Avisos de WooCommerce: gris muy claro con línea dorada, en lugar de lila */
html .woocommerce .woocommerce-info,
html .woocommerce .woocommerce-message,
html .woocommerce .woocommerce-error,
html .woocommerce-info,
html .woocommerce-message,
html .woocommerce-error {
    background-color: #f7f7f7;
    color: #000000;
    border-top-color: #f7b501;
}

html .woocommerce-info::before,
html .woocommerce-message::before {
    color: #f7b501;
}

html .woocommerce-error {
    border-top-color: #b32d2e;
}

html .woocommerce-error::before {
    color: #b32d2e;
}

/* Contador de piezas junto a cada despiece "(45)": sin el fondo amarillo de <mark> */
html .woocommerce ul.products li.product-category mark,
html .woocommerce ul.products li.product-category .count {
    background-color: transparent;
    color: #606266;
}

/* Enlaces dentro de las páginas de WooCommerce: negro, dorado al pasar el ratón
   (en lugar del rosa por defecto de Hello). No afecta a los botones. */
body.woocommerce-page .site-main a:not([class*="button"]),
body.woocommerce-page .site-main a:not([class*="button"]) h2 {
    color: #000000;
}

body.woocommerce-page .site-main a:not([class*="button"]):hover,
body.woocommerce-page .site-main a:not([class*="button"]):hover h2 {
    color: #f7b501;
}

/* ==========================================================================
   Solicitud de presupuesto: pasos, formulario y totales (1.4.0)
   ========================================================================== */

/* Indicador de pasos: Su solicitud / Sus datos / Solicitud enviada */
.cochera-pasos {
    display: flex;
    list-style: none;
    margin: 8px 0 36px;
    padding: 0;
}
.cochera-pasos li {
    flex: 1 1 0;
    position: relative;
    text-align: center;
    margin: 0;
}
/* Línea que une cada paso con el anterior (queda detrás de los círculos) */
.cochera-pasos li::before {
    content: "";
    position: absolute;
    top: 21px;
    left: -50%;
    width: 100%;
    height: 3px;
    background: #e6e6e6;
}
.cochera-pasos li:first-child::before {
    display: none;
}
.cochera-pasos a {
    display: block;
    color: inherit;
    text-decoration: none;
}
.cochera-pasos__num {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: #e6e6e6;
    color: #606266;
    font-weight: 700;
    font-size: 18px;
}
.cochera-pasos__txt {
    display: block;
    font-size: 15px;
    line-height: 1.3;
    color: #606266;
}
.cochera-pasos .is-hecho .cochera-pasos__num,
.cochera-pasos .is-activo .cochera-pasos__num {
    background: #f7b501;
    color: #000;
}
.cochera-pasos li.is-hecho::before,
.cochera-pasos li.is-activo::before {
    background: #f7b501;
}
.cochera-pasos .is-hecho .cochera-pasos__txt {
    color: #000;
}
.cochera-pasos .is-activo .cochera-pasos__txt {
    color: #000;
    font-weight: 700;
}
.cochera-pasos a:hover .cochera-pasos__txt,
.cochera-pasos a:focus-visible .cochera-pasos__txt {
    text-decoration: underline;
}
@media (max-width: 480px) {
    .cochera-pasos { margin-bottom: 24px; }
    .cochera-pasos li::before { top: 16px; }
    .cochera-pasos__num { width: 34px; height: 34px; font-size: 15px; margin-bottom: 6px; }
    .cochera-pasos__txt { font-size: 12.5px; }
}

/* "Necesito factura": los datos fiscales solo se ven con la casilla marcada.
   !important para ganar al script de direcciones de WooCommerce, que pone display en línea. */
form.checkout:not(:has(#billing_cochera_factura:checked)) .cochera-factura-campo {
    display: none !important;
}
.cochera-factura-check {
    margin-top: 12px !important;
    padding: 14px 16px !important;
    background: #f7f7f7;
    border-left: 4px solid #f7b501;
}
.cochera-factura-check label {
    font-weight: 700;
    margin: 0;
}
.cochera-factura-check .optional,
.cochera-factura-obligatorio .optional {
    display: none;
}
/* Asterisco en los datos fiscales obligatorios (son obligatorios solo con factura).
   Solo si la etiqueta no lo trae ya: el script de direcciones de WooCommerce añade su propio
   asterisco a país, dirección, código postal, población y provincia. */
.cochera-factura-obligatorio > label:not(:has(.required))::after {
    content: " *";
    color: #b32d2e;
    font-weight: 700;
}

/* Totales: con "A definir" en el total, la fila de subtotal sobra */
html .woocommerce .cart_totals .cart-subtotal,
html .woocommerce-checkout-review-order-table .cart-subtotal {
    display: none;
}

/* Confirmación (paso 3): resumen de la solicitud y datos del cliente (1.5.0) */
html .woocommerce-order .woocommerce-order-details,
html .woocommerce-order .woocommerce-customer-details {
    margin-top: 32px;
}
html .woocommerce-order .woocommerce-order-details__title,
html .woocommerce-order .woocommerce-column__title,
html .woocommerce-order .woocommerce-customer-details h2 {
    font-size: 26px;
    margin-bottom: 14px;
}
html .woocommerce-order .order_details .wc-item-meta {
    margin: 6px 0 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    color: #606266;
}
html .woocommerce-order .order_details .wc-item-meta li {
    margin: 0;
}
html .woocommerce-order .order_details .wc-item-meta p {
    display: inline;
    margin: 0;
}
html .woocommerce-order .order_details .product-quantity {
    font-weight: 400;
    color: #606266;
}

/* Avisos en el despiece (1.5.2): al añadir una pieza se vuelve aquí; el margen superior evita que
   la cabecera fija tape el aviso */
#cochera-avisos {
    scroll-margin-top: 110px;
}
#cochera-avisos:empty {
    display: none;
}
@media (max-width: 767px) {
    #cochera-avisos { scroll-margin-top: 80px; }
}

/* Aviso "se ha añadido a su solicitud" (1.6.2): texto a la izquierda y botón "Ver solicitud" a la
   derecha, centrados en vertical; si no caben, el botón pasa debajo. */
html .woocommerce-message {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
    row-gap: 10px;
}
html .woocommerce-message .button,
html .woocommerce-message .wc-forward {
    order: 2;
    float: none;
    margin: 0 0 0 auto;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
@media (max-width: 767px) {
    html .woocommerce-message .button,
    html .woocommerce-message .wc-forward {
        width: 100%;
        margin: 0;
        text-align: center;
    }
}

/* ==========================================================================
   Catálogo: rejilla de despieces más compacta (1.6.0)
   6 columnas en escritorio, 4 en portátil, 3 en tablet, 2 en móvil.
   ========================================================================== */
html .woocommerce ul.products:has(> li.product-category) {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 40px;
    padding: 0;
}
/* Los "clearfix" de WooCommerce ocuparían celdas de la rejilla */
html .woocommerce ul.products:has(> li.product-category)::before,
html .woocommerce ul.products:has(> li.product-category)::after {
    display: none;
}
html .woocommerce ul.products li.product-category {
    float: none;
    width: auto !important;
    margin: 0 !important;
    padding: 10px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
html .woocommerce ul.products li.product-category:hover,
html .woocommerce ul.products li.product-category:focus-within {
    border-color: #f7b501;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
html .woocommerce ul.products li.product-category a {
    display: block;
    text-decoration: none;
}
html .woocommerce ul.products li.product-category a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    margin: 0 0 8px;
}
html .woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    padding: 0;
    color: #000;
}
html .woocommerce ul.products li.product-category .woocommerce-loop-category__title .count {
    font-size: 13px;
    font-weight: 400;
    color: #606266;
    background: none;
}
@media (max-width: 1279px) {
    html .woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
    html .woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 767px) {
    html .woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    html .woocommerce ul.products li.product-category { padding: 8px; }
    html .woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: 13.5px; }
}

/* ==========================================================================
   Botón "Mi solicitud" de la cabecera — shortcode [cochera_solicitud] (1.6.0)
   Pensado para fondo negro.
   ========================================================================== */
.cochera-boton-solicitud {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 2px solid #f7b501;
    border-radius: 3px;
    color: #f7b501;
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.cochera-boton-solicitud:hover,
.cochera-boton-solicitud:focus-visible {
    background: #f7b501;
    color: #000;
}
.cochera-boton-solicitud.tiene-piezas {
    background: #f7b501;
    color: #000;
}
.cochera-boton-solicitud.tiene-piezas:hover,
.cochera-boton-solicitud.tiene-piezas:focus-visible {
    background: #fff;
    border-color: #fff;
    color: #000;
}
.cochera-boton-solicitud .cbs-icono {
    flex: 0 0 auto;
}
.cochera-boton-solicitud .cbs-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: #000;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
@media (max-width: 767px) {
    .cochera-boton-solicitud { padding: 8px 10px; }
    /* En móvil solo el icono y el número (el texto sigue disponible para lectores de pantalla) */
    .cochera-boton-solicitud .cbs-texto {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

/* Buscador de despieces (1.6.1) */
.cochera-buscador {
    max-width: 440px;
    margin: 8px 0 22px;
}
.cochera-buscador label {
    display: block;
    margin: 0 0 6px;
    font-weight: 700;
    font-size: 14px;
    color: #000;
}
.cochera-buscador input[type="search"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #bdbdbd;
    border-radius: 3px;
    font-size: 15px;
    background: #fff;
}
.cochera-buscador input[type="search"]:focus {
    outline: none;
    border-color: #f7b501;
    box-shadow: 0 0 0 2px rgba(247, 181, 1, 0.35);
}
.cochera-buscador-estado {
    margin: 6px 0 0;
    font-size: 13px;
    color: #606266;
    min-height: 1em;
}
html .woocommerce ul.products li.product-category[hidden] {
    display: none !important;
}
@media (max-width: 767px) {
    .cochera-buscador { max-width: none; }
    .cochera-buscador input[type="search"] { font-size: 16px; } /* evita el zoom automático en iPhone */
}

/* Botón "Mi solicitud" dentro del menú (1.6.2): que no lo pisen los estilos de enlace del menú */
html body .cochera-menu-solicitud a.cochera-boton-solicitud,
html body .cochera-menu-solicitud a.cochera-boton-solicitud:visited {
    color: #f7b501;
    padding: 8px 14px;
    margin: 0 0 0 10px;
    background-image: none;
}
html body .cochera-menu-solicitud a.cochera-boton-solicitud.tiene-piezas,
html body .cochera-menu-solicitud a.cochera-boton-solicitud:hover,
html body .cochera-menu-solicitud a.cochera-boton-solicitud:focus-visible {
    color: #000;
}
html body .cochera-menu-solicitud a.cochera-boton-solicitud::before,
html body .cochera-menu-solicitud a.cochera-boton-solicitud::after {
    display: none;
}
html body .cochera-menu-solicitud {
    display: flex;
    align-items: center;
}

/* Botón "Mi solicitud" dentro del menú hamburguesa de Turbo (1.6.4): texto completo, centrado y a
   todo el ancho. El desplegable es blanco, así que el botón va siempre relleno de dorado con texto
   negro (el borde dorado sin relleno apenas se leería). El color lleva !important porque Elementor
   fija el de los enlaces del menú móvil con un selector de 5 clases. */
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud {
    display: block;
    padding: 10px 16px;
}
html body .tahefobu-mobile-nav-menu-container .cochera-solicitud-wrap {
    display: block;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud a.cochera-boton-solicitud,
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud a.cochera-boton-solicitud:visited {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    font-size: 15px;
    background: #f7b501;
    border-color: #f7b501;
    color: #000 !important;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud a.cochera-boton-solicitud:hover,
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud a.cochera-boton-solicitud:focus-visible {
    background: #000;
    border-color: #000;
    color: #f7b501 !important;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud a.cochera-boton-solicitud:hover .cbs-num,
html body .tahefobu-mobile-nav-menu-container .cochera-menu-solicitud a.cochera-boton-solicitud:focus-visible .cbs-num {
    background: #f7b501;
    color: #000;
}
/* En el desplegable sí se muestra el texto (en la cabecera móvil se ocultaba) */
html body .tahefobu-mobile-nav-menu-container .cochera-boton-solicitud .cbs-texto {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
}

/* ==========================================================================
   Cuenta de cliente voluntaria (1.7.0)
   ========================================================================== */
/* Formulario: casilla "Crear una cuenta…" con el mismo estilo que "Necesito factura" */
.woocommerce-checkout .woocommerce-account-fields {
    margin-top: 16px;
    padding: 14px 16px;
    background: #f7f7f7;
    border-left: 4px solid #f7b501;
}
.woocommerce-checkout .woocommerce-account-fields p.create-account {
    margin: 0;
    padding: 0;
}
.woocommerce-checkout .woocommerce-account-fields p.create-account label {
    font-weight: 700;
    margin: 0;
}
.cochera-cuenta-info {
    margin: 6px 0 0;
    font-size: 14px;
    color: #606266;
}

/* Confirmación: caja "¿Quiere guardar esta solicitud?" / "Su cuenta se ha creado" */
.cochera-cuenta-caja {
    margin: 24px 0;
    padding: 20px 22px;
    background: #f7f7f7;
    border-left: 4px solid #f7b501;
    scroll-margin-top: 110px;
}
.cochera-cuenta-caja p {
    margin: 0 0 10px;
}
.cochera-cuenta-caja p:last-child {
    margin-bottom: 0;
}
.cochera-cuenta-titulo {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}
.cochera-cuenta-ventajas {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}
.cochera-cuenta-ventajas li {
    position: relative;
    margin: 0 0 6px;
    padding-left: 24px;
}
.cochera-cuenta-ventajas li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #b58400; /* dorado oscuro: el dorado de la marca no contrasta sobre gris claro */
    font-weight: 700;
}
.cochera-cuenta-caja form {
    margin: 0 0 10px;
}
html .woocommerce .cochera-cuenta-caja .cochera-cuenta-boton,
html .cochera-cuenta-caja .cochera-cuenta-boton {
    background: #f7b501;
    color: #000;
    border: 0;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 700;
}
html .woocommerce .cochera-cuenta-caja .cochera-cuenta-boton:hover,
html .cochera-cuenta-caja .cochera-cuenta-boton:hover,
html .cochera-cuenta-caja .cochera-cuenta-boton:focus-visible {
    background: #000;
    color: #fff;
}
.cochera-cuenta-nota {
    font-size: 13px;
    color: #606266;
}
.cochera-cuenta-caja.is-hecho a {
    font-weight: 700;
}
@media (max-width: 767px) {
    .cochera-cuenta-caja { padding: 16px; scroll-margin-top: 80px; }
    html .cochera-cuenta-caja .cochera-cuenta-boton { width: 100%; }
}

/* ==========================================================================
   Ajustes de diseño (1.7.2)
   ========================================================================== */

/* Botón "Mi solicitud" vacío (0 piezas): contador con borde en vez de círculo negro, que no se veía
   sobre la cabecera negra. currentColor = el color del texto del botón en cada estado. */
.cochera-boton-solicitud:not(.tiene-piezas) .cbs-num {
    background: transparent;
    border: 1px solid currentColor;
    color: inherit;
}

/* Formulario: bloque de factura debajo de las notas */
.cochera-factura-bloque {
    margin-top: 20px;
}
.cochera-factura-bloque .cochera-factura-check {
    margin-top: 0 !important;
}

/* Carrito, formulario, confirmación y "Mi cuenta": aire arriba y abajo (el título quedaba pegado a
   la cabecera y el contenido al pie) */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main {
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Títulos más contenidos en esas páginas (el h1 global de Elementor es de 40px) */
body.woocommerce-cart .page-header .entry-title,
body.woocommerce-checkout .page-header .entry-title,
body.woocommerce-account .page-header .entry-title {
    font-size: 32px;
    line-height: 1.2;
    margin-top: 0;
}
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3 {
    font-size: 22px;
    line-height: 1.3;
}
@media (max-width: 767px) {
    body.woocommerce-cart .site-main,
    body.woocommerce-checkout .site-main,
    body.woocommerce-account .site-main {
        padding-top: 32px;
        padding-bottom: 40px;
    }
    body.woocommerce-cart .page-header .entry-title,
    body.woocommerce-checkout .page-header .entry-title,
    body.woocommerce-account .page-header .entry-title {
        font-size: 26px;
    }
    body.woocommerce-cart .woocommerce h2,
    body.woocommerce-cart .woocommerce h3,
    body.woocommerce-checkout .woocommerce h2,
    body.woocommerce-checkout .woocommerce h3,
    body.woocommerce-account .woocommerce h2,
    body.woocommerce-account .woocommerce h3 {
        font-size: 20px;
    }
}

/* "Mi cuenta" sin sesión (acceso) y páginas de contraseña (crear, olvidada, restablecer; se ven también
   con la sesión iniciada, p. ej. quien creó la cuenta en el formulario y abre el enlace del email):
   formulario de 600px centrado, con el título (1.7.2 / 1.7.3) */
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-lost-password .woocommerce {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;  /* en móvil el contenido quedaba pegado al borde de la pantalla */
    padding-right: 16px;
    box-sizing: border-box;
}
body.woocommerce-account:not(.logged-in) .page-header,
body.woocommerce-lost-password .page-header {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;  /* mismo margen que el formulario, para que el título quede alineado */
    padding-right: 16px;
    box-sizing: border-box;
}
/* Contraseña nueva y repetirla: un campo debajo del otro (1.7.3) */
body.woocommerce-lost-password .woocommerce-ResetPassword .form-row-first,
body.woocommerce-lost-password .woocommerce-ResetPassword .form-row-last {
    float: none;
    width: 100%;
}

/* ==========================================================================
   Mi cuenta con la sesión iniciada (1.8.0)
   Menú a la izquierda (220px) y contenido a la derecha, en el mismo ancho que el título (1140px).
   En móvil el menú pasa arriba, en botones que se reparten en filas.
   (Las páginas de contraseña siguen con su formulario de 600px: .woocommerce-lost-password)
   ========================================================================== */
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .page-header,
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .woocommerce {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
}
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .woocommerce {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    column-gap: 48px;
    align-items: start;
}
/* El "clearfix" de WooCommerce (::before / ::after) contaría como una celda más de la rejilla */
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .woocommerce::before,
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .woocommerce::after {
    content: none;
    display: none;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .page-header {
    margin-bottom: 24px;
}
/* Hello limita el título a 800px centrado por debajo de ~1200px: se alinea con el menú (1.8.1) */
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .page-header .entry-title {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
/* Anula los anchos flotantes de WooCommerce (30% / 68%) */
html body.woocommerce-account .woocommerce-MyAccount-navigation,
html body.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    min-width: 0;
}

/* Menú */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e5e5e5;
}
.woocommerce-MyAccount-navigation li {
    margin: 0;
    border-bottom: 1px solid #e5e5e5;
}
html body.woocommerce-page .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 12px 14px;
    border-left: 3px solid transparent;
    color: #000000;
    text-decoration: none;
    transition: border-color 0.2s, background-color 0.2s;
}
html body.woocommerce-page .woocommerce-MyAccount-navigation a:hover {
    border-left-color: #f7b501;
    color: #000000;
}
html body.woocommerce-page .woocommerce-MyAccount-navigation li.is-active a {
    border-left-color: #f7b501;
    background-color: #f6f6f6;
    font-weight: 600;
}
.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 16px !important;
    border-top: 1px solid #e5e5e5;
}

/* Botón principal (dorado) para "Volver a solicitar" en la tabla y en la solicitud */
html .woocommerce a.button.order-again,
html .woocommerce .order-again a.button {
    background-color: #f7b501;
    color: #000000;
}
html .woocommerce a.button.order-again:hover,
html .woocommerce .order-again a.button:hover {
    background-color: #000000;
    color: #f7b501;
}

/* Tabla "Mis solicitudes" */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    white-space: nowrap;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
    margin: 2px 4px 2px 0;
}
.woocommerce-orders-table .cochera-resumen-piezas {
    font-size: 0.9em;
    color: #333333;
}
.woocommerce-orders-table__cell-order-date,
.woocommerce-orders-table__cell-order-status {
    white-space: nowrap;
}

/* Inicio de la cuenta */
.cochera-cuenta-saludo {
    font-size: 1.15em;
    margin: 0 0 24px;
}
.cochera-cuenta-salir {
    display: block;
    margin-top: 4px;
    font-size: 0.85em;
    color: #606266;
}
.cochera-cuenta-ultima {
    border: 1px solid #e5e5e5;
    border-left: 3px solid #f7b501;
    padding: 20px 24px;
    margin: 0 0 24px;
}
.cochera-cuenta-ultima p {
    margin: 0 0 8px;
}
.cochera-cuenta-ultima__titulo {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.85em;
    color: #606266;
}
.cochera-cuenta-ultima__datos a {
    font-weight: 600;
}
.cochera-cuenta-ultima__piezas {
    color: #333333;
}
.cochera-cuenta-ultima__acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 0 !important;
}
.cochera-cuenta-accesos {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.cochera-cuenta-accesos li {
    margin: 0;
}
html body.woocommerce-page .cochera-cuenta-accesos a {
    display: block;
    height: 100%;
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid #e5e5e5;
    color: #000000;
    text-decoration: none;
    transition: border-color 0.2s;
}
html body.woocommerce-page .cochera-cuenta-accesos a:hover {
    border-color: #f7b501;
    color: #000000;
}
.cochera-cuenta-accesos__titulo {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}
.cochera-cuenta-accesos__texto {
    display: block;
    font-size: 0.9em;
    color: #606266;
}

/* Mis datos: "Nombre visible" no se usa (se rellena solo con nombre y apellidos) */
.woocommerce-EditAccountForm .form-row:has(#account_display_name) {
    display: none;
}

@media (max-width: 1023px) {
    .cochera-cuenta-accesos {
        grid-template-columns: minmax(0, 1fr);
    }
    body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .woocommerce {
        grid-template-columns: 200px minmax(0, 1fr);
        column-gap: 32px;
    }
}
@media (max-width: 767px) {
    body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .woocommerce {
        grid-template-columns: minmax(0, 1fr);
    }
    .woocommerce-MyAccount-navigation {
        margin-bottom: 24px;
    }
    .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        border-top: 0;
    }
    .woocommerce-MyAccount-navigation li,
    .woocommerce-MyAccount-navigation-link--customer-logout {
        border: 0;
        margin: 0 !important;
    }
    html body.woocommerce-page .woocommerce-MyAccount-navigation a {
        padding: 8px 14px;
        border: 1px solid #e5e5e5;
        border-radius: 0.2rem;
    }
    html body.woocommerce-page .woocommerce-MyAccount-navigation li.is-active a {
        background-color: #f7b501;
        border-color: #f7b501;
    }
    .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
        white-space: normal;
    }
}
/* Tabla en móvil (WooCommerce la pasa a tarjetas a 768px y oculta la celda del número, que es un th):
   se muestra el número como cabecera de cada solicitud */
@media (max-width: 768px) {
    html .woocommerce table.shop_table_responsive.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number {
        display: block;
        text-align: right;
        background-color: #f0f0f0;
        border-top: 2px solid #000000;
    }
    html .woocommerce table.shop_table_responsive.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before {
        content: attr(data-title) ": ";
        float: left;
        font-weight: 700;
    }
    html .woocommerce table.shop_table_responsive.woocommerce-orders-table tbody tr:first-child th.woocommerce-orders-table__cell-order-number {
        border-top: 0;
    }
    .cochera-cuenta-ultima {
        padding: 16px;
    }
}

/* ==========================================================================
   Mi cuenta: Mis datos, Datos de facturación y botón "Acceder / Mi cuenta" (1.8.3)
   ========================================================================== */
/* "Guardar cambios" pegado al recuadro de la contraseña */
.woocommerce-EditAccountForm fieldset {
    margin-bottom: 24px;
}
/* Datos de facturación: el título ya está en la cabecera de la página */
.woocommerce-MyAccount-content form > h2:empty {
    display: none;
}
.cochera-facturacion-intro {
    margin: 0 0 20px;
    color: #606266;
}
.woocommerce-address-fields > p:last-child {
    margin-top: 12px;
}

/* Botón "Acceder" / "Mi cuenta" (pensado para la cabecera negra) */
.cochera-boton-cuenta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-radius: 3px;
    color: #fff;
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.cochera-boton-cuenta:hover,
.cochera-boton-cuenta:focus-visible {
    border-color: #f7b501;
    color: #f7b501;
}
.cochera-boton-cuenta .cbc-icono {
    flex: 0 0 auto;
}
/* Dentro del menú: que no lo pisen los estilos de enlace del menú */
html body .cochera-menu-cuenta {
    display: flex;
    align-items: center;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta,
html body .cochera-menu-cuenta a.cochera-boton-cuenta:visited {
    color: #fff;
    padding: 8px 14px;
    margin: 0 0 0 10px;
    background-image: none;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta:hover,
html body .cochera-menu-cuenta a.cochera-boton-cuenta:focus-visible {
    color: #f7b501;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta::before,
html body .cochera-menu-cuenta a.cochera-boton-cuenta::after {
    display: none;
}
/* Menú hamburguesa (desplegable blanco): a todo el ancho, borde y texto negros */
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta {
    display: block;
    padding: 10px 16px 0;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta,
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta:visited {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    font-size: 15px;
    border-color: #000;
    color: #000 !important;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta:hover,
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta:focus-visible {
    background: #000;
    color: #f7b501 !important;
}

/* ==========================================================================
   Acceso a la cuenta (1.8.4)
   En la cabecera, solo el icono (42×42, la misma altura que "Mi solicitud"); con sesión, en dorado.
   En el menú móvil se mantiene el botón con texto (regla de 1.8.3 más abajo en especificidad).
   ========================================================================== */
html body .cochera-menu-cuenta a.cochera-boton-cuenta,
html body .cochera-menu-cuenta a.cochera-boton-cuenta:visited {
    width: 42px;
    height: 42px;
    padding: 0;
    justify-content: center;
    box-sizing: border-box;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta .cbc-texto {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta .cbc-icono {
    width: 20px;
    height: 20px;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta.con-sesion {
    border-color: #f7b501;
    color: #f7b501;
}
html body .cochera-menu-cuenta a.cochera-boton-cuenta.con-sesion:hover,
html body .cochera-menu-cuenta a.cochera-boton-cuenta.con-sesion:focus-visible {
    background: #f7b501;
    color: #000;
}
/* Menú hamburguesa: botón a todo el ancho con texto */
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta,
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta:visited {
    width: 100%;
    height: auto;
    padding: 12px 16px;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta .cbc-texto {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
}
html body .tahefobu-mobile-nav-menu-container .cochera-menu-cuenta a.cochera-boton-cuenta.con-sesion {
    border-color: #000;
}
/* Aviso en "Su solicitud" para quien no ha iniciado sesión */
.cochera-acceso-cuenta {
    margin: 16px 0 0;
    font-size: 0.95em;
    color: #606266;
}

/* ==========================================================================
   Mis vehículos (1.9.0)
   ========================================================================== */
/* Inicio de la cuenta: 4 accesos en 2 columnas */
.cochera-cuenta-accesos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 767px) {
    .cochera-cuenta-accesos {
        grid-template-columns: minmax(0, 1fr);
    }
}
.cochera-vehiculos-intro {
    margin: 0 0 20px;
    color: #606266;
}
.cochera-vehiculos {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.cochera-vehiculo {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid #e5e5e5;
    border-left: 3px solid #f7b501;
}
.cochera-vehiculo.is-editando {
    background: #fffaeb;
}
.cochera-vehiculo__titulo {
    margin: 0 0 10px;
    font-weight: 600;
    font-size: 1.05em;
}
.cochera-vehiculo__datos {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 4px 12px;
    margin: 0 0 14px;
    font-size: 0.92em;
}
.cochera-vehiculo__datos dt {
    color: #606266;
    font-weight: 400;
}
.cochera-vehiculo__datos dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.cochera-vehiculo__acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.cochera-vehiculo__acciones form {
    margin: 0;
}
html .woocommerce .cochera-vehiculo__acciones .cochera-boton-eliminar {
    background: transparent;
    color: #b32d2e;
    border: 1px solid #b32d2e;
}
html .woocommerce .cochera-vehiculo__acciones .cochera-boton-eliminar:hover {
    background: #b32d2e;
    color: #fff;
}
.cochera-vehiculos-vacio {
    margin: 0 0 24px;
    padding: 16px 20px;
    background: #f6f6f6;
}
.cochera-vehiculo-form {
    max-width: 640px;
}
.cochera-vehiculo-form__acciones {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
@media (max-width: 767px) {
    .cochera-vehiculos {
        grid-template-columns: minmax(0, 1fr);
    }
    .cochera-vehiculo-form .form-row-first,
    .cochera-vehiculo-form .form-row-last {
        float: none;
        width: 100%;
    }
}
/* Formulario de la solicitud: desplegable y casilla */
.cochera-vehiculo-selector select {
    width: 100%;
    padding: 8px 10px;
}
.cochera-guardar-vehiculo[hidden] {
    display: none !important;
}

/* ==========================================================================
   Piezas guardadas (1.10.0)
   ========================================================================== */
/* Estrella */
.cochera-fav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 34px;
    height: 34px;
    padding: 0 6px;
    border: 1px solid #d0d0d0;
    border-radius: 0.2rem;
    background: #fff;
    color: #606266;
    cursor: pointer;
    line-height: 1;
    transition: border-color 0.2s, color 0.2s;
}
.cochera-fav .cochera-fav__icono {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linejoin: round;
}
/* 1.10.2: fondo explícito. El reset de Hello pone button:hover y button:focus en #c36 (rosa-rojo),
   y la estrella lo heredaba al pasar el ratón y se quedaba así tras pulsarla (conserva el foco). */
.cochera-fav:hover,
.cochera-fav:focus,
.cochera-fav:focus-visible {
    background: #fff;
    border-color: #f7b501;
    color: #000;
}
.cochera-fav:focus:not(:focus-visible):not(:hover) {
    border-color: #d0d0d0;
    color: #606266;
}
.cochera-fav[aria-pressed="true"]:focus:not(:focus-visible):not(:hover) {
    border-color: #f7b501;
    color: #c98f00;
}
.cochera-fav:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}
.cochera-fav[aria-pressed="true"] {
    border-color: #f7b501;
    color: #c98f00;
}
.cochera-fav[aria-pressed="true"] .cochera-fav__icono {
    fill: #f7b501;
    stroke: #c98f00;
}
.cochera-fav[aria-busy="true"] {
    opacity: 0.7;
    cursor: progress;
}
/* En la ficha: con texto, junto a "Añadir a la solicitud" */
.cochera-fav--texto {
    height: auto;
    min-height: 40px;
    padding: 8px 14px;
    margin-left: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    vertical-align: middle;
}
/* Celda "Solicitar" de la tabla: Añadir + estrella */
.cochera-celda-solicitar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}
@media (max-width: 400px) {
    .cochera-celda-solicitar {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }
    .cochera-celda-solicitar .cochera-fav {
        height: 28px;
    }
}
/* Aviso sin sesión */
.cochera-fav-aviso {
    position: absolute;
    z-index: 9999;
    max-width: 300px;
    padding: 14px 36px 14px 16px;
    background: #000;
    color: #fff;
    font-size: 14px;
    line-height: 1.45;
    border-radius: 0.3rem;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}
.cochera-fav-aviso p {
    margin: 0;
}
html body .cochera-fav-aviso a {
    color: #f7b501;
    text-decoration: underline;
}
.cochera-fav-aviso__cerrar {
    position: absolute;
    top: 4px;
    right: 6px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
.cochera-fav-aviso .cochera-fav-aviso__cerrar:hover,
.cochera-fav-aviso .cochera-fav-aviso__cerrar:focus {
    background: transparent;
    color: #f7b501;
}
/* Formulario de no registradas: segundo botón en negro */
.piezas-no-registradas .pnr-boton-guardar {
    background-color: #000;
    color: #fff;
}
.piezas-no-registradas .pnr-boton-guardar:hover,
.piezas-no-registradas .pnr-boton-guardar:focus {
    background-color: #f7b501;
    color: #000;
}
@media (max-width: 600px) {
    .piezas-no-registradas .pnr-fila {
        flex-wrap: wrap;
    }
    .piezas-no-registradas .pnr-fila input[type="text"] {
        flex-basis: 100%;
    }
    .piezas-no-registradas .pnr-boton {
        flex: 1;
    }
}

/* Pestaña "Piezas guardadas" */
.cochera-guardadas-intro {
    margin: 0 0 20px;
    color: #606266;
}
.cochera-guardadas-vacio {
    padding: 20px;
    background: #f6f6f6;
}
.cochera-guardadas-vacio p:last-child {
    margin-bottom: 0;
}
.cochera-guardadas-grupo {
    margin: 0 0 28px;
    border: 1px solid #e5e5e5;
}
.cochera-guardadas-grupo__cabecera {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px;
    background: #f6f6f6;
    border-bottom: 2px solid #f7b501;
}
html body.woocommerce-account .woocommerce .cochera-guardadas-grupo__cabecera h2 {
    margin: 0;
    font-size: 18px;
    font-variant-numeric: lining-nums; /* "A002" y no "Aoo2" con Playfair */
}
.cochera-guardadas-grupo__acciones,
.cochera-guardada__acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.cochera-guardadas-accion {
    margin: 0;
}
.cochera-guardadas-lista {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cochera-guardada {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 0;
    padding: 10px 16px;
    border-top: 1px solid #eee;
}
.cochera-guardada:first-child {
    border-top: 0;
}
.cochera-guardada__imagen img {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: contain;
}
.cochera-guardada__num {
    display: inline-block;
    min-width: 2.2em;
    font-weight: 700;
}
.cochera-guardada.is-no-disponible {
    color: #606266;
}
.cochera-guardada__aviso {
    display: block;
    margin-top: 6px;
    padding: 6px 10px;
    background: #fffaeb;
    border-left: 3px solid #f7b501;
    font-size: 0.92em;
}
.cochera-guardada__aviso span {
    display: block;
}
html .woocommerce .cochera-guardada__acciones .button,
html .woocommerce .cochera-guardadas-grupo__acciones .button {
    padding: 6px 12px;
    font-size: 14px;
}
html .woocommerce button.button.cochera-boton-quitar {
    background: transparent;
    color: #b32d2e;
    border: 1px solid #b32d2e;
}
html .woocommerce button.button.cochera-boton-quitar:hover,
html .woocommerce button.button.cochera-boton-quitar:focus-visible {
    background: #b32d2e;
    color: #fff;
}
@media (max-width: 767px) {
    .cochera-guardada {
        grid-template-columns: 44px minmax(0, 1fr);
        padding: 10px 12px;
    }
    .cochera-guardada__imagen img {
        width: 44px;
        height: 44px;
    }
    .cochera-guardada__acciones {
        grid-column: 1 / -1;
    }
    .cochera-guardadas-grupo__cabecera {
        padding: 12px;
    }
}
