/*!
Theme Name: Blocksy
Theme URI: https://creativethemes.com/blocksy/
Author: CreativeThemes
Author URI: https://creativethemes.com
Description: Blocksy is a fast, modern WordPress theme with advanced WooCommerce support and full compatibility with the block editor.
Version: 2.1.22
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Copyright: (c) 2019 CreativeThemes.
Requires at least: 6.5
Requires PHP: 7.0
Tested up to: 6.8
Text Domain: blocksy
Blocksy Minimum Companion Version: 2.0.74-beta1
Tags: accessibility-ready, blog, block-patterns, e-commerce, wide-blocks, block-styles, grid-layout, one-column, two-columns, three-columns, four-columns, right-sidebar, left-sidebar, translation-ready, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, theme-options, threaded-comments
*//*
Theme Name: Blocksy Child - SciuuuS Kids
Theme URI: https://sciuuuskids.it
Description: Custom child theme for SciuuuS Kids barefoot shoes. Code-based header/footer implementation without Elementor.
Author: Damian
Author URI: https://sciuuuskids.it
Template: blocksy
Version: 1.2.0
Text Domain: blocksy-child
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * Custom styles will be loaded from separate CSS files for better organization:
 * - assets/css/header-custom.css
 * - assets/css/footer-custom.css
 */

/* ==========================================================================
   CSS Custom Properties (Variables)
   ========================================================================== */

:root {
    /* Brand Colors */
    --brand-orange: #FC7D06;
    --brand-green: #009285;
    --brand-white: #ffffff;
    --brand-black: #000000;
    --brand-dark: #161616;
    --brand-darker: #1B1B1B;
    --brand-gray-dark: #333333;
    --brand-gray-medium: #666666;
    --brand-gray-light: #f1f1f1;
    --brand-accent-green: #00ce1b;
    --brand-accent-blue: #21759b;
    
    /* Legacy colors (can be deprecated later) */
    --sciuuuskids-primary: #ff6b6b;
    --sciuuuskids-secondary: #2c3e50;
    --sciuuuskids-accent: #4ecdc4;
    --sciuuuskids-text: #333333;
    --sciuuuskids-light: #f8f9fa;
    
    /* Typography */
    --font-primary: 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-display: 'Gochi Hand', cursive;
    --font-system: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    
    /* Font Sizes */
    --font-size-base: 16px;
    --font-size-small: 13px;
    --font-size-smaller: 12px;
    --font-size-smallest: 11px;
    --font-size-medium: 18px;
    --font-size-large: 24px;
    --font-size-xlarge: 28px;
    --font-size-xxlarge: 32px;
    
    /* Content Font Sizes */
    --font-size-content-body: 18px;
    --font-size-h1: 42px;
    --font-size-h2: 36px;
    --font-size-h3: 30px;
    --font-size-h4: 24px;
    --font-size-h5: 20px;
    --font-size-h6: 18px;
    
    /* Font Weights */
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    /* Spacing */
    --spacing-tiny: 4px;
    --spacing-xs: 8px;
    --spacing-small: 10px;
    --spacing-medium: 15px;
    --spacing-base: 20px;
    --spacing-large: 25px;
    --spacing-xl: 30px;
    
    /* Gap Spacing */
    --gap-tiny: 1px;
    --gap-xs: 8px;
    --gap-small: 10px;
    --gap-medium: 18px;
    --gap-large: 25px;
    
    /* Padding */
    --padding-xs: 5px;
    --padding-small: 10px;
    --padding-medium: 12px;
    --padding-base: 20px;
    --padding-large: 25px;
    --padding-xl: 30px;
    
    /* Border Radius */
    --radius-small: 2px;
    --radius-medium: 3px;
    --radius-base: 4px;
    --radius-circle: 50%;
    
    /* Shadows */
    --shadow-light: 0 4px 8px rgba(0, 0, 0, 0.15);
    --shadow-medium: 0 6px 12px rgba(0, 0, 0, 0.2);
    --shadow-strong: 0 0 10px rgba(0, 0, 0, 0.5);
    --shadow-focus: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    
    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.8s ease;
    
    /* Container Widths */
    --container-max-width: 1200px;
    --container-padding: 20px;
    
    /* Logo Dimensions */
    --logo-max-width: 683px;
    --logo-height: 180px;
    --logo-mobile-max-width: 165px;
    --logo-mobile-height: 120px;
    
    /* Icon Sizes */
    --icon-size-base: 28px;
    --icon-size-large: 32px;
    --icon-size-small: 26px;
    
    /* Cart Badge */
    --cart-badge-size: 22px;
    --cart-badge-size-mobile: 24px;
    
    /* Wave Heights */
    --wave-height: 30px;
    --wave-height-tablet: 20px;
    --wave-height-mobile: 15px;
    
    /* Menu Widths */
    --submenu-min-width: 200px;
    
    /* Z-Index Scale */
    --z-index-base: 100;
    --z-index-header: 101;
    --z-index-cart: 1002;
    --z-index-skip-link: 10000;
    --z-index-screen-reader: 100000;
    
    /* Opacity Values */
    --opacity-transparent: 0;
    --opacity-light: 0.1;
    --opacity-medium: 0.15;
    --opacity-dark: 0.2;
    --opacity-darker: 0.73;
    --opacity-full: 1;
    
    /* Line Heights */
    --line-height-tight: 1;
    --line-height-snug: 1.2;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.6;
    --line-height-loose: 1.8;
    
    /* Content Line Heights */
    --line-height-content-body: 1.8;
    --line-height-heading: 1.3;
    
    /* Content Spacing */
    --content-spacing-small: 1rem;
    --content-spacing-medium: 1.5rem;
    --content-spacing-large: 2rem;
    --content-spacing-xlarge: 3rem;
}

/* ==========================================================================
   Global Overrides
   ========================================================================== */

/* Hide default Blocksy header/footer if using custom ones */
body.using-custom-header .ct-header {
    display: none !important;
}

body.using-custom-footer .ct-footer {
    display: none !important;
}

/* Force non-sticky header (overrides customizer setting) */
.sciuuuskids-custom-header {
    position: relative !important;
}

/* ==========================================================================
   Page Width Control - Whitelist Approach
   ========================================================================== */

/* Container is always full-width */
.ct-container-full {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Content width is controlled in content-custom.css with whitelist approach */

/* Remove all gaps between header and content */
#main,
.site-main,
.ct-container,
.entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Ensure alignfull blocks break out to full width */
.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Specific override for delivery banner - multiple selectors for specificity */
.delivery-banner,
.delivery-banner.alignfull,
.wp-block-group.delivery-banner,
.entry-content .delivery-banner {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ensure no parent containers constrain full-width blocks */
.entry-content,
.ct-container,
.ct-container-full {
    overflow-x: visible !important;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}


/* ==========================================================================
   Force White Backgrounds
   ========================================================================== */

body,
#main,
.site-main,
.ct-container,
.ct-container-full,
article,
.entry-content,
.hero-section {
    background: var(--brand-white) !important;
    background-color: var(--brand-white) !important;
}

/* ==========================================================================
   WooCommerce Checkout - Order Received Page
   ========================================================================== */

/* Remove bullets from all list items in tables */
.woocommerce-order-details ul li,
.woocommerce-table--order-details ul li,
.woocommerce-customer-details ul li,
.woocommerce-order-overview li {
    list-style: none !important;
    list-style-type: none !important;
}

.woocommerce-order-details ul,
.woocommerce-table--order-details ul,
.woocommerce-customer-details ul,
.woocommerce-order-overview {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Fix padding in Dettagli ordine (Order Details) section */
.woocommerce-order-details,
.woocommerce-table--order-details {
    padding: 20px !important;
}

.woocommerce-table--order-details td,
.woocommerce-table--order-details th {
    padding: 12px 15px !important;
}

/* Product items in order details - ensure proper padding */
.woocommerce-table--order-details .product-name,
.woocommerce-table--order-details .product-total {
    padding: 15px !important;
}

/* Size info in product details */
.woocommerce-table--order-details .product-name ul {
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
}

.woocommerce-table--order-details .product-name ul li {
    padding: 5px 0 !important;
    margin: 0 !important;
}

/* Align the bottom of the 2 Indirizzo (Address) tables */
.woocommerce-customer-details {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: stretch !important;
}

.woocommerce-customer-details .woocommerce-column {
    flex: 1 !important;
    min-width: 300px !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce-customer-details address {
    flex-grow: 1 !important;
    padding: 20px !important;
    margin: 0 !important;
}

/* Center billing and shipping columns on checkout page */
.woocommerce-checkout .col2-set {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
    flex: 1;
    max-width: 500px;
}

/* Ensure both address blocks have equal height */
.woocommerce-customer-details .woocommerce-column--billing-address,
.woocommerce-customer-details .woocommerce-column--shipping-address {
    display: flex !important;
    flex-direction: column !important;
}

/* Return to shopping link */
.woocommerce-order-received .woocommerce-order {
    position: relative !important;
    margin-top: 30px !important;
}

.woocommerce-order-received .return-to-shop,
.woocommerce-order-received .woocommerce-order-return-to-shop {
    margin-top: 30px !important;
    padding: 20px 0 !important;
    text-align: center !important;
}

.woocommerce-order-received .return-to-shop a,
.woocommerce-order-received .woocommerce-order-return-to-shop a {
    display: inline-block !important;
    padding: 14px 30px !important;
    background-color: var(--brand-orange, #FC7D06) !important;
    color: var(--brand-white, #fff) !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: background-color 0.3s ease !important;
}

.woocommerce-order-received .return-to-shop a:hover,
.woocommerce-order-received .woocommerce-order-return-to-shop a:hover {
    background-color: #e06d05 !important;
}

/* Responsive adjustments for addresses */
@media (max-width: 768px) {
    .woocommerce-customer-details .woocommerce-column {
        min-width: 100% !important;
    }

    /* Set column title padding to 0px on mobile */
    .woocommerce-column__title {
        padding: 0px !important;
    }

    /* Stack columns vertically on mobile */
    .woocommerce-checkout .col2-set {
        flex-direction: column;
        align-items: center;
    }

    .woocommerce-checkout .col-1,
    .woocommerce-checkout .col-2 {
        max-width: 100%;
        width: 100%;
    }
}/**
 * Custom Header Styles for SciuuuS Kids
 * 
 * @package Blocksy_Child_SciuuusKids
 * @version 1.2.0
 */

/* ==========================================================================
   Header Container
   ========================================================================== */

.sciuuuskids-custom-header {
    background: var(--brand-white);
    position: relative;
    padding: 0;
    border-bottom: none;
}

.header-container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    position: relative;
}

/* ==========================================================================
   Cart Icon (Absolute positioned top-right)
   ========================================================================== */

.header-cart-wrapper {
    position: absolute;
    top: var(--spacing-large);
    right: var(--spacing-xl);
    z-index: var(--z-index-base);
}

.header-cart {
    position: relative;
}

.cart-link {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    color: var(--brand-black);
    text-decoration: none;
    transition: color var(--transition-base), transform var(--transition-fast);
    padding: var(--padding-xs);
}

.cart-link:hover {
    color: var(--brand-gray-dark);
    transform: scale(1.1);
}

.cart-link svg {
    fill: currentColor;
    width: var(--icon-size-base);
    height: var(--icon-size-base);
}

.cart-count {
    background: var(--brand-orange);
    color: var(--brand-white) !important;
    border-radius: var(--radius-circle);
    min-width: var(--cart-badge-size);
    height: var(--cart-badge-size);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    padding: 0 6px;
    position: absolute;
    top: -2px;
    right: -2px;
}

.cart-count.is-empty {
    display: none;
}

/* ==========================================================================
   Logo Section (Centered)
   ========================================================================== */

.header-logo-section {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--spacing-medium) var(--spacing-base) var(--spacing-small); 
}

.header-logo {
    text-align: center;
}

.header-logo .custom-logo-link {
    display: inline-block;
    line-height: 0;
}

.header-logo img {
    max-width: var(--logo-max-width);
    width: auto;
    height: var(--logo-height);
    object-fit: contain;
    filter: drop-shadow(var(--shadow-light));
    transition: transform var(--transition-base), filter var(--transition-base);
}

.header-logo img:hover {
    transform: scale(1.02);
    filter: drop-shadow(var(--shadow-medium));
}

.site-title {
    font-size: var(--font-size-xxlarge);
    font-weight: var(--font-weight-bold);
    color: var(--brand-gray-dark);
    text-decoration: none;
    transition: color var(--transition-base);
    filter: drop-shadow(var(--shadow-light));
}

.site-title:hover {
    color: var(--brand-orange);
}

.site-description {
    font-size: 14px;
    color: var(--brand-gray-medium);
    margin: var(--spacing-small) 0 0;
}

/* ==========================================================================
   Wavy Decoration Above Navigation
   ========================================================================== */

.header-wave-decoration {
    width: 100%;
    height: var(--wave-height);
    overflow: hidden;
    line-height: 0;
    background: var(--brand-white);
    position: relative;
}

.header-wave-decoration svg {
    display: block;
    width: 100%;
    height: var(--wave-height);
    position: relative;
    transform: scaleY(-1);
}

.header-wave-decoration .wave-fill {
    fill: var(--brand-orange);
}

/* ==========================================================================
   Navigation Section (Centered, below logo)
   ========================================================================== */

.header-navigation-section {
    background: var(--brand-orange);
    padding: 0;
    margin: 0;
    position: relative;
}

.header-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
}

.main-navigation {
    display: flex;
    justify-content: center;
    width: 100%;
}

.primary-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--gap-tiny);
    justify-content: center;
}

.primary-menu li {
    position: relative;
    display: flex;
    align-items: center;
}

.header-navigation-section .primary-menu li a {
    color: var(--brand-white);
    text-decoration: none;
    font-family: var(--font-primary);
    font-size: var(--font-size-medium);
    font-weight: var(--font-weight-semibold);
    transition: color var(--transition-fast);
    padding: var(--spacing-base) var(--spacing-large);
    display: block;
    white-space: nowrap;
}

.header-navigation-section .primary-menu li a:hover,
.header-navigation-section .primary-menu li.current-menu-item a,
.header-navigation-section .primary-menu li.current_page_item a {
    color: var(--brand-dark) !important;
    background-color: transparent !important;
}

/* Dropdown Menu Styles */
.primary-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--brand-orange);
    box-shadow: var(--shadow-strong);
    list-style: none;
    padding: var(--padding-small) 0;
    margin: 0;
    min-width: var(--submenu-min-width);
    opacity: var(--opacity-transparent);
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-base);
    z-index: var(--z-index-base);
}

