/* =========================================================
   APHAREL — PRODUCTO
   Página individual de producto
========================================================= */


/* =========================================================
   1. CONTENEDOR GENERAL
========================================================= */

body.single-product .site-main,
body.single-product #primary {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;
}


body.single-product .apharel-product-page {

    width: 100%;

    margin: 0;

    padding: 0;
}


/* =========================================================
   2. PRODUCTO PRINCIPAL
========================================================= */

body.single-product .apharel-single-product {

    width: 100%;

    max-width: 1380px;

    margin: 0 auto;

    padding: 60px 40px 100px;

    box-sizing: border-box;
}


/* =========================================================
   3. DISTRIBUCIÓN
   IMAGEN IZQUIERDA
   INFORMACIÓN DERECHA
========================================================= */

body.single-product .apharel-product-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 58%)
        minmax(360px, 42%);

    column-gap: 60px;

    align-items: start;

    width: 100%;
}


/* =========================================================
   4. GALERÍA
========================================================= */

body.single-product .apharel-product-gallery {

    width: 100%;

    min-width: 0;

    margin: 0;

    padding: 0;
}


/* WooCommerce gallery */

body.single-product
.apharel-product-gallery
.woocommerce-product-gallery {

    width: 100% !important;

    max-width: 100% !important;

    float: none !important;

    margin: 0 !important;

    padding: 0 !important;

    border-radius: 16px !important;

    overflow: hidden !important;
}


/* Contenedor de imágenes */

body.single-product
.apharel-product-gallery
.woocommerce-product-gallery__wrapper {

    width: 100% !important;

    margin: 0 !important;

    border-radius: 16px !important;

    overflow: hidden !important;
}


/* Viewport real de WooCommerce */

body.single-product
.apharel-product-gallery
.woocommerce-product-gallery
.flex-viewport {

    border-radius: 16px !important;

    overflow: hidden !important;
}


/* Imagen individual */

body.single-product
.apharel-product-gallery
.woocommerce-product-gallery__image {

    width: 100% !important;

    margin: 0 0 14px !important;

    padding: 0 !important;

    border-radius: 16px !important;

    overflow: hidden !important;
}


/* Enlace de la imagen */

body.single-product
.apharel-product-gallery
.woocommerce-product-gallery__image a {

    display: block !important;

    border-radius: 16px !important;

    overflow: hidden !important;
}


/* Imagen */

body.single-product
.apharel-product-gallery
.woocommerce-product-gallery__image img {

    display: block !important;

    width: 100% !important;

    height: auto !important;

    max-width: 100% !important;

    margin: 0 !important;

    object-fit: contain !important;

    border-radius: 16px !important;
}


/* =========================================================
   5. MINIATURAS
========================================================= */

body.single-product
.apharel-product-gallery
.flex-control-thumbs {

    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 12px !important;

    width: 100% !important;

    margin: 14px 0 0 !important;

    padding: 0 !important;

    list-style: none !important;
}


body.single-product
.apharel-product-gallery
.flex-control-thumbs li {

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    border-radius: 12px !important;

    overflow: hidden !important;
}


body.single-product
.apharel-product-gallery
.flex-control-thumbs img {

    display: block !important;

    width: 100% !important;

    height: auto !important;

    margin: 0 !important;

    opacity: .65;

    cursor: pointer;

    border-radius: 12px !important;

    transition: opacity .25s ease;
}


body.single-product
.apharel-product-gallery
.flex-control-thumbs img:hover {

    opacity: 1;
}


/* =========================================================
   6. INFORMACIÓN DEL PRODUCTO
========================================================= */

body.single-product .apharel-product-summary {

    width: 100%;

    max-width: 520px;

    margin: 0;

    padding: 8px 20px 0 0;

    box-sizing: border-box;

    align-self: start;
}


/* =========================================================
   7. CATEGORÍA
========================================================= */

body.single-product .apharel-product-category {

    margin: 0 0 14px;

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 13px;

    line-height: 1.5;
}


body.single-product .apharel-product-category a {

    color: #777;

    font-family: var(--apharel-font-body);

    text-decoration: none;

    transition: color .2s ease;
}


body.single-product .apharel-product-category a:hover {

    color: #111;
}


/* =========================================================
   8. TÍTULO
========================================================= */

/* 🔴 CAMBIO:
   Bebas Neue Cyrillic para el nombre del producto.
   Peso 700 para mantener el mismo grosor visual
   que los demás títulos de APHAREL.
*/

