
/* Respaldo inmediato: estilos esenciales aunque el tema no marque body.single-product. */
body:has(.woocommerce div.product) {
    background:#101113 !important;
    color:#F5F2EA !important;
    --f-bg:#101113; --f-card:#191B1F; --f-card2:#202329;
    --f-text:#F5F2EA; --f-muted:#A9ADB5; --f-gold:#C9A85B;
    --f-gold2:#E1C477; --f-line:#34373D;
}
body:has(.woocommerce div.product) #page,
body:has(.woocommerce div.product) .site,
body:has(.woocommerce div.product) .site-content,
body:has(.woocommerce div.product) main {
    background:#101113 !important;
    color:#F5F2EA !important;
}


/* FEGAT EVENT PRODUCT STYLE v1.0.3
   Misma identidad aprobada del Checkout/Carrito:
   bg #101113 | card #191B1F | card2 #202329
   text #F5F2EA | muted #A9ADB5 | gold #C9A85B | gold2 #E1C477
*/

body:is(.single-product,.fegat-product-page),
body:is(.single-product,.fegat-product-page) #page,
body:is(.single-product,.fegat-product-page) .site,
body:is(.single-product,.fegat-product-page) .site-content,
body:is(.single-product,.fegat-product-page) .content-area,
body:is(.single-product,.fegat-product-page) main,
body:is(.single-product,.fegat-product-page) .entry-content,
body:is(.single-product,.fegat-product-page) .wp-site-blocks {
    background:#101113 !important;
    color:#F5F2EA !important;
}
body:is(.single-product,.fegat-product-page) {
    --f-bg:#101113;
    --f-card:#191B1F;
    --f-card2:#202329;
    --f-text:#F5F2EA;
    --f-muted:#A9ADB5;
    --f-gold:#C9A85B;
    --f-gold2:#E1C477;
    --f-line:#34373D;
}

/* Contenedor principal */
body:is(.single-product,.fegat-product-page) div.product {
    max-width:1160px;
    margin:34px auto 0 !important;
    padding:0 22px 28px;
}