.primary-menu li:hover > .sub-menu {
    opacity: var(--opacity-full);
    visibility: visible;
    transform: translateY(0);
}

.primary-menu .sub-menu li {
    display: block;
}

.primary-menu .sub-menu li a {
    padding: var(--padding-small) var(--spacing-base);
    color: var(--brand-white);
}

.primary-menu .sub-menu li a:hover {
    color: var(--brand-dark);
    background-color: rgba(255, 255, 255, var(--opacity-medium));
}

/* ==========================================================================
   Wave Divider Below Navigation (Hidden)
   ========================================================================== */

.header-wave-divider {
    display: none;
}

/* ==========================================================================
   Mobile Menu Toggle
   ========================================================================== */

.mobile-menu-toggle {
    display: none;
    position: absolute;
    left: var(--spacing-base);
    top: 50%;
    transform: translateY(-50%);
    z-index: var(--z-index-header);
}

.menu-toggle {
    background: var(--brand-orange);
    border: none;
    padding: var(--padding-small);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-tiny);
    border-radius: var(--radius-base);
}

.menu-icon {
    display: block;
    width: 25px;
    height: 3px;
    background: var(--brand-white);
    transition: all var(--transition-base);
}

.menu-toggle[aria-expanded="true"] .menu-icon:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-icon:nth-child(2) {
    opacity: var(--opacity-transparent);
}

.menu-toggle[aria-expanded="true"] .menu-icon:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 992px) {
    .header-cart-wrapper {
        right: 23px;
    }
    
    .primary-menu {
        gap: var(--gap-tiny);
    }
    
    .primary-menu li a {
        font-size: 15px;
        padding: var(--spacing-base) var(--spacing-base);
    }
}

@media (max-width: 768px) {
    .sciuuuskids-custom-header {
        padding: 0;
    }
    
    /* Cart - BIGGER */
    .header-cart-wrapper {
        position: absolute;
        top: var(--spacing-base);
        right: var(--spacing-base);
        z-index: var(--z-index-cart);
    }
    
    .cart-link svg {
        width: var(--icon-size-large);
        height: var(--icon-size-large);
    }
    
    .cart-count {
        min-width: var(--cart-badge-size-mobile);
        height: var(--cart-badge-size-mobile);
        font-size: 14px;
    }
    
    /* Logo - BIGGER */
    .header-logo-section {
        padding: var(--spacing-base) var(--spacing-base) var(--spacing-medium);
    }
    
    .header-logo img {
        max-width: 100%;
        height: auto;
        max-height: 160px;
    }
    
    /* Wave decoration */
    .header-wave-decoration {
        height: var(--wave-height-tablet);
    }
    
    .header-wave-decoration svg {
        height: var(--wave-height-tablet);
    }
    
    /* Navigation section - flexbox layout */
    .header-navigation-section {
        position: relative;
        display: flex;
        flex-direction: column;
        background: var(--brand-orange);
        min-height: auto;
    }
    
    /* Mobile Menu Toggle - COMPACT */
    .mobile-menu-toggle {
        display: block;
        position: relative;
        left: 0;
        top: 0;
        transform: none;
        padding: var(--padding-medium) var(--gap-medium);
        background: var(--brand-orange);
        order: -1;
        border-bottom: 1px solid rgba(255, 255, 255, var(--opacity-light));
    }
    
    .menu-toggle {
        background: transparent;
        border: none;
        padding: 0;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-tiny);
        border-radius: 0;
    }
    
    .menu-icon {
        display: block;
        width: 26px;
        height: 3px;
        background: var(--brand-white);
        transition: all var(--transition-base);
        border-radius: var(--radius-small);
    }
    
    /* Menu container - hidden by default */
    .header-navigation {
        display: none;
        width: 100%;
        order: 0;
        background: var(--brand-orange);
        padding: 0;
    }
    
    /* Menu container - visible when active */
    .header-navigation.active {
        display: block !important;
    }
    
    .main-navigation {
        justify-content: flex-start;
        width: 100%;
        background: var(--brand-orange);
    }
    
    .primary-menu {
        flex-direction: column;
        gap: 0;
        width: 100%;
        background: var(--brand-orange);
        padding: 0;
        margin: 0;
    }
    
    .primary-menu li {
        border-bottom: 1px solid rgba(255, 255, 255, var(--opacity-light));
        width: 100%;
        display: block;
    }
    
    /* Menu items - COMPACT */
    .primary-menu li a {
        padding: var(--padding-medium) var(--gap-medium);
        width: 100%;
        font-size: 14px;
        font-weight: var(--font-weight-medium);
        color: var(--brand-white) !important;
        display: block;
        background: var(--brand-orange);
    }
    
    /* Mobile Dropdown */
    .primary-menu .sub-menu {
        position: static;
        opacity: var(--opacity-full);
        visibility: visible;
        transform: none;
        box-shadow: none;
        padding: 0;
        margin: 0;
        display: none;
        background: rgba(0, 0, 0, var(--opacity-medium));
    }
    
    .primary-menu .sub-menu li a {
        padding: var(--padding-small) var(--gap-medium) var(--padding-small) 36px;
        font-size: var(--font-size-small);
    }
    
    .primary-menu li.menu-item-has-children > a::after {
        content: '+';
        float: right;
        font-weight: bold;
        font-size: var(--font-size-medium);
        line-height: var(--line-height-tight);
    }
    
    .primary-menu li.menu-item-has-children.active > a::after {
        content: '−';
    }
    
    .primary-menu li.menu-item-has-children.active > .sub-menu {
        display: block;
    }
}

@media (max-width: 480px) {
    .header-cart-wrapper {
        top: var(--spacing-base);
        right: var(--spacing-medium);
    }
    
    .cart-link {
        padding: var(--padding-xs);
    }
    
    .cart-link svg {
        width: var(--icon-size-base);
        height: var(--icon-size-base);
    }
    
    .cart-count {
        min-width: var(--cart-badge-size);
        height: var(--cart-badge-size);
        font-size: var(--font-size-small);
    }
    
    .header-logo img {
        max-width: var(--logo-mobile-max-width);
        max-height: var(--logo-mobile-height);
    }
    
    .site-title {
        font-size: var(--font-size-large);
    }
    
    .header-wave-decoration {
        height: var(--wave-height-mobile);
    }
    
    .header-wave-decoration svg {
        height: var(--wave-height-mobile);
    }
    
    /* Even more compact on small mobile */
    .mobile-menu-toggle {
        padding: var(--padding-small) var(--spacing-medium);
    }
    
    .primary-menu li a {
        font-size: var(--font-size-small);
        padding: var(--padding-small) var(--spacing-medium);
    }
    
    .primary-menu .sub-menu li a {
        font-size: var(--font-size-smaller);
        padding: var(--padding-xs) var(--spacing-medium) var(--padding-xs) var(--spacing-xl);
    }
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

.menu-toggle:focus,
.cart-link:focus,
.primary-menu a:focus {
    outline: 2px solid var(--brand-white);
    outline-offset: 2px;
}

.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--brand-orange);
    color: var(--brand-white);
    padding: var(--padding-xs) var(--spacing-base);
    text-decoration: none;
    z-index: var(--z-index-skip-link);
}

.skip-link:focus {
    top: 0;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--brand-gray-light);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-focus);
    clip: auto !important;
    color: var(--brand-accent-blue);
    display: block;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    left: var(--padding-xs);
    line-height: normal;
    padding: var(--spacing-medium) 23px 14px;
    text-decoration: none;
    top: var(--padding-xs);
    width: auto;
    z-index: var(--z-index-screen-reader);
}/**
 * Custom Footer Styles for SciuuuS Kids
 * 
 * @package Blocksy_Child_SciuuusKids
 * @version 1.1.0
 */

/* ==========================================================================
   Hide Default Blocksy Footer
   ========================================================================== */

#footer.ct-footer,
footer#footer.ct-footer,
.ct-footer[data-id="type-1"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    opacity: var(--opacity-transparent) !important;
}

/* ==========================================================================
   Footer Main Container
   ========================================================================== */

footer.sciuuuskids-custom-footer {
    background: var(--brand-orange) !important;
    background-color: var(--brand-orange) !important;
    color: var(--brand-black) !important;
    padding: var(--padding-xl) var(--spacing-base) !important;
    display: block !important;
    visibility: visible !important;
}

.footer-container {
    max-width: var(--container-max-width);
    margin: 0 auto;
}

/* ==========================================================================
   Row 1: Quote
   ========================================================================== */

.footer-quote {
    text-align: center;
    padding-bottom: var(--padding-xl);
}

.footer-quote p {
    font-family: var(--font-display) !important;
    font-size: var(--font-size-xxlarge) !important;
    font-style: italic !important;
    color: var(--brand-darker) !important;
    margin: 0 auto !important;
    line-height: var(--line-height-snug) !important;
    max-width: 100%;
}

/* ==========================================================================
   Row 2: Menu
   ========================================================================== */

.footer-menu-row {
    text-align: center;
    padding-bottom: var(--padding-xl);
    margin-bottom: var(--padding-xl);
    border-bottom: 1px solid rgba(0, 0, 0, var(--opacity-dark));
}

.footer-menu,
ul.footer-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: var(--spacing-small) var(--gap-medium) !important;
}

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

.footer-menu li a {
    color: var(--brand-white) !important;
    text-decoration: none !important;
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-base) !important;
    font-weight: var(--font-weight-semibold) !important;
    transition: color var(--transition-fast) !important;
    padding: var(--padding-xs) var(--padding-medium) !important;
    display: block !important;
    white-space: nowrap !important;
}

.footer-menu li a:hover {
    color: var(--brand-dark) !important;
}

/* ==========================================================================
   Row 3: Company Info and Social
   ========================================================================== */

.footer-bottom-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: var(--spacing-base) !important;
    padding-top: var(--padding-small) !important;
}

.footer-company-info p {
    margin: 0 0 var(--padding-xs) 0 !important;
    color: var(--brand-black) !important;
    font-size: var(--font-size-small) !important;
    font-weight: var(--font-weight-light) !important;
    line-height: var(--line-height-relaxed) !important;
}

.footer-company-info .footer-copyright {
    margin-top: var(--padding-small) !important;
}

/* Social Icons */
.footer-social {
    display: flex !important;
    gap: var(--gap-large) !important;
    align-items: center !important;
}

.social-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(0, 0, 0, var(--opacity-darker)) !important;
    transition: color var(--transition-base) !important;
}

.social-link:hover {
    color: var(--brand-white) !important;
}

.social-link svg {
    width: var(--icon-size-base) !important;
    height: var(--icon-size-base) !important;
    fill: currentColor !important;
}

/* ==========================================================================
   Tablet Styles (768px - 991px)
   ========================================================================== */

@media (max-width: 991px) {
    .footer-quote p {
        font-size: var(--font-size-xlarge) !important;
    }
    
    .footer-menu {
        gap: var(--padding-medium) var(--gap-large) !important;
    }
    
    .footer-menu li a {
        font-size: var(--font-size-base) !important;
    }
}

/* ==========================================================================
   Mobile Styles (max-width: 767px)
   ========================================================================== */

