/*
 * PJ3D Theme v96 — TWEAKS (Cinematic Premium Overrides)
 * =====================================================
 * Extracted from frontend-tweaks.php (was ~1000 lines of inline <style>).
 * Now an external cacheable CSS file. LiteSpeed Cache will combine/minify.
 *
 * REMOVED: Duplicate :root (canonical lives in style.css)
 * REPLACED: Hardcoded z-index values with CSS custom property tokens
 * KEPT: All visual rules intact (Zero Visual Regression)
 */

/* 1. FORCE DARK MODE & TYPOGRAPHY */
/* :root REMOVED — uses canonical tokens from style.css */

body {
    background-color: var(--pj-bg) !important;
    color: var(--pj-text) !important;
}

/* 2. OVERRIDE ASTRA & LEGACY COLORS (Make.com compatibility) */
/* html body prefix beats WP Core's .has-white-background-color specificity */
html body .has-ast-global-color-0-background-color,
html body .has-ast-global-color-1-background-color,
html body .has-ast-global-color-2-background-color,
html body .has-ast-global-color-3-background-color,
html body .has-ast-global-color-4-background-color,
html body .has-ast-global-color-5-background-color,
html body .has-ast-global-color-6-background-color,
html body .has-ast-global-color-7-background-color,
html body .has-ast-global-color-8-background-color,
html body .has-white-background-color,
html body .has-background {
    background-color: transparent !important;
    /* Let body dark mode shine through */
    color: var(--pj-text) !important;
}

/* Exception: Keep some distinct backgrounds but make them dark grey */
html body .has-ast-global-color-4-background-color,
html body .has-ast-global-color-5-background-color {
    background-color: #0f0f0f !important;
    /* Slight contrast for sections */
}

/* 3. CINEMATIC HEADINGS */
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
    font-family: var(--font-heading) !important;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff !important;
}

/* 4. ADAPT WP-BLOCK-COVER (Hero Sections) */
.wp-block-cover {
    min-height: 60vh !important;
    border-radius: 0 !important;
    /* Sharp edges */
    margin-bottom: 4rem !important;
}

.wp-block-cover__inner-container {
    z-index: 10;
}

.wp-block-cover h2 {
    font-size: clamp(2rem, 5vw, 4rem) !important;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

/* Cinematic Gradient Overlay override */
.wp-block-cover__gradient-background {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), #050505) !important;
}

/* 5. ADAPT WP-BLOCK-COLUMNS (Grid Layouts) */
.wp-block-columns {
    gap: 2rem !important;
    margin-bottom: 4rem !important;
}

/* 6. WOOCOMMERCE PRODUCT BLOCKS & GRIDS */
.wc-block-grid__product,
ul.products li.product,
.wp-block-getwid-custom-post-type__post,
.wp-block-getwid-post-carousel__item,
.wc-block-product {
    background: transparent !important;
    border: 1px solid var(--pj-line);
    padding: 0 !important;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 0 !important;
    height: 100%;
    min-height: 100%;
}

.wc-block-grid__product:hover,
ul.products li.product:hover,
.wp-block-getwid-custom-post-type__post:hover,
.wp-block-getwid-post-carousel__item:hover,
.wc-block-product:hover {
    border-color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    z-index: 5;
}

/* --- IMAGE STANDARDIZATION (v19: Contain Mode + Collection Block Support) --- */
.wc-block-grid__product-image,
ul.products li.product a img,
.wp-block-getwid-template-post-featured-image,
.wc-block-components-product-image {
    background-color: #ffffff !important;
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.wc-block-grid__product-image img,
ul.products li.product a img,
.wp-block-getwid-template-post-featured-image img,
.wc-block-components-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    /* No cropping */
    border-radius: 0 !important;
    filter: none !important;
    background: transparent !important;
    margin: 0 !important;
    box-shadow: none !important;
    max-width: 100%;
    max-height: 100%;
}

/* --- TEXT CONTENT --- */
.wc-block-grid__product-title,
.woocommerce-loop-product__title,
.wp-block-getwid-template-post-title,
.wp-block-getwid-template-post-title a,
.wc-block-product .wp-block-post-title a {
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    color: #fff !important;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.25;
    text-align: center;
    margin: 0.8rem 0.5rem 0.5rem 0.5rem !important;
    flex-grow: 1;

    /* Strict Clamping */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.5em;
}

/* --- META & PRICES --- */
.wc-block-grid__product-price,
.price,
.wc-block-components-product-price {
    font-family: var(--font-body) !important;
    color: #ccc !important;
    font-size: 0.85rem !important;
    text-align: center;
    margin-bottom: 0.8rem !important;
    display: block;
    margin-top: auto;
}