/* Breadcrumb */
body:is(.single-product,.fegat-product-page) .woocommerce-breadcrumb {
    max-width:1160px;
    margin:18px auto 8px !important;
    padding:0 22px;
    color:var(--f-muted) !important;
    font-size:13px;
}
body:is(.single-product,.fegat-product-page) .woocommerce-breadcrumb a {
    color:var(--f-muted) !important;
    text-decoration:none !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-breadcrumb a:hover { color:var(--f-gold2) !important; }

/* Imagen: protagonista, limpia, sin alterar la galería */
body:is(.single-product,.fegat-product-page) div.product div.images {
    width:46% !important;
    margin-bottom:34px !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-product-gallery__wrapper {
    background:var(--f-card) !important;
    border:1px solid var(--f-line) !important;
    border-radius:16px !important;
    padding:14px !important;
    box-shadow:0 18px 45px rgba(0,0,0,.30) !important;
    overflow:hidden;
}
body:is(.single-product,.fegat-product-page) .woocommerce-product-gallery__image img {
    width:100% !important;
    height:auto !important;
    border-radius:10px !important;
    display:block !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-product-gallery__trigger {
    background:var(--f-card2) !important;
    color:var(--f-text) !important;
    border:1px solid var(--f-line) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.25) !important;
}

/* Columna de compra */
body:is(.single-product,.fegat-product-page) div.product div.summary {
    width:49% !important;
    background:var(--f-card) !important;
    border:1px solid var(--f-line) !important;
    border-radius:16px !important;
    padding:30px 32px !important;
    box-sizing:border-box !important;
    box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
}
body:is(.single-product,.fegat-product-page) .product_title {
    color:var(--f-text) !important;
    font-size:clamp(32px,3vw,44px) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
    margin:0 0 14px !important;
    font-weight:750 !important;
}
body:is(.single-product,.fegat-product-page) div.product p.price,
body:is(.single-product,.fegat-product-page) div.product span.price {
    color:var(--f-gold2) !important;
    font-size:25px !important;
    font-weight:750 !important;
    margin:0 0 22px !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-product-details__short-description {
    color:var(--f-text) !important;
    line-height:1.65 !important;
    font-size:15px !important;
    margin-bottom:20px !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-product-details__short-description p,
body:is(.single-product,.fegat-product-page) .woocommerce-product-details__short-description strong {
    color:inherit !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-product-details__short-description strong {
    font-weight:700 !important;
}

/* Disponibilidad / stock */
body:is(.single-product,.fegat-product-page) .stock {
    color:var(--f-gold2) !important;
    font-weight:650 !important;
    margin:14px 0 !important;
}

/* Cantidad + CTA */
body:is(.single-product,.fegat-product-page) form.cart {
    display:flex !important;
    align-items:stretch !important;
    gap:10px !important;
    flex-wrap:wrap !important;
    margin:20px 0 22px !important;
}
body:is(.single-product,.fegat-product-page) form.cart .quantity .qty {
    min-height:50px !important;
    width:72px !important;
    background:var(--f-card2) !important;
    color:var(--f-text) !important;
    border:1px solid #41444B !important;
    border-radius:7px !important;
    font-size:16px !important;
}
body:is(.single-product,.fegat-product-page) form.cart .single_add_to_cart_button,
body:is(.single-product,.fegat-product-page) button.single_add_to_cart_button {
    min-height:50px !important;
    padding:0 26px !important;
    background:var(--f-gold) !important;
    color:#151515 !important;
    border:1px solid var(--f-gold) !important;
    border-radius:7px !important;
    font-weight:800 !important;
    font-size:15px !important;
    transition:transform .18s ease, background .18s ease, box-shadow .22s ease !important;
}
body:is(.single-product,.fegat-product-page) form.cart .single_add_to_cart_button:hover,
body:is(.single-product,.fegat-product-page) button.single_add_to_cart_button:hover {
    background:var(--f-gold2) !important;
    border-color:var(--f-gold2) !important;
    transform:translateY(-1px) !important;
    box-shadow:0 0 12px rgba(225,196,119,.52), 0 0 28px rgba(201,168,91,.30) !important;
}

/* Botones express: no se eliminan por código; si Stripe los quita, desaparecen solos.
   Mientras existan, se integran mejor visualmente. */
body:is(.single-product,.fegat-product-page) .wc-stripe-product-checkout-container,
body:is(.single-product,.fegat-product-page) .wc-stripe-product-checkout-container ul {
    margin-top:14px !important;
}
body:is(.single-product,.fegat-product-page) .wc-stripe-product-checkout-container button,
body:is(.single-product,.fegat-product-page) .wc-stripe-product-checkout-container iframe {
    border-radius:7px !important;
}

/* Meta menos protagonista */
body:is(.single-product,.fegat-product-page) .product_meta {
    border-top:1px solid var(--f-line) !important;
    margin-top:22px !important;
    padding-top:16px !important;
    color:var(--f-muted) !important;
    font-size:12px !important;
}
body:is(.single-product,.fegat-product-page) .product_meta a { color:var(--f-muted) !important; }
body:is(.single-product,.fegat-product-page) .product_meta a:hover { color:var(--f-gold2) !important; }

/* Pestañas inferiores */
body:is(.single-product,.fegat-product-page) .woocommerce-tabs {
    clear:both !important;
    max-width:1160px !important;
    margin:36px auto 0 !important;
    padding:0 22px 36px !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs {
    padding:0 !important;
    margin:0 0 0 !important;
    border-bottom:1px solid var(--f-line) !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs::before { border-bottom:0 !important; }
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li {
    background:var(--f-card) !important;
    border:1px solid var(--f-line) !important;
    border-bottom:0 !important;
    border-radius:8px 8px 0 0 !important;
    margin:0 6px 0 0 !important;
    padding:0 !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li::before,
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li::after { display:none !important; }
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li a {
    color:var(--f-muted) !important;
    padding:13px 18px !important;
    font-weight:650 !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li.active {
    background:var(--f-card2) !important;
    border-color:var(--f-gold) !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li.active a { color:var(--f-gold2) !important; }

body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel {
    background:var(--f-card) !important;
    color:var(--f-text) !important;
    border:1px solid var(--f-line) !important;
    border-top:0 !important;
    padding:28px !important;
    border-radius:0 0 14px 14px !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel h2,
body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel h3,
body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel p,
body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel li {
    color:var(--f-text) !important;
}
body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel a { color:var(--f-gold2) !important; }

/* Contenido general, mapas/embeds */
body:is(.single-product,.fegat-product-page) div.product iframe {
    max-width:100% !important;
    border-radius:10px !important;
}
body:is(.single-product,.fegat-product-page) .related.products,
body:is(.single-product,.fegat-product-page) .upsells.products {
    color:var(--f-text) !important;
}
body:is(.single-product,.fegat-product-page) .related.products h2,
body:is(.single-product,.fegat-product-page) .upsells.products h2 { color:var(--f-text) !important; }

/* Responsive */
@media (max-width: 820px) {
    body:is(.single-product,.fegat-product-page) div.product { padding:0 16px 24px !important; margin-top:18px !important; }
    body:is(.single-product,.fegat-product-page) div.product div.images,
    body:is(.single-product,.fegat-product-page) div.product div.summary {
        float:none !important;
        width:100% !important;
    }
    body:is(.single-product,.fegat-product-page) div.product div.summary {
        padding:24px 20px !important;
        margin-top:18px !important;
    }
    body:is(.single-product,.fegat-product-page) .product_title { font-size:32px !important; }
    body:is(.single-product,.fegat-product-page) .woocommerce-tabs { padding:0 16px 28px !important; margin-top:24px !important; }
    body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs {
        display:flex !important;
        gap:6px !important;
        overflow-x:auto !important;
        border-bottom:0 !important;
    }
    body:is(.single-product,.fegat-product-page) .woocommerce-tabs ul.tabs li {
        flex:0 0 auto !important;
        border-bottom:1px solid var(--f-line) !important;
        border-radius:8px !important;
    }
    body:is(.single-product,.fegat-product-page) .woocommerce-Tabs-panel {
        border-top:1px solid var(--f-line) !important;
        border-radius:12px !important;
        padding:20px !important;
        margin-top:10px !important;
    }
}

/* v1.0.4 — Tipo de entrada: mismo grafito/dorado Fegat */
body.single-product form.variations_form table.variations{width:100%!important;margin:18px 0 16px!important;border:0!important;background:transparent!important}
body.single-product form.variations_form table.variations tr{display:grid!important;grid-template-columns:155px minmax(0,1fr)!important;gap:16px!important;align-items:center!important}
body.single-product form.variations_form table.variations th.label,
body.single-product form.variations_form table.variations td.value{padding:0!important;border:0!important;background:transparent!important}
body.single-product form.variations_form table.variations th.label label{color:#F5F2EA!important;font-weight:700!important;font-size:15px!important}
body.single-product form.variations_form table.variations select{
width:100%!important;min-height:48px!important;padding:0 44px 0 16px!important;color:#F5F2EA!important;
background:#202329!important;border:1px solid rgba(201,168,91,.42)!important;border-radius:9px!important;
font-size:15px!important;font-weight:600!important;outline:none!important;box-shadow:none!important;cursor:pointer!important}
body.single-product form.variations_form table.variations select:hover,
body.single-product form.variations_form table.variations select:focus{
border-color:#C9A85B!important;background:#24272D!important;
box-shadow:0 0 0 3px rgba(201,168,91,.10),0 0 18px rgba(201,168,91,.10)!important}
body.single-product form.variations_form table.variations select option{color:#F5F2EA!important;background:#202329!important}
body.single-product form.variations_form .reset_variations{
display:inline-block!important;margin:9px 0 0!important;color:#C9A85B!important;background:transparent!important;
font-size:12px!important;font-weight:700!important;text-decoration:none!important;opacity:.9!important}
body.single-product form.variations_form .reset_variations:hover{color:#E1C477!important;opacity:1!important}
body.single-product .woocommerce-variation-price,
body.single-product .woocommerce-variation-price .price,
body.single-product .woocommerce-variation-price .amount{color:#E1C477!important;font-weight:800!important}
@media(max-width:600px){body.single-product form.variations_form table.variations tr{grid-template-columns:1fr!important;gap:8px!important}}


/* v1.0.5 — menú de variaciones 100% personalizado.
   Soluciona el menú blanco nativo del navegador. */
body.single-product .fegat-native-select {
    position:absolute !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:1px !important;
    height:1px !important;
}

body.single-product .fegat-vselect {
    position:relative !important;
    width:100% !important;
    font-family:inherit !important;
}

body.single-product .fegat-vselect-button {
    width:100% !important;
    min-height:48px !important;
    padding:0 46px 0 16px !important;
    text-align:left !important;
    color:#F5F2EA !important;
    background:#202329 !important;
    border:1px solid rgba(201,168,91,.48) !important;
    border-radius:8px !important;
    font-size:15px !important;
    font-weight:600 !important;
    cursor:pointer !important;
    position:relative !important;
    box-shadow:none !important;
}

body.single-product .fegat-vselect-button::after {
    content:"⌄";
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-55%);
    color:#C9A85B;
    font-size:18px;
}

body.single-product .fegat-vselect.is-open .fegat-vselect-button {
    border-color:#C9A85B !important;
    box-shadow:0 0 0 3px rgba(201,168,91,.10),0 0 18px rgba(201,168,91,.12) !important;
    border-radius:8px 8px 0 0 !important;
}

body.single-product .fegat-vselect-menu {
    display:none;
    position:absolute !important;
    z-index:99999 !important;
    left:0 !important;
    right:0 !important;
    top:calc(100% - 1px) !important;
    padding:6px !important;
    background:#191B1F !important;
    border:1px solid #C9A85B !important;
    border-top-color:rgba(201,168,91,.45) !important;
    border-radius:0 0 9px 9px !important;
    box-shadow:0 16px 30px rgba(0,0,0,.42) !important;
}

body.single-product .fegat-vselect.is-open .fegat-vselect-menu {
    display:block !important;
}

body.single-product .fegat-vselect-option {
    display:block !important;
    width:100% !important;
    padding:11px 12px !important;
    margin:0 !important;
    text-align:left !important;
    color:#F5F2EA !important;
    background:transparent !important;
    border:0 !important;
    border-radius:6px !important;
    font-size:15px !important;
    font-weight:600 !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

body.single-product .fegat-vselect-option:hover,
body.single-product .fegat-vselect-option.is-selected {
    color:#101113 !important;
    background:#C9A85B !important;
}

body.single-product form.variations_form .reset_variations {
    color:#C9A85B !important;
}


/* v1.0.6 — ÚNICAMENTE corrección de alineación del título */
body.single-product form.variations_form table.variations tr {
    align-items: start !important;
}
body.single-product form.variations_form table.variations th.label {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
}
body.single-product form.variations_form table.variations th.label label {
    margin: 0 !important;
    line-height: 1.2 !important;
}


/* v1.0.7 — SOLO corrige el desplazamiento horizontal en la página del producto.
   No cambia layout, variaciones, precios ni funcionamiento. */
html:has(body.single-product),
body.single-product,
body.fegat-product-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body:is(.single-product,.fegat-product-page) #page,
body:is(.single-product,.fegat-product-page) .site,
body:is(.single-product,.fegat-product-page) .site-content,
body:is(.single-product,.fegat-product-page) main,
body:is(.single-product,.fegat-product-page) .entry-content,
body:is(.single-product,.fegat-product-page) .woocommerce,
body:is(.single-product,.fegat-product-page) div.product {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Evita que medios o controles internos creen ancho extra */
body:is(.single-product,.fegat-product-page) img,
body:is(.single-product,.fegat-product-page) video,
body:is(.single-product,.fegat-product-page) iframe,
body:is(.single-product,.fegat-product-page) form,
body:is(.single-product,.fegat-product-page) table {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