@media (max-width: 767px) {
    footer.sciuuuskids-custom-footer {
        padding: var(--padding-large) var(--spacing-base) !important;
    }
    
    /* Quote */
    .footer-quote {
        padding-bottom: var(--padding-large);
    }
    
    .footer-quote p {
        font-size: var(--font-size-large) !important;
    }
    
    /* Menu - Stack vertically on mobile */
    .footer-menu-row {
        padding-bottom: var(--padding-large);
    }
    
    .footer-menu {
        flex-direction: column !important;
        gap: var(--font-size-small) !important;
    }
    
    .footer-menu li a {
        font-size: var(--font-size-base) !important;
        padding: 3px var(--spacing-base) !important;
    }
    
    /* Bottom Row - Stack vertically */
    .footer-bottom-row {
        flex-direction: column !important;
        text-align: center !important;
        gap: var(--spacing-base) !important;
    }
    
    .footer-company-info {
        text-align: center !important;
    }
    
    .footer-company-info p {
        font-size: var(--font-size-smaller) !important;
        line-height: var(--line-height-normal) !important;
    }
    
    .footer-social {
        justify-content: center !important;
        gap: var(--gap-large) !important;
    }
    
    .social-link svg {
        width: var(--icon-size-small) !important;
        height: var(--icon-size-small) !important;
    }
}

/* ==========================================================================
   Small Mobile Styles (max-width: 480px)
   ========================================================================== */

@media (max-width: 480px) {
    .footer-quote p {
        font-size: var(--spacing-base) !important;
    }
    
    .footer-company-info p {
        font-size: var(--font-size-smallest) !important;
    }
    
    .footer-menu li a {
        font-size: 15px !important;
    }
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

.footer-menu a:focus,
.social-link:focus {
    outline: 2px solid var(--brand-accent-green) !important;
    outline-offset: 2px !important;
}@keyframes wc-skeleton-shimmer{to{transform:translateX(100%)}}body.wc-block-product-gallery-modal-open,body.wc-modal--open{overflow:hidden}.wc-block-grid__products .wc-block-grid__product-image{display:block;position:relative;text-decoration:none}.wc-block-grid__products .wc-block-grid__product-image a{border:0;box-shadow:none;outline:0;text-decoration:none}.wc-block-grid__products .wc-block-grid__product-image img{height:auto;max-width:100%;width:100%}.wc-block-grid__products .wc-block-grid__product-image img[hidden]{display:none}.wc-block-grid__products .wc-block-grid__product-image img[alt=""]{border:1px solid #f2f2f2}.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,.editor-styles-wrapper .wc-block-grid__product-title,.wc-block-grid__product-title{color:inherit;display:block;font-family:inherit;font-size:inherit;font-weight:700;line-height:1.2;padding:0}.wc-block-grid__product-price{display:block}.wc-block-grid__product-price .wc-block-grid__product-price__regular{margin-right:.5em}.wc-block-grid__product-add-to-cart.wp-block-button{white-space:normal;word-break:break-word}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{display:inline-flex;font-size:1em;justify-content:center;text-align:center;white-space:normal;word-break:break-word}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading{opacity:.25}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.added:after{content:"";display:inline-block;font-family:WooCommerce;height:auto;margin-left:.5em;width:auto}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading:after{animation:spin 2s linear infinite;content:"";display:inline-block;font-family:WooCommerce;height:auto;margin-left:.5em;width:auto}.has-5-columns:not(.alignfull) .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-6-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-7-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-8-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-9-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after{content:"";margin:0}.wc-block-grid__product-rating,.wp-block-woocommerce-product-review-rating{display:block}.wc-block-grid__product-rating .star-rating,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars,.wc-block-grid__product-rating .wc-block-product-review-rating__stars,.wp-block-woocommerce-product-review-rating .star-rating,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars{font-family:WooCommerce;font-size:1em;font-weight:400;height:1.618em;line-height:1.618;margin:0 auto;overflow:hidden;position:relative;text-align:left;width:5.3em}.wc-block-grid__product-rating .star-rating:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars:before,.wp-block-woocommerce-product-review-rating .star-rating:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars:before{content:"SSSSS";left:0;opacity:.5;position:absolute;right:0;top:0;white-space:nowrap}.wc-block-grid__product-rating .star-rating span,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span,.wp-block-woocommerce-product-review-rating .star-rating span,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span{left:0;overflow:hidden;padding-top:1.5em;position:absolute;right:0;top:0}.wc-block-grid__product-rating .star-rating span:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span:before,.wp-block-woocommerce-product-review-rating .star-rating span:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span:before{color:inherit;content:"SSSSS";left:0;position:absolute;right:0;top:0;white-space:nowrap}.wc-block-grid .wc-block-grid__product-onsale,.wc-block-grid__product-image .wc-block-grid__product-onsale{background:#fff;border:1px solid #43454b;border-radius:4px;color:#43454b;display:inline-block;font-size:.875em;font-weight:600;left:auto;padding:.25em .75em;position:absolute;right:4px;text-align:center;text-transform:uppercase;top:4px;width:auto;z-index:9}.wc-block-grid__product .wc-block-grid__product-image,.wc-block-grid__product .wc-block-grid__product-link{display:inline-block;position:relative}.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image),.wc-block-grid__product .wc-block-grid__product-title{margin:0 0 12px}.wc-block-grid__product .wc-block-grid__product-add-to-cart,.wc-block-grid__product .wc-block-grid__product-onsale,.wc-block-grid__product .wc-block-grid__product-price,.wc-block-grid__product .wc-block-grid__product-rating{margin:0 auto 12px}.theme-twentysixteen .wc-block-grid .price ins{color:#77a464}.theme-twentynineteen .wc-block-grid__product{font-size:.88889em}.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-components-product-title,.theme-twentynineteen .wc-block-grid__product-onsale,.theme-twentynineteen .wc-block-grid__product-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.theme-twentynineteen .wc-block-grid__product-title:before{display:none}.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-grid__product-onsale{line-height:1}.theme-twentynineteen .editor-styles-wrapper .wp-block-button .wp-block-button__link:not(.has-text-color){color:#fff}.theme-twentytwenty .wc-block-grid__product-link{color:#000}.theme-twentytwenty .wc-block-components-product-title,.theme-twentytwenty .wc-block-grid__product-title{color:#cd2653;font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-size:1em}.theme-twentytwenty .wp-block-columns .wc-block-components-product-title{margin-top:0}.theme-twentytwenty .wc-block-components-product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-components-product-price__value,.theme-twentytwenty .wc-block-grid__product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-grid__product-price__value{font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-size:.9em}.theme-twentytwenty .wc-block-components-product-price del,.theme-twentytwenty .wc-block-grid__product-price del{opacity:.7}.theme-twentytwenty .wc-block-components-product-price ins,.theme-twentytwenty .wc-block-grid__product-price ins{text-decoration:none}.theme-twentytwenty .star-rating,.theme-twentytwenty .wc-block-grid__product-rating{font-size:.7em}.theme-twentytwenty .star-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .star-rating .wc-block-grid__product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-grid__product-rating__stars{line-height:1}.theme-twentytwenty .wc-block-components-product-button>.wp-block-button__link,.theme-twentytwenty .wc-block-grid__product-add-to-cart>.wp-block-button__link{font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif}.theme-twentytwenty .wc-block-components-product-sale-badge,.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{background:#cd2653;color:#fff;font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;text-transform:uppercase}.theme-twentytwenty .wc-block-grid__products .wc-block-components-product-sale-badge{position:static}.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-image .wc-block-components-product-sale-badge{position:absolute}.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale:not(.wc-block-components-product-sale-badge){position:absolute;right:4px;top:4px;z-index:1}.theme-twentytwenty .wc-block-active-filters__title,.theme-twentytwenty .wc-block-attribute-filter__title,.theme-twentytwenty .wc-block-price-filter__title,.theme-twentytwenty .wc-block-stock-filter__title{font-size:1em}.theme-twentytwenty .wc-block-active-filters .wc-block-active-filters__clear-all,.theme-twentytwenty .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{font-size:.75em}@media only screen and (min-width:768px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:.875em;padding:.5em}}@media only screen and (min-width:1168px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:.875em;padding:.5em}}.theme-twentytwentytwo .wc-block-grid__product-add-to-cart .added_to_cart{display:block;margin-top:12px}.theme-twentytwentytwo .wc-block-components-product-price ins,.theme-twentytwentytwo .wc-block-grid__product-price ins{text-decoration:none}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal!important;padding:0;position:absolute!important;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip-path:none;color:#2b2d2f;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.wp-block-group.woocommerce.product .up-sells.upsells.products{max-width:var(--wp--style--global--wide-size)}
@keyframes wc-skeleton-shimmer{to{transform:translateX(100%)}}.wc-block-components-notice-banner{align-content:flex-start;align-items:stretch;background-color:#fff;border:1px solid #2f2f2f;border-radius:4px;box-sizing:border-box;color:#2f2f2f;display:flex;font-size:.875em;font-weight:400;gap:12px;line-height:1.5;margin:16px 0;padding:16px!important}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content{align-self:center;flex-basis:100%;padding-right:16px;white-space:normal}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content:last-child{padding-right:0}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-block-components-notice-banner__summary{font-weight:600;margin:0 0 8px}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul{margin:0 0 0 24px;padding:0}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol li:after,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul li:after{clear:both;content:"";display:block}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward{appearance:none;background:transparent!important;border:0;color:#2f2f2f!important;float:right;margin:0;opacity:.7;padding:0!important;text-decoration-line:underline;text-underline-position:under;transition:all .2s ease-in-out}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:active,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:focus,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover{opacity:1;text-decoration:none}.wc-block-components-notice-banner>svg{fill:#fff;background-color:#2f2f2f;border-radius:50%;flex-grow:0;flex-shrink:0;height:100%;padding:2px}.wc-block-components-notice-banner>.wc-block-components-button{background:transparent none!important;border:0!important;box-shadow:none!important;color:#2f2f2f!important;flex:0 0 16px;height:16px!important;margin:6px 0 0 auto!important;min-height:auto!important;min-width:0!important;opacity:.6;outline:none!important;padding:0!important;width:16px!important}.wc-block-components-notice-banner>.wc-block-components-button>svg{margin:0!important}.wc-block-components-notice-banner>.wc-block-components-button:active,.wc-block-components-notice-banner>.wc-block-components-button:focus,.wc-block-components-notice-banner>.wc-block-components-button:hover{opacity:1}.wc-block-components-notice-banner>.wc-block-components-button:focus{outline:2px solid currentColor!important;outline-offset:0}.wc-block-components-notice-banner.is-error{background-color:#fff0f0;border-color:#cc1818}.wc-block-components-notice-banner.is-error>svg{background-color:#cc1818;transform:rotate(180deg)}.wc-block-components-notice-banner.is-warning{background-color:#fffbf4;border-color:#f0b849}.wc-block-components-notice-banner.is-warning>svg{background-color:#f0b849;transform:rotate(180deg)}.wc-block-components-notice-banner.is-success{background-color:#f4fff7;border-color:#4ab866}.wc-block-components-notice-banner.is-success>svg{background-color:#4ab866}.wc-block-components-notice-banner.is-info{background-color:#f4f8ff;border-color:#007cba}.wc-block-components-notice-banner.is-info>svg{background-color:#007cba}.wc-block-components-notice-banner:focus{outline-width:0}.wc-block-components-notice-banner:focus-visible{outline-style:solid;outline-width:2px}.woocommerce.wc-block-store-notices.alignwide{max-width:var(--wp--style--global--wide-size)}/**
 * Custom Content Styles for SciuuuS Kids
 * WordPress Pages, Posts, and WooCommerce Content
 * 
 * @package Blocksy_Child_SciuuusKids
 * @version 1.0.0
 */

/* ==========================================================================
   Main Content Container
   ========================================================================== */

.site-main {
    background: var(--brand-white) !important;
}

/* Container is always full-width */
.ct-container-full {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--brand-white) !important;
}

/* Remove top padding from entry-content to be flush with header */
.entry-content.is-layout-constrained {
    padding-top: 0 !important;
    padding-bottom: 0px !important;
}

/* Also ensure no top padding on entry-content in general */
.entry-content {
    padding-top: 0 !important;
}

/* ==========================================================================
   Article Container
   ========================================================================== */

article.page,
article.post,
article.single {
    background: var(--brand-white) !important;
}

.entry-content {
    background: var(--brand-white) !important;
}

/* ==========================================================================
   Hero Section / Page Header
   ========================================================================== */

.hero-section {
    text-align: center;
    padding: var(--spacing-base) 0 0 0 !important;
    margin-bottom: 0 !important;
    background: var(--brand-white) !important;
}

.entry-header {
    margin-bottom: 0 !important;
    text-align: center !important;
}

/* Page Title - H1 */
h1.page-title,
h1.entry-title {
    font-family: var(--font-display) !important;
    font-size: var(--font-size-h1) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-normal) !important;
    line-height: var(--line-height-heading) !important;
    color: var(--brand-gray-dark) !important;
    margin: 0 auto !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Override WooCommerce specific margin-bottom */
.entry-header .page-title,
.hero-section h1.page-title,
[data-prefix="single_page"] .entry-header .page-title {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   Content Area
   ========================================================================== */

.entry-content {
    font-family: var(--font-primary);
    font-size: var(--font-size-content-body);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-content-body);
    color: var(--brand-gray-dark);
    margin: 0 auto;
    padding: var(--content-spacing-medium) 0;
}

/* Default: Constrained width for all non-whitelisted pages */
.entry-content {
    max-width: 800px;
}

/* Whitelist: Remove max-width constraint for full-width pages */
.home .entry-content,
.woocommerce-shop .entry-content,
.post-type-archive-product .entry-content,
.tax-product_cat .entry-content,
.tax-product_tag .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.single-product .entry-content,
/* Pages with product collection blocks (e.g., category collection pages) */
.entry-content:has(.wp-block-woocommerce-product-collection) {
    max-width: none;
}

/* ==========================================================================
   Headings
   ========================================================================== */

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: var(--font-display);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-heading);
    color: var(--brand-gray-dark);
    margin-top: var(--content-spacing-large);
    margin-bottom: var(--content-spacing-medium);
    clear: both;
}