/* Add to Cart Buttons */
.wp-block-button__link,
.button,
.added_to_cart,
.wc-block-components-product-button .wp-block-button__link {
    border-radius: 0 !important;
    background: transparent !important;
    border: 1px solid #fff !important;
    color: #fff !important;
    text-transform: uppercase;
    font-size: 0.7rem !important;
    padding: 0.5rem 1rem !important;
    transition: all 0.3s ease;
    margin: 0 auto 1.2rem auto !important;
    display: inline-block;
}

.wp-block-button__link:hover,
.button:hover,
.wc-block-components-product-button .wp-block-button__link:hover {
    background: #fff !important;
    color: #000 !important;
}

/* 7. GETWID GRID FIXES */
.wp-block-getwid-custom-post-type__wrapper:not(.slick-slider) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.5rem;
}

/* 8. CAROUSEL FIXES (Slick Slider) */
.slick-slide {
    height: auto !important;
    margin: 0 10px;
    display: block;
}

.slick-slide>div,
.slick-slide .wp-block-getwid-custom-post-type__post {
    width: 100% !important;
}

.slick-slide img {
    display: block !important;
    opacity: 1 !important;
    width: 100% !important;
}

/* v19: Carousel Arrows - Cinematic Style */
.slick-prev,
.slick-next {
    z-index: var(--z-sticky);
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 0 !important;
    transition: all 0.3s ease;
}

.slick-prev:hover,
.slick-next:hover {
    background: #fff !important;
    color: #000 !important;
}

.slick-prev:before,
.slick-next:before {
    font-family: inherit !important;
    color: #fff !important;
    font-size: 20px;
    opacity: 1 !important;
}

.slick-prev:before {
    content: '<';
}

.slick-next:before {
    content: '>';
}


/* 9. TABLE FIXES (Comparator) */
table,
th,
td {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(0, 0, 0, 0.5) !important;
    color: #fff !important;
}

th {
    background: #111 !important;
    text-transform: uppercase;
}

/* Comparator Images Fix (v36) */
.comparador-productos-activo .comparador-tabla img {
    object-fit: contain !important;
    aspect-ratio: 1 / 1 !important;
    background-color: #fff !important;
    border-color: #fff !important;
    border-width: 60px !important;
    /* User requested 60px border/padding effect */
    width: 100% !important;
    height: auto !important;
}

/* 10. LAYOUT UTILITIES - THE BREAKOUT FIX (v19) */

/* The main container classes (applied to body or wrapper) */
.container.container-full {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--wp--preset--spacing--20, 20px) !important;
    padding-right: var(--wp--preset--spacing--20, 20px) !important;
    box-sizing: border-box !important;
}

.container-wide {
    max-width: 1400px !important;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.container-narrow {
    max-width: 800px !important;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Breakout logic for children of constrained containers */
.container-narrow .alignfull,
.container-wide .alignfull,
.container.container-full .alignfull,
.entry-content .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* v23: PREVENT "DOUBLE BREAKOUT" for Nested Alignfull Elements */
.alignfull .alignfull:not(.wp-block-getwid-custom-post-type),
.wp-block-columns.alignfull .wp-block-column .alignfull:not(.wp-block-getwid-custom-post-type) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Constrain alignwide content mostly, but allow carousel wrapper full width */
.alignwide .wp-block-getwid-post-carousel__wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

.wp-block-getwid-post-carousel__wrapper {
    width: 100% !important;
}

/* v28: USER-DEFINED LAYOUT & CINEMATIC CARDS */

/* 1. THE WRAPPER (The Row) */
.wp-block-getwid-custom-post-type__wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    /* User's "Golden" Breakout Logic */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: var(--wp--preset--spacing--40, 1rem) !important;
    padding-bottom: var(--wp--preset--spacing--40, 1rem) !important;
    box-sizing: border-box !important;
}

/* 2. THE CARD (The Item) */
.wp-block-getwid-custom-post-type__post {
    flex: 1 0 0 !important;
    /* Grow evenly */
    min-width: 300px !important;
    display: grid !important;
    grid-template-areas: "stack" !important;
    position: relative !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: transform 0.3s ease;
    margin: 0 !important;
    /* wrapper gap handles spacing */
    height: auto !important;
    min-height: 70vh !important;
    /* v29: Increased to 70vh */
}

.wp-block-getwid-custom-post-type__post:hover {
    transform: translateY(-5px);
    border-color: #fff;
}

/* 3. BACKGROUND IMAGE (Full Cover) */
.wp-block-getwid-custom-post-type__post .wp-block-getwid-template-post-featured-background-image {
    grid-area: stack;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: var(--z-base);
}

.wp-block-getwid-template-post-featured-background-image__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute;
    top: 0;
    left: 0;
    filter: brightness(0.7);
    /* Darken for text contrast */
}

