/* ==========================================
   FICHA DE PRODUCTO — STYLOS EN BRONCE
   Contenedor centrado, galería enmarcada, resumen ordenado
========================================== */

.single-product #primary{
    padding:48px 24px 100px !important;
    background:var(--bg, #faf8f5);
}

.single-product div.product{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);
    column-gap:64px;
    align-items:start;
}

/* ---------- Galería ---------- */

.single-product div.product .woocommerce-product-gallery{
    width:100% !important;
    float:none !important;
    margin:0 !important;
    position:sticky;
    top:110px;
    background:#fff;
    border:1px solid var(--border, #e7e0d7);
    border-radius:18px;
    padding:36px;
    box-shadow:0 20px 50px rgba(0,0,0,.05);
}

.single-product .woocommerce-product-gallery__wrapper{
    margin:0;
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a{
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:1/1;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
}

.single-product .woocommerce-product-gallery__image img{
    width:100% !important;
    height:100% !important;
    max-height:none;
    object-fit:contain;
}

.single-product .woocommerce-product-gallery__trigger{
    top:22px !important;
    right:22px !important;
    width:40px !important;
    height:40px !important;
    border-radius:50% !important;
    background:#fff !important;
    border:1px solid var(--border, #e7e0d7) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.08);
    z-index:5;
}

.single-product .flex-control-thumbs{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr);
    gap:12px;
    margin:18px 0 0 !important;
    padding:0 !important;
}

.single-product .flex-control-thumbs li{
    width:auto !important;
    float:none !important;
    margin:0 !important;
    list-style:none;
}

.single-product .flex-control-thumbs img{
    aspect-ratio:1/1;
    object-fit:contain;
    background:#fff;
    border:1px solid var(--border, #e7e0d7);
    border-radius:10px;
    padding:6px;
    opacity:.6;
    cursor:pointer;
    transition:opacity .25s ease, border-color .25s ease;
}

.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover{
    opacity:1;
    border-color:var(--primary, #b8873a);
}

/* ---------- Resumen ---------- */

.single-product div.product .summary{
    width:100% !important;
    float:none !important;
    margin:0 !important;
    padding:8px 0 0;
}

.single-product .summary .woocommerce-breadcrumb{
    margin:0 0 22px;
    font-size:.8rem;
    color:#9a948c;
    line-height:1.6;
}

.single-product .summary .woocommerce-breadcrumb a{
    color:#9a948c;
    text-decoration:none;
}

.single-product .summary .woocommerce-breadcrumb a:hover{
    color:var(--primary, #b8873a);
}

.single-product .summary .single-product-category{
    display:inline-block;
    margin-bottom:10px;
    font-size:.75rem;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--primary, #b8873a);
}

.single-product .summary .single-product-category a{
    color:inherit;
    text-decoration:none;
}

.single-product .summary .product_title{
    font-family:"Cormorant Garamond", "Playfair Display", serif !important;
    font-size:2.6rem !important;
    font-weight:500 !important;
    line-height:1.12 !important;
    color:var(--heading, #1f1f1f);
    margin:0 0 18px !important;
}

.single-product .summary p.price{
    display:flex;
    align-items:baseline;
    gap:12px;
    margin:0 0 22px !important;
    padding-bottom:22px;
    border-bottom:1px solid var(--border, #e7e0d7);
    font-size:1.75rem !important;
    font-weight:600;
    color:var(--heading, #1f1f1f) !important;
}

.single-product .summary p.price del{
    order:2;
    font-size:1.05rem;
    font-weight:400;
    color:#9a948c;
    opacity:1;
}

.single-product .summary p.price ins{
    text-decoration:none;
    color:var(--primary-dark, #8b6332);
}

.single-product .summary .woocommerce-product-details__short-description{
    margin:0 0 26px;
    color:var(--text, #5f5f5f);
    font-size:.98rem;
    line-height:1.75;
}

.single-product .summary .woocommerce-product-details__short-description p:last-child{
    margin-bottom:0;
}

/* Cantidad + Añadir al carrito */

.single-product .summary form.cart{
    display:flex !important;
    align-items:stretch;
    gap:12px;
    margin:0 0 22px !important;
}

.single-product .summary form.cart .quantity{
    margin:0 !important;
    display:flex;
}

.single-product .summary form.cart .quantity .qty{
    width:78px !important;
    height:54px !important;
    border:1px solid var(--border, #e7e0d7) !important;
    border-radius:999px !important;
    background:#fff !important;
    text-align:center;
    font-size:1rem;
    font-weight:600;
    color:var(--heading, #1f1f1f);
}

.single-product .summary form.cart .single_add_to_cart_button{
    flex:1;
    height:54px;
    padding:0 28px !important;
    border-radius:999px !important;
    background:var(--primary, #b8873a) !important;
    color:#fff !important;
    font-size:.85rem !important;
    font-weight:600 !important;
    letter-spacing:.14em;
    text-transform:uppercase;
    transition:background .3s ease;
}

.single-product .summary form.cart .single_add_to_cart_button:hover{
    background:var(--primary-dark, #8b6332) !important;
}

.single-product .summary .product_meta{
    margin:0 0 4px;
    padding:0;
    border:0;
    font-size:.82rem;
    color:#9a948c;
}

.single-product .summary .product_meta a{
    color:var(--primary-dark, #8b6332);
    text-decoration:none;
}

/* Bloque de acabados dentro del resumen */
.single-product .summary .stylos-acabados{
    margin:26px 0 0;
    background:#fff;
}

/* ---------- Pestañas (descripción) ---------- */

.single-product div.product .woocommerce-tabs{
    grid-column:1 / -1;
    margin:80px 0 0 !important;
    padding:44px 48px;
    background:#fff;
    border:1px solid var(--border, #e7e0d7);
    border-radius:18px;
}

.single-product .woocommerce-tabs ul.tabs{
    display:flex;
    gap:32px;
    margin:0 0 28px !important;
    padding:0 !important;
    border-bottom:1px solid var(--border, #e7e0d7);
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{
    display:none !important;
}

.single-product .woocommerce-tabs ul.tabs li{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
}

.single-product .woocommerce-tabs ul.tabs li a{
    display:block;
    padding:0 0 14px !important;
    font-size:.82rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#9a948c !important;
    border-bottom:2px solid transparent;
    margin-bottom:-1px;
}

.single-product .woocommerce-tabs ul.tabs li.active a{
    color:var(--heading, #1f1f1f) !important;
    border-bottom-color:var(--primary, #b8873a);
}

.single-product .woocommerce-tabs .panel{
    max-width:820px;
    margin:0 !important;
    color:var(--text, #5f5f5f);
    font-size:1rem;
    line-height:1.8;
}

.single-product .woocommerce-tabs .panel > h2:first-child{
    display:none;
}

/* ---------- Productos relacionados ---------- */

.single-product div.product .related.products{
    grid-column:1 / -1;
    margin:80px 0 0;
}

.single-product .related.products > h2{
    font-family:"Cormorant Garamond", "Playfair Display", serif;
    font-size:2.4rem;
    font-weight:400;
    color:var(--heading, #1f1f1f);
    text-align:center;
    margin:0 0 36px;
}

.single-product .related ul.products{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:24px !important;
    margin:0 !important;
}

.single-product .related ul.products::before,
.single-product .related ul.products::after{
    display:none !important;
}

.single-product .related ul.products li.product{
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
    transition:transform .35s ease, box-shadow .35s ease;
}

.single-product .related ul.products li.product:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.single-product .related .astra-shop-thumbnail-wrap{
    aspect-ratio:1/1;
    background:#fff;
    padding:18px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.single-product .related .astra-shop-thumbnail-wrap a,
.single-product .related .astra-shop-thumbnail-wrap img{
    width:100%;
    height:100%;
}

.single-product .related .astra-shop-thumbnail-wrap img{
    object-fit:contain;
    margin:0 !important;
}

.single-product .related .astra-shop-thumbnail-wrap .ast-on-card-button,
.single-product .related .astra-shop-thumbnail-wrap .ast-select-options-trigger{
    display:none !important;
}

.single-product .related .astra-shop-summary-wrap{
    padding:16px 18px 20px;
    border-top:1px solid #f1ece5;
}

.single-product .related .astra-shop-summary-wrap .ast-woo-product-category{
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--primary, #b8873a);
}

.single-product .related .woocommerce-loop-product__title{
    font-family:Inter, sans-serif !important;
    font-size:.95rem !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    color:var(--heading, #1f1f1f) !important;
    margin:6px 0 8px !important;
}

.single-product .related .price{
    font-size:1rem !important;
    font-weight:700;
    color:var(--heading, #1f1f1f) !important;
}

.single-product .related .astra-shop-summary-wrap .button{
    display:none !important;
}

/* ---------- Responsive ---------- */

@media (max-width:1100px){

    .single-product div.product{
        column-gap:40px;
    }

    .single-product .summary .product_title{
        font-size:2.2rem !important;
    }

    .single-product .related ul.products{
        grid-template-columns:repeat(3, 1fr) !important;
    }

}

@media (max-width:860px){

    .single-product #primary{
        padding:24px 16px 70px !important;
    }

    .single-product div.product{
        grid-template-columns:1fr;
        row-gap:32px;
    }

    .single-product div.product .woocommerce-product-gallery{
        position:relative;
        top:auto;
        padding:20px;
    }

    .single-product .summary .product_title{
        font-size:2rem !important;
    }

    .single-product div.product .woocommerce-tabs{
        margin-top:40px !important;
        padding:28px 22px;
    }

    .single-product div.product .related.products{
        margin-top:56px;
    }

    .single-product .related.products > h2{
        font-size:2rem;
    }

    .single-product .related ul.products{
        grid-template-columns:repeat(2, 1fr) !important;
        gap:14px !important;
    }

}