body.single-product .apharel-product-title {

    margin: 0 0 18px !important;

    color: #111 !important;

    font-family: var(--apharel-font-title) !important;

    font-size: clamp(36px, 4vw, 56px) !important;

    line-height: 1 !important;

    /* 🔴 CAMBIO: título en negrita */
    font-weight: 700 !important;

    letter-spacing: 2px !important;
}


/* =========================================================
   9. PRECIO
========================================================= */

body.single-product .apharel-product-price {

    margin: 0 0 28px;

    color: #111;

    font-family: var(--apharel-font-body);

    font-size: 22px;

    line-height: 1.4;

    font-weight: 500;
}


body.single-product .apharel-product-price del {

    margin-right: 8px;

    color: #999;

    font-family: var(--apharel-font-body);

    font-size: 15px;
}


body.single-product .apharel-product-price ins {

    color: #111;

    text-decoration: none;
}


/* =========================================================
   10. DESCRIPCIÓN
========================================================= */

body.single-product .apharel-product-description {

    margin: 0 0 28px;

    color: #555;

    font-family: var(--apharel-font-body);

    font-size: 15px;

    line-height: 1.75;
}


body.single-product .apharel-product-description p {

    margin: 0 0 12px;
}


body.single-product .apharel-product-description p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   11. STOCK
========================================================= */

body.single-product .apharel-product-meta-extra {

    margin: 0 0 25px;
}


body.single-product .apharel-stock {

    display: inline-block;

    color: #333;

    font-family: var(--apharel-font-body);

    font-size: 13px;

    font-weight: 500;
}


/* =========================================================
   12. FORMULARIO DE COMPRA
========================================================= */

body.single-product .apharel-add-to-cart {

    width: 100%;

    margin: 0;
}


body.single-product
.apharel-add-to-cart
form.cart {

    width: 100% !important;

    margin: 0 !important;
}


/* =========================================================
   13. VARIACIONES
========================================================= */

body.single-product
.apharel-add-to-cart
.variations {

    width: 100% !important;

    margin: 0 0 22px !important;

    border: 0 !important;

    border-collapse: collapse !important;
}


body.single-product
.apharel-add-to-cart
.variations tbody,
body.single-product
.apharel-add-to-cart
.variations tr {

    width: 100%;

    border: 0 !important;
}


body.single-product
.apharel-add-to-cart
.variations tr {

    display: block;

    margin-bottom: 18px;
}


body.single-product
.apharel-add-to-cart
.variations th,
body.single-product
.apharel-add-to-cart
.variations td {

    display: block !important;

    width: 100% !important;

    padding: 0 !important;

    text-align: left !important;

    border: 0 !important;
}


/* Nombre */

body.single-product
.apharel-add-to-cart
.variations label {

    display: block;

    margin: 0 0 8px;

    color: #333;

    font-family: var(--apharel-font-body);

    font-size: 13px;

    font-weight: 500;
}


/* Select */

body.single-product
.apharel-add-to-cart
.variations select {

    display: block;

    width: 100% !important;

    min-height: 52px;

    padding: 0 16px;

    border: 1px solid #ddd !important;

    border-radius: 12px !important;

    background: #fff;

    color: #333;

    font-family: var(--apharel-font-body);

    font-size: 14px;
}


/* Ocultar "Choose an option" extra */

body.single-product
.apharel-add-to-cart
.reset_variations {

    display: inline-block;

    margin-top: 8px;

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 11px;

    text-decoration: none;
}


/* =========================================================
   14. CANTIDAD
========================================================= */

body.single-product
.apharel-add-to-cart
.quantity {

    margin: 0 !important;

    border-radius: 12px !important;

    overflow: hidden !important;
}


body.single-product
.apharel-add-to-cart
.quantity .qty {

    width: 78px !important;

    min-height: 52px;

    padding: 0 10px;

    border: 1px solid #ddd !important;

    border-radius: 12px !important;

    background: #fff;

    color: #111;

    text-align: center;

    font-family: var(--apharel-font-body);

    font-size: 14px;
}


/* =========================================================
   15. BOTÓN AÑADIR AL CARRITO
========================================================= */

body.single-product
.apharel-add-to-cart
.single_add_to_cart_button {

    min-height: 52px !important;

    margin: 0 !important;

    padding: 0 30px !important;

    border: 1px solid #111 !important;

    border-radius: 12px !important;

    background: #111 !important;

    color: #fff !important;

    font-family: var(--apharel-font-body);

    font-size: 11px !important;

    font-weight: 600 !important;

    letter-spacing: .14em;

    text-transform: uppercase;

    transition:
        background .25s ease,
        border-color .25s ease;
}


body.single-product
.apharel-add-to-cart
.single_add_to_cart_button:hover {

    background: #333 !important;

    border-color: #333 !important;
}


