.mobile-sticky-cta { display: none; }
/* ============================================================
   GALLERY × FERRARI — FastTrack Art
   White gallery walls, Rosso Corsa accents, Italian elegance
   ============================================================ */
:root {
    --ft-white: #FFFFFF;
    --ft-cream: #FAFAF7;
    --ft-warm: #F5F1EB;
    --ft-rosso: #DC0000;
    --ft-rosso-dark: #A80000;
    --ft-gold: #C8A96E;
    --ft-charcoal: #1A1A1A;
    --ft-text: #2D2D2D;
    --ft-muted: #6B6B6B;
    --ft-border: #E8E4DE;
    --ft-shadow: rgba(0,0,0,0.08);

    --theme-palette-color-1: var(--ft-rosso) !important;
    --theme-palette-color-2: var(--ft-rosso-dark) !important;
    --theme-palette-color-3: var(--ft-text) !important;
    --theme-palette-color-4: var(--ft-charcoal) !important;
    --theme-palette-color-5: var(--ft-border) !important;
    --theme-palette-color-6: var(--ft-warm) !important;
    --theme-palette-color-7: var(--ft-cream) !important;
    --theme-palette-color-8: var(--ft-white) !important;
    --theme-text-color: var(--ft-text) !important;
    --theme-headings-color: var(--ft-charcoal) !important;
    --theme-border-color: var(--ft-border) !important;
    --theme-link-initial-color: var(--ft-rosso) !important;
    --theme-link-hover-color: var(--ft-rosso-dark) !important;
    --theme-selection-text-color: #fff !important;
    --theme-selection-background-color: var(--ft-rosso) !important;
}

body {
    background-color: var(--ft-cream) !important;
    color: var(--ft-text) !important;
}

/* --- HEADER --- */
[data-header*="type-1"] .ct-header [data-row*="middle"] {
    background-color: var(--ft-white) !important;
    border-bottom: 1px solid var(--ft-border) !important;
    box-shadow: 0 1px 10px var(--ft-shadow) !important;
}
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a {
    --theme-link-initial-color: var(--ft-charcoal) !important;
    --theme-link-hover-color: var(--ft-rosso) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
}
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu {
    background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
    box-shadow: 0 8px 30px var(--ft-shadow) !important;
}
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu .ct-menu-link {
    --theme-link-initial-color: var(--ft-text) !important;
    --theme-link-hover-color: var(--ft-rosso) !important;
}
[data-header*="type-1"] [data-id="cart"] .ct-cart-item {
    --theme-icon-color: var(--ft-charcoal) !important;
}
[data-header*="type-1"] [data-id="cart"] .ct-cart-content {
    --mini-cart-background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
}
.ct-header-account .ct-account-item { color: var(--ft-charcoal) !important; }
[data-header*="type-1"] [data-id="trigger"] { --theme-icon-color: var(--ft-charcoal) !important; }
#offcanvas .ct-panel-inner,
[data-header*="type-1"] #offcanvas .ct-panel-inner {
    background-color: var(--ft-white) !important;
}
#search-modal { background-color: rgba(26,26,26,0.6) !important; }

