/*
Theme Name: TTS Ultimo Neo
Theme URI: https://tutiendasexy.com
Description: A high-performance, ultra-lean reimagining of the classic Magento Ultimo layout, rebuilt from scratch exclusively for WooCommerce data-metered mobile connections.
Version: 1.1.0
Author: Daniel Martinez (with Gemini assistance)
Text Domain: tts-neo-ultimo
*/

/* === PART 1 START === */

/* Custom Visual Variables matching your notepad style profile */
:root {
    --ultimo-turquoise: #08c0c4;
    --ultimo-magenta: #d81b60;
    --ultimo-hover: #c2185b;
    --dark-nav-bg: #151515;
    --light-gray-bg: #f5f5f7;
    --text-primary: #333333;
    --text-muted: #777777;
    --border-light: #e6e6e8;
    
    /* Typographic stack tokens referencing your local assets */
    --font-heading: 'Nexa Light', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-body: 'Avenir LT STD Roman', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Local Font Registry Mapping Rules */
@font-face {
    font-family: 'Nexa Light';
    src: url('fonts/nexa-light.woff2') format('woff2'),
         url('fonts/nexa-light.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT STD Roman';
    src: url('fonts/avenir-roman.woff2') format('woff2'),
         url('fonts/avenir-roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Optimization Core Resets */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--text-primary);
    background-color: #ffffff;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

/* Applied Nexa Light Bold Heading Rules (18px Desktop) */
h1, h2, h3, h4, .section-heading-title {
    font-family: var(--font-heading);
    font-weight: bold;
    font-size: 18px;
    text-transform: uppercase;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease-in-out;
}
a:hover { color: var(--ultimo-turquoise); }
img { max-width: 100%; height: auto; display: block; }

.container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }

@media (max-width: 992px) {
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    h1, h2, h3, h4, .section-heading-title { font-size: 16px; }
}
@media (max-width: 480px) {
    .grid-4 { grid-template-columns: 1fr; }
}
/* === PART 1 END === */
/* === PART 2 START === */

/* Top Utility Header Ribbon Row */
.top-bar {
    background-color: var(--light-gray-bg);
    border-bottom: 1px solid var(--border-light);
    font-size: 12px;
    color: var(--text-muted);
    padding: 8px 0;
}
.top-bar-inner { display: flex; justify-content: flex-end; gap: 20px; }

.main-header { padding: 25px 0; display: flex; align-items: center; justify-content: space-between; }
.logo img { max-height: 55px; }

.search-box form {
    display: flex;
    width: 450px;
    border: 2px solid var(--border-light);
    border-radius: 4px;
    overflow: hidden;
}
.search-box input[type="text"] { font-family: var(--font-body); flex-grow: 1; border: none; padding: 10px 15px; outline: none; }
.search-box button { background-color: var(--ultimo-magenta); border: none; color: #ffffff; padding: 0 20px; cursor: pointer; transition: background-color 0.25s ease; }
.search-box button:hover { background-color: var(--ultimo-hover); }

.header-cart { font-weight: 600; font-size: 14px; }
.cart-contents:hover { color: var(--ultimo-turquoise); }
.cart-icon { color: var(--ultimo-turquoise); font-size: 18px; margin-right: 5px; }

/* Premium Horizontal Navigation Bar with requested CSS Gradients */
.nav-bar {
    background: #252525;
    background: linear-gradient(to bottom, #2c2c2c 0%, #111111 100%);
    position: relative;
    z-index: 99;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}
.nav-container-flex { display: flex; justify-content: space-between; align-items: center; }

.nav-menu { display: flex; list-style: none; margin: 0; padding: 0; }
.nav-menu li { position: relative !important; }

/* Dynamic gray border bar underneath active navigation elements */
.nav-menu > li::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #444444;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}
.nav-menu > li:hover::after { transform: scaleX(1); }

.nav-menu a {
    display: block;
    padding: 15px 22px;
    text-transform: uppercase;
    font-family: var(--font-heading);
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 0.5px;
    color: #ffffff;
    transition: background-color 0.25s ease, color 0.25s ease;
}

/* Hover color adjustments (Turquoise) */
.nav-menu > li:hover > a {
    background-color: var(--ultimo-turquoise);
    color: #ffffff !important;
}

.arrow-down-indicator { font-size: 10px; margin-left: 5px; color: rgba(255,255,255,0.6); }
.hamburger-btn { display: none; background: transparent; border: none; cursor: pointer; flex-direction: column; gap: 5px; }
.hamburger-btn .bar { width: 25px; height: 3px; background-color: #ffffff; display: block; }

/* Native Touch Carousel Sliders Scaffolding */
.lean-slider-wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; }
.lean-slider-wrapper::-webkit-scrollbar { display: none; }
.slide-item { flex: 0 0 100%; scroll-snap-align: start; }

/* Carousel Side Navigation Button Hover Transitions Override */
.container button[onclick] {
    background-color: var(--dark-nav-bg) !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: bold !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
    transition: background-color 0.25s ease-in-out, transform 0.25s ease-in-out !important;
}
.container button[onclick]:hover {
    background-color: var(--ultimo-turquoise) !important;
    transform: scale(1.1);
}

/* High-Performance Card Ingestion Layout Blueprint (Turquoise to Magenta Hover Action) */
.ultimo-product-card { background: #ffffff; border: 1px solid var(--border-light); padding: 15px; display: flex; flex-direction: column; justify-content: space-between; text-align: center; position: relative; }
.ultimo-product-card:hover { box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
.ultimo-product-title { font-family: var(--font-body); font-size: 13px; margin: 10px 0 5px 0; color: var(--text-primary); font-weight: normal; }
.ultimo-product-price { font-family: var(--font-heading); font-size: 16px; font-weight: bold; color: var(--ultimo-magenta); margin-bottom: 12px; }

/* Dynamic Brand CTA buttons (Initial: Turquoise -> Hover: Magenta) with smooth transition spacing */
.ultimo-cta-btn {
    background-color: var(--ultimo-turquoise);
    color: #ffffff;
    padding: 10px;
    border-radius: 3px;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold;
    display: block;
    transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
}
.ultimo-cta-btn:hover { background-color: var(--ultimo-magenta); color: #ffffff; }

/* Specialized High-Performance WhatsApp Float Button Integration */
.ultimo-whatsapp-btn {
    background-color: #25d366;
    color: #ffffff;
    padding: 8px;
    border-radius: 3px;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 8px;
    transition: background-color 0.25s ease;
}
.ultimo-whatsapp-btn:hover { background-color: #20ba5a; color: #ffffff; }

/* FIXED ACTION: Standardized button group block forcing clean, tight 6px consistent vertical separation gaps */
.ultimo-action-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    margin-top: auto !important;
}
.ultimo-whatsapp-btn { margin-top: 0 !important; }
/* === PART 2 END === */

/* === PART 3 START === */

/* Custom Two-Column Cart & Checkout Workspace Grids */
.woocommerce-cart .woocommerce, 
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 40px !important;
    align-items: start !important;
    margin-top: 20px;
    width: 100%;
}

/* Left Runway Content Area Resets */
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
}

/* Right Sticky Calculations Summary Box Sidebar */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review, 
.woocommerce-checkout #order_review_heading {
    width: 100% !important;
    float: none !important;
    background: #ffffff;
    border: 1px solid var(--border-light);
    padding: 25px;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}

.woocommerce-checkout #order_review_heading {
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    margin: 0 !important;
    padding-bottom: 0;
}

.woocommerce-checkout #order_review {
    border-top: none;
    border-radius: 0 0 4px 4px;
}

/* Form Inputs Visual Details Overrides */
.woocommerce table.shop_table {
    border-radius: 4px !important;
    background: #ffffff;
}

.woocommerce .cart-collaterals .cart_totals h2,
#order_review_heading {
    font-family: var(--font-heading) !important;
    font-weight: bold !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    color: var(--dark-nav-bg);
    border-bottom: 2px solid var(--dark-nav-bg);
    padding-bottom: 8px;
    margin-bottom: 20px !important;
}

/* Form Action Buttons Styles (Initial: Turquoise -> Hover: Magenta) */
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button {
    background-color: var(--ultimo-turquoise) !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    padding: 12px 20px !important;
    transition: background-color 0.25s ease-in-out !important;
}

.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover {
    background-color: var(--ultimo-magenta) !important;
}

/* Dynamic Mini-Cart Dropdown Framework Panel */
.tts-hover-cart-wrapper {
    padding: 10px 0;
}

/* FIXED ACTION: Forces the dynamic dropdown cart to hide completely by default on page load */
.tts-mini-cart-dropdown {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    width: 260px !important;
    background: #ffffff !important;
    border: 1px solid var(--border-light) !important;
    border-top: 3px solid var(--ultimo-turquoise) !important;
    border-radius: 0 0 4px 4px !important;
    padding: 15px !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12) !important;
    z-index: 9999 !important;
    display: none !important; /* Forces the box hidden until triggered */
}

/* FIXED ACTION: Activates the hover dropdown view container block strictly on desktop viewports */
@media (min-width: 913px) {
    .tts-hover-cart-wrapper:hover .tts-mini-cart-dropdown {
        display: block !important;
    }
}

/* Custom scrollbar adjustments for mini cart view list wrapper */
.mini-cart-items-list::-webkit-scrollbar {
    width: 4px;
}
.mini-cart-items-list::-webkit-scrollbar-thumb {
    background-color: var(--border-light);
    border-radius: 4px;
}

/* ==========================================================================
   PREMIUM HIGH-PRIORITY FOOTER ARCHITECTURE MATRIX
   ========================================================================== */

/* FIXED: Explicitly forces the gray container-bounded deck background onto the screen */
body .site-footer-wrapper,
.site-footer-wrapper { 
    background-color: var(--light-gray-bg) !important; 
    padding: 40px 0 20px 0 !important; 
    border-top: 1px solid var(--border-light) !important; 
    width: 100% !important; 
    display: block !important;
    clear: both !important;
}

/* FIXED: Re-enforces the pristine 4-column white row container layout spacing */
body .pre-footer-white-row,
.site-footer-wrapper .pre-footer-white-row,
.pre-footer-white-row { 
    background: #ffffff !important; 
    border: 1px solid var(--border-light) !important; 
    border-radius: 4px !important; 
    padding: 30px !important; 
    display: grid !important; 
    grid-template-columns: repeat(4, 1fr) !important; 
    gap: 25px !important; 
    margin-bottom: 30px !important; 
    width: 100% !important; 
    box-sizing: border-box !important;
}

.pre-footer-widget-col h4 { 
    font-family: var(--font-heading) !important; 
    font-size: 14px !important; 
    font-weight: bold !important; 
    margin-bottom: 15px !important; 
    color: var(--dark-nav-bg) !important; 
    border-bottom: 2px solid var(--border-light) !important; 
    padding-bottom: 6px !important; 
    text-transform: uppercase !important;
}

/* FIXED: Aligns your copyright blocks and 2-column segments on desktop */
body .actual-footer-contained-row,
.actual-footer-contained-row { 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    padding-top: 20px !important; 
    border-top: 1px solid var(--border-light) !important; 
    width: 100% !important; 
    font-size: 12px !important; 
    color: var(--text-muted) !important; 
}

body .footer-payment-badges,
.footer-payment-badges { 
    display: flex !important; 
    flex-wrap: wrap !important; 
    gap: 18px !important; 
    align-items: center !important; 
    justify-content: flex-end !important; 
    flex: 0 1 auto !important; 
}


/* ==========================================================================
   SECTION 1 SCAFFOLD STRUCTURE (HERO SLIDER & BLACK BOX ARROWS)
   ========================================================================== */

.hero-grid-scaffold { 
    display: grid !important; 
    grid-template-columns: 1fr 280px !important; 
    gap: 20px !important; 
    padding: 25px 0 !important; 
    position: relative !important;
    width: 100% !important;
}

.hero-slider-window { 
    position: relative !important; 
    height: 380px !important; 
    display: flex !important; 
    align-items: center !important; 
    border-radius: 4px !important; 
    overflow: hidden !important; 
    border: 1px solid var(--border-light) !important; 
    background: #ffffff !important; 
    width: 100% !important; 
}

/* FIXED ACTION: Explicitly overrides WooCommerce selectors to restore your clean black box nav arrow styles */
body .hero-nav-arrow,
.hero-slider-window button.hero-nav-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 36px !important;
    height: 34px !important;
    font-size: 20px !important;
    background-color: #000000 !important; /* Pure matte black box background */
    color: #ffffff !important; /* Sharp contrast arrow elements */
    border: none !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    transition: background-color 0.25s ease !important;
}