/* =========================================================
   16. CAJA DE ENVÍO
========================================================= */

body.single-product .apharel-shipping-box {

    display: flex;

    align-items: flex-start;

    gap: 14px;

    margin-top: 30px;

    padding: 20px 0;

    border-top: 1px solid #eee;

    border-bottom: 1px solid #eee;

    border-radius: 14px !important;

    overflow: hidden !important;
}


body.single-product .apharel-shipping-icon {

    font-size: 18px;

    line-height: 1.4;
}


body.single-product .apharel-shipping-box strong {

    display: block;

    margin-bottom: 4px;

    color: #222;

    font-family: var(--apharel-font-body);

    font-size: 13px;

    font-weight: 600;
}


body.single-product .apharel-shipping-box span {

    display: block;

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 12px;

    line-height: 1.5;
}


/* =========================================================
   17. DETALLES
========================================================= */

body.single-product .apharel-product-details {

    margin-top: 25px;

    border-radius: 14px;

    overflow: hidden;
}


body.single-product .apharel-detail-row {

    display: flex;

    justify-content: space-between;

    gap: 20px;

    padding: 12px 0;

    border-bottom: 1px solid #eee;

    color: #222;

    font-family: var(--apharel-font-body);

    font-size: 13px;
}


body.single-product .apharel-detail-row span {

    color: #777;
}


body.single-product .apharel-detail-row strong {

    color: #222;

    font-weight: 500;

    text-align: right;
}


body.single-product .apharel-detail-row a {

    color: #222;

    text-decoration: none;
}


/* =========================================================
   18. INFORMACIÓN ADICIONAL
========================================================= */

body.single-product .apharel-product-information {

    width: 100%;

    max-width: 1380px;

    margin: 0 auto;

    padding: 80px 40px;

    box-sizing: border-box;

    border-radius: 14px;

    overflow: hidden;
}


body.single-product .apharel-product-information-inner {

    max-width: 1000px;

    margin: 0 auto;
}


body.single-product .apharel-product-information-title {

    margin-bottom: 35px;
}


body.single-product .apharel-product-information-title span {

    display: block;

    margin-bottom: 10px;

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 11px;

    letter-spacing: .25em;
}


body.single-product .apharel-product-information-title h2 {

    margin: 0;

    color: #111;

    font-family: var(--apharel-font-title);

    font-size: 34px;

    line-height: 1.1;

    /* 🔴 CAMBIO: título en negrita */
    font-weight: 700;

    letter-spacing: 1.5px;
}


/* Tabla de atributos */

body.single-product .apharel-product-attributes {

    border-radius: 14px;

    overflow: hidden;
}


body.single-product .apharel-product-attributes table {

    width: 100%;

    border-collapse: collapse;
}


body.single-product .apharel-product-attributes th,
body.single-product .apharel-product-attributes td {

    padding: 18px 20px;

    border-bottom: 1px solid #eee;

    text-align: left;

    font-family: var(--apharel-font-body);
}


body.single-product .apharel-product-attributes th {

    width: 25%;

    color: #333;

    font-weight: 500;
}


body.single-product .apharel-product-attributes td {

    color: #666;
}


/* =========================================================
   19. PRODUCTOS RELACIONADOS
========================================================= */

body.single-product .apharel-related-products {

    width: 100%;

    max-width: 1380px;

    margin: 0 auto;

    padding: 80px 40px 110px;

    box-sizing: border-box;
}


body.single-product .apharel-related-header {

    margin-bottom: 40px;
}


body.single-product .apharel-related-header p {

    margin: 0 0 10px;

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 11px;

    font-weight: 600;

    letter-spacing: .25em;
}


body.single-product .apharel-related-header h2 {

    margin: 0;

    color: #111;

    font-family: var(--apharel-font-title);

    font-size: 36px;

    /* 🔴 CAMBIO: título en negrita */
    font-weight: 700;

    letter-spacing: 1.5px;
}


body.single-product .apharel-related-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 22px;
}


body.single-product .apharel-related-card {

    display: block;

    color: #111;

    text-decoration: none;

    border-radius: 14px;

    overflow: hidden;

    transition: transform .3s ease;
}


body.single-product .apharel-related-card:hover {

    transform: translateY(-5px);
}


body.single-product .apharel-related-image {

    width: 100%;

    aspect-ratio: 4 / 5;

    overflow: hidden;

    background: #f4f4f2;

    border-radius: 14px;
}


body.single-product .apharel-related-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 14px;

    transition: transform .5s ease;
}


body.single-product .apharel-related-card:hover
.apharel-related-image img {

    transform: scale(1.04);
}