/* --- FOOTER --- */
[data-footer*="type-1"] .ct-footer {
    background-color: var(--ft-charcoal) !important;
}
[data-footer*="type-1"] .ct-footer [data-row*="top"] {
    background-color: #222 !important;
    border-bottom: 1px solid #333 !important;
}
[data-footer*="type-1"] .ct-footer [data-row*="middle"] {
    background-color: var(--ft-charcoal) !important;
}
[data-footer*="type-1"] .ct-footer [data-row*="bottom"] {
    background-color: #111 !important;
    border-top: 1px solid #333 !important;
}
.ct-footer .widget-title { color: #fff !important; }
.ct-footer a { color: #999 !important; }
.ct-footer a:hover { color: var(--ft-rosso) !important; }

/* --- PRODUCT CARDS (gallery style) --- */
[data-products] .product {
    background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: 2px !important;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
[data-products] .product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.12) !important;
    border-color: var(--ft-border) !important;
}
[data-products] .product figure {
    background-color: var(--ft-warm) !important;
}
[data-products] .woocommerce-loop-product__title,
[data-products] .woocommerce-loop-category__title {
    color: var(--ft-charcoal) !important;
    font-weight: 500 !important;
}
[data-products] .product .price { color: var(--ft-rosso) !important; }
[data-products] .product .price del { color: var(--ft-muted) !important; }
.onsale {
    background-color: var(--ft-rosso) !important;
    color: #fff !important;
    border-radius: 2px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

/* --- BUTTONS --- */
.ct-button, .button, .wp-element-button,
input[type="submit"], button[type="submit"],
.single_add_to_cart_button,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button {
    background-color: var(--ft-rosso) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 2px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    transition: all 0.3s ease !important;
}
.ct-button:hover, .button:hover, .wp-element-button:hover,
input[type="submit"]:hover, button[type="submit"]:hover,
.single_add_to_cart_button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
    background-color: var(--ft-rosso-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(220,0,0,0.3) !important;
}

/* --- FORMS --- */
input, textarea, select,
.woocommerce-input-wrapper input,
.woocommerce select {
    background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
    color: var(--ft-charcoal) !important;
    border-radius: 2px !important;
}
input:focus, textarea:focus, select:focus {
    border-color: var(--ft-rosso) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(220,0,0,0.1) !important;
}

/* --- BREADCRUMBS --- */
.ct-breadcrumbs { color: var(--ft-muted) !important; }
.ct-breadcrumbs a { color: var(--ft-text) !important; }
.ct-breadcrumbs a:hover { color: var(--ft-rosso) !important; }

/* --- WOOCOMMERCE PAGES --- */
.woocommerce-products-header {
    border-bottom: 1px solid var(--ft-border) !important;
}
.ct-sidebar { color: var(--ft-text) !important; }
.ct-sidebar .widget-title { color: var(--ft-charcoal) !important; }
.ct-sidebar a { color: var(--ft-text) !important; }
.ct-sidebar a:hover { color: var(--ft-rosso) !important; }

/* Product page */
.entry-summary .entry-title { color: var(--ft-charcoal) !important; }
.entry-summary .price { color: var(--ft-rosso) !important; }
.woocommerce-tabs .tabs li a,
.woocommerce-tabs .ct-accordion-heading { color: var(--ft-text) !important; }
.woocommerce-tabs .tabs li.active a {
    color: var(--ft-charcoal) !important;
    border-bottom-color: var(--ft-rosso) !important;
}
.woocommerce-product-gallery {
    background-color: var(--ft-warm) !important;
    border-radius: 2px !important;
}

/* Cart & Checkout */
.woocommerce-cart-form, .cart_totals, .ct-order-review {
    background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: 2px !important;
}
.woocommerce table th { color: var(--ft-charcoal) !important; }
.woocommerce table td { color: var(--ft-text) !important; border-color: var(--ft-border) !important; }

/* Notices */
.woocommerce-info, .wc-block-components-notice-banner.is-info {
    background-color: #F0F7FF !important;
    border-left: 3px solid #0077CC !important;
}
.woocommerce-message, .wc-block-components-notice-banner.is-success {
    background-color: #F0FFF4 !important;
    border-left: 3px solid #22c55e !important;
}
.woocommerce-error, .wc-block-components-notice-banner.is-error {
    background-color: #FFF5F5 !important;
    border-left: 3px solid var(--ft-rosso) !important;
}

/* --- BLOG CARDS --- */
.entry-card {
    background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: 2px !important;
    overflow: hidden;
}
.entry-card:hover { box-shadow: 0 8px 24px var(--ft-shadow) !important; }
.entry-card .entry-title a { color: var(--ft-charcoal) !important; }
.entry-card .entry-title a:hover { color: var(--ft-rosso) !important; }
.entry-card .entry-excerpt { color: var(--ft-text) !important; }

/* --- HERO SECTION PAGES --- */
.hero-section[data-type="type-2"] {
    background-color: var(--ft-warm) !important;
    border-bottom: 1px solid var(--ft-border) !important;
}
.hero-section .page-title { color: var(--ft-charcoal) !important; }

/* --- TRENDING BLOCK --- */
.ct-trending-block {
    background-color: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
}
.ct-trending-block-item .ct-post-title a { color: var(--ft-text) !important; }

/* --- PROMO BANNER --- */
#ft-promo-bar {
    background: var(--ft-rosso);
    color: #fff;
    font-size: 14px;
    padding: 8px 0;
    text-align: center;
    position: relative;
    z-index: 9999;
}
#ft-promo-bar .ft-promo-inner {
    display: flex; align-items: center; justify-content: center;
    gap: 12px; max-width: 1200px; margin: 0 auto; padding: 0 1rem;
}
#ft-promo-bar .ft-promo-icon { font-size: 16px; }
#ft-promo-bar .ft-promo-cta {
    background: rgba(255,255,255,0.2); color: #fff;
    padding: 4px 14px; border-radius: 2px; text-decoration: none;
    font-weight: 700; font-size: 12px; text-transform: uppercase;
    letter-spacing: 0.08em; transition: background 0.2s;
}
#ft-promo-bar .ft-promo-cta:hover { background: rgba(255,255,255,0.35); }
#ft-promo-bar .ft-promo-close {
    background: none; border: none; color: rgba(255,255,255,0.7);
    font-size: 20px; cursor: pointer; padding: 0 4px; line-height: 1;
    position: absolute; right: 12px;
}
#ft-promo-bar .ft-promo-close:hover { color: #fff; }
#ft-promo-bar.ft-hidden { display: none; }

