
/* ========================================
   LAYOUT DE PÁGINA DE PRODUCTO - ESTRUCTURA COMPLETA
   ======================================== */

/* Variables del proyecto */
:root {
    --primary-color: var(--bs-ec-primary, #ccc634);
    --primary-dark:  #b9b527;
    --secondary-color: var(--bs-secondary, #6c757d);
    --success-color: var(--bs-success, #198754);
    --danger-color: var(--bs-danger, #dc3545);
    --warning-color: var(--bs-warning, #ccc634);
    --info-color: var(--bs-info, #0dcaf0);
    --light-color: var(--bs-light, #f8f9fa);
    --dark-color: var(--bs-ec-dark, #181818);
    --text-color: #333;
    --text-muted: #666;
    --text-light: #999;
    --border-color: #e9ecef;
    --border-light: #ddd;
    --background-light: #f8f9fa;
    --white: #fff;
    --black: #000;
}

/* Contenedor principal del producto */


section.related.products{
    width: 100% !important;
}
.single-product .product {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    align-items: flex-start !important;
    margin-bottom: 40px !important;
}

/* Galería de imágenes del producto */
.single-product .woocommerce-product-gallery {
    flex: 0 0 45% !important;
    max-width: 45% !important;
    position: relative !important;
}

/* Imagen principal del producto */
.single-product .woocommerce-product-gallery__wrapper {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}

.single-product .woocommerce-product-gallery__image {
    position: relative !important;
    display: block !important;
}

.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 8px !important;
}

/* Botón de galería completa */
.single-product .woocommerce-product-gallery__trigger {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    background: rgba(0, 0, 0, 0.7) !important;
    color: var(--white) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.single-product .woocommerce-product-gallery__trigger:hover {
    background: rgba(0, 0, 0, 0.9) !important;
    transform: scale(1.1) !important;
}

/* Resumen del producto */
.single-product .summary {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 20px !important;
}

/* Título del producto */
.single-product .product_title {
    font-size: 28px !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    line-height: 1.3 !important;
}

/* Precio del producto */
.single-product .price {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin-bottom: 20px !important;
}

.single-product .price del {
    color: var(--text-light) !important;
    font-size: 18px !important;
    margin-right: 10px !important;
}

.single-product .price ins {
    text-decoration: none !important;
    color: var(--primary-color) !important;
}

/* Descripción corta */
.single-product .woocommerce-product-details__short-description {
    font-size: 16px !important;
    line-height: 1.6 !important;
    margin-bottom: 25px !important;
}

/* Formulario del carrito */
.single-product form.cart {
    margin-bottom: 30px !important;
    padding: 20px !important;
    background: #fbfbfb !important;
    border-radius: 8px !important;
    border: 1px solid var(--border-color) !important;
}

/* Formulario del carrito - Modo oscuro */
body.electro-dark .single-product form.cart,
body.electro-dark .woocommerce .single-product form.cart,
body.electro-dark .woocommerce-page .single-product form.cart,
.electro-dark .single-product form.cart,
.electro-dark .woocommerce .single-product form.cart,
.electro-dark .woocommerce-page .single-product form.cart,
body.electro-dark form.cart,
.electro-dark form.cart {
    background: #212121 !important;
    background-color: #212121 !important;
}


.electro-dark span.wvp-price-usd {
    color: #fff !important;
}


.electro-dark svg#yith-wcwl-icon-heart-outline {
    color:  #fff !important;
}
/* Cantidad */
.single-product .quantity {
    display: inline-block !important;
    margin-right: 15px !important;
}

.single-product .qty {
    width: 80px !important;
    padding: 10px !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 16px !important;
}

/* Botón Add to Cart */
.single-product .single_add_to_cart_button {
    background: var(--primary-color) !important;
    color: var(--white) !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Icono del botón Add to Cart - Usar Font Awesome */
.single-product .single_add_to_cart_button.button::before {
    content: "\f07a" !important; /* Icono de carrito de Font Awesome */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 0.5em !important;
    font-size: 1.2em !important;
    vertical-align: middle !important;
}

.single-product .single_add_to_cart_button:hover {
    background: var(--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(254, 215, 0, 0.3) !important;
}

.single-product .single_add_to_cart_button:disabled {
    background: var(--secondary-color) !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Stock del producto */
.single-product .stock {
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-bottom: 15px !important;
}

.single-product .stock.in-stock {
    color: var(--success-color) !important;
}

.single-product .stock.out-of-stock {
    color: var(--danger-color) !important;
}

/* Meta del producto */
.single-product .product_meta {
    border-top: 1px solid var(--border-color) !important;
    padding-top: 20px !important;
    margin-top: 20px !important;
}

.single-product .product_meta span {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

.single-product .product_meta a {
    color: var(--primary-color) !important;
    text-decoration: none !important;
}

.single-product .product_meta a:hover {
    text-decoration: underline !important;
}

/* Pestañas del producto */
.single-product .woocommerce-tabs {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-top: 40px !important;
    clear: both !important;
}

.single-product .woocommerce-tabs ul.tabs {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 2px solid var(--border-color) !important;
    display: flex !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 15px 25px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.3s ease !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
}

/* Contenido de las pestañas */
.single-product .woocommerce-tabs .panel {
    padding: 30px 0 !important;
    border: none !important;
}

.single-product .woocommerce-tabs .panel h2 {
    font-size: 20px !important;
    font-weight: 600 !important;
    
    margin-bottom: 20px !important;
}

.single-product .woocommerce-tabs .panel p {
    line-height: 1.6 !important;
    margin-bottom: 15px !important;
}

/* Tabla de atributos */
.single-product .woocommerce-tabs table.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 20px !important;
}

.single-product .woocommerce-tabs table.shop_attributes th,
.single-product .woocommerce-tabs table.shop_attributes td {
    padding: 12px 15px !important;
    border-bottom: 1px solid var(--border-color) !important;
    text-align: left !important;
}



.single-product .woocommerce-tabs table.shop_attributes th {
    background: var(--background-light) !important;
    font-weight: 600 !important;
    
    width: 30% !important;
}

.single-product .woocommerce-tabs table.shop_attributes td {
}

/* Formulario de reseñas */
.single-product .woocommerce-tabs #review_form_wrapper {
    background: var(--background-light) !important;
    padding: 25px !important;
    border-radius: 8px !important;
    margin-top: 20px !important;
}

.single-product .woocommerce-tabs .comment-form-rating {
    margin-bottom: 20px !important;
}

.single-product .woocommerce-tabs .comment-form-rating label {
    font-weight: 600 !important;
    
    margin-bottom: 10px !important;
    display: block !important;
}

.single-product .woocommerce-tabs .stars {
    display: flex !important;
    gap: 5px !important;
}

.single-product .woocommerce-tabs .stars a {
    color: var(--warning-color) !important;
    text-decoration: none !important;
    font-size: 18px !important;
}

.single-product .woocommerce-tabs .stars a:hover {
    color: var(--bs-ec-primary-d) !important;
}

/* ========================================
   ELEMENTOS ADICIONALES DE LA PÁGINA DE PRODUCTO
   ======================================== */

/* Badge de oferta */
.single-product .onsale {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    background: var(--danger-color) !important;
    color: var(--white) !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 10 !important;
}

/* Clases de estado del producto */
.single-product .product.instock {
    position: relative !important;
}

.single-product .product.outofstock {
    opacity: 0.7 !important;
}

.single-product .product.sale {
    position: relative !important;
}

/* Galería con múltiples columnas */
.single-product .woocommerce-product-gallery--columns-4 {
    position: relative !important;
}

/* Imagen de zoom */
.single-product .zoomImg {
    display: none !important;
}

/* Precio con descuento */
.single-product .price del {
    color: var(--text-light) !important;
    font-size: 18px !important;
    margin-right: 10px !important;
    text-decoration: line-through !important;
}

.single-product .price ins {
    text-decoration: none !important;
    color: var(--primary-color) !important;
    font-weight: 700 !important;
}

/* Etiquetas de precio para screen readers */
.single-product .screen-reader-text {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Formulario de carrito mejorado */
.single-product form.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    margin-right: 15px !important;
}

.single-product form.cart .quantity label {
    margin-right: 8px !important;
    font-weight: 500 !important;
    
}

.single-product form.cart .input-text.qty {
    width: 80px !important;
    padding: 10px !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

/* Botón Add to Cart con clases específicas */
.single-product .single_add_to_cart_button.button.alt {
    background: var(--primary-color) !important;
    color: var(--white) !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.single-product .single_add_to_cart_button.button.alt:hover {
    background: var(--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(254, 215, 0, 0.3) !important;
}

/* YITH Wishlist Button */
.single-product .yith-add-to-wishlist-button-block {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.single-product .yith-wcwl-add-to-wishlist-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
}

.single-product .yith-wcwl-add-to-wishlist-button:hover {
    color: var(--primary-color) !important;
}

.single-product .yith-wcwl-add-to-wishlist-button .yith-wcwl-icon-svg {
    width: 18px !important;
    height: 18px !important;
}

.single-product .yith-wcwl-add-to-wishlist-button__label {
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Meta del producto mejorada */
.single-product .product_meta {
    border-top: 1px solid var(--border-color) !important;
    padding-top: 20px !important;
    margin-top: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in {
    font-size: 14px !important;
}

.single-product .product_meta .sku_wrapper .sku {
    font-weight: 600 !important;
    
}

.single-product .product_meta a {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.single-product .product_meta a:hover {
    text-decoration: underline !important;
}

/* Pestañas mejoradas con clases específicas */
.single-product .woocommerce-tabs.wc-tabs-wrapper {
    margin-top: 40px !important;
    clear: both !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 2px solid var(--border-color) !important;
    display: flex !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
    display: block !important;
    padding: 15px 25px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.3s ease !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a,
.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover {
    color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
}

/* Paneles de pestañas */
.single-product .woocommerce-Tabs-panel {
    padding: 30px 0 !important;
    border: none !important;
}

.single-product .woocommerce-Tabs-panel.panel.entry-content.wc-tab {
    display: none !important;
}

.single-product .woocommerce-Tabs-panel.panel.entry-content.wc-tab[style*="display: block"] {
    display: block !important;
}

/* Tabla de atributos específica */
.single-product .woocommerce-product-attributes.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 20px !important;
}

.single-product .woocommerce-product-attributes-item {
    border-bottom: 1px solid var(--border-color) !important;
}

.single-product .woocommerce-product-attributes-item__label {
    background: var(--background-light) !important;
    font-weight: 600 !important;
    
    width: 30% !important;
    padding: 12px 15px !important;
}

.single-product .woocommerce-product-attributes-item__value {
    padding: 12px 15px !important;
}


/* Responsive Design */
@media (max-width: 767px) {
    .single-product .product {
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    .single-product .woocommerce-product-gallery,
    .single-product .summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    .single-product .summary {
        padding-left: 0 !important;
    }
    
    .single-product .product_title {
        font-size: 24px !important;
    }
    
    .single-product .price {
        font-size: 20px !important;
    }
    
    .single-product .woocommerce-tabs ul.tabs {
        flex-direction: column !important;
    }
    
    .single-product .woocommerce-tabs ul.tabs li a {
        border-bottom: 1px solid var(--border-color) !important;
        border-right: none !important;
    }
    
    .single-product .woocommerce-tabs ul.tabs li.active a {
        border-bottom-color: var(--primary-color) !important;
    }
}

/* Formulario del carrito - Modo oscuro (Regla final con máxima especificidad) */
body.electro-dark .single-product form.cart,
body.electro-dark .woocommerce .single-product form.cart,
body.electro-dark .woocommerce-page .single-product form.cart,
.electro-dark .single-product form.cart,
.electro-dark .woocommerce .single-product form.cart,
.electro-dark .woocommerce-page .single-product form.cart,
body.electro-dark form.cart,
.electro-dark form.cart,
body.electro-dark .single-product .summary form.cart,
.electro-dark .single-product .summary form.cart,
body.electro-dark .woocommerce .single-product .summary form.cart,
body[class*="electro-dark"] .single-product form.cart,
body[class*="electro-dark"] .woocommerce .single-product form.cart,
body[class*="electro-dark"] form.cart {
    background: #212121 !important;
    background-color: #212121 !important;
}

/* Tabla de lista de deseos - Modo oscuro */
body.electro-dark table.wishlist_table,
body.electro-dark .wishlist_table,
body.electro-dark table.shop_table.wishlist_table,
body.electro-dark table.wishlist_table thead th,
body.electro-dark .wishlist_table thead th,
body.electro-dark table.wishlist_table tbody td,
body.electro-dark .wishlist_table tbody td,
body.electro-dark table.wishlist_table tbody tr,
body.electro-dark .wishlist_table tbody tr,
body[class*="electro-dark"] table.wishlist_table,
body[class*="electro-dark"] .wishlist_table,
body[class*="electro-dark"] table.shop_table.wishlist_table {
    background: #212121 !important;
    background-color: #212121 !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.electro-dark table.wishlist_table thead th,
body.electro-dark .wishlist_table thead th,
body[class*="electro-dark"] table.wishlist_table thead th,
body[class*="electro-dark"] .wishlist_table thead th {
    background: #2a2a2a !important;
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.electro-dark table.wishlist_table tbody td,
body.electro-dark .wishlist_table tbody td,
body.electro-dark table.wishlist_table tbody tr td,
body.electro-dark .wishlist_table tbody tr td,
body[class*="electro-dark"] table.wishlist_table tbody td,
body[class*="electro-dark"] .wishlist_table tbody td {
    background: #212121 !important;
    background-color: #212121 !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.electro-dark table.wishlist_table tbody tr:nth-child(even) td,
body.electro-dark .wishlist_table tbody tr:nth-child(even) td,
body[class*="electro-dark"] table.wishlist_table tbody tr:nth-child(even) td,
body[class*="electro-dark"] .wishlist_table tbody tr:nth-child(even) td {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

body.electro-dark table.wishlist_table a,
body.electro-dark .wishlist_table a,
body.electro-dark table.wishlist_table .product-name a,
body.electro-dark .wishlist_table .product-name a,
body[class*="electro-dark"] table.wishlist_table a,
body[class*="electro-dark"] .wishlist_table a {
    color: #ffffff !important;
}

body.electro-dark table.wishlist_table .price,
body.electro-dark .wishlist_table .price,
body.electro-dark table.wishlist_table .amount,
body.electro-dark .wishlist_table .amount,
body[class*="electro-dark"] table.wishlist_table .price,
body[class*="electro-dark"] .wishlist_table .price {
    color: #ffffff !important;
}

/* Tabla de información adicional - Modo oscuro */
body.electro-dark .woocommerce-Tabs-panel--additional_information,
body.electro-dark .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information,
body[class*="electro-dark"] .woocommerce-Tabs-panel--additional_information,
body[class*="electro-dark"] .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information {
    background: transparent !important;
    color: #ffffff !important;
}

body.electro-dark .woocommerce-Tabs-panel--additional_information h2,
body.electro-dark .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information h2,
body[class*="electro-dark"] .woocommerce-Tabs-panel--additional_information h2,
body[class*="electro-dark"] .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information h2 {
    color: #ffffff !important;
}

body.electro-dark .woocommerce-product-attributes.shop_attributes,
body.electro-dark table.woocommerce-product-attributes.shop_attributes,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes,
body[class*="electro-dark"] table.woocommerce-product-attributes.shop_attributes {
    background: transparent !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.electro-dark .woocommerce-product-attributes-item,
body.electro-dark .woocommerce-product-attributes.shop_attributes tr.woocommerce-product-attributes-item,
body[class*="electro-dark"] .woocommerce-product-attributes-item,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes tr.woocommerce-product-attributes-item {
    background: transparent !important;
    border-color: #333333 !important;
}

body.electro-dark .woocommerce-product-attributes-item__label,
body.electro-dark .woocommerce-product-attributes.shop_attributes th.woocommerce-product-attributes-item__label,
body[class*="electro-dark"] .woocommerce-product-attributes-item__label,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes th.woocommerce-product-attributes-item__label {
    background: #2a2a2a !important;
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.electro-dark .woocommerce-product-attributes-item__value,
body.electro-dark .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value,
body[class*="electro-dark"] .woocommerce-product-attributes-item__value,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value {
    background: transparent !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.electro-dark .woocommerce-product-attributes-item__value p,
body.electro-dark .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value p,
body[class*="electro-dark"] .woocommerce-product-attributes-item__value p,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value p {
    color: #ffffff !important;
}

body.electro-dark .woocommerce-product-attributes-item__value a,
body.electro-dark .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value a,
body[class*="electro-dark"] .woocommerce-product-attributes-item__value a,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value a {
    color: #ffffff !important;
}

body.electro-dark .woocommerce-product-attributes-item__value a:hover,
body.electro-dark .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value a:hover,
body[class*="electro-dark"] .woocommerce-product-attributes-item__value a:hover,
body[class*="electro-dark"] .woocommerce-product-attributes.shop_attributes td.woocommerce-product-attributes-item__value a:hover {
    color: #cccccc !important;
}


a.compare.link::before {
    font: normal normal normal 14px / 1 font-electro;
    margin-right: 2px;
    content: "\64";
    vertical-align: middle;
    display: inline-block;
    font-size: 16px;
}