body.single-product .apharel-related-info {

    padding-top: 15px;
}


body.single-product .apharel-related-category {

    display: block;

    margin-bottom: 6px;

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 11px;
}


body.single-product .apharel-related-info h3 {

    margin: 0 0 6px;

    color: #111;

    font-family: var(--apharel-font-body);

    font-size: 14px;

    font-weight: 500;
}


body.single-product .apharel-related-price {

    color: #666;

    font-family: var(--apharel-font-body);

    font-size: 13px;
}


body.single-product .apharel-no-related {

    color: #777;

    font-family: var(--apharel-font-body);

    font-size: 14px;
}


/* =========================================================
   20. ELEMENTOS GENERALES
========================================================= */

body.single-product .apharel-product-page input,
body.single-product .apharel-product-page select,
body.single-product .apharel-product-page textarea,
body.single-product .apharel-product-page button {

    border-radius: 12px;
}


/* =========================================================
   21. TABLET
========================================================= */

@media (max-width: 1000px) {

    body.single-product .apharel-single-product {

        padding: 40px 25px 80px;
    }


    body.single-product .apharel-product-layout {

        grid-template-columns:
            minmax(0, 55%)
            minmax(320px, 45%);

        column-gap: 35px;
    }


    body.single-product .apharel-product-summary {

        padding-right: 0;
    }


    body.single-product .apharel-related-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   22. MÓVIL
========================================================= */

@media (max-width: 768px) {

    body.single-product .apharel-single-product {

        padding: 25px 18px 60px;
    }


    body.single-product .apharel-product-layout {

        display: block;
    }


    body.single-product .apharel-product-gallery {

        width: 100%;

        margin-bottom: 35px;
    }


    body.single-product .apharel-product-summary {

        width: 100%;

        max-width: none;

        padding: 0;
    }


    /* 🔴 CAMBIO:
       Título móvil con Bebas Neue Cyrillic.
       Se mantiene el peso 700.
    */

    body.single-product .apharel-product-title {

        font-size: 34px !important;

        /* 🔴 CAMBIO: mantener negrita en móvil */
        font-weight: 700 !important;

        letter-spacing: 1.5px !important;
    }


    body.single-product .apharel-product-price {

        font-size: 21px;
    }


    body.single-product .apharel-product-information {

        padding: 60px 18px;
    }


    body.single-product .apharel-related-products {

        padding: 60px 18px 80px;
    }


    body.single-product .apharel-related-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 15px;
    }


    body.single-product
    .apharel-product-gallery
    .woocommerce-product-gallery,
    body.single-product
    .apharel-product-gallery
    .flex-viewport,
    body.single-product
    .apharel-product-gallery
    .woocommerce-product-gallery__wrapper,
    body.single-product
    .apharel-product-gallery
    .woocommerce-product-gallery__image,
    body.single-product
    .apharel-product-gallery
    .woocommerce-product-gallery__image a,
    body.single-product
    .apharel-product-gallery
    .woocommerce-product-gallery__image img {

        border-radius: 12px !important;

        overflow: hidden !important;
    }
}


/* =========================================================
   23. MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 480px) {

    body.single-product .apharel-single-product {

        padding: 20px 15px 50px;
    }


    body.single-product .apharel-product-title {

        font-size: 30px !important;

        /* 🔴 CAMBIO: mantener negrita en móvil pequeño */
        font-weight: 700 !important;

        letter-spacing: 1.2px !important;
    }


    body.single-product
    .apharel-add-to-cart
    form.cart {

        display: block !important;
    }


    body.single-product
    .apharel-add-to-cart
    .quantity {

        width: 100%;

        margin-bottom: 10px !important;
    }


    body.single-product
    .apharel-add-to-cart
    .quantity .qty {

        width: 100% !important;
    }


    body.single-product
    .apharel-add-to-cart
    .single_add_to_cart_button {

        width: 100% !important;
    }


    body.single-product .apharel-product-information-attributes table,
    body.single-product .apharel-product-attributes table {

        font-size: 13px;
    }


    body.single-product .apharel-product-attributes th,
    body.single-product .apharel-product-attributes td {

        padding: 14px 10px;
    }


    body.single-product .apharel-related-grid {

        grid-template-columns: 1fr 1fr;
    }
}


/* =========================================================
   24. ACCESIBILIDAD
========================================================= */

@media (prefers-reduced-motion: reduce) {

    body.single-product .apharel-related-card,
    body.single-product .apharel-related-image img,
    body.single-product .apharel-add-to-cart .single_add_to_cart_button {

        transition: none;
    }
}