/* --- ELEMENTOR OVERRIDES --- */
.elementor-section {
    --e-global-color-blocksy_palette_5: var(--ft-border) !important;
    --e-global-color-blocksy_palette_6: var(--ft-warm) !important;
    --e-global-color-blocksy_palette_7: var(--ft-cream) !important;
    --e-global-color-blocksy_palette_8: var(--ft-white) !important;
}

/* --- MISC --- */
.cookie-notification {
    --backgroundColor: var(--ft-white) !important;
    border: 1px solid var(--ft-border) !important;
    box-shadow: 0 -5px 30px var(--ft-shadow) !important;
}
.ct-pagination a, .ct-pagination span { color: var(--ft-text) !important; border-color: var(--ft-border) !important; }
.ct-pagination .current { background-color: var(--ft-rosso) !important; color: #fff !important; border-color: var(--ft-rosso) !important; }
.ct-ajax-loader, .ct-filters-loading svg { color: var(--ft-rosso) !important; }
.quantity { background-color: var(--ft-white) !important; border: 1px solid var(--ft-border) !important; border-radius: 2px !important; }
.quantity input { color: var(--ft-charcoal) !important; }
.related .ct-module-title, .up-sells .ct-module-title, section > h2, .ct-module-title { color: var(--ft-charcoal) !important; }
[class*="ct-mega-menu"] > .sub-menu { background-color: var(--ft-white) !important; border: 1px solid var(--ft-border) !important; }
#account-modal .ct-account-modal { background-color: var(--ft-white) !important; border: 1px solid var(--ft-border) !important; }
#account-modal { background-color: rgba(26,26,26,0.5) !important; }
.ct-floating-bar { background-color: var(--ft-white) !important; border-top: 1px solid var(--ft-border) !important; box-shadow: 0 -4px 20px var(--ft-shadow) !important; }
.ct-quick-view-card { background-color: var(--ft-white) !important; }
.quick-view-modal { background-color: rgba(26,26,26,0.6) !important; }

/* --- TOUCH TARGETS --- */
.ct-header .ct-cart-item, .ct-header .ct-account-item,
.ct-header .ct-header-search, .ct-header .ct-cart-icon,
.ct-header-account, .ct-header [data-toggle-panel],
.ct-header-trigger, .ct-hamburger, .ct-header .ct-search-icon {
    min-width: 44px !important; min-height: 44px !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; cursor: pointer;
}
.ct-header svg { min-width: 22px; min-height: 22px; }
.product .social-share a, .product .quantity .qty-btn,
.woocommerce-pagination a, .woocommerce-pagination span {
    min-width: 44px; min-height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
}

/* --- RESPONSIVE --- */
@media (max-width: 999px) {
    #ft-promo-bar .ft-promo-inner { font-size: 12px; gap: 8px; }
    #ft-promo-bar .ft-promo-cta { display: none; }
}
@media (max-width: 767px) {
    .mobile-sticky-cta { display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
        padding: 12px 16px;
        background: var(--ft-rosso, #DC0000);
        text-align: center;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
    }
    .mobile-sticky-cta a {
        color: #fff;
        font-weight: 700;
        text-decoration: none;
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
    }
    body.home { padding-bottom: 52px; }
    .meta-categories a, .meta-categories span { font-size: 14px !important; }
    nav a, .ct-header nav a { font-size: 16px !important; min-height: 44px; display: inline-flex; align-items: center; }
    .price, .price ins, .price del, .woocommerce-Price-amount { font-size: 14px !important; }
    .ct-toggle-filter-panel { min-height: 44px !important; display: inline-flex !important; align-items: center !important; }
}