/* 4. CONTENT OVERLAY (Bottom Aligned) */
.wp-block-getwid-template-post-featured-background-image__content {
    grid-area: stack;
    z-index: 10;
    align-self: end !important;
    /* Bottom */
    justify-self: center !important;
    /* Center horizontally */
    width: 100% !important;
    padding: 3rem 1.5rem !important;
    text-align: center !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95), transparent) !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}

/* Text Styles inside Overlay */
.wp-block-getwid-custom-post-type__post h2,
.wp-block-getwid-template-post-title a {
    font-family: var(--font-heading, "Unbounded", sans-serif) !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    margin-bottom: 1rem !important;
}

/* 11. NAVIGATION MENU FIXES - v48 MOBILE/TABLET & SEO */

/* 1. RESET EVERYTHING */
nav ul,
nav ol,
nav li,
.nav-center ul,
.nav-center-ul,
.pj3d-menu-ul,
.pj3d-menu-ul ul,
.sub-menu,
.menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* DESKTOP (Above 1024px) */
@media (min-width: 1025px) {
    .menu-toggle {
        display: none !important;
    }

    .nav-center {
        display: block !important;
    }

    /* TOP LEVEL CONTAINER (SINGLE LINE FORCE) */
    .nav-center>div>ul,
    ul.nav-center-ul,
    nav.nav-bar .nav-center ul {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
        z-index: var(--z-sticky) !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* TOP LEVEL ITEMS (COMPACT) */
    .nav-center-ul>li,
    .pj3d-menu-ul>li {
        position: relative !important;
        display: block !important;
        flex: 0 0 auto !important;
    }

    .nav-center-ul>li>a {
        font-family: var(--font-body) !important;
        font-size: 0.75rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em !important;
        color: var(--pj-text) !important;
        text-decoration: none !important;
        display: block !important;
        padding: 0.8rem 0.4rem !important;
        white-space: nowrap !important;
    }

    /* SUB-MENUS */
    .nav-center-ul li ul.sub-menu,
    .pj3d-menu-ul li ul.sub-menu,
    .menu-item-has-children>ul {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        min-width: 240px !important;
        background: rgba(10, 10, 10, 0.98) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        backdrop-filter: blur(12px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(10px) !important;
        transition: all 0.2s ease !important;
        z-index: var(--z-max) !important;
        padding: 0.5rem 0 !important;
        display: block !important;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6) !important;
        border-radius: 4px !important;
    }

    .nav-center-ul li:hover>ul.sub-menu,
    .pj3d-menu-ul li:hover>ul.sub-menu,
    .menu-item-has-children:hover>ul {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .nav-center-ul li ul.sub-menu li a,
    .pj3d-menu-ul li ul.sub-menu li a {
        font-family: var(--font-body) !important;
        font-size: 0.8rem !important;
        padding: 0.6rem 1.2rem !important;
        color: #ccc !important;
        text-transform: none !important;
        display: block !important;
        font-weight: 500 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .nav-center-ul li ul.sub-menu li:hover>a {
        background: rgba(255, 255, 255, 0.05) !important;
        color: #fff !important;
        padding-left: 1.5rem !important;
    }

    /* ARROWS */
    .nav-center-ul>li.menu-item-has-children>a::after {
        content: '' !important;
        display: inline-block !important;
        width: 0 !important;
        height: 0 !important;
        border-left: 3px solid transparent !important;
        border-right: 3px solid transparent !important;
        border-top: 3px solid var(--pj-text-muted) !important;
        margin-left: 4px !important;
        vertical-align: middle !important;
    }

    .nav-center-ul>li.menu-item-has-children:hover>a::after {
        border-top-color: var(--pj-accent) !important;
        transform: rotate(180deg) !important;
    }
}

/* TABLET & MOBILE (1024px and below) */
@media (max-width: 1024px) {
    .nav-center {
        display: none !important;
    }

    .menu-toggle {
        display: block !important;
        background: none !important;
        border: none !important;
        color: #fff !important;
        font-family: var(--font-heading) !important;
        font-size: 1rem !important;
        cursor: pointer !important;
        padding: 10px !important;
        z-index: 200 !important;
    }

    /* Overlay Items */
    .mobile-nav-overlay .pj3d-menu-ul,
    .mobile-nav-overlay .mobile-menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 1.5rem !important;
        width: 100% !important;
    }

    .mobile-nav-overlay .pj3d-menu-ul li,
    .mobile-nav-overlay .mobile-menu li {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }

    .mobile-nav-overlay .pj3d-menu-ul li a,
    .mobile-nav-overlay .mobile-menu li a {
        font-family: var(--font-heading) !important;
        font-size: 1.5rem !important;
        color: #fff !important;
        text-transform: uppercase !important;
    }

    /* Mobile Submenus */
    .mobile-nav-overlay .pj3d-menu-ul .sub-menu,
    .mobile-nav-overlay .mobile-menu .sub-menu {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        transform: none !important;
        padding-left: 0 !important;
        border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
        margin-left: 20px !important;
        display: block !important;
    }

    .mobile-nav-overlay .pj3d-menu-ul .sub-menu li a,
    .mobile-nav-overlay .mobile-menu .sub-menu li a {
        font-size: 1rem !important;
        color: #ccc !important;
        padding: 0.5rem 0 !important;
    }
}

/* 14. SEO FIX: HIDE DEFAULT TITLE IF COVER BLOCK PRESENT */
body.page .entry-title,
body.page .entry-header,
body.home .entry-title,
body.home .entry-header {
    display: none !important;
}

/* 12. V21 CRITICAL FIXES (Images, Titles, Breakouts) */

/* Force Object Contain on Woo Product Collection - High Specificity */
html body .wc-block-components-product-image img,
html body .wc-block-grid__product-image img {
    object-fit: contain !important;
    background-color: #fff !important;
    width: 100% !important;
    height: 100% !important;
}

/* Force Title Size & Clamping on ALL Product Grids */
html body .wc-block-grid__product-title,
html body .wc-block-product-category .wc-block-grid__product-title,
html body .wc-block-product-category__title,
html body .wc-block-product-categories-list-item__name,
.wp-block-post-title a {
    font-size: 0.85rem !important;
    line-height: 1.3 !important;
    color: #fff !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-align: center !important;
    margin-top: 0.5rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

/* 13. V30 SHOP POLISH (User Requests) */

/* A) HEADER OVERLAP FIX */
body.archive.woocommerce,
body.tax-product_cat,
body.post-type-archive-product {
    padding-top: 100px !important;
}

/* B) UNIFORM PRODUCT IMAGES (White BG, Contain, Square) */
ul.products li.product a img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background-color: #ffffff !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Ensure the container is also constrained */
ul.products li.product a,
.wc-block-grid__product-image {
    display: block !important;
    overflow: hidden !important;
}

/* C) PRODUCT TITLES (Max 2 lines, Smaller Font) */
.woocommerce-loop-product__title,
.wc-block-grid__product-title,
ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    height: 2.4em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* D) BADGES (Corrected v32 - Final Colors) */

/* 1. SALE Badge -> RIGHT, DEEP ORANGE */
.onsale,
.wc-block-grid__product-onsale,
span.onsale {
    background-color: #FF5722 !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    padding: 0.3rem 0.6rem !important;
    border-radius: 0 !important;

    /* Position RIGHT */
    top: 0 !important;
    right: 0 !important;
    left: auto !important;

    line-height: 1 !important;
    min-height: auto !important;
    min-width: auto !important;
    z-index: 20 !important;
    display: block !important;
    width: auto !important;
}

/* 2. NEW Badge -> LEFT, HIGH CONTRAST (v34) */
.ast-new-badge,
.uagb-new-badge,
.new-badge,
.product-badge.new,
.wcz-new-product-badge,
div.wcz-new-product-badge {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000 !important;
    font-family: var(--font-body) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    padding: 0.3rem 0.6rem !important;
    border-radius: 0 !important;

    /* Position LEFT */
    top: 0 !important;
    left: 0 !important;
    right: auto !important;

    position: absolute !important;
    z-index: 50 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for inner span text color */
.wcz-new-product-badge span,
div.wcz-new-product-badge span {
    color: #000000 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* B & C) CONTENT VISIBILITY RECOVERY (v32) */

/* 1. The Container (Li) */
ul.products li.product,
.wc-block-grid__product {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 2rem !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* 2. The Link Wrapper (Often wraps Image + Title) */
ul.products li.product a,
.wc-block-grid__product-link {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    height: auto !important;
    flex-grow: 1;
    color: #fff !important;
}

/* 3. The Image */
ul.products li.product a img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    background-color: #ffffff !important;
    margin: 0 0 1rem 0 !important;
    padding: 10px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    position: relative !important;
    z-index: var(--z-base) !important;
}

/* 4. The Title (Visible, Lower Z, White) */
.woocommerce-loop-product__title,
.wc-block-grid__product-title,
ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    line-height: 1.3 !important;
    min-height: 2.6em !important;
    max-height: 2.6em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin: 0 auto 0.5rem auto !important;
    color: #ffffff !important;
    text-align: center !important;
    z-index: 5 !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 0.5rem !important;
}

/* 5. The Price */
.price,
.wc-block-grid__product-price {
    color: #cccccc !important;
    font-size: 0.9rem !important;
    margin: 0 auto 1rem auto !important;
    display: block !important;
    text-align: center !important;
    z-index: 5 !important;
    position: relative !important;
    background: transparent !important;
}

/* 6. The Button (Add to Cart / External) - SCOPED & COMPACT (v34) */
ul.products li.product .button,
ul.products li.product .added_to_cart,
.wc-block-grid__product .wp-block-button__link {
    margin: 0 auto !important;
    display: inline-block !important;
    position: relative !important;
    z-index: 10 !important;
    visibility: visible !important;
    opacity: 1 !important;

    /* v34: Strict Size Constraints */
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 90% !important;

    /* Compact Look */
    padding: 8px 16px !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    height: auto !important;

    background: transparent !important;
    border: 1px solid #fff !important;
    color: #fff !important;
    text-transform: uppercase !important;
}

ul.products li.product .button:hover,
.wc-block-grid__product .wp-block-button__link:hover {
    background: #fff !important;
    color: #000 !important;
}



/* E) CATEGORY THUMBNAILS (Cinematic Card Style) - FIXED v34 */

/* High specificity to win over generic product styles */
body ul.products li.product.product-category a,
body .woocommerce ul.products li.product.product-category a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: #000 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Target the Category Image SPECIFICALLY to override generic product padding */
body ul.products li.product.product-category a img,
body .woocommerce ul.products li.product.product-category a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    opacity: 0.6 !important;
    transition: transform 0.6s ease !important;
    transform-origin: center center !important;
    border-radius: 0 !important;
}

/* Hover Zoom Effect on Image ONLY */
body ul.products li.product.product-category a:hover img,
body .woocommerce ul.products li.product.product-category a:hover img {
    transform: scale(1.1) !important;
    opacity: 0.4 !important;
}

ul.products li.product-category .woocommerce-loop-category__title {
    position: absolute !important;
    z-index: 20 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    text-align: center !important;
    width: 100% !important;
    padding: 1rem !important;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.8) !important;
    background: transparent !important;
}

/* Remove count badge styling */
ul.products li.product-category .count {
    display: none !important;
}

ul.products li.product-category:hover .count {
    opacity: 0;
}

/* 14. FOOTER LEGAL MENU (v40) */
.footer-legal-menu ul {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 1.5rem !important;
}

.footer-legal-menu ul li {
    margin: 0 !important;
    padding: 0 !important;
}

.footer-legal-menu ul li a {
    color: var(--pj-text-muted) !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    transition: color 0.3s ease;
}

.footer-legal-menu ul li a:hover {
    color: #fff !important;
}

/* 15. MOBILE PERFORMANCE: Disable Parallax (v96 — migrated from functions.php inline) */
/* Fixes massive 24s LCP issue caused by wp-block-cover has-parallax on mobile */
@media (max-width: 768px) {
    .wp-block-cover.has-parallax {
        background-attachment: scroll !important;
        background-position: center top !important;
    }
}

/* 16. CUSTOMIZER RULES (v96: Migrated from Apariencia → CSS adicional) */
/* These were in the WP Customizer for v95 and don't carry over on theme switch */

/* Fix Jetpack Subscribe floating button position */
body > div.jetpack-subscribe-floating-button > div {
    margin-bottom: -15px !important;
}

/* Fix home cover block buttons margin (post 5162 = front page) */
#post-5162 > div > div.wp-block-cover.alignfull.has-parallax.cab-mix-blend-mode > div.wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow > div.wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-c7783668.wp-block-buttons-is-layout-flex {
    margin-top: -0.9rem !important;
}

/* Fix home cover block h1 sizing and spacing (post 5162 = front page) */
#post-5162 > div > div.wp-block-cover.alignfull.has-parallax.cab-mix-blend-mode > div.wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow > h1 {
    font-size: 1.8em;
    margin-top: 5rem !important;
    margin-bottom: 0.9rem !important;
}