.entry-content h1 {
    font-size: var(--font-size-h1);
}

.entry-content h2 {
    font-size: var(--font-size-h2);
}

.entry-content h3 {
    font-size: var(--font-size-h3);
}

.entry-content h4 {
    font-size: var(--font-size-h4);
}

.entry-content h5 {
    font-size: var(--font-size-h5);
}

.entry-content h6 {
    font-size: var(--font-size-h6);
}

/* First heading after page title */
.entry-content > h2:first-child,
.entry-content > h3:first-child {
    margin-top: 0;
}

/* ==========================================================================
   Paragraphs
   ========================================================================== */

.entry-content p {
    font-family: var(--font-primary);
    font-size: var(--font-size-content-body);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-content-body);
    color: var(--brand-gray-dark);
    margin-bottom: var(--content-spacing-medium);
}

.entry-content p:last-child {
    margin-bottom: 0;
}

/* Lead paragraph */
.entry-content p.lead,
.entry-content > p:first-of-type {
    font-size: calc(var(--font-size-content-body) * 1.1);
    font-weight: var(--font-weight-medium);
}

/* ==========================================================================
   Links
   ========================================================================== */

.entry-content a {
    color: var(--brand-orange);
    text-decoration: underline;
    transition: color var(--transition-fast);
}

.entry-content a:hover {
    color: var(--brand-dark);
    text-decoration: none;
}

.entry-content a:focus {
    outline: 2px solid var(--brand-orange);
    outline-offset: 2px;
}

/* ==========================================================================
   Lists
   ========================================================================== */

.entry-content ul,
.entry-content ol {
    font-family: var(--font-primary);
    font-size: var(--font-size-content-body);
    line-height: var(--line-height-content-body);
    margin: 0 0 var(--content-spacing-medium) 0;
    padding-left: 2rem;
}

.entry-content ul {
    list-style-type: disc;
}

.entry-content ol {
    list-style-type: decimal;
}

.entry-content li {
    margin-bottom: var(--content-spacing-small);
}

.entry-content li:last-child {
    margin-bottom: 0;
}

/* Nested lists */
.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
    margin-top: var(--content-spacing-small);
    margin-bottom: var(--content-spacing-small);
}

.entry-content ul ul {
    list-style-type: circle;
}

.entry-content ul ul ul {
    list-style-type: square;
}

/* ==========================================================================
   Blockquotes
   ========================================================================== */

.entry-content blockquote {
    font-family: var(--font-display);
    font-size: calc(var(--font-size-content-body) * 1.2);
    font-style: italic;
    line-height: var(--line-height-relaxed);
    color: var(--brand-gray-medium);
    margin: var(--content-spacing-large) 0;
    padding: var(--content-spacing-medium) var(--content-spacing-large);
    border-left: 4px solid var(--brand-orange);
    background: rgba(252, 125, 6, 0.05);
}

.entry-content blockquote p {
    font-family: var(--font-display);
    font-size: inherit;
    margin-bottom: var(--content-spacing-small);
}

.entry-content blockquote p:last-child {
    margin-bottom: 0;
}

.entry-content blockquote cite {
    display: block;
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    font-style: normal;
    color: var(--brand-gray-dark);
    margin-top: var(--content-spacing-small);
}

.entry-content blockquote cite::before {
    content: '— ';
}

/* ==========================================================================
   Images
   ========================================================================== */

.entry-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: var(--content-spacing-large) auto;
    border-radius: var(--radius-base);
}

.entry-content figure {
    margin: var(--content-spacing-large) 0;
    text-align: center;
}

.entry-content figure img {
    margin-bottom: var(--content-spacing-small);
}

.entry-content figcaption {
    font-family: var(--font-primary);
    font-size: var(--font-size-small);
    font-style: italic;
    color: var(--brand-gray-medium);
    text-align: center;
}

/* Image alignment */
.entry-content .alignleft {
    float: left;
    margin: 0 var(--content-spacing-large) var(--content-spacing-medium) 0;
}

.entry-content .alignright {
    float: right;
    margin: 0 0 var(--content-spacing-medium) var(--content-spacing-large);
}

.entry-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   Tables
   ========================================================================== */

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--content-spacing-large) 0;
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
}

.entry-content table th {
    background: var(--brand-orange);
    color: var(--brand-white);
    font-weight: var(--font-weight-semibold);
    text-align: left;
    padding: var(--padding-medium);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.entry-content table td {
    padding: var(--padding-medium);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.entry-content table tr:nth-child(even) {
    background: rgba(252, 125, 6, 0.05);
}

.entry-content table tr:hover {
    background: rgba(252, 125, 6, 0.1);
}

/* ==========================================================================
   Size Guide Tables - Color Coded
   ========================================================================== */

/* Verde (Green) */
.entry-content table.table-verde th,
.entry-content .table-verde table th,
figure.table-verde table th,
.wp-block-table.table-verde th {
    background: #2e7d32 !important;
    color: #fff !important;
}

.entry-content table.table-verde tr:nth-child(even),
.entry-content .table-verde table tr:nth-child(even),
figure.table-verde table tr:nth-child(even),
.wp-block-table.table-verde tr:nth-child(even) {
    background: rgba(46, 125, 50, 0.08);
}

.entry-content table.table-verde tr:hover,
.entry-content .table-verde table tr:hover,
figure.table-verde table tr:hover,
.wp-block-table.table-verde tr:hover {
    background: rgba(46, 125, 50, 0.15);
}

/* Rosso (Red) */
.entry-content table.table-rosso th,
.entry-content .table-rosso table th,
figure.table-rosso table th,
.wp-block-table.table-rosso th {
    background: #c62828 !important;
    color: #fff !important;
}

.entry-content table.table-rosso tr:nth-child(even),
.entry-content .table-rosso table tr:nth-child(even),
figure.table-rosso table tr:nth-child(even),
.wp-block-table.table-rosso tr:nth-child(even) {
    background: rgba(198, 40, 40, 0.08);
}

.entry-content table.table-rosso tr:hover,
.entry-content .table-rosso table tr:hover,
figure.table-rosso table tr:hover,
.wp-block-table.table-rosso tr:hover {
    background: rgba(198, 40, 40, 0.15);
}

/* Arancione (Orange) - default, but explicit class */
.entry-content table.table-arancione th,
.entry-content .table-arancione table th,
figure.table-arancione table th,
.wp-block-table.table-arancione th {
    background: var(--brand-orange, #FC7D06) !important;
    color: #fff !important;
}

.entry-content table.table-arancione tr:nth-child(even),
.entry-content .table-arancione table tr:nth-child(even),
figure.table-arancione table tr:nth-child(even),
.wp-block-table.table-arancione tr:nth-child(even) {
    background: rgba(252, 125, 6, 0.08);
}

.entry-content table.table-arancione tr:hover,
.entry-content .table-arancione table tr:hover,
figure.table-arancione table tr:hover,
.wp-block-table.table-arancione tr:hover {
    background: rgba(252, 125, 6, 0.15);
}

/* Giallo (Yellow) */
.entry-content table.table-giallo th,
.entry-content .table-giallo table th,
figure.table-giallo table th,
.wp-block-table.table-giallo th {
    background: #f9a825 !important;
    color: #000 !important;
}

.entry-content table.table-giallo tr:nth-child(even),
.entry-content .table-giallo table tr:nth-child(even),
figure.table-giallo table tr:nth-child(even),
.wp-block-table.table-giallo tr:nth-child(even) {
    background: rgba(249, 168, 37, 0.12);
}

.entry-content table.table-giallo tr:hover,
.entry-content .table-giallo table tr:hover,
figure.table-giallo table tr:hover,
.wp-block-table.table-giallo tr:hover {
    background: rgba(249, 168, 37, 0.2);
}

/* Size Guide Tables by ID */
/* Verde - Coyote/Scriccicolo */
#size-guide-table-coyote-scriccicolo th {
    background: #2e7d32 !important;
    color: #fff !important;
}
#size-guide-table-coyote-scriccicolo tr:nth-child(even) {
    background: rgba(46, 125, 50, 0.08);
}
#size-guide-table-coyote-scriccicolo tr:hover {
    background: rgba(46, 125, 50, 0.15);
}
#size-guide-table-coyote-scriccicolo caption {
    color: #2e7d32;
    font-weight: 700;
}

/* Rosso - Koala/Coccinella */
#size-guide-table-koala-coccinella th {
    background: #c62828 !important;
    color: #fff !important;
}
#size-guide-table-koala-coccinella tr:nth-child(even) {
    background: rgba(198, 40, 40, 0.08);
}
#size-guide-table-koala-coccinella tr:hover {
    background: rgba(198, 40, 40, 0.15);
}
#size-guide-table-koala-coccinella caption {
    color: #c62828;
    font-weight: 700;
}

/* Arancione - Bimbi */
#size-guide-table-bimbi th {
    background: #FC7D06 !important;
    color: #fff !important;
}
#size-guide-table-bimbi tr:nth-child(even) {
    background: rgba(252, 125, 6, 0.08);
}
#size-guide-table-bimbi tr:hover {
    background: rgba(252, 125, 6, 0.15);
}
#size-guide-table-bimbi caption {
    color: #FC7D06;
    font-weight: 700;
}

/* Giallo - Sandali */
#size-guide-table-sandali th {
    background: #f9a825 !important;
    color: #000 !important;
}
#size-guide-table-sandali tr:nth-child(even) {
    background: rgba(249, 168, 37, 0.12);
}
#size-guide-table-sandali tr:hover {
    background: rgba(249, 168, 37, 0.2);
}
#size-guide-table-sandali caption {
    color: #f9a825;
    font-weight: 700;
}

/* Style all size guide captions */
#size-guide-table-coyote-scriccicolo caption,
#size-guide-table-koala-coccinella caption,
#size-guide-table-bimbi caption,
#size-guide-table-sandali caption {
    caption-side: top;
    text-align: center;
    font-size: 18px;
    padding: 12px 0;
    font-family: var(--font-primary, Quicksand);
}

/* ==========================================================================
   Code Blocks
   ========================================================================== */

.entry-content code {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
    background: var(--brand-gray-light);
    padding: 2px 6px;
    border-radius: var(--radius-small);
    color: var(--brand-dark);
}

.entry-content pre {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
    background: var(--brand-gray-light);
    padding: var(--content-spacing-medium);
    border-radius: var(--radius-base);
    overflow-x: auto;
    margin: var(--content-spacing-medium) 0;
    border-left: 4px solid var(--brand-orange);
}

.entry-content pre code {
    background: none;
    padding: 0;
}

/* ==========================================================================
   Horizontal Rule
   ========================================================================== */

.entry-content hr {
    border: none;
    border-top: 2px solid rgba(252, 125, 6, 0.3);
    margin: var(--content-spacing-large) auto;
    max-width: 200px;
}

/* ==========================================================================
   WordPress Core Classes
   ========================================================================== */

/* Screen reader text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--brand-gray-light);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-focus);
    clip: auto !important;
    clip-path: none;
    color: var(--brand-accent-blue);
    display: block;
    font-size: var(--font-size-small);
    font-weight: bold;
    height: auto;
    left: var(--padding-xs);
    line-height: normal;
    padding: var(--spacing-medium) 23px 14px;
    text-decoration: none;
    top: var(--padding-xs);
    width: auto;
    z-index: var(--z-index-screen-reader);
}

/* ==========================================================================
   WordPress Blocks Support
   ========================================================================== */

/* Buttons */
.entry-content .wp-block-button {
    margin: var(--content-spacing-medium) 0;
}