body .hero-nav-arrow:hover,
.hero-slider-window button.hero-nav-arrow:hover {
    background-color: var(--ultimo-turquoise) !important; /* Smooth branding turquoise fade on cursor contact */
}

body .arrow-left { left: 15px !important; }
body .arrow-right { right: 15px !important; }

.hero-promo-stack { display: flex !important; flex-direction: column !important; gap: 10px !important; height: 380px !important; justify-content: space-between !important; width: 280px !important; flex-shrink: 0 !important; }
.hero-promo-card { background: #ffffff !important; border: 1px solid var(--border-light) !important; border-radius: 4px !important; overflow: hidden !important; height: 120px !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; }
.hero-promo-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* ==========================================================================
   PRODUCT ARCHIVE ACCORDION SIDEBAR GRID RULES
   ========================================================================== */

/* FIXED: Re-enforces desktop side-by-side distribution parameters */
.archive-scaffold { 
    display: grid !important; 
    grid-template-columns: 240px 1fr !important; 
    gap: 30px !important; 
    padding: 30px 0 !important; 
    width: 100% !important; 
}

/* FIXED ACTION: Forces proper alignment and vertical padding layout hierarchy on the category sidebar lists */
body .sidebar-filter-tree,
.sidebar-filter-tree {
    display: block !important;
    background: #ffffff !important;
    border: 1px solid var(--border-light) !important;
    padding: 20px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

body .sidebar-filter-tree h3 { 
    font-family: var(--font-heading) !important; 
    font-size: 15px !important; 
    text-transform: uppercase !important; 
    border-bottom: 2px solid var(--dark-nav-bg) !important; 
    padding-bottom: 8px !important; 
    margin: 0 0 15px 0 !important; 
    color: var(--dark-nav-bg) !important;
}

body .sidebar-filter-tree ul,
.sidebar-filter-tree ul { 
    list-style: none !important; 
    margin: 0 !important;
    padding: 0 !important;
}

body .sidebar-filter-tree li,
.sidebar-filter-tree li { 
    padding: 10px 0 !important; 
    border-bottom: 1px solid var(--border-light) !important; 
    font-size: 14px !important; 
    line-height: 1.4 !important;
}

body .sidebar-filter-tree li:last-child {
    border-bottom: none !important;
}

/* Restores layout parameters to nested list sub-categories */
body .sidebar-filter-tree ul.tts-child-list,
.sidebar-filter-tree .tts-child-list {
    margin-top: 8px !important;
    padding-left: 15px !important;
    border-left: 1px solid var(--border-light) !important;
}

body .sidebar-filter-tree ul.tts-child-list li,
.sidebar-filter-tree .tts-child-list li {
    padding: 6px 0 !important;
    border-bottom: none !important;
    font-size: 13px !important;
}

/* ==========================================================================
   PREMIUM HIGH-PRIORITY INTEGRATED PAGINATION RULES
   ========================================================================== */

/* FIXED ACTION: Overrides default plugin styles to re-enforce your squared box layout profile */
body .ultimo-pagination-wrap .page-numbers,
.ultimo-pagination-wrap a.page-numbers,
.ultimo-pagination-wrap span.page-numbers {
    display: inline-block !important;
    padding: 8px 14px !important;
    margin: 0 4px !important;
    background: #ffffff !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border-radius: 3px !important; /* Clean, crisp squared block profile */
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
}

/* Forces active selection numbers to highlight using your branding turquoise color token */
body .ultimo-pagination-wrap .page-numbers.current,
.ultimo-pagination-wrap span.page-numbers.current {
    background-color: var(--ultimo-turquoise) !important;
    border-color: var(--ultimo-turquoise) !important;
    color: #ffffff !important;
}

/* Re-anchors active hover transition states to morph smoothly into branding magenta color borders */
body .ultimo-pagination-wrap .page-numbers:hover:not(.current),
.ultimo-pagination-wrap a.page-numbers:hover:not(.current) {
    border-color: var(--ultimo-magenta) !important;
    color: var(--ultimo-magenta) !important;
    background-color: #ffffff !important;
}

/* ==========================================================================
   CART & CHECKOUT MASTER TWO-COLUMN GRID ARCHITECTURE
   ========================================================================== */

/* FIXED: Re-enforces the side-by-side split design for both primary workflow screens */
.woocommerce-cart .woocommerce, 
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 40px !important;
    align-items: start !important;
    margin-top: 20px !important;
    width: 100% !important;
}

/* Strips conflicting default floating metrics from the main left runway sections */
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
}