.entry-content .wp-block-button__link {
    background: var(--brand-orange);
    color: var(--brand-white);
    padding: var(--padding-medium) var(--content-spacing-large);
    border-radius: var(--radius-base);
    text-decoration: none;
    display: inline-block;
    font-family: var(--font-primary);
    font-weight: var(--font-weight-semibold);
    transition: background var(--transition-fast);
}

.entry-content .wp-block-button__link:hover {
    background: var(--brand-dark);
    color: var(--brand-white);
}

/* Columns */
.entry-content .wp-block-columns {
    margin-bottom: var(--content-spacing-large);
}

/* Cover block */
.entry-content .wp-block-cover {
    margin: var(--content-spacing-large) 0;
    border-radius: var(--radius-base);
}

/* Gallery */
.entry-content .wp-block-gallery {
    margin: var(--content-spacing-large) 0;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
    .ct-container-full {
        padding: 0 var(--spacing-medium);
    }
    
    .hero-section {
        padding: var(--content-spacing-medium) 0;
        margin-bottom: var(--content-spacing-medium);
    }
    
    h1.page-title,
    h1.entry-title {
        font-size: calc(var(--font-size-h1) * 0.8) !important;
    }
    
    .entry-content {
        padding: var(--content-spacing-small) 0;
    }
    
    .entry-content h1 {
        font-size: calc(var(--font-size-h1) * 0.8);
    }
    
    .entry-content h2 {
        font-size: calc(var(--font-size-h2) * 0.85);
    }
    
    .entry-content h3 {
        font-size: calc(var(--font-size-h3) * 0.85);
    }
    
    .entry-content h4 {
        font-size: var(--font-size-h4);
    }
    
    .entry-content p,
    .entry-content ul,
    .entry-content ol {
        font-size: var(--font-size-base);
    }
    
    .entry-content blockquote {
        padding: var(--content-spacing-medium);
        margin: var(--content-spacing-medium) 0;
        font-size: var(--font-size-medium);
    }
    
    .entry-content .alignleft,
    .entry-content .alignright {
        float: none;
        display: block;
        margin: var(--content-spacing-medium) auto;
    }
    
    .entry-content table {
        font-size: var(--font-size-small);
    }
    
    .entry-content table th,
    .entry-content table td {
        padding: var(--padding-xs);
    }
}

@media (max-width: 480px) {
    h1.page-title,
    h1.entry-title {
        font-size: calc(var(--font-size-h1) * 0.7) !important;
    }
    
    .entry-content h1 {
        font-size: calc(var(--font-size-h1) * 0.7);
    }
    
    .entry-content h2 {
        font-size: calc(var(--font-size-h2) * 0.75);
    }
    
    .entry-content h3 {
        font-size: var(--font-size-h4);
    }
    
    .entry-content blockquote {
        padding: var(--content-spacing-small);
        font-size: var(--font-size-base);
    }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
    .entry-content {
        font-size: 12pt;
        line-height: 1.5;
        color: #000;
    }

    .entry-content a {
        color: #000;
        text-decoration: underline;
    }

    .entry-content a[href]:after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
    }
}

/* ==========================================================================
   Cart Page Styles
   ========================================================================== */

/* ==========================================================================
   Empty Cart Styling (WooCommerce Blocks)
   ========================================================================== */

/* Hide the crying face SVG completely */
.wc-block-cart__empty-cart__image,
.woocommerce-cart .wc-block-cart__empty-cart__image,
.woocommerce-cart svg.wc-block-cart__empty-cart__image,
svg[class*="empty-cart"],
.wc-block-cart--is-empty svg,
.wc-block-cart__empty-cart__image svg {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
}

/* Hide the CSS pseudo-element icon from with-empty-cart-icon class */
.woocommerce-cart h2.with-empty-cart-icon::before,
.woocommerce-cart .with-empty-cart-icon::before,
h2.with-empty-cart-icon::before {
    display: none !important;
    content: none !important;
}

/* Hide the "Browse store" link */
.wc-block-cart__empty-cart__link,
.woocommerce-cart .wc-block-cart__empty-cart__link,
.woocommerce-cart a[href*="shop"],
.wc-block-cart--is-empty a.wc-block-cart__empty-cart__link,
a.wc-block-components-empty-cart__browse-store {
    display: none !important;
}

/* Style the empty cart message */
.wc-block-cart__empty-cart__title,
.woocommerce-cart .wc-block-cart__empty-cart__title {
    font-family: var(--font-display, 'Gochi Hand') !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    color: var(--brand-gray-dark, #333) !important;
    margin: 40px auto 30px !important;
    text-align: center !important;
}

/* Classic WooCommerce fallbacks */
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .cart-empty::before,
.cart-empty-container .woocommerce-info::before {
    display: none !important;
}

.cart-empty-container {
    text-align: center;
    padding: 40px 20px;
    max-width: 600px;
    margin: 0 auto;
}

.cart-empty-container .cart-empty,
.woocommerce-cart .cart-empty {
    font-family: var(--font-primary, Quicksand);
    font-size: 18px;
    font-weight: 500;
    color: var(--brand-gray-dark, #333);
    background: transparent !important;
    border: none !important;
    padding: 20px !important;
    margin: 0 auto !important;
}

/* Hide default return to shop button */
.woocommerce-cart .return-to-shop,
.woocommerce-cart a.button.wc-backward {
    display: none !important;
}

/* Custom astronaut empty cart image wrapper */
.sciuuuskids-empty-cart-image-wrapper {
    text-align: center !important;
    margin: 40px auto 30px !important;
    padding: 20px !important;
}

.sciuuuskids-empty-cart-image {
    max-width: 280px !important;
    height: auto !important;
    margin: 0 auto 20px !important;
    display: block !important;
}

.sciuuuskids-empty-cart-text {
    font-family: var(--font-display, 'Gochi Hand') !important;
    font-size: 24px !important;
    color: var(--brand-gray-dark, #333) !important;
    text-align: center !important;
    margin: 15px 0 0 !important;
    display: block !important;
}

/* ==========================================================================
   "New in Store" Products Section on Empty Cart Page
   Legacy WooCommerce Product Grid (woocommerce/product-new block)

   IMPORTANT: This block uses the LEGACY grid structure:
   div.wc-block-grid.has-3-columns > ul.wc-block-grid__products > li.wc-block-grid__product

   WooCommerce's own CSS applies flex/inline-block to these elements.
   We must override with maximum specificity + !important to force grid layout.
   ========================================================================== */

/* --- Container: the outer div.wc-block-grid wrapper --- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns,
body.woocommerce-cart .wc-block-grid.wp-block-product-new {
    display: block !important;
    max-width: 900px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* --- Products list: the <ul> that MUST be CSS Grid --- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
body.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__products,
body.woocommerce-cart .wc-block-grid.has-3-columns > .wc-block-grid__products,
body.woocommerce-cart .wc-block-grid .wc-block-grid__products,
body.woocommerce-cart .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart ul.wc-block-grid__products,
body.woocommerce-cart .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    /* Reset any WooCommerce flex layout */
    flex-wrap: unset !important;
    flex-direction: unset !important;
}

/* --- Product card: each <li> item --- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
body.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__products .wc-block-grid__product,
body.woocommerce-cart .wc-block-grid .wc-block-grid__product {
    display: flex !important;
    flex-direction: column !important;
    background: var(--brand-white, #fff) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    padding: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    /* Reset WooCommerce flex-item properties */
    flex: unset !important;
    margin: 0 !important;
    float: none !important;
}

body.woocommerce-cart .wc-block-grid__product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
}

/* --- Product link (wraps image + title) --- */
body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-link {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* --- Product image --- */
body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-image {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    transition: transform 0.8s ease !important;
}

body.woocommerce-cart .wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.05) !important;
}

/* --- Product title --- */
body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-title {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--brand-black, #000) !important;
    margin: 15px 15px 8px !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    line-height: 1.4 !important;
}

/* --- Product price --- */
body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-price {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--brand-black, #000) !important;
    margin: 0 15px 15px !important;
    padding: 0 !important;
    text-align: center !important;
}