/* ==========================================================================
   STICKY CALCULATIONS SIDEBAR CARD & CUSTOM CTA BUTTONS
   ========================================================================== */

/* FIXED: Structures the checkout order summary and cart totals cards into a matching white panel */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review, 
.woocommerce-checkout #order_review_heading {
    width: 100% !important;
    float: none !important;
    background: #ffffff !important;
    border: 1px solid var(--border-light) !important;
    padding: 25px !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important;
    box-sizing: border-box !important;
}

/* Smooth out the layout split between order headings and gateway radio panels */
.woocommerce-checkout #order_review_heading {
    border-bottom: none !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
}
.woocommerce-checkout #order_review {
    border-top: none !important;
    border-radius: 0 0 4px 4px !important;
}

/* Standardized Section Headers (Initial: Matteo Black Base -> Custom Underlines) */
.woocommerce .cart-collaterals .cart_totals h2,
#order_review_heading {
    font-family: var(--font-heading) !important;
    font-weight: bold !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    color: var(--dark-nav-bg) !important;
    border-bottom: 2px solid var(--dark-nav-bg) !important;
    padding-bottom: 8px !important;
    margin-bottom: 20px !important;
}

/* Custom Workflow Action Buttons (Initial: Turquoise -> Hover Fade: Magenta) */
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button {
    background-color: var(--ultimo-turquoise) !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    padding: 12px 20px !important;
    transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out !important;
}
.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover {
    background-color: var(--ultimo-magenta) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   PURE CSS MAGENTO-STYLE CART SPLIT GRID
   ========================================================================== */

/* 1. Targets the default WooCommerce workspace wrapper on the Cart page */
.woocommerce-cart .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: start !important;
    gap: 40px !important;
    max-width: 1200px !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* 2. Left Column: Product Selection Form and Table */
.woocommerce-cart .woocommerce-cart-form {
    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Ensure the native cart contents table stretches beautifully inside its column */
.woocommerce-cart table.shop_table.cart {
    width: 100% !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
}

/* 3. Right Column: Sticky Calculations Sidebar Card Box */
.woocommerce-cart .cart-collaterals {
    width: 380px !important;
    flex-shrink: 0 !important;
    margin-top: 0 !important;
}

/* Style the inner native totals summary card */
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid var(--border-light) !important;
    padding: 25px !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important;
    box-sizing: border-box !important;
}

/* 4. Strict responsive stacking patch for mobile phone monitors */
@media (max-width: 991px) {
    .woocommerce-cart .woocommerce {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .woocommerce-cart .cart-collaterals {
        width: 100% !important;
    }
}

/* ==========================================================================
   UNIFIED DUAL-CURRENCY "REFERENCIA BCV" ROW TYPOGRAPHY MATCH
   ========================================================================== */

/* FIXED: Forces the label column cell to replicate the standard Avenir 12px subtotal text format */
body table.shop_table tr.bcv-currency-reference-row th,
body .cart_totals table tr.bcv-currency-reference-row th {
    font-family: var(--font-body) !important; /* Reverts from Nexa Light back to Avenir LT STD Roman */
    font-size: 12px !important; /* Matches your exact baseline item parameters */
    font-weight: normal !important; /* Drops heavy title weights */
    color: var(--dark-nav-bg) !important; /* Swaps muted gray for the standard text tone */
    text-transform: none !important; /* Erases uppercase title styles */
    padding: 9px 12px !important;
    text-align: left !important;
}

/* FIXED: Coordinates the currency data value box cell alignment parameters */
body table.shop_table tr.bcv-currency-reference-row td,
body .cart_totals table tr.bcv-currency-reference-row td {
    padding: 9px 12px !important;
    text-align: left !important;
}

/* FIXED: Formats the numerical price output string to look identical to native prices */
body table.shop_table tr.bcv-currency-reference-row strong,
body .cart_totals table tr.bcv-currency-reference-row strong {
    font-family: var(--font-body) !important; /* Locks onto Avenir */
    font-size: 12px !important; /* Aligned to match the subtotal cells */
    font-weight: bold !important; /* Clean text bold accentuation */
    color: var(--text-primary) !important; /* Strips the magenta highlight token for consistent branding */
}

/* ==========================================================================
   HOMEPAGE LOWER GRID SPLIT BLUEPRINT (CAROUSELS 2 & 3 SIDE-BY-SIDE)
   ========================================================================== */

/* FIXED: Explicitly forces the lower carousels wrapper onto a single horizontal row with two equal columns */
body .grid-split-scaffold,
.grid-split-scaffold { 
    display: grid !important; 
    grid-template-columns: repeat(2, 1fr) !important; /* Forces 2 perfect equal columns */
    gap: 30px !important; 
    width: 100% !important; 
    margin-top: 35px !important;
    box-sizing: border-box !important;
}

/* Isolates the inner carousel container widths inside their split grid rows */
.grid-split-scaffold > div {
    min-width: 0 !important; /* Protects horizontal boundaries from breaking */
    width: 100% !important;
}

/* Ensure headings inside the split column wrap cleanly */
.grid-split-scaffold h3 {
    margin-bottom: 20px !important;
}

/* ==========================================================================
   COMMITMENT SECTION 
   ========================================================================== */

.grid-3.commitment-box-wrapper {
	padding: 20px;
	border: 1px solid var(--border-light) !important;
	border-radius: 4px;
	background: #fff;
	margin-bottom: 40px;
}


/* ==========================================================================
   STRICT MOBILE BREAKER OVERRIDES
   ========================================================================== */
@media (max-width: 768px) {
    /* FIXED MOBILITY ACTION: Gracefully collapses the split columns back into an auto-stack layout on phone frames */
    body .grid-split-scaffold,
    .grid-split-scaffold { 
        grid-template-columns: 1fr !important; /* Drops back to single full-width layers */
        gap: 40px !important; 
    }
}

/* ==========================================================================
   STRICT RESPONSIVE MEDIA VIEWPORT ANCHOR REGIONS
   ========================================================================== */

@media (min-width: 913px) {
    .nav-menu { display: flex; }
    .nav-menu li { position: relative !important; }
    .tts-dropdown-menu { position: absolute !important; top: 100% !important; left: 0 !important; background: #ffffff !important; min-width: 220px !important; list-style: none !important; padding: 10px 0 !important; margin: 0 !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; border-top: 3px solid var(--ultimo-turquoise) !important; display: none !important; }
    .tts-dropdown-menu a { color: var(--text-primary) !important; text-transform: none !important; font-size: 13px !important; font-family: var(--font-body) !important; font-weight: normal !important; padding: 10px 20px !important; }
    .tts-dropdown-menu li { border-bottom: 1px solid var(--border-light) !important; width: 100% !important; }
    .tts-dropdown-menu li:last-child { border-bottom: none !important; }
    .tts-dropdown-menu a:hover { background-color: var(--light-gray-bg) !important; color: var(--ultimo-turquoise) !important; }
    .tts-has-dropdown:hover .tts-dropdown-menu { display: block !important; }
}

@media (max-width: 912px) {
    .hero-grid-scaffold { grid-template-columns: 1fr !important; padding: 15px 0 !important; }
    .hero-slider-window { border-radius: 0 !important; height: 260px !important; width: 100% !important; }
    .hero-promo-stack { display: flex !important; flex-direction: row !important; height: auto !important; width: 100% !important; padding: 15px !important; gap: 10px !important; justify-content: space-between; }
    .hero-promo-card { flex: 1 1 calc(33.333% - 7px) !important; height: auto !important; min-height: 0 !important; }
    .pre-footer-white-row { grid-template-columns: repeat(2, 1fr) !important; border-radius: 0 !important; padding: 20px !important; }
}

@media (max-width: 768px) {
    /* FIXED: Forces the sidebar taxonomy container to collapse into a full width row above the main archive grid */
    .archive-scaffold { display: block !important; width: 100% !important; padding: 10px 0 !important; }
    .sidebar-filter-tree { display: block !important; width: 100% !important; background: #ffffff; border: 1px solid var(--border-light); padding: 20px; border-radius: 4px; margin-bottom: 25px; }
    .main-catalog-listing { display: block !important; width: 100% !important; }

    /* FIXED: Catalog adapts cleanly to output exactly TWO product blocks per horizontal row on touch viewports */
    .archive-scaffold .grid-4 { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; padding: 0 10px !important; }
    .archive-scaffold .ultimo-product-card { padding: 10px !important; }
    
    /* FIXED: Forces pagination blocks to anchor beautifully directly on top of the pre-footer line margins */
    .ultimo-pagination-wrap { margin-top: 50px !important; padding-bottom: 20px !important; }

    .commitment-box-wrapper { grid-template-columns: 1fr !important; border-radius: 0 !important; border-left: none !important; border-right: none !important; padding: 10px 0 !important; align-items: start !important; }
    .commitment-card-item { border-right: none !important; border-bottom: 1px solid var(--border-light) !important; height: auto !important; }
    .commitment-card-item:last-child { border-bottom: none !important; }
    
    .grid-split-scaffold { grid-template-columns: 1fr !important; gap: 40px !important; }
    .grid-split-scaffold > div { width: 100% !important; margin-bottom: 35px; }
    .grid-split-scaffold h3 { padding-left: 20px; }
    .grid-split-scaffold .lean-slider-wrapper { padding: 5px 20px !important; }

	/* FIXED MOBILITY ACTION: Collapses single product columns smoothly into an auto-collapsing vertical flow */
    .product-single-scaffold {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
        padding: 20px 15px !important;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
    }
    
    .product-single-title {
        font-size: 20px !important;
    }
    
    .product-single-tabs-scaffold {
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        padding: 20px 15px !important;
    }
	
    /* FIXED MOBILITY ACTION: Collapses cart and checkout sidebars into full-width vertical panels */
    .woocommerce-cart .woocommerce, 
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-checkout #order_review, 
    .woocommerce-checkout #order_review_heading {
        border-radius: 4px !important;
        border: 1px solid var(--border-light) !important;
    }

    /* Collapses cart columns cleanly into an auto-collapsing vertical flow on phone frames */
    .woocommerce-cart .woocommerce, 
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }


}

@media (max-width: 600px) {
    .main-header { flex-direction: column !important; align-items: center !important; gap: 15px !important; padding: 15px 10px !important; }
    .logo { order: 1 !important; margin-bottom: 5px; }
    .search-box { order: 2 !important; width: 100% !important; }
    .search-box form { width: 100% !important; }
    .header-cart { order: 3 !important; width: 100%; text-align: center; }

    .hamburger-btn { display: flex !important; margin-left: 20px; flex-direction: column; gap: 5px; padding: 12px 0; }
    .hamburger-btn .bar { width: 22px; height: 3px; background-color: #ffffff; display: block; }
    
    .nav-menu { display: none !important; flex-direction: column !important; width: 100% !important; background-color: var(--dark-nav-bg); position: absolute; top: 100%; left: 0; box-shadow: 0 4px 10px rgba(0,0,0,0.15); z-index: 999; }
    .nav-menu.menu-active { display: flex !important; }
    .nav-menu li { width: 100%; position: relative; }
    .nav-menu a { padding: 12px 20px !important; border-bottom: 1px solid #222; color: #ffffff; }
    
    .tts-has-dropdown:hover .tts-dropdown-menu { display: none !important; }
    .tts-dropdown-menu { display: none !important; list-style: none; background: #1a1a1a; padding: 0; margin: 0; }
    .tts-dropdown-menu a { padding: 10px 30px !important; border-bottom: 1px solid #2a2a2a; }
    .tts-has-dropdown:focus-within .tts-dropdown-menu { display: block !important; }
    .arrow-down-indicator { display: none !important; }
    
.pre-footer-white-row { grid-template-columns: 1fr !important; border-left: none !important; border-right: none !important; }
.actual-footer-contained-row { flex-direction: column !important; gap: 15px !important; text-align: center; }

}
@media (max-width: 480px) {
	.hero-promo-stack {
		flex-direction: column !important; 
		}
	.hero-promo-card {
		height: auto !important; width: 100%;
		}
	}
	
	
/* === PART 3 END === */
/* ==========================================================================
   CROSS-BROWSER CSS HEADER ARROWS REPLACEMENT
   ========================================================================== */

/* 1. Clear out any broken text arrow characters in the main navigation menu */
.nav-menu .arrow-down-indicator {
    font-size: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-left: 6px !important;
}

/* Inject a clean, lightweight pure CSS arrow triangle instead */
.nav-menu .arrow-down-indicator::before {
    content: '' !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid rgba(255,255,255,0.7) !important; /* Matches your navbar header text tone */
    vertical-align: middle !important;
}

/* 2. Clear out any broken text arrow characters in the dynamic header cart button */
.cart-contents span[style*="font-size: 10px"] {
    font-size: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-left: 4px !important;
}

/* Inject a clean pure CSS arrow triangle matching the cart text size weights */
.cart-contents span[style*="font-size: 10px"]::before {
    content: '' !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid var(--text-primary) !important;
    vertical-align: middle !important;
}

/* Appends the clean pure CSS arrow triangle to page parent link blocks natively */
.nav-menu .arrow-down-indicator,
.nav-menu li.menu-item-has-children > a::after {
    content: '' !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid rgba(255,255,255,0.7) !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
}

/* ==========================================================================
   PREMIUM CASCADING NAV BAR DROPDOWN ENGINE (PAGES & CATEGORIES)
   ========================================================================== */

/* FIXED: Unifies the old category dropdown selector with native WordPress menu parent items */
.nav-menu li.tts-has-dropdown,
.nav-menu li.menu-item-has-children {
    position: relative !important;
}

/* Ensure parent links display nicely with spacing for your CSS arrow indicator */
.nav-menu li.tts-has-dropdown > a,
.nav-menu li.menu-item-has-children > a {
    padding-right: 18px !important;
}

/* FIXED: Targets the nested submenu child lists generated dynamically by WordPress */
.nav-menu li .tts-dropdown-menu,
.nav-menu li ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background-color: var(--dark-nav-bg) !important; /* Matte dark background alignment */
    border-top: 3px solid var(--ultimo-turquoise) !important; /* Core brand turquoise line accent */
    list-style: none !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    min-width: 200px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    z-index: 9999 !important;
    display: none !important; /* Safely collapses and conceals sub-items on page load */
}

/* Forces child list link items to stack vertically with consistent padding rules */
.nav-menu li ul.sub-menu li {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.nav-menu li ul.sub-menu li a {
    display: block !important;
    padding: 8px 20px !important;
    color: rgba(255,255,255,0.8) !important;
    font-size: 13px !important;
    font-family: var(--font-body) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

/* Smooth turquoise color swap when hovering your cursor over sub-menu page options */
.nav-menu li ul.sub-menu li a:hover {
    background-color: var(--ultimo-turquoise) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   DESKTOP HOVER ACTUATOR TRIGGERS
   ========================================================================== */
@media (min-width: 913px) {
    /* FIXED: Instantly expands the nested page sub-menus when a mouse hover event occurs over the parent item */
    .nav-menu li.tts-has-dropdown:hover > .tts-dropdown-menu,
    .nav-menu li.menu-item-has-children:hover > ul.sub-menu {
        display: block !important;
    }
}

/* ==========================================================================
   FORCE WOOCOMMERCE SHIPPING RADIO BUTTONS VISIBILITY
   ========================================================================== */
.woocommerce-shipping-methods input[type="radio"],
#shipping_method input[type="radio"],
.cart_totals input[type="radio"] {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    margin-right: 8px !important;
    -webkit-appearance: radio !important; /* Forces iOS and Safari to render the native bubble */
    appearance: radio !important;
}

/* Ensure the text labels stack cleanly right next to the clickable button */
.woocommerce-shipping-methods label,
#shipping_method label {
    display: inline !important;
    cursor: pointer !important;
}