/* --- Add to cart button --- */
body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-add-to-cart {
    margin: auto 15px 15px !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .wc-block-grid__product .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    background-color: var(--brand-orange, #FC7D06) !important;
    color: var(--brand-white, #fff) !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-weight: 700 !important;
    padding: 12px 15px !important;
    border-radius: 4px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    transition: background-color 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-grid__product .wp-block-button__link:hover {
    background-color: #e06d05 !important;
}

/* Product grid layout for cart page - Product Collection template (non-legacy) */
.woocommerce-cart .wc-block-product-template,
.woocommerce-cart ul.wc-block-product-template,
.woocommerce-cart ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 30px auto !important;
    max-width: 1000px !important;
    width: 100% !important;
}

/* Product card styling for cart page - Product Collection template (non-legacy) */
.woocommerce-cart .wc-block-product-template li.wc-block-product,
.woocommerce-cart li.wc-block-product,
.woocommerce-cart li.product {
    background: var(--brand-white, #fff) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    height: 100% !important;
    min-height: 400px !important;
    min-width: 0 !important;
    width: 100% !important;
    writing-mode: horizontal-tb !important;
}

/* Force proper text flow in product cards */
.woocommerce-cart .wc-block-product-template li.wc-block-product *,
.woocommerce-cart li.wc-block-product *,
.woocommerce-cart .wc-block-grid__product *,
.woocommerce-cart li.product * {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

.woocommerce-cart .wc-block-product:hover,
.woocommerce-cart .wc-block-grid__product:hover,
.woocommerce-cart li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
}

/* Product image in cart page collection */
.woocommerce-cart .wc-block-components-product-image,
.woocommerce-cart .wc-block-grid__product-image,
.woocommerce-cart li.product .attachment-woocommerce_thumbnail {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .wc-block-components-product-image img,
.woocommerce-cart .wc-block-grid__product-image img,
.woocommerce-cart li.product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.8s ease !important;
}

.woocommerce-cart .wc-block-product:hover .wc-block-components-product-image img,
.woocommerce-cart .wc-block-grid__product:hover img,
.woocommerce-cart li.product:hover img {
    transform: scale(1.05) !important;
}

/* Product title in cart page collection */
.woocommerce-cart .wc-block-product h2.wp-block-post-title,
.woocommerce-cart .wc-block-grid__product-title,
.woocommerce-cart li.product .woocommerce-loop-product__title {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 15px 15px 8px !important;
    padding: 0 !important;
    color: var(--brand-black, #000) !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.woocommerce-cart .wc-block-product h2 a,
.woocommerce-cart .wc-block-grid__product-title a,
.woocommerce-cart li.product .woocommerce-loop-product__title a {
    color: var(--brand-black, #000) !important;
    text-decoration: none !important;
}

.woocommerce-cart .wc-block-product h2 a:hover,
.woocommerce-cart .wc-block-grid__product-title a:hover,
.woocommerce-cart li.product a:hover .woocommerce-loop-product__title {
    color: var(--brand-orange, #FC7D06) !important;
}

/* Product price in cart page collection */
.woocommerce-cart .wc-block-product .wc-block-components-product-price,
.woocommerce-cart .wc-block-grid__product-price,
.woocommerce-cart li.product .price {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--brand-black, #000) !important;
    text-align: center !important;
    margin: 0 15px 15px !important;
    padding: 0 !important;
}

/* Add to cart button in cart page collection */
.woocommerce-cart .wc-block-product .wc-block-components-product-button,
.woocommerce-cart .wc-block-grid__product .wp-block-button,
.woocommerce-cart li.product .add_to_cart_button,
.woocommerce-cart li.product .button {
    margin: auto 15px 15px !important;
    padding: 0 !important;
}

.woocommerce-cart .wc-block-product .wp-block-button__link,
.woocommerce-cart .wc-block-product .wc-block-components-product-button__button,
.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
.woocommerce-cart li.product .add_to_cart_button,
.woocommerce-cart li.product .button {
    display: block !important;
    width: 100% !important;
    background-color: var(--brand-orange, #FC7D06) !important;
    color: var(--brand-white, #fff) !important;
    padding: 12px 15px !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    transition: background-color 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
}

.woocommerce-cart .wc-block-product .wp-block-button__link:hover,
.woocommerce-cart .wc-block-product .wc-block-components-product-button__button:hover,
.woocommerce-cart .wc-block-grid__product .wp-block-button__link:hover,
.woocommerce-cart li.product .add_to_cart_button:hover,
.woocommerce-cart li.product .button:hover {
    background-color: #e06d05 !important;
}

/* Sale badges on cart page products */
.woocommerce-cart .wc-block-product .onsale,
.woocommerce-cart .wc-block-grid__product .onsale,
.woocommerce-cart li.product .onsale {
    background: var(--brand-white, #fff) !important;
    color: var(--brand-black, #000) !important;
    border: 1px solid var(--brand-gray-dark, #333) !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
}

/* Responsive: Tablet (2 columns) */
@media (max-width: 1024px) {
    .woocommerce-cart .wc-block-product-template,
    .woocommerce-cart ul.wc-block-product-template,
    .woocommerce-cart ul.products,
    body.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__products,
    body.woocommerce-cart .wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* Responsive: Small tablet (2 columns) */
@media (max-width: 768px) {
    .woocommerce-cart .wc-block-product-template,
    .woocommerce-cart ul.wc-block-product-template,
    .woocommerce-cart ul.products,
    body.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__products,
    body.woocommerce-cart .wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    .woocommerce-cart .wc-block-product,
    body.woocommerce-cart .wc-block-grid__product,
    .woocommerce-cart li.product {
        min-height: 350px !important;
    }
}

/* Responsive: Mobile (2 columns still, smaller cards) */
@media (max-width: 480px) {
    .woocommerce-cart .wc-block-product-template,
    .woocommerce-cart ul.wc-block-product-template,
    .woocommerce-cart ul.products,
    body.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__products,
    body.woocommerce-cart .wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .woocommerce-cart .wc-block-product,
    body.woocommerce-cart .wc-block-grid__product,
    .woocommerce-cart li.product {
        min-height: 300px !important;
    }

    .woocommerce-cart .wc-block-product h2.wp-block-post-title,
    body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-title,
    .woocommerce-cart li.product .woocommerce-loop-product__title {
        font-size: 13px !important;
        margin: 10px 10px 5px !important;
    }

    .woocommerce-cart .wc-block-product .wc-block-components-product-price,
    body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-price,
    .woocommerce-cart li.product .price {
        font-size: 18px !important;
        margin: 0 10px 10px !important;
    }

    .woocommerce-cart .wc-block-product .wc-block-components-product-button,
    body.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-add-to-cart,
    .woocommerce-cart li.product .add_to_cart_button,
    .woocommerce-cart li.product .button {
        margin: auto 10px 10px !important;
    }

    .woocommerce-cart .wc-block-product .wp-block-button__link,
    body.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
    .woocommerce-cart li.product .add_to_cart_button,
    .woocommerce-cart li.product .button {
        padding: 10px 12px !important;
        font-size: 12px !important;
    }
}

/* Override entry-content link styles for cart/checkout buttons - force white text */
.woocommerce-cart .entry-content .wc-block-components-button__text,
.woocommerce-cart .entry-content .wc-block-cart__submit-button .wc-block-components-button__text,
.woocommerce-cart .wc-block-components-button__text,
.woocommerce-cart .wp-element-button,
.woocommerce-cart .entry-content .wp-element-button,
.woocommerce-checkout .entry-content .wc-block-components-button__text,
.woocommerce-checkout .wc-block-components-button__text,
.woocommerce-checkout .wp-element-button,
.woocommerce-checkout .entry-content .wp-element-button {
    color: #fff !important;
    text-decoration: none !important;
}

/* Product title links in cart - cleaner look */
.woocommerce-cart .wc-block-cart-item__product a,
.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .cart_item .product-name a,
.woocommerce-cart a.wc-block-components-product-name {
    color: var(--brand-green, #009285) !important;
    text-decoration: none !important;
    font-weight: 600;
    transition: color 0.2s ease;
}

.woocommerce-cart .wc-block-cart-item__product a:hover,
.woocommerce-cart .wc-block-components-product-name:hover,
.woocommerce-cart .cart_item .product-name a:hover,
.woocommerce-cart a.wc-block-components-product-name:hover {
    color: var(--brand-orange, #FC7D06) !important;
    text-decoration: none !important;
}

/* Remove item link - subtle styling */
.woocommerce-cart .wc-block-cart-item__remove-link,
.woocommerce-cart .wc-block-components-product-details + a,
.woocommerce-cart a.remove,
.woocommerce-cart .product-remove a,
.woocommerce-cart a[href*="remove_item"] {
    color: var(--brand-gray-medium, #666) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
    opacity: 0.8;
    transition: all 0.2s ease;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover,
.woocommerce-cart .wc-block-components-product-details + a:hover,
.woocommerce-cart a.remove:hover,
.woocommerce-cart .product-remove a:hover,
.woocommerce-cart a[href*="remove_item"]:hover {
    color: #dc3545 !important;
    text-decoration: underline !important;
    opacity: 1;
}

/* Stock/inventory notices in cart */
.woocommerce-cart .wc-block-components-product-badge,
.woocommerce-cart .stock-notice {
    background: rgba(252, 125, 6, 0.1);
    color: var(--brand-orange, #FC7D06);
    border: 1px solid rgba(252, 125, 6, 0.3);
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    display: inline-block;
    margin-top: 8px;
}

/* Cart item variation details (size, color) */
.woocommerce-cart .wc-block-components-product-details,
.woocommerce-cart .variation {
    font-size: 14px;
    color: var(--brand-gray-dark, #333);
    margin-top: 5px;
}

.woocommerce-cart .wc-block-components-product-details dt,
.woocommerce-cart .variation dt {
    font-weight: 600;
    display: inline;
}

.woocommerce-cart .wc-block-components-product-details dd,
.woocommerce-cart .variation dd {
    display: inline;
    margin-left: 0;
    color: var(--brand-gray-medium, #666);
}

/* Coupon/promo code link */
.woocommerce-cart .wc-block-components-totals-coupon-link,
.woocommerce-cart a[class*="coupon"] {
    color: var(--brand-gray-dark, #333) !important;
    text-decoration: none !important;
    font-weight: 500;
}

.woocommerce-cart .wc-block-components-totals-coupon-link:hover,
.woocommerce-cart a[class*="coupon"]:hover {
    color: var(--brand-orange, #FC7D06) !important;
}

/* ==========================================================================
   Cart & Checkout Mobile Responsive Fixes
   ========================================================================== */

/* Ensure cart/checkout items don't overflow on mobile */
@media (max-width: 768px) {
    /* Cart item layout - stack on mobile */
    .woocommerce-cart .wc-block-cart-items,
    .woocommerce-checkout .wc-block-components-order-summary-item {
        width: 100% !important;
        overflow: hidden;
    }

    /* Cart item row - flexible layout */
    .woocommerce-cart .wc-block-cart-items__row,
    .woocommerce-cart .wc-block-cart-item,
    .woocommerce-checkout .wc-block-components-order-summary-item {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        padding: 15px 10px !important;
        position: relative;
    }

    /* Product image smaller on mobile */
    .woocommerce-cart .wc-block-cart-item__image,
    .woocommerce-checkout .wc-block-components-order-summary-item__image {
        width: 60px !important;
        min-width: 60px !important;
        flex-shrink: 0;
    }

    /* Product details - take remaining space */
    .woocommerce-cart .wc-block-cart-item__product,
    .woocommerce-checkout .wc-block-components-order-summary-item__description {
        flex: 1;
        min-width: 0;
        padding-right: 70px !important;
    }

    /* Price positioning - absolute right */
    .woocommerce-cart .wc-block-cart-item__total,
    .woocommerce-checkout .wc-block-components-order-summary-item__total-price {
        position: absolute !important;
        right: 10px !important;
        top: 15px !important;
        text-align: right !important;
        max-width: 65px;
        font-size: 14px !important;
    }

    /* Product name - prevent overflow */
    .woocommerce-cart .wc-block-components-product-name,
    .woocommerce-checkout .wc-block-components-product-name {
        font-size: 14px !important;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    /* Quantity selector - compact */
    .woocommerce-cart .wc-block-components-quantity-selector {
        transform: scale(0.9);
        transform-origin: left center;
    }

    /* Order summary totals */
    .woocommerce-cart .wc-block-components-totals-wrapper,
    .woocommerce-checkout .wc-block-components-totals-wrapper {
        padding: 10px !important;
    }

    .woocommerce-cart .wc-block-components-totals-item,
    .woocommerce-checkout .wc-block-components-totals-item {
        display: flex;
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 10px;
    }

    .woocommerce-cart .wc-block-components-totals-item__value,
    .woocommerce-checkout .wc-block-components-totals-item__value {
        text-align: right;
        white-space: nowrap;
    }
}

@media (max-width: 480px) {
    /* Even smaller screens */
    .woocommerce-cart .wc-block-cart-item__product,
    .woocommerce-checkout .wc-block-components-order-summary-item__description {
        padding-right: 60px !important;
    }

    .woocommerce-cart .wc-block-cart-item__total,
    .woocommerce-checkout .wc-block-components-order-summary-item__total-price {
        max-width: 55px;
        font-size: 13px !important;
    }

    .woocommerce-cart .wc-block-components-product-name,
    .woocommerce-checkout .wc-block-components-product-name {
        font-size: 13px !important;
    }
}/**
 * Homepage Block Patterns Styles
 * 
 * @package Blocksy_Child_SciuuusKids
 * @version 1.0.0
 */

/* ==========================================================================
   Delivery Banner Pattern
   ========================================================================== */

.delivery-banner,
.delivery-banner.wp-block-group,
.delivery-banner.alignfull {
    background: var(--brand-green) !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Ensure parent containers don't constrain the banner */
.entry-content .delivery-banner,
.ct-container .delivery-banner,
.ct-container-full .delivery-banner {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.delivery-banner p {
    color: var(--brand-white) !important;
    font-family: var(--font-primary);
    font-size: 22px !important;
    font-weight: var(--font-weight-semibold) !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    line-height: 1.2;
}

/* ==========================================================================
   Hero Section Main Pattern
   ========================================================================== */

.hero-section-main {
    background: var(--brand-white) !important;
    padding: 60px 20px !important;
    text-align: center;
}

.hero-section-main h1,
.hero-section-main h2 {
    font-family: var(--font-display) !important;
    font-weight: var(--font-weight-normal) !important;
    color: var(--brand-gray-dark) !important;
    text-align: center;
    margin-top: 0 !important;
}

.hero-section-main h1 {
    font-size: var(--font-size-h1) !important;
    margin-bottom: 20px !important;
}

.hero-section-main h2 {
    font-size: var(--font-size-h2) !important;
    margin-bottom: 20px !important;
}

.hero-section-main .wp-block-button__link {
    background: var(--brand-orange) !important;
    color: var(--brand-white) !important;
    font-family: var(--font-primary);
    font-weight: var(--font-weight-semibold);
    padding: 12px 25px;
    border-radius: var(--radius-base);
    text-decoration: none;
    transition: background var(--transition-fast);
}

.hero-section-main .wp-block-button__link:hover {
    background: var(--brand-dark) !important;
}

/* Hero images layout */
.hero-section-main .wp-block-columns {
    margin-top: 40px;
    align-items: center;
}

.hero-section-main .main-hero-image {
    text-align: center;
}

.hero-section-main .main-hero-image img {
    max-width: 100%;
    height: auto;
    box-shadow: none;
    margin: 0 auto;
}

.hero-section-main .decorative-image {
    text-align: center;
}

.hero-section-main .decorative-image img {
    max-width: 100%;
    height: auto;
    box-shadow: none;
}

.hero-section-main .small-decorative {
    margin-bottom: 10px;
}

.hero-section-main .small-decorative img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    box-shadow: none;
    margin: 0 auto;
}

.hero-section-main .balloon-decorative img {
    max-width: 300px;
    height: auto;
    box-shadow: none;
}

/* ==========================================================================
   Hero Section Simple Pattern (New - Clean Version)
   ========================================================================== */

.hero-section-simple {
    background: var(--brand-white) !important;
    padding: 60px 20px !important;
}

.hero-section-simple h1,
.hero-section-simple h2 {
    font-family: var(--font-display) !important;
    font-weight: var(--font-weight-normal) !important;
    color: var(--brand-gray-dark) !important;
    text-align: center !important;
    margin-top: 0 !important;
}

.hero-section-simple h1 {
    font-size: var(--font-size-h1) !important;
    margin-bottom: 20px !important;
}

.hero-section-simple h2 {
    font-size: var(--font-size-h2) !important;
    margin-bottom: 20px !important;
}

.hero-section-simple .wp-block-buttons {
    margin-bottom: 40px !important;
}

.hero-section-simple .wp-block-button__link {
    background: var(--brand-orange) !important;
    color: var(--brand-white) !important;
    font-family: var(--font-primary);
    font-weight: var(--font-weight-semibold);
    padding: 12px 25px;
    border-radius: var(--radius-base);
    text-decoration: none;
    transition: background var(--transition-fast);
    display: inline-block;
}

.hero-section-simple .wp-block-button__link:hover {
    background: var(--brand-dark) !important;
}

.hero-section-simple .hero-main-image {
    text-align: center;
    margin: 0 auto;
}

.hero-section-simple .hero-main-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    box-shadow: none;
    border-radius: 0;
}

/* ==========================================================================
   Hero Section Background Image Pattern (Elementor Match)
   ========================================================================== */

.hero-section-bg {
    position: relative;
    min-height: 75vh !important;
    background-position: center right !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

/* Cover block background overlay */
.hero-section-bg .wp-block-cover__background {
    background-color: #FAFAFA !important;
    opacity: 0.2 !important;
}

/* Inner content container */
.hero-section-bg .wp-block-cover__inner-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    z-index: 2;
}

/* H1 - Radio Canada Bold Uppercase */
.hero-section-bg h1 {
    font-family: 'Radio Canada', var(--font-primary), sans-serif !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    color: #ffffff !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    text-shadow: 0 0 19px rgba(0, 0, 0, 0.5) !important;
    line-height: 1.2;
}

/* H2 - Quicksand/REM Italic Lowercase */
.hero-section-bg h2 {
    font-family: 'Quicksand', var(--font-primary), sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    text-transform: lowercase !important;
    letter-spacing: 2.5px !important;
    color: #ffffff !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.3) !important;
    line-height: 1.3;
}

/* Divider - White zigzag pattern */
.hero-section-bg .hero-divider {
    border-color: #ffffff !important;
    max-width: 40px;
    margin: 20px auto !important;
    height: 2px;
}

/* Button - Teal with orange border */
.hero-section-bg .wp-block-button__link {
    background: var(--brand-green) !important;
    color: #ffffff !important;
    font-family: 'Lato', var(--font-primary), sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.8px !important;
    padding: 15px 45px !important;
    border: 2px solid #D86A01 !important;
    border-radius: 30px !important;
    transition: all 0.3s ease !important;
    text-decoration: none;
    display: inline-block;
}

.hero-section-bg .wp-block-button__link:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(2px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-section-bg {
        min-height: 60vh !important;
        padding: 50px 20px !important;
    }
    
    .hero-section-bg h1 {
        font-size: 42px !important;
    }
    
    .hero-section-bg h2 {
        font-size: 22px !important;
    }
    
    .hero-section-bg .wp-block-cover__inner-container {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .hero-section-bg {
        padding: 40px 10px !important;
    }
    
    .hero-section-bg h1 {
        font-size: 36px !important;
        letter-spacing: 2px !important;
    }
    
    .hero-section-bg h2 {
        font-size: 18px !important;
        letter-spacing: 1.5px !important;
    }
    
    .hero-section-bg .wp-block-button__link {
        font-size: 12px !important;
        padding: 12px 30px !important;
    }
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 768px) {
    .delivery-banner p {
        font-size: 18px !important;
    }
    
    .hero-section-main {
        padding: 40px 20px !important;
    }
    
    .hero-section-main h1 {
        font-size: calc(var(--font-size-h1) * 0.8) !important;
    }
    
    .hero-section-main h2 {
        font-size: calc(var(--font-size-h2) * 0.85) !important;
    }
    
    .hero-section-main .wp-block-columns {
        flex-direction: column;
    }
    
    .hero-section-main .small-decorative {
        display: inline-block;
        margin: 5px;
    }
    
    .hero-section-main .small-decorative img {
        width: 100px;
        height: 100px;
    }
    
    .hero-section-main .balloon-decorative img {
        max-width: 200px;
    }
    
    /* Hero Simple Responsive */
    .hero-section-simple {
        padding: 40px 20px !important;
    }
    
    .hero-section-simple h1 {
        font-size: calc(var(--font-size-h1) * 0.8) !important;
    }
    
    .hero-section-simple h2 {
        font-size: calc(var(--font-size-h2) * 0.85) !important;
    }
}

@media (max-width: 480px) {
    .delivery-banner p {
        font-size: 16px !important;
    }
    
    .hero-section-main h1 {
        font-size: calc(var(--font-size-h1) * 0.7) !important;
    }
    
    .hero-section-main h2 {
        font-size: calc(var(--font-size-h2) * 0.75) !important;
    }
    
    .hero-section-main .small-decorative img {
        width: 80px;
        height: 80px;
    }
    
    .hero-section-main .balloon-decorative img {
        max-width: 150px;
    }
    
    /* Hero Simple Responsive */
    .hero-section-simple h1 {
        font-size: calc(var(--font-size-h1) * 0.7) !important;
    }
    
    .hero-section-simple h2 {
        font-size: calc(var(--font-size-h2) * 0.75) !important;
    }
    
    .hero-section-simple .wp-block-button__link {
        padding: 10px 20px;
        font-size: 16px;
    }
}

/* ==========================================================================
   Motto Section Pattern
   ========================================================================== */

.motto-section {
    position: relative;
    background: #F5C6D5 !important;
    margin: 0 !important;
    min-height: 275px !important;
    max-height: 275px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 20px !important;
}

/* Pink overlay */
.motto-section .wp-block-cover__background {
    background-color: #D1355B !important;
    opacity: 0.2 !important;
}

.motto-section h2 {
    font-family: var(--font-display) !important;
    font-size: 42px !important;
    font-weight: 400 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    margin: 0 !important;
    position: relative;
    z-index: 2;
}

/* Responsive padding adjustments */
@media (max-width: 1024px) {
    .motto-section {
        min-height: 200px !important;
        max-height: 200px !important;
    }
}

@media (max-width: 768px) {
    .motto-section {
        min-height: 180px !important;
        max-height: 180px !important;
    }
    
    .motto-section h2 {
        font-size: 36px !important;
    }
}

@media (max-width: 480px) {
    .motto-section {
        min-height: 150px !important;
        max-height: 150px !important;
        padding: 0 15px !important;
    }
    
    .motto-section h2 {
        font-size: 28px !important;
    }
}

/* ==========================================================================
   Why Barefoot Section Pattern
   ========================================================================== */

.why-barefoot-section {
    position: relative;
    background: #EBF6FF !important;
    margin: 0 !important;
}

/* Orange overlay */
.why-barefoot-section .wp-block-cover__background {
    background-color: #FF7C00 !important;
    opacity: 0.5 !important;
}

.why-barefoot-section .wp-block-cover__inner-container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    width: 100%;
    z-index: 2;
}

.why-barefoot-section h2 {
    font-family: var(--font-primary) !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-align: center !important;
    display: inline-block !important;
    margin: 0 0 20 0!important;
    padding: 0 0 20 0 !important;
    background-color: #f5b97f !important;
    position: relative;
    z-index: 2;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .why-barefoot-section {
        padding: 60px 20px 20px !important;
    }
}

@media (max-width: 768px) {
    .why-barefoot-section {
        padding: 60px 20px 20px !important;
    }
    
    .why-barefoot-section h2 {
        font-size: 26px !important;
        padding: 15px 30px !important;
    }
}

@media (max-width: 480px) {
    .why-barefoot-section {
        padding: 60px 20px 20px !important;
    }
    
    .why-barefoot-section h2 {
        font-size: 28px !important;
        padding: 12px 25px !important;
    }
}

/* Feature Cards */
.why-barefoot-section .wp-block-columns {
    margin-bottom: 0 !important;
}

.why-barefoot-section .wp-block-column {
    background: #ffffff !important;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-top: 30px !important;
}

/* Remove box shadow completely */
.why-barefoot-section .wp-block-column:hover {
    transform: translateY(-5px);
    box-shadow: none !important;
}

/* Perche card image styling */
.why-barefoot-section .perche-card-image {
    margin: 0 auto 20px !important;
    text-align: center !important;
}

.why-barefoot-section .perche-card-image img {
    width: 225px !important;
    height: 225px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}

.why-barefoot-section .wp-block-column h3 {
    font-family: var(--font-primary) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    text-transform: uppercase;
}

.why-barefoot-section .wp-block-column p {
    font-family: var(--font-primary) !important;
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Responsive card layout */
@media (max-width: 1024px) {
    .why-barefoot-section .perche-card-image img {
        width: 180px !important;
        height: 180px !important;
    }

    .why-barefoot-section .wp-block-column h3 {
        font-size: 22px !important;
    }

    .why-barefoot-section .wp-block-column p {
        font-size: 15px !important;
    }
}

@media (max-width: 768px) {
    .why-barefoot-section .wp-block-columns {
        flex-direction: column !important;
    }

    .why-barefoot-section .wp-block-column {
        margin-bottom: 30px !important;
    }

    .why-barefoot-section .perche-card-image img {
        width: 160px !important;
        height: 160px !important;
    }

    .why-barefoot-section .wp-block-column h3 {
        font-size: 20px !important;
    }

    .why-barefoot-section .wp-block-column p {
        font-size: 14px !important;
    }
}

@media (max-width: 480px) {
    .why-barefoot-section .perche-card {
        padding: 30px 20px 20px !important;
    }

    .why-barefoot-section .perche-card-image img {
        width: 140px !important;
        height: 140px !important;
    }

    .why-barefoot-section .wp-block-column h3 {
        font-size: 18px !important;
    }
}

/* ==========================================================================
   About Story Section Pattern
   ========================================================================== */

.about-story-section {
    position: relative;
    background: #009285 !important;
    margin: 0 !important;
}

.about-story-section .wp-block-cover__background {
    background-color: #009285 !important;
    opacity: 1 !important;
}

.about-story-section .wp-block-cover__inner-container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    z-index: 2;
}

.about-story-section h2 {
    font-family: var(--font-primary) !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    margin-bottom: 30px !important;
    line-height: 1.3 !important;
}

.about-story-section p {
    font-family: var(--font-primary) !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
    color: #FFFFFF !important;
    margin-bottom: 15px !important;
    text-align: justify !important;
}

.about-story-section .story-image img {
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .about-story-section {
        padding: 60px 30px !important;
    }

    .about-story-section h2 {
        font-size: 30px !important;
    }

    .about-story-section p {
        font-size: 16px !important;
    }
}

@media (max-width: 768px) {
    .about-story-section {
        padding: 50px 20px !important;
    }

    .about-story-section .wp-block-columns {
        flex-direction: column !important;
    }

    .about-story-section .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
    }

    .about-story-section h2 {
        font-size: 26px !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }

    .about-story-section p {
        font-size: 16px !important;
    }

    .about-story-section .story-image {
        margin-top: 30px !important;
    }
}

@media (max-width: 480px) {
    .about-story-section {
        padding: 40px 15px !important;
    }

    .about-story-section h2 {
        font-size: 22px !important;
    }

    .about-story-section p {
        font-size: 15px !important;
    }
}

/* ==========================================================================
   Best Selling Products Section (Homepage Product Collection)
   ========================================================================== */

/* Ensure homepage product collections match archive styles */
.home .wp-block-woocommerce-product-collection,
.page .wp-block-woocommerce-product-collection {
    max-width: 1400px !important;
    width: 100% !important;
    margin: 40px auto !important;
    padding: 0 20px !important;
}

/* Product grid layout */
.home .wc-block-product-template,
.page .wc-block-product-template,
.home ul.wc-block-product-template,
.page ul.wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 30px auto !important;
    max-width: 1200px !important;
    width: 100% !important;
}

/* Override inline width styles */
.home .wp-block-woocommerce-product-collection[style*="width"],
.page .wp-block-woocommerce-product-collection[style*="width"] {
    width: 100% !important;
    max-width: 1400px !important;
}

.home .wc-block-product-template[style*="width"],
.page .wc-block-product-template[style*="width"] {
    width: 100% !important;
    max-width: 1200px !important;
}

/* Product cards */
.home .wc-block-product-template li.wc-block-product,
.page .wc-block-product-template li.wc-block-product,
.home li.wc-block-product,
.page li.wc-block-product {
    background: var(--brand-white, #fff) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    min-height: 450px !important;
    height: 100% !important; /* Fill grid cell to ensure consistent row heights */
}

.home .wc-block-product:hover,
.page .wc-block-product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
}

/* Product image */
.home .wc-block-components-product-image,
.page .wc-block-components-product-image {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.home .wc-block-components-product-image img,
.page .wc-block-components-product-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.8s ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home .wc-block-product:hover .wc-block-components-product-image img,
.page .wc-block-product:hover .wc-block-components-product-image img {
    transform: scale(1.05) !important;
}

/* Product title */
.home .wc-block-product h2.wp-block-post-title,
.page .wc-block-product h2.wp-block-post-title {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 20px 20px 10px !important;
    padding: 0 !important;
    color: var(--brand-black, #000) !important;
    line-height: 1.4 !important;
    text-align: center !important;
    background: transparent !important;
}

.home .wc-block-product h2.wp-block-post-title a,
.page .wc-block-product h2.wp-block-post-title a {
    color: var(--brand-black, #000) !important;
    text-decoration: none !important;
}

.home .wc-block-product h2.wp-block-post-title a:hover,
.page .wc-block-product h2.wp-block-post-title a:hover {
    color: var(--brand-orange, #FC7D06) !important;
}

/* Product price */
.home .wc-block-product .wp-block-woocommerce-product-price,
.page .wc-block-product .wp-block-woocommerce-product-price {
    margin: 0 20px 15px !important;
    padding: 0 !important;
    background: transparent !important;
}

.home .wc-block-product .wc-block-components-product-price,
.page .wc-block-product .wc-block-components-product-price {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--brand-black, #000) !important;
    text-align: center !important;
}

/* Add to cart button */
.home .wc-block-product .wc-block-components-product-button,
.page .wc-block-product .wc-block-components-product-button {
    margin: 0 20px 20px !important;
    padding: 0 !important;
    background: transparent !important;
    margin-top: auto !important;
}

.home .wc-block-product .wp-block-button__link,
.page .wc-block-product .wp-block-button__link,
.home .wc-block-product .wc-block-components-product-button__button,
.page .wc-block-product .wc-block-components-product-button__button {
    display: block !important;
    width: 100% !important;
    background-color: var(--brand-orange, #FC7D06) !important;
    color: var(--brand-white, #fff) !important;
    padding: 14px 20px !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: background-color 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.home .wc-block-product .wp-block-button__link:hover,
.page .wc-block-product .wp-block-button__link:hover,
.home .wc-block-product .wc-block-components-product-button__button:hover,
.page .wc-block-product .wc-block-components-product-button__button:hover {
    background-color: #e06d05 !important;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .home .wc-block-product-template,
    .page .wc-block-product-template,
    .home ul.wc-block-product-template,
    .page ul.wc-block-product-template {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* Responsive - Mobile */
@media (max-width: 640px) {
    .home .wc-block-product-template,
    .page .wc-block-product-template,
    .home ul.wc-block-product-template,
    .page ul.wc-block-product-template {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin: 20px auto !important;
    }

    .home .wc-block-product h2.wp-block-post-title,
    .page .wc-block-product h2.wp-block-post-title {
        font-size: 16px !important;
        margin: 15px 15px 8px !important;
    }

    .home .wc-block-product .wc-block-components-product-price,
    .page .wc-block-product .wc-block-components-product-price {
        font-size: 24px !important;
        margin: 0 15px 12px !important;
    }

    .home .wc-block-product .wc-block-components-product-button,
    .page .wc-block-product .wc-block-components-product-button {
        margin: 0 15px 15px !important;
    }
}/**
 * Product Patterns Styles
 * Styles for product-related block patterns
 *
 * @package Blocksy_Child_SciuuusKids
 * @version 1.0.0
 */

/* ==========================================================================
   Raro Cade Section
   ========================================================================== */

/* Section container - full width */
.raro-cade-section {
    max-width: none;
    padding: 0;
    margin-top: 80px !important;
    margin-bottom: 0px !important;
}

/* Columns container - no gap, full width */
.raro-cade-columns {
    gap: 0;
    min-height: 700px;
    max-width: none;
    width: 100%;
    margin: 0;
}

/* Override WordPress constraint */
.is-layout-constrained > .raro-cade-columns {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Left column - Image with text */
.raro-cade-image-column {
    background-image: url(//sciuuuskids.it/wp-content/themes/blocksy-child/assets/images/beach-boy.jpeg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

/* Heading in image column */
.raro-cade-image-column h2 {
    color: #ffffff ;
    font-family: 'Archivo', sans-serif;
    font-size: 65px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0px;
    line-height: 1;
    text-align: center;
    margin: 0;
}

/* Right column - Dark background with features */
.raro-cade-content-column {
    background-color: #1B252F;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 50px;
}

/* Shoe features grid */
.shoe-features-grid {
    gap: 40px;
}

/* Individual feature item */
.feature-item {
    text-align: center;
}

/* Feature images */
.feature-image {
    margin: 0 auto 20px;
}

.feature-image img {
    width: 165px;
    height: 125px;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}

/* Feature titles */
.feature-title {
    color: #ffffff !important;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    margin: 0 0 10px 0;
}

/* Feature text */
.feature-text {
    color: #fdf7f7 !important;
    font-family: 'Archivo', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    margin: 0;
}

/* Responsive */
@media (max-width: 782px) {
    .raro-cade-columns {
        flex-direction: column;
        min-height: auto;
    }

    .raro-cade-image-column {
        min-height: 400px;
    }

    .raro-cade-image-column h2 {
        font-size: 42px;
    }

    .raro-cade-content-column {
        min-height: auto;
        padding: 40px 20px;
    }

    .shoe-features-grid {
        flex-direction: column;
        gap: 30px;
    }

    .feature-image img {
        width: 120px;
        height: 90px;
    }
}

/* ==========================================================================
   Social Media CTA Section
   ========================================================================== */

/* Section container - full width green background */
.social-cta-section {
    background-color: #009285;
    padding: 80px 40px;
    text-align: center;
    max-width: none;
    margin: 0 !important;
}

/* Main title */
.social-cta-title {
    color: #ffffff !important;
    font-family: 'Gochi Hand', cursive;
    font-size: 70px !important;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 20px 0;
    text-transform: none;
}

/* Tagline */
.social-cta-tagline {
    color: #ffffff !important;
    font-family: 'Quicksand', sans-serif !important;
    font-size: 25px !important;
    font-weight: 500;
    margin: 0 0 30px 0;
}

/* Button container */
.social-cta-button .wp-block-button__link {
    background-color: #FC7D06;
    color: #ffffff;
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 14px 30px;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.social-cta-button .wp-block-button__link:hover {
    background-color: #e06d05;
}

/* Responsive */
@media (max-width: 782px) {
    .social-cta-section {
        padding: 60px 20px;
    }

    .social-cta-title {
        font-size: 32px;
    }

    .social-cta-tagline {
        font-size: 18px;
    }
}

/* ==========================================================================
   Wave Divider
   ========================================================================== */

.wave-divider {
    border: none !important;
    height: 25px !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 25"><path d="M0,12.5 C5,0 10,0 15,12.5 C20,25 25,25 30,12.5 C35,0 40,0 45,12.5 C50,25 55,25 60,12.5" stroke="%23FC7D06" stroke-width="1" fill="none"/></svg>');
    background-repeat: repeat-x;
    background-position: center;
    background-size: 60px 25px;
    margin: 60px 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    background-color: var(--brand-white) !important;
}

/* Override WordPress separator constraints */
.entry-content .wave-divider {
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

.season-description-section {
    margin-bottom: 0 !important;
}

.season-description-section h3 {
    margin-bottom: 0 !important;
    font-family: Quicksand, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

.season-description-section p {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
}/**
 * WooCommerce Product Collection Blocks - FINAL FIX
 * Handles nested card structure properly
 * SciuuuS Kids
 */

/* ==========================================================================
   Category Header
   ========================================================================== */

.hero-section h1.page-title {
    font-family: var(--font-display, 'Gochi Hand') !important;
    color: var(--brand-black, #000) !important;
    font-size: var(--font-size-h1, 42px) !important;
    text-align: center !important;
    margin-bottom: var(--spacing-base, 20px) !important;
}

/* ==========================================================================
   Fix Container Widths - Override Inline Styles
   ========================================================================== */

/* Widen the product collection container */
.wp-block-woocommerce-product-collection {
    max-width: 1400px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Override inline width styles */
.wp-block-woocommerce-product-collection[style*="width"] {
    width: 100% !important;
    max-width: 1400px !important;
}

.wc-block-product-template[style*="width"] {
    width: 100% !important;
    max-width: 1200px !important;
}

/* ==========================================================================
   Product Collection Grid
   ========================================================================== */

.wc-block-product-template,
ul.wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 30px auto !important;
    max-width: 1200px !important;
    width: 100% !important;
}

/* ==========================================================================
   Product Card - OUTER CONTAINER ONLY
   ========================================================================== */

.wc-block-product-template li.wc-block-product,
li.wc-block-product {
    background: var(--brand-white, #fff) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    height: 100% !important; /* Fill grid cell to ensure consistent row heights */
}

.wc-block-product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
}

/* Remove any nested backgrounds/borders */
.wc-block-product > * {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Product Image
   ========================================================================== */

.wc-block-components-product-image {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.wc-block-components-product-image a {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-components-product-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.8s ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-product:hover .wc-block-components-product-image img {
    transform: scale(1.05) !important;
}

/* ==========================================================================
   Product Title
   ========================================================================== */

.wc-block-product h2.wp-block-post-title {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 20px 20px 10px !important;
    padding: 0 !important;
    color: var(--brand-black, #000) !important;
    line-height: 1.4 !important;
    text-align: center !important;
    background: transparent !important;
}

.wc-block-product h2.wp-block-post-title a {
    color: var(--brand-black, #000) !important;
    text-decoration: none !important;
}

.wc-block-product h2.wp-block-post-title a:hover {
    color: var(--brand-orange, #FC7D06) !important;
}

/* ==========================================================================
   Product Price
   ========================================================================== */

.wc-block-product .wp-block-woocommerce-product-price {
    margin: 0 20px 15px !important;
    padding: 0 !important;
    background: transparent !important;
}

.wc-block-product .wc-block-components-product-price {
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--brand-black, #000) !important;
    text-align: center !important;
}

.wc-block-product .wc-block-components-product-price .woocommerce-Price-amount {
    font-size: 28px !important;
}

/* Hide price range screen reader text */
.wc-block-product .wc-block-components-product-price .screen-reader-text {
    position: absolute !important;
    left: -10000px !important;
}

/* ==========================================================================
   Add to Cart Button
   ========================================================================== */

.wc-block-product .wc-block-components-product-button {
    margin: 0 20px 20px !important;
    padding: 0 !important;
    background: transparent !important;
}

.wc-block-product .wp-block-button__link,
.wc-block-product .wc-block-components-product-button__button {
    display: block !important;
    width: 100% !important;
    background-color: var(--brand-orange, #FC7D06) !important;
    color: var(--brand-white, #fff) !important;
    padding: 14px 20px !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: background-color 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.wc-block-product .wp-block-button__link:hover,
.wc-block-product .wc-block-components-product-button__button:hover {
    background-color: #e06d05 !important;
}

/* ==========================================================================
   Fix Any Inline Styles
   ========================================================================== */

/* Override any margin/padding from blocks */
.wc-block-product [style*="margin"] {
    margin: 0 !important;
}

.wc-block-product h2[style*="margin-top"] {
    margin-top: 20px !important;
}

.wc-block-product h2[style*="margin-bottom"] {
    margin-bottom: 10px !important;
}

.wc-block-product h2[style*="line-height"] {
    line-height: 1.4 !important;
}

/* ==========================================================================
   Ensure Consistent Heights
   ========================================================================== */

.wc-block-product {
    min-height: 450px !important;
    align-items: stretch !important;
}

/* Push button to bottom if needed */
.wc-block-product .wc-block-components-product-button {
    margin-top: auto !important;
}

/* ==========================================================================
   Tablet Responsive (2 columns)
   ========================================================================== */

@media (max-width: 1024px) {
    .wc-block-product-template,
    ul.wc-block-product-template {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    
    .hero-section h1.page-title {
        font-size: 36px !important;
    }
}

/* ==========================================================================
   Mobile Responsive (1 column)
   ========================================================================== */

@media (max-width: 640px) {
    .wc-block-product-template,
    ul.wc-block-product-template {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin: 20px auto !important;
    }
    
    .hero-section h1.page-title {
        font-size: 30px !important;
    }
    
    .wc-block-product h2.wp-block-post-title {
        font-size: 16px !important;
        margin: 15px 15px 8px !important;
    }
    
    .wc-block-product .wc-block-components-product-price {
        font-size: 24px !important;
        margin: 0 15px 12px !important;
    }
    
    .wc-block-product .wc-block-components-product-button {
        margin: 0 15px 15px !important;
    }
}

/* ==========================================================================
   Remove All Nested Styling
   ========================================================================== */

/* Ensure ONLY the outer li has the card styling */
.wc-block-product * {
    box-shadow: none !important;
}

.wc-block-product {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

.wc-block-product:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
}


.wp-block-woocommerce-product-collection[style*="width"] {
    width: 100% !important;
}

/* ==========================================================================
   Product Labels / Sale Badges - White Background with Border
   ========================================================================== */

/* Override default sale badges - all contexts */
.onsale,
.wc-block-product .onsale,
.ct-woo-card-extra .onsale,
.products .onsale,
.product .onsale,
.wc-block-components-product-image .onsale,
span.onsale,
.woocommerce span.onsale {
    background: var(--brand-white, #fff) !important;
    background-color: var(--brand-white, #fff) !important;
    color: var(--brand-black, #000) !important;
    border: 1px solid var(--brand-gray-dark, #333) !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    min-width: auto !important;
    min-height: auto !important;
    box-shadow: none !important;
}

/* Position badges in top-right corner */
.wc-block-components-product-image .onsale,
.ct-media-container .onsale,
.product figure .onsale {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 10 !important;
}

/* Blocksy theme specific badge styling */
[class*="ct-woo-card-extra"] [class*="sale"],
.ct-woo-card-extra span,
.products .ct-woo-card-extra span {
    background: var(--brand-white, #fff) !important;
    background-color: var(--brand-white, #fff) !important;
    color: var(--brand-black, #000) !important;
    border: 1px solid var(--brand-gray-dark, #333) !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-family: var(--font-primary, Quicksand) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}