/*
Theme Name: Botiga Child
Theme URI: https://ozdek.tech
Description: Motyw potomny Botiga dla sklepu O_FC.
Author: O.Z.D.E.K.
Author URI: https://ozdek.tech
Template: botiga
Version: 1.0.0
Text Domain: botiga-child
*/

/* --- MOBILE MENU COLLECTIONS (FAN SLIDER) --- */
.ozd-mobile-collections-fan {
    margin-top: 40px;
    padding: 0;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.mobile-collections-title {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff !important;
    font-weight: 800;
    margin: 30px 0 20px 0;
}

.fan-slider-container {
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 20px;
    margin-right: -20px; /* pull to edge */
    display: block !important;
    width: auto !important;
    max-width: 100vw;
    touch-action: pan-x; /* Explicitly allow horizontal touch pan */
    cursor: grab;
}

.fan-slider-container.is-dragging {
    cursor: grabbing;
}


.fan-slider-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 15px;
    padding-right: 60px; /* More space at the end */
    width: max-content !important; /* Force track to expand with content */
}

.fan-slide-item {
    flex: 0 0 160px;
    height: 280px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    background: #111;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Wachlarz effect: slight rotation of items */
.fan-slide-item:nth-child(1) { transform: rotate(-2deg); margin-top: 10px; }
.fan-slide-item:nth-child(2) { transform: rotate(1deg); margin-top: 0px; }
.fan-slide-item:nth-child(3) { transform: rotate(-1deg); margin-top: 5px; }
.fan-slide-item:nth-child(4) { transform: rotate(2deg); margin-top: -5px; }
.fan-slide-item:nth-child(5) { transform: rotate(-2deg); margin-top: 8px; }

.fan-slide-img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}

.fan-slide-item:hover .fan-slide-img {
    transform: scale(1.1);
}

.fan-slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 15px;
    background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
    z-index: 2;
}

.fan-slide-title {
    display: block;
    color: #fff;
    font-family: 'Racing Sans One', sans-serif;
    font-size: 16px;
    line-height: 1.2;
    text-transform: uppercase;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* Hide scrollbar but keep functionality */
.fan-slider-container::-webkit-scrollbar {
    display: none;
}
.fan-slider-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* --- LUXURY MINI CART WIDGET --- */
#site-header-cart .widget_shopping_cart,
#site-header-cart .widget_shopping_cart_content,
#site-header-cart .woocommerce-mini-cart,
#site-header-cart .woocommerce-mini-cart__total,
#site-header-cart .woocommerce-mini-cart__buttons {
    background: rgba(10, 10, 10, 0.98) !important;
    background-color: rgba(10, 10, 10, 0.98) !important;
    color: #fff !important;
}

#site-header-cart .widget_shopping_cart {
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 15px !important;
    padding: 25px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.8) !important;
}

#site-header-cart .widget_shopping_cart .widgettitle {
    color: #F8A500 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.9rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 15px;
    margin-bottom: 20px;
}

#site-header-cart .woocommerce-mini-cart__total {
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    margin-top: 20px !important;
    padding: 20px 0 !important;
}

#site-header-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
    color: #F8A500 !important;
    font-size: 1.2rem;
    font-weight: 700;
}

#site-header-cart .widget_shopping_cart .buttons a.button.wc-forward:not(.checkout) {
    display: none !important;
}

#site-header-cart .widget_shopping_cart .buttons a.button.checkout {
    display: block !important;
    background: #F8A500 !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    width: 100% !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    padding: 12px 20px !important;
    border-radius: 50px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

#site-header-cart .widget_shopping_cart .buttons a.button.checkout:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}

/* --- QUICK VIEW MODAL OZD STYLE --- */
@keyframes ozdModalOverlayIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes ozdModalOverlayOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes ozdModalContainerIn {
    from { transform: scale(0.85); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

@keyframes ozdModalContainerOut {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(0.85); opacity: 0; }
}

#ozd-calc-modal .ozd-modal-container {
    max-width: 940px;
    opacity: 0;
}

#ozd-calc-modal.is-active .ozd-modal-container {
    animation: ozdModalContainerIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

#ozd-calc-modal.is-closing .ozd-modal-container {
    animation: ozdModalContainerOut 0.35s ease-in forwards;
}

#ozd-calc-modal .ozd-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.85);
    opacity: 0;
}

#ozd-calc-modal.is-active .ozd-modal-overlay {
    animation: ozdModalOverlayIn 0.5s ease forwards;
}

#ozd-calc-modal.is-closing .ozd-modal-overlay {
    animation: ozdModalOverlayOut 0.3s ease forwards;
}

/* Base Modal Styles */
.ozd-modal {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: none !important;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.ozd-modal.is-active {
    display: flex !important;
}

.ozd-modal-container {
    position: relative;
    width: 95%;
    max-width: 1200px;
    max-height: 90vh;
    background: #0a0a0a;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 24px;
    overflow: hidden; /* Klucz: Kontener nie scrolluje, żeby nie ciąć rogów */
    z-index: 2;
    box-shadow: 0 50px 100px rgba(0,0,0,0.8);
    transform: scale(0.9);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1);
}

#ozd-modal-body {
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding-right: 15px; /* Miejsce na scrollbar wewnątrz */
    box-sizing: border-box;
}

/* Custom Scrollbar for Modal - Inset Style */
#ozd-modal-body::-webkit-scrollbar { 
    width: 8px; 
}

#ozd-modal-body::-webkit-scrollbar-track { 
    background: transparent; 
}

#ozd-modal-body::-webkit-scrollbar-thumb { 
    background-color: #F8A500; 
    border-radius: 10px;
}

#ozd-modal-body::-webkit-scrollbar-thumb:hover {
    background-color: #fff;
}


.ozd-modal.is-active .ozd-modal-container {
    transform: scale(1);
    opacity: 1;
}

.ozd-modal-close {
    position: absolute;
    top: 20px;
    right: 25px;
    background: none;
    border: none;
    color: #fff;
    font-size: 2.5rem;
    cursor: pointer;
    z-index: 10;
    transition: color 0.3s ease; /* Tylko zmiana koloru */
}

.ozd-modal-close:hover {
    color: #F8A500;
}


.ozd-modal-product-content {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    min-height: 600px;
}

.ozd-modal-gallery {
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ozd-modal-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ozd-modal-details {
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #0a0a0a;
    color: #fff;
}

.ozd-modal-details .product_title {
    color: #F8A500 !important;
    font-size: 2.5rem !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.ozd-modal-details .price {
    font-size: 1.5rem !important;
    color: #fff !important;
    margin-bottom: 30px !important;
    font-weight: 700 !important;
}

.ozd-modal-details .stock,
.ozd-modal-details .woocommerce-variation-availability {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

/* Quick View Form Overrides */
.ozd-modal-details .cart {
    display: flex !important;
    align-items: stretch !important;
    gap: 15px !important;
    margin-top: 30px !important;
}

.ozd-modal-details .quantity {
    display: flex !important;
    background: rgba(255,255,255,0.03) !important;
    border-radius: 15px !important;
    overflow: hidden;
}

.ozd-modal-details .qty-btn {
    width: 40px !important;
    height: 60px !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 1.5rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ozd-modal-details .quantity input {
    width: 50px !important;
    height: 60px !important;
    background: transparent !important;
    border: none !important;
    color: #F8A500 !important;
    padding: 0 !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
    text-align: center !important;
    -moz-appearance: textfield;
    outline: none !important; /* Usunięcie obwódki */
    box-shadow: none !important; /* Usunięcie poświaty */
}

.ozd-modal-details .quantity input:focus {
    outline: none !important;
    box-shadow: none !important;
}

.ozd-modal-details .quantity input::-webkit-outer-spin-button,
.ozd-modal-details .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ozd-modal-details .single_add_to_cart_button {
    flex-grow: 1 !important;
    height: 60px !important;
    background: #F8A500 !important;
    color: #000 !important;
    border: none !important;
    border-radius: 15px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-align: center !important;
}

.ozd-modal-details .single_add_to_cart_button:hover {
    background: #fff !important;
}

/* Modal Loader */
.ozd-modal-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0a0a0a;
    z-index: 5;
}

/* Scroll Block Logic */
html.ozd-modal-open,
body.ozd-modal-open {
    overflow: hidden !important;
}

body.ozd-modal-open #page {
    pointer-events: none;
}

.ozd-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
}

.ozd-modal-loader img {
    width: 80px;
    animation: ozdPulse 1.2s infinite ease-in-out;
}

.ozd-modal.is-loaded .ozd-modal-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.4s ease;
}

/* Size Guide & Descriptions in Modal */
.ozd-modal-size-guide {
    margin-top: 40px;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 25px;
}

.ozd-size-guide--mobile {
    display: none;
    padding: 40px 60px;
    background: rgba(255,255,255,0.01);
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 0;
}

.ozd-modal-description, .ozd-modal-full-description {
    margin-top: 0 !important; /* Usunięcie marginesu górnego dla opisu */
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 25px;
}

.ozd-modal-size-guide h4, .ozd-modal-description h4, .ozd-modal-full-description h4 {
    color: #F8A500 !important;
    text-transform: uppercase !important;
    font-size: 1.1rem !important; /* Powiększona czcionka */
    font-weight: 900 !important;
    letter-spacing: 2px !important;
    margin-bottom: 20px !important;
}

.ozd-size-table-wrapper {
    overflow-x: auto;
    background: rgba(255,255,255,0.02);
    border-radius: 12px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,0.05);
}

.ozd-size-table-wrapper table {
    margin: 0;
    width: 100%;
    border-collapse: collapse;
    color: #fff;
    text-align: left;
    font-size: 0.85rem;
}

.ozd-size-table-wrapper tr {
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.ozd-size-table-wrapper thead tr {
    border-bottom: 1px solid #F8A500;
}

.ozd-size-table-wrapper td, .ozd-size-table-wrapper th {
    padding: 8px;
}

.ozd-size-table-wrapper td:first-child {
    color: #F8A500;
    font-weight: bold;
}

.desc-content {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #fff;
    font-weight: 700;
}

.ozd-modal-full-description {
    padding: 0;
}

.ozd-modal-full-description .desc-content {
    font-size: 1rem;
    line-height: 1.8;
    max-width: 900px;
}

/* --- QUICK VIEW — TABLET --- */
@media (min-width: 769px) and (max-width: 1100px) {
    #ozd-product-modal .ozd-modal-details {
        padding: 20px !important;
    }

    #ozd-product-modal .ozd-modal-details .cart {
        flex-direction: column !important;
        align-items: stretch !important;
        margin-top: 10px !important;
    }

    #ozd-product-modal .ozd-modal-details .quantity {
        width: 40% !important;
        justify-content: center !important;
        order: 2 !important;
    }

    #ozd-product-modal .ozd-modal-details .single_add_to_cart_button {
        order: 1 !important;
    }
}

/* --- QUICK VIEW — MOBILE (Vinted-style) --- */
@media (max-width: 768px) {
    #ozd-product-modal.ozd-modal {
        padding: 0;
    }

    #ozd-product-modal .ozd-modal-container {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
        overflow-y: auto;
        overflow-x: hidden;
    }

    #ozd-product-modal #ozd-modal-body {
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }

    #ozd-product-modal .ozd-modal-product-content {
        display: flex !important;
        flex-direction: column !important;
        min-height: unset !important;
    }

    #ozd-product-modal .ozd-modal-gallery {
        width: 100%;
        height: 65vw;
        min-height: 220px;
        max-height: 360px;
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
    }

    #ozd-product-modal .ozd-modal-image-wrapper {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    #ozd-product-modal .ozd-modal-img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: none;
    }

    #ozd-product-modal .ozd-modal-img.active {
        display: block;
    }

    #ozd-product-modal .ozd-modal-thumbnails {
        display: none;
    }

    #ozd-product-modal .ozd-modal-details {
        padding: 20px !important;
        width: 100%;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    #ozd-product-modal .ozd-modal-details .product_title {
        font-size: 1.2rem !important;
        margin-bottom: 4px !important;
    }

    #ozd-product-modal .ozd-modal-details .price {
        font-size: 1rem !important;
        margin-bottom: 16px !important;
    }

    #ozd-product-modal .ozd-modal-details .cart {
        margin-top: 16px !important;
        gap: 10px !important;
        align-items: center !important;
    }

    #ozd-product-modal .ozd-modal-details .quantity {
        width: 30% !important;
    }

    #ozd-product-modal .ozd-modal-full-description {
        padding: 0 !important;
    }

    #ozd-product-modal .ozd-size-guide--desktop {
        display: none !important;
    }

    #ozd-product-modal .ozd-size-guide--mobile {
        display: block !important;
        padding: 20px !important;
    }

    #ozd-product-modal .ozd-modal-close {
        top: 10px;
        right: 14px;
    }

}

/* --- QUICK VIEW — DESKTOP (laptop+) --- */
@media (min-width: 1101px) {
    #ozd-product-modal .ozd-modal-container {
        height: 90vh;
    }

    #ozd-product-modal #ozd-modal-body {
        height: 100%;
        overflow-y: hidden;
        padding-right: 0;
    }

    #ozd-product-modal .ozd-modal-product-content {
        height: 100%;
        min-height: unset;
    }

    #ozd-product-modal .ozd-modal-gallery {
        height: 100%;
        overflow: hidden;
    }

    #ozd-product-modal .ozd-modal-img {
        object-position: center 20%;
        transform: scale(1.08);
        transform-origin: center top;
    }

    #ozd-product-modal .ozd-modal-details {
        overflow-y: auto;
        max-height: 100%;
        justify-content: flex-start;
    }

    #ozd-product-modal .ozd-modal-details::-webkit-scrollbar {
        width: 8px;
    }

    #ozd-product-modal .ozd-modal-details::-webkit-scrollbar-track {
        background: transparent;
    }

    #ozd-product-modal .ozd-modal-details::-webkit-scrollbar-thumb {
        background-color: #F8A500;
        border-radius: 10px;
    }

    #ozd-product-modal .ozd-modal-details::-webkit-scrollbar-thumb:hover {
        background-color: #fff;
    }

    #ozd-product-modal .ozd-modal-details .price {
        margin-bottom: 15px !important;
    }

    #ozd-product-modal .ozd-modal-details .cart {
        margin-top: 15px !important;
    }
}

/* --- LOGO SIZE REDUCTION --- */
a.custom-logo-link {
    display: inline-block !important;
    padding: 10px 0 !important;
}

a.custom-logo-link img.custom-logo {
    width: 85px !important; /* Precyzyjna wielkoĹ›Ä‡: 85px */
    max-width: 85px !important;
    height: auto !important;
}

/* --- FIXED OVERLAY HEADER --- */
header.bhfb.bhfb-header,
header.bhfb.bhfb-header.bhfb-desktop,
.bhfb-header.bhfb-desktop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: transparent !important; /* DomyĹ›lnie przezroczyste */
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    transition: background-color 0.4s ease, backdrop-filter 0.4s ease !important; /* PĹ‚ynne przejĹ›cie */
}

/* Glassmorphism po przewiniÄ™ciu */
header.bhfb.is-scrolled,
.bhfb-header.is-scrolled {
    background: rgba(0, 0, 0, 0.25) !important; /* Subtelna czerĹ„ - przywrĂłcona */
    backdrop-filter: blur(10px) saturate(160%) !important; /* Standardowy blur */
    -webkit-backdrop-filter: blur(10px) saturate(160%) !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

/* Kluczowe: usuniÄ™cie tĹ‚a z wierszy nagĹ‚Ăłwka, ktĂłre w Botiga domyĹ›lnie majÄ… biaĹ‚y kolor */
header.bhfb .bhfb-main_header_row,
header.bhfb .bhfb-above_header_row,
header.bhfb .bhfb-below_header_row,
header.bhfb .bhfb-main_header_row .bhfb-content,
header.bhfb .bhfb-main_header_row .bhfb-inner {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
    border: none !important;
}

/* --- HEADER ELEMENTS ADJUSTMENTS --- */

/* WyraĹşne powiÄ™kszenie menu gĹ‚Ăłwnego */
.bhfb-header .main-navigation ul li a {
    font-size: 1.25rem !important; 
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    color: #fff !important;
    position: relative;
    padding: 5px 15px !important;
    transition: all 0.4s ease !important;
    display: inline-block;
}

/* Pionowe linie po bokach na hover */
.bhfb-header .main-navigation ul li a::before,
.bhfb-header .main-navigation ul li a::after {
    content: '';
    position: absolute;
    width: 1px;
    height: 60%;
    top: 20%;
    background-color: #FFD27F;
    opacity: 0;
    transition: all 0.4s ease;
}

.bhfb-header .main-navigation ul li a::before { left: 0; transform: translateX(10px); }
.bhfb-header .main-navigation ul li a::after { right: 0; transform: translateX(-10px); }

.bhfb-header .main-navigation ul li a:hover {
    color: #fff !important;
    letter-spacing: 2px !important;
}

.bhfb-header .main-navigation ul li a:hover::before {
    opacity: 1;
    transform: translateX(-5px);
}

.bhfb-header .main-navigation ul li a:hover::after {
    opacity: 1;
    transform: translateX(5px);
}


/* Subtelniejsze powiÄ™kszenie ikon (Koszyk, Konto, Szukaj) */
.bhfb-header .bhfb-component-woo_icons .header-item,
.bhfb-header .bhfb-component-search .header-item,
.bhfb-header .bhfb-component-social .header-item,
.bhfb-header .botiga-header-item > a,
.bhfb-header .bhfb-builder-item i,
.bhfb-header .bhfb-builder-item svg:not(.botiga-svg-close) { /* Nie dotykamy ikony zamykania */
    transform: scale(1.15) !important;
    display: inline-block; /* UsuniÄ™to !important, by nie wymuszaÄ‡ widocznoĹ›ci ukrytych ikon */
}

.bhfb-header .bhfb-builder-item svg {
    width: 22px !important;
    height: 22px !important;
    fill: #fff !important;
}

.bhfb-header .bhfb-builder-item i {
    color: #fff !important;
}

/* Ukrycie niechcianego X obok lupy */
.bhfb-header .botiga-offcanvas-close,
.bhfb-header .botiga-svg-close {
    display: none !important;
}

/* Ensure the cancel icon is hidden by default, targeting the exact class */
.header-search .icon-cancel {
    display: none !important;
}

/* Kolor tekstu dla pozostaĹ‚ych elementĂłw nagĹ‚Ăłwka */
header.bhfb.bhfb-header,
header.bhfb.bhfb-header a,
header.bhfb.bhfb-header span,
header.bhfb.bhfb-header div {
    color: #fff !important;
}

/* Fix dla kontenerĂłw nadrzÄ™dnych */
#page, .site, .site-header {
    overflow: visible !important;
}

/* UsuniÄ™cie odstÄ™pu miÄ™dzy sekcjami a footerem */
#content {
    padding-bottom: 0 !important;
}

.site-main {
    margin-bottom: 0 !important;
}

.ozd-footer-section {
    margin-top: 0 !important;
}

/* UsuniÄ™cie odstÄ™pu miÄ™dzy Hero a Kolekcjami */
#athemes-blocks-block-7c1c4729 + .wp-block-spacer,
#athemes-blocks-block-7c1c4729 + br,
.wp-block-athemes-athemes-blocks-block-container + .wp-block-spacer {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Checkbox Styling for Privacy Policy and Remember Me */
.woocommerce-form__label-for-checkbox span a,
.ozd-orange-link {
    color: #F8A500 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    transition: color 0.3s ease !important;
    position: relative !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
    display: inline-block !important;
}

.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    padding: 10px 0 !important;
    cursor: pointer !important;
    pointer-events: none !important; /* Block label clicks to allow link clicks */
}

/* Base style for all Luxury Checkboxes */
.woocommerce-form-login__rememberme input[type="checkbox"],
.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    z-index: 10 !important;
    cursor: pointer !important;
    margin: 0 !important;
    pointer-events: auto !important;
}

/* Privacy Policy Specific - 20px */
.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: 25px !important;
    height: 25px !important;
}

/* Remember Me Specific - 16px (Smaller) */
.woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
}

.woocommerce-form-login__rememberme span,
.woocommerce-form__label-for-checkbox span {
    position: relative !important;
    color: #fff !important;
    display: inline-block !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.woocommerce-form__label-for-checkbox span {
    padding-left: 35px !important;
    font-size: 0.95rem !important;
}

.woocommerce-form-login__rememberme span {
    padding-left: 28px !important;
    font-size: 0.8rem !important;
}

/* Visual Mockup of the Checkbox (Square) */
.woocommerce-form-login__rememberme span::before,
.woocommerce-form__label-for-checkbox span::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-form__label-for-checkbox span::before {
    width: 20px !important;
    height: 20px !important;
}

.woocommerce-form-login__rememberme span::before {
    width: 16px !important;
    height: 16px !important;
}

/* Checkmark (Orange Tick) */
.woocommerce-form-login__rememberme input:checked + span::after,
.woocommerce-form__label-for-checkbox input:checked + span::after {
    content: "" !important;
    position: absolute !important;
    border: solid #F8A500 !important;
    z-index: 5 !important;
    display: block !important;
}

.woocommerce-form__label-for-checkbox input:checked + span::after {
    left: 7px !important;
    top: 50% !important;
    transform: translateY(-65%) rotate(45deg) !important;
    width: 6px !important;
    height: 11px !important;
    border-width: 0 2px 2px 0 !important;
}

.woocommerce-form-login__rememberme input:checked + span::after {
    left: 6px !important;
    top: 50% !important;
    transform: translateY(-65%) rotate(45deg) !important;
    width: 4px !important;
    height: 8px !important;
    border-width: 0 1.5px 1.5px 0 !important;
}

.woocommerce-form-login__rememberme input:hover + span::before,
.woocommerce-form__label-for-checkbox input:hover + span::before {
    border-color: #F8A500 !important;
}

.woocommerce-form__label-for-checkbox span a:hover,
.ozd-orange-link:hover {
    color: #fff !important;
}

.custom-hero-button,
.philosophy-section .custom-hero-button,
.ozd-submit-btn {
    background: #F8A500 !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    padding: 20px 40px !important;
    border-radius: 50px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    cursor: pointer !important;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, opacity 1s ease !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1 !important;
    text-align: center !important;
    opacity: 1;
}

@media (min-width: 1101px) {
    .philosophy-section .custom-hero-button,
    .philosophy-buttons .calc-btn {
        padding: 16px 32px !important;
        font-size: 0.8rem !important;
    }

    .philosophy-buttons {
        margin-top: 0 !important;
    }
}

/* Add to Cart - Base Colors (keeping original theme sizes) */
.single_add_to_cart_button,
.add_to_cart_button,
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.alt {
    background-color: #F8A500 !important;
    color: #000 !important;
    transition: all 0.3s ease !important;
}

/* Specyficzne dla Philosophy - Animacja wejĹ›cia */
.philosophy-section .custom-hero-button {
    opacity: 0;
    pointer-events: none;
}

.philosophy-section .custom-hero-button.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transition: opacity 1s ease 0.4s, background 0.3s ease 0s, color 0.3s ease 0s, transform 0.3s ease 0s !important;
}

.custom-hero-button:hover,
.philosophy-section .custom-hero-button:hover,
.ozd-submit-btn:hover {
    background: #fff !important;
    color: #000 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.3) !important;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease !important;
}

.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
    background: #fff !important;
    color: #000 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* --- FULL SCREEN HERO SECTION --- */
#athemes-blocks-block-7c1c4729 {
    width: 100vw !important;
    height: 100vh !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* Refined Orange Mesh Gradient */
    background: radial-gradient(circle at 10% 10%, #ffc14d 0%, transparent 40%),
                radial-gradient(circle at 90% 90%, #b36b00 0%, transparent 40%),
                radial-gradient(circle at 50% 50%, #f8a500 0%, #d18a00 100%) !important;
    position: relative;
    overflow: hidden;
}

/* Punkt 4: Dodatkowa warstwa szumu (Grain) dla tekstury */
#athemes-blocks-block-7c1c4729::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('https://grainy-gradients.vercel.app/noise.svg');
    opacity: 0.05;
    pointer-events: none;
    z-index: 1;
}

#athemes-blocks-block-7c1c4729 .athemes-blocks-block-container-wrapper {
    display: block !important;
    text-align: center;
    color: #000; /* Black text for orange bg */
    max-width: 900px;
    padding: 20px;
    background: transparent !important;
    z-index: 2;
}

/* --- SHARED SCROLL INDICATORS --- */
.scroll-indicator, .kinetic-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    opacity: 0.6;
    transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1) !important;
    z-index: 100;
}

.scroll-indicator:hover, .kinetic-scroll-indicator:hover {
    opacity: 1;
    cursor: default !important;
    transform: translateX(-50%) scale(1.15) !important;
}

.mouse {
    width: 26px;
    height: 42px;
    border: 2px solid currentColor;
    border-radius: 20px;
    position: relative;
}

.wheel {
    width: 2px;
    height: 6px;
    background: currentColor;
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2px;
    animation: mouseWheel 2s infinite;
}

.scroll-arrows {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.scroll-arrows span {
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    margin: -4px;
    animation: arrowsScroll 2s infinite;
}

.scroll-arrows span:nth-child(2) {
    animation-delay: 0.2s;
}

@keyframes mouseWheel {
    0% { transform: translate(-50%, 0); opacity: 1; }
    100% { transform: translate(-50%, 20px); opacity: 0; }
}

@keyframes arrowsScroll {
    0% { opacity: 0; transform: rotate(45deg) translate(-10px, -10px); }
    50% { opacity: 1; }
    100% { opacity: 0; transform: rotate(45deg) translate(10px, 10px); }
}

/* Home Specific (Black on Orange) - Aggressive override */
.home .scroll-indicator,
.home .scroll-indicator .mouse,
.home .scroll-indicator .wheel,
.home .scroll-indicator .scroll-arrows span {
    color: #000 !important;
    border-color: #000 !important;
}

.home .scroll-indicator .wheel {
    background-color: #000 !important;
}

/* Disable pointer cursor but keep hover scaling */
.home .scroll-indicator {
    cursor: default !important;
    pointer-events: auto !important;
}

/* Kinetic Specific (White on Black) */
.kinetic-scroll-indicator {
    color: #fff !important;
    bottom: 40px;
}

@keyframes fadeInOut {
    0%, 100% { opacity: 0.5; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(10px); }
}

/* Typografia Hero */
.hero-title {
    font-size: clamp(2.5rem, 8vw, 5rem);
    font-weight: 300; /* PrzywrĂłcono cienki styl */
    letter-spacing: -1px;
    line-height: 1.1;
    margin-bottom: 20px;
    text-transform: uppercase;
    background: transparent !important;
    overflow: hidden;
    display: block;
    color: #000 !important;
}

.hero-title span {
    display: block;
    animation: revealUp 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
    transform: translateY(100%);
    
    /* Subtle Gradient Effect - Darker for Orange Background */
    background: linear-gradient(135deg, #000000 0%, #333333 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    
    /* Fallback for browsers not supporting text-clip */
    color: #000;
    
    /* Subtelny cieĹ„ */
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.1));
}

.hero-subtitle {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 40px;
    opacity: 0;
    text-transform: uppercase;
    background: transparent !important;
    color: #2a1b0f !important;
    /* Dwie animacje: wejĹ›cie (raz) i floatowanie (nieskoĹ„czenie) */
    animation: 
        heroFadeIn 1.5s ease-out 0.5s forwards, 
        smoothFloat 6s ease-in-out 2s infinite;
    will-change: transform, opacity;
}

@keyframes smoothFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes heroFadeIn {
    0% { opacity: 0; transform: translateY(15px); }
    100% { opacity: 0.8; transform: translateY(0); }
}

@keyframes revealUp {
    0% { transform: translateY(100%); }
    100% { transform: translateY(0); }
}

a.added_to_cart.wc-forward {
    display: none !important;
}

/* --- OZD FILTER SIDEBAR --- */
.ozd-filter-wrapper {
    position: relative;
    z-index: 9999;
}

.ozd-filter-trigger {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: #F8A500;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 0 8px 8px 0;
    box-shadow: 4px 0 15px rgba(0,0,0,0.3);
    transition: all 0.3s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: 10001;
}

.ozd-filter-trigger svg {
    width: 30px;
    height: 30px;
    fill: #000;
    transition: transform 0.5s ease;
}

.ozd-filter-trigger.is-active {
    left: 300px;
}

.ozd-filter-trigger.is-active svg {
    transform: rotate(180deg);
}

.ozd-filter-sidebar {
    position: fixed;
    left: -300px;
    top: 0;
    width: 300px;
    height: 100vh;
    background: rgba(10, 10, 10, 0.95);
    backdrop-filter: blur(20px);
    border-right: 1px solid rgba(255,255,255,0.1);
    transition: left 0.4s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: 9000; /* NiĹĽej niĹĽ Mega Menu */
    padding: 40px;
    box-sizing: border-box;
    color: #fff;
    visibility: hidden; /* Ukryte domyĹ›lnie */
}

.ozd-filter-sidebar.is-active {
    left: 0;
    visibility: visible;
}

/* Ukrywamy trigger filtrĂłw, gdy Mega Menu jest otwarte */
body.mega-menu-open .ozd-filter-trigger {
    opacity: 0;
    pointer-events: none;
}

.filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.filter-header h3 {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 1.2rem;
    font-weight: 900 !important; /* Pogrubienie tytuĹ‚u Filtry */
    color: #F8A500 !important;
}

.filter-close {
    background: none;
    border: none;
    color: #fff !important;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s ease;
}

.filter-close:hover {
    color: #F8A500 !important;
}

.filter-group h4 {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 3px;
    font-weight: 900 !important; /* Pogrubienie Cena i Kategorie */
    color: #F8A500 !important;
    margin-bottom: 20px;
}

.filter-list {
    list-style: none !important;
    padding: 0 !important;
}

.filter-list li {
    margin-bottom: 15px !important;
}

/* Custom Checkbox */
.filter-checkbox {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    font-size: 0.95rem;
    user-select: none;
    color: rgba(255,255,255,0.7);
    transition: color 0.3s ease;
    line-height: 1; /* Reset line-height to help centering */
    min-height: 20px; /* Match checkmark height */
}

.filter-checkbox:hover {
    color: #fff;
}

.filter-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.ozd-filter-sidebar .ozd-filter-input[type="checkbox"] {
    display: none !important;
}

.checkmark {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 20px;
    width: 20px;
    background-color: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.filter-checkbox:hover input ~ .checkmark {
    background-color: rgba(255,255,255,0.2);
}

.filter-checkbox input:checked ~ .checkmark {
    background-color: #F8A500;
    border-color: #F8A500;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.filter-checkbox input:checked ~ .checkmark:after {
    display: block;
}

.filter-checkbox .checkmark:after {
    left: 7px;
    top: 50%;
    transform: translateY(-65%) rotate(45deg);
    width: 5px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
}

/* Grid Loading State */
.truewerk-container.is-loading {
    filter: blur(8px) grayscale(1); 
    opacity: 0.4;
    pointer-events: none;
    transition: all 0.4s ease;
}

/* Cinematic Loader */
.truewerk-grid-section {
    position: relative;
}

.truewerk-grid-section::after {
    content: "";
    position: fixed;
    top: 50%;
    left: 50%;
    width: 150px;
    height: 150px;
    background: url('/wp-content/uploads/2026/01/cropped-O_FC_logo_W_bcg.png') no-repeat center;
    background-size: contain;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: hidden;
    z-index: 10000;
    pointer-events: none;
    transition: all 0.4s ease;
}

.truewerk-grid-section.is-loading::after {
    opacity: 1;
    visibility: visible;
    animation: ozdPulseGrid 1.2s infinite ease-in-out;
}

@keyframes ozdPulseGrid {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
    50% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
}

/* Custom Loader for Tractor Pulling */
.page-tractor-pulling-collection .truewerk-grid-section::after {
    background-image: url('/wp-content/uploads/2026/03/TPP_LOGO_512.png');
}

/* Logo size for collection pages - unified with Home */
.page-ozdowski-collection a.custom-logo-link img.custom-logo,
.page-tractor-pulling-collection a.custom-logo-link img.custom-logo,
.home a.custom-logo-link img.custom-logo,
.page-id-112 a.custom-logo-link img.custom-logo {
    width: 80px !important;
    max-width: 80px !important;
}

@keyframes ozdPulse {
    0%, 100% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.05); opacity: 1; }
}

.filter-price-range {
    display: flex;
    gap: 15px;
    margin-bottom: 35px;
}

.filter-price-range input {
    width: 100% !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #fff !important;
    padding: 12px 15px !important;
    border-radius: 8px !important;
    font-size: 0.9rem !important;
    transition: all 0.3s ease !important;
    -moz-appearance: textfield; /* Firefox */
}

/* Chrome, Safari, Edge, Opera */
.filter-price-range input::-webkit-outer-spin-button,
.filter-price-range input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.filter-price-range input:focus {
    border-color: #F8A500 !important;
    background: rgba(255,255,255,0.06) !important;
    outline: none !important;
}

.filter-price-range input::placeholder {
    color: rgba(255,255,255,0.3);
}

/* --- TOAST NOTIFICATION --- */
.ozd-toast {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: #111;
    color: #fff;
    padding: 15px 30px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    border: 1px solid #F8A500;
    z-index: 30000; /* Znacznie powyżej modala (20000) */
    transform: translateY(100px);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1);
}

.ozd-toast.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.toast-icon {
    width: 20px;
    height: 20px;
    background: #F8A500;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 12px;
    font-weight: 900;
}

.toast-msg {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* --- TPP TECHNICAL BLUEPRINT SECTION --- */
.tpp-blueprint-section {
    width: 100vw !important;
    height: 100vh !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background-color: #0d1a14;
    position: relative;
    overflow: hidden;
    color: #4b9125;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    z-index: 10;
}

/* Millimeter Grid Effect */
.tpp-blueprint-grid {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(75, 145, 37, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(75, 145, 37, 0.1) 1px, transparent 1px),
        linear-gradient(rgba(75, 145, 37, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(75, 145, 37, 0.05) 1px, transparent 1px);
    background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;
    z-index: 1;
    pointer-events: none;
}

.tpp-blueprint-container {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 60px 5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tpp-blueprint-header {
    border-left: 4px solid #4b9125;
    padding-left: 20px;
}

.blueprint-code {
    font-family: monospace;
    font-size: 0.9rem;
    letter-spacing: 2px;
    opacity: 0.7;
}

.tpp-blueprint-section .blueprint-title {
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #4b9125 !important;
    margin: 5px 0 0 0 !important;
    text-shadow: none !important;
}

.tpp-blueprint-main {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.tpp-schematic-wrapper {
    position: relative;
    width: 100%;
    max-width: 800px;
    height: auto;
    filter: drop-shadow(0 0 50px rgba(75, 145, 37, 0.3));
}

.tpp-schematic-img {
    width: 100%;
    height: auto;
    opacity: 0.3;
    filter: grayscale(1) invert(1);
    display: block;
}

/* Hotspots */
.tpp-hotspot {
    position: absolute;
    width: 24px;
    height: 24px;
    z-index: 10;
}

.hotspot-pulse {
    width: 100%;
    height: 100%;
    background: #4b9125;
    border-radius: 50%;
    animation: hotspotPulse 2s infinite;
}

.hotspot-content {
    position: absolute;
    left: 35px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.9);
    backdrop-filter: blur(10px);
    border: 1px solid #4b9125;
    padding: 15px 25px;
    width: max-content;
    border-radius: 4px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.tpp-hotspot:hover .hotspot-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(10px);
}

.hotspot-content strong {
    display: block;
    color: #4b9125;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

.hotspot-content span {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
}

.hotspot-img {
    display: block;
    width: 250px;
    height: 150px;
    object-fit: cover;
    margin-top: 15px;
    border-radius: 4px;
    border: 1px solid rgba(75, 145, 37, 0.5);
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
    transition: transform 0.3s ease;
}

.tpp-hotspot:hover .hotspot-img {
    transform: scale(1.02);
}

@keyframes hotspotPulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(75, 145, 37, 0.7); }
    70% { transform: scale(1.6); box-shadow: 0 0 0 20px rgba(75, 145, 37, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(75, 145, 37, 0); }
}

.tpp-blueprint-footer {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid rgba(75, 145, 37, 0.2);
    padding-top: 25px;
}

.blueprint-data {
    font-family: monospace;
    font-size: 0.8rem;
    letter-spacing: 1px;
    opacity: 0.6;
}

/* --- OZDOWSKI KINETIC TYPOGRAPHY SECTION --- */
.ozd-kinetic-section {
    position: relative;
    width: 100vw !important;
    height: 100vh;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background-color: #000;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.kinetic-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.kinetic-title {
    font-size: clamp(4rem, 15vw, 12rem) !important;
    font-weight: 900 !important;
    line-height: 0.8 !important;
    text-align: center;
    text-transform: uppercase !important;
    letter-spacing: -5px !important;
    margin: 0 !important;
    
    /* Background Mask Effect */
    background-image: url('/wp-content/uploads/2026/03/tractor_drift2-scaled.jpeg');
    background-size: cover;
    background-position: center;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    
    /* Animation for the mask */
    animation: kineticBackground 20s linear infinite alternate;
    will-change: background-position, transform;
}

@keyframes kineticBackground {
    0% { background-position: 0% 50%; transform: scale(1); }
    100% { background-position: 100% 50%; transform: scale(1.1); }
}

.kinetic-title span {
    display: block;
}

.kinetic-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 20%, rgba(0,0,0,0.4) 100%);
    pointer-events: none;
}

/* --- SCROLL INDICATOR --- */
.kinetic-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.kinetic-scroll-indicator:hover {
    opacity: 1;
}

.mouse {
    width: 26px;
    height: 42px;
    border: 2px solid #fff;
    border-radius: 20px;
    position: relative;
}

.wheel {
    width: 2px;
    height: 6px;
    background: #fff;
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2px;
    animation: mouseWheel 2s infinite;
}

@keyframes mouseWheel {
    0% { transform: translate(-50%, 0); opacity: 1; }
    100% { transform: translate(-50%, 20px); opacity: 0; }
}

.scroll-arrows {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.scroll-arrows span {
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin: -4px;
    animation: arrowsScroll 2s infinite;
}

.scroll-arrows span:nth-child(2) {
    animation-delay: 0.2s;
}

@keyframes arrowsScroll {
    0% { opacity: 0; transform: rotate(45deg) translate(-10px, -10px); }
    50% { opacity: 1; }
    100% { opacity: 0; transform: rotate(45deg) translate(10px, 10px); }
}

/* --- TPP MOSAIC ARCHIVE SECTION --- */
.tpp-mosaic-section {
    width: 100vw !important;
    min-height: 100vh;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #000;
    padding: 100px 5%;
    box-sizing: border-box;
    scroll-snap-align: start;
}

.tpp-mosaic-container {
    max-width: 1600px;
    margin: 0 auto;
}

.tpp-mosaic-header {
    margin-bottom: 40px;
    text-align: left;
}

.tpp-mosaic-title {
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 900;
    color: #4b9125 !important;
    line-height: 0.8;
    margin: 0;
    letter-spacing: -4px;
}

.tpp-mosaic-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 250px; /* Bazowa wysokoĹ›Ä‡ wiersza */
    grid-auto-flow: dense; /* WypeĹ‚nianie luk */
    gap: 15px;
}

.tpp-mosaic-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: #111;
    transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1);
}

.mosaic-img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 1.5s cubic-bezier(0.2, 1, 0.3, 1), filter 0.6s ease;
    filter: brightness(0.6) contrast(1.1) grayscale(0.3);
}

.tpp-mosaic-item:hover .mosaic-img {
    transform: scale(1.15);
    filter: brightness(1) contrast(1.2) grayscale(0);
}

/* Asymmetric Sizes */
.tpp-mosaic-item.small  { grid-column: span 1; grid-row: span 1; }
.tpp-mosaic-item.medium { grid-column: span 2; grid-row: span 1; }
.tpp-mosaic-item.tall   { grid-column: span 1; grid-row: span 2; }
.tpp-mosaic-item.wide   { grid-column: span 2; grid-row: span 2; }

@media (max-width: 1024px) {
    .tpp-mosaic-grid { grid-template-columns: repeat(2, 1fr); }
    .tpp-mosaic-item.wide, .tpp-mosaic-item.tall { grid-column: span 2; grid-row: span 1; }
}

@media (max-width: 600px) {
    .tpp-mosaic-grid { grid-template-columns: 1fr; }
    .tpp-mosaic-item { grid-column: span 1 !important; grid-row: span 1 !important; height: 300px; }
}

/* --- CONTACT & PRIVACY SHARED LAYOUT FIXES --- */
.page-id-112 #content,
.page-id-112 .content-wrapper,
.page-id-112 .site-content,
.page-id-112 .site-main,
.page-id-112 article,
.page-id-112 .entry-content,
.page-id-697 #content,
.page-id-701 #content,
.page-tabela-rozmiarow #content,
.page-id-697 .content-wrapper,
.page-id-701 .content-wrapper,
.page-tabela-rozmiarow .content-wrapper,
.page-id-697 .site-content,
.page-id-701 .site-content,
.page-tabela-rozmiarow .site-content,
.page-id-697 .site-main,
.page-id-701 .site-main,
.page-tabela-rozmiarow .site-main,
.page-id-697 article,
.page-id-701 article,
.page-tabela-rozmiarow article,
.page-id-697 .entry-content,
.page-id-701 .entry-content,
.page-tabela-rozmiarow .entry-content,
.page-id-10 #content,
.page-id-10 .content-wrapper,
.page-id-10 .site-content,
.page-id-10 .site-main,
.page-id-10 article,
.page-id-10 .entry-content,
.page-polityka_prywatnosci #content,
.page-polityka_prywatnosci .content-wrapper,
.page-polityka_prywatnosci .site-content,
.page-polityka_prywatnosci .site-main,
.page-polityka_prywatnosci article,
.page-polityka_prywatnosci .entry-content,
.page-zwroty_reklamacje #content,
.page-zwroty_reklamacje .content-wrapper,
.page-zwroty_reklamacje .site-content,
.page-zwroty_reklamacje .site-main,
.page-zwroty_reklamacje article,
.page-zwroty_reklamacje .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.page-id-112 .entry-footer,
.page-id-697 .entry-footer,
.page-id-701 .entry-footer,
.page-tabela-rozmiarow .entry-footer,
.page-id-10 .entry-footer,
.page-polityka_prywatnosci .entry-footer,
.page-zwroty_reklamacje .entry-footer {
    display: none !important;
}

.page-id-112 .main-row, 
.page-id-112 #primary,
.page-id-697 .main-row,
.page-id-701 .main-row,
.page-tabela-rozmiarow .main-row,
.page-id-697 #primary,
.page-id-701 #primary,
.page-tabela-rozmiarow #primary,
.page-id-10 .main-row,
.page-id-10 #primary,
.page-polityka_prywatnosci .main-row,
.page-polityka_prywatnosci #primary,
.page-zwroty_reklamacje .main-row,
.page-zwroty_reklamacje #primary { 
    padding-bottom: 0 !important; 
    margin-bottom: 0 !important; 
}

.page-id-112 .site-header,
.page-id-697 .site-header,
.page-id-701 .site-header,
.page-tabela-rozmiarow .site-header,
.page-id-10 .site-header,
.page-polityka_prywatnosci .site-header,
.page-zwroty_reklamacje .site-header {
    position: absolute !important;
    width: 100% !important;
    background: transparent !important;
    z-index: 100 !important;
}

/* --- CONTACT CUSTOM SECTION --- */
.page-id-112 #content, 
.page-id-112 .content-wrapper, 
.page-id-112 .site-content, 
.page-id-112 .site-main, 
.page-id-112 article, 
.page-id-112 .entry-content,
.page-id-697 #content, 
.page-id-701 #content,
.page-tabela-rozmiarow #content,
.page-id-697 .content-wrapper, 
.page-id-701 .content-wrapper,
.page-tabela-rozmiarow .content-wrapper,
.page-id-697 .site-content, 
.page-id-701 .site-content,
.page-tabela-rozmiarow .site-content,
.page-id-697 .site-main, 
.page-id-701 .site-main,
.page-tabela-rozmiarow .site-main,
.page-id-697 article, 
.page-id-701 article,
.page-tabela-rozmiarow article,
.page-id-697 .entry-content,
.page-id-701 .entry-content,
.page-tabela-rozmiarow .entry-content,
.page-id-10 #content, 
.page-id-10 .content-wrapper, 
.page-id-10 .site-content, 
.page-id-10 .site-main, 
.page-id-10 article, 
.page-id-10 .entry-content {
    padding: 0 !important; margin: 0 !important; background-color: #020202 !important;
}

.contact-custom-section {
    width: 100vw !important;
    height: 100vh !important; /* DokĹ‚adnie wysokoĹ›Ä‡ ekranu */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    background-color: #020202 !important;
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    padding: 100px 10% 60px 10%;
    box-sizing: border-box;
    color: #fff;
}

/* --- CONTACT HERO SECTION (BLUEPRINT) --- */
.contact-hero-section {
    width: 100vw !important;
    height: 100vh !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
    background: #070707; /* Głęboki antracyt */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    z-index: 5;
}

.contact-hero-blueprint-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.blueprint-grid {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(248, 165, 0, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(248, 165, 0, 0.12) 1px, transparent 1px);
    background-size: 50px 50px;
}

.blueprint-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.08) 0%, transparent 60%);
}

.contact-hero-pipeline {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.pipeline-label-top {
    font-size: 0.7rem;
    color: #F8A500;
    letter-spacing: 5px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    display: block;
    opacity: 0.6;
}

.pipeline-title {
    font-size: clamp(2.5rem, 6vw, 4rem) !important;
    font-weight: 900 !important;
    line-height: 1.0 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    letter-spacing: -2px !important;
    margin-bottom: 50px !important;
}

.pipeline-title span {
    color: #F8A500 !important;
}

/* Pipeline Visual (Mirror of Homepage) */
.pipeline-visual {
    width: 100%;
    position: relative;
    height: 150px;
    margin-bottom: 80px;
}

.pipeline-svg-wrapper {
    position: relative;
    width: 100%;
    height: 50%;
}

.pipeline-svg-line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    transform: translateY(-50%);
    overflow: visible;
}

.path-line {
    fill: none;
    stroke: #F8A500;
    stroke-width: 2;
    stroke-dasharray: 10, 15;
    opacity: 0.3;
    animation: pipelineFlow 20s linear infinite;
}

@keyframes pipelineFlow {
    from { stroke-dashoffset: 250; }
    to { stroke-dashoffset: 0; }
}

.pipeline-nodes {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
}

.node-item {
    position: absolute;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 200px;
    cursor: pointer;
}

.node-dot {
    display: none !important; /* Hide old dot on desktop too */
}

.node-icon-svg {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #F8A500;
    border-radius: 50%;
    background: rgba(10, 10, 10, 0.9);
    backdrop-filter: blur(10px);
    padding: 15px;
    box-sizing: border-box;
    transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: 2;
}

.node-item:hover .node-icon-svg {
    background: #F8A500;
    transform: scale(1.1);
    box-shadow: 0 0 30px rgba(248, 165, 0, 0.4);
}

.node-item:hover .node-icon-svg svg path,
.node-item:hover .node-icon-svg svg rect,
.node-item:hover .node-icon-svg svg line,
.node-item:hover .node-icon-svg svg text {
    stroke: #000 !important;
    fill: none !important;
}

.node-item:hover .node-icon-svg svg text {
    fill: #000 !important;
}

/* --- INTERACTION HINTS: PING --- */

/* 1. Active Ping Animation (Sequential Pulse) */
@keyframes nodeActivePing {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248, 165, 0, 0); border-color: #F8A500; }
    10% { transform: scale(1.1); box-shadow: 0 0 40px rgba(248, 165, 0, 0.8); border-color: #fff; }
    20% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248, 165, 0, 0); border-color: #F8A500; }
}

/* Apply only on Desktop/Laptop (min-width: 992px) */
@media (min-width: 992px) {
    .contact-hero-section .node-icon-svg {
        animation: nodeActivePing 8s infinite;
    }

    /* Sequential Stagger for Ping */
    .contact-hero-section .node-item:nth-child(1) .node-icon-svg { animation-delay: 0s; }
    .contact-hero-section .node-item:nth-child(2) .node-icon-svg { animation-delay: 1.5s; }
    .contact-hero-section .node-item:nth-child(3) .node-icon-svg { animation-delay: 3.0s; }
    .contact-hero-section .node-item:nth-child(4) .node-icon-svg { animation-delay: 4.5s; }
}

.node-pulse {
    position: absolute;
    inset: -10px;
    border: 1px solid #F8A500;
    border-radius: 50%;
    opacity: 0;
    animation: nodePulseRing 3s infinite;
}

@keyframes nodePulseRing {
    0% { transform: scale(0.5); opacity: 0; }
    50% { opacity: 0.5; }
    100% { transform: scale(1.5); opacity: 0; }
}

/* Tooltip Styling */
.node-tooltip {
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    width: 280px;
    background: rgba(10, 10, 10, 0.95);
    backdrop-filter: blur(15px);
    border: 1px solid #F8A500;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.6);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s cubic-bezier(0.2, 1, 0.3, 1), visibility 0.35s cubic-bezier(0.2, 1, 0.3, 1), transform 0.35s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: 10;
    pointer-events: none;
}

/* Tooltip Arrow */
.node-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: #F8A500 transparent transparent transparent;
}

.tooltip-header {
    color: #F8A500;
    font-size: 0.7rem;
    letter-spacing: 2px;
    font-weight: 900;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.node-tooltip p {
    color: #fff;
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0;
}

/* Hide single tooltip on desktop for hub node (replaced by .ntc cards) */
@media (min-width: 992px) {
    .node-item-hub .node-tooltip { display: none !important; }
}

/* Multi-directional tooltip cards for HUB O_FC node */
.ntc {
    position: absolute;
    width: 190px;
    padding: 18px;
    background: rgba(10, 10, 10, 0.95);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid #F8A500;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: 10;
}

.node-item:hover .ntc {
    opacity: 1;
    visibility: visible;
}

/* Top card */
.ntc-top {
    bottom: calc(100% + 20px);
    left: 50%;
    transform: translateX(-50%) translateY(12px);
}
.node-item:hover .ntc-top {
    transform: translateX(-50%) translateY(0);
    transition-delay: 0s;
}
.ntc-top::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 7px;
    border-style: solid;
    border-color: #F8A500 transparent transparent transparent;
}

/* Left card */
.ntc-left {
    top: 10px;
    right: calc(100% + 20px);
    transform: translateX(12px);
}
.node-item:hover .ntc-left {
    transform: translateX(0);
    transition-delay: 0.07s;
}
.ntc-left::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    border-width: 7px;
    border-style: solid;
    border-color: transparent transparent transparent #F8A500;
}

/* Right card */
.ntc-right {
    top: 10px;
    left: calc(100% + 20px);
    transform: translateX(-12px);
}
.node-item:hover .ntc-right {
    transform: translateX(0);
    transition-delay: 0.14s;
}
.ntc-right::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    border-width: 7px;
    border-style: solid;
    border-color: transparent #F8A500 transparent transparent;
}

.ntc p {
    color: #fff;
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0;
}

/* Hover Interakcja */
.node-item:hover .node-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    transition-delay: 0.07s;
}

@media (max-width: 991px) {
    .ntc { display: none !important; }
}

.node-item:hover .node-dot {
    background: #fff;
    box-shadow: 0 0 25px #fff;
    transform: scale(1.3);
}

.node-content {
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: all 0.3s ease;
}

.node-content strong {
    color: #ffffff !important;
    font-size: 0.85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 900;
}

.node-content span {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 0.65rem;
    text-transform: uppercase;
    font-weight: 500;
}

.node-item:hover .node-content {
    opacity: 1;
    transform: translateY(3px);
}

/* --- GREYOUT FOCUS EFFECT --- */

/* 1. Kiedy jakikolwiek węzeł jest pod hoverem, przyciemnij nagłówek, stopkę i linię */
.contact-hero-pipeline:has(.node-item:hover) .pipeline-header,
.contact-hero-pipeline:has(.node-item:hover) .pipeline-footer,
.contact-hero-pipeline:has(.node-item:hover) .pipeline-svg-line {
    opacity: 0.15 !important;
    filter: blur(2px) grayscale(1);
    transform: scale(0.98);
    transition: opacity 0.6s cubic-bezier(0.2, 1, 0.3, 1), transform 0.6s cubic-bezier(0.2, 1, 0.3, 1), filter 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

/* 2. Przyciemnij i skurcz wszystkie węzły, które NIE są aktualnie pod myszką */
.pipeline-nodes:has(.node-item:hover) .node-item:not(:hover) {
    opacity: 0.1 !important;
    filter: grayscale(1);
    transform: translateX(-50%) scale(0.8) !important;
}

/* 3. Zapewnij płynne powroty dla wszystkich elementów */
.pipeline-header, .pipeline-footer, .pipeline-svg-line, .node-item {
    transition: opacity 0.6s cubic-bezier(0.2, 1, 0.3, 1), transform 0.6s cubic-bezier(0.2, 1, 0.3, 1), filter 0.6s cubic-bezier(0.2, 1, 0.3, 1) !important;
}

/* Poprawka dla aktywnego węzła - musi być idealnie widoczny */
.node-item:hover {
    opacity: 1 !important;
    filter: grayscale(0) !important;
    transform: translateX(-50%) scale(1.1) !important;
    z-index: 100;
}

.pipeline-footer {
    max-width: 850px;
    transition: all 0.6s ease;
}

.pipeline-footer p {
    font-size: 1rem !important;
    line-height: 1.6;
    color: #a0a0a0 !important; /* Wyrafinowany ciemny szary */
    margin-bottom: 50px;
    font-weight: 500;
    text-shadow: none; /* Usunięto cień dla czystszego wyglądu szarości */
}

.pipeline-footer strong {
    color: #F8A500 !important;
    font-weight: 900;
}

.pipeline-cta {
    background: #F8A500;
    color: #000 !important;
    padding: 20px 30px;
    border-radius: 50px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none !important;
    display: inline-block;
    transition: all 0.3s cubic-bezier(0.2, 1, 0.3, 1);
}

.pipeline-cta:hover {
    background: #fff;
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}

@media (max-width: 1024px) {
    .node-item { width: 150px; }
    .node-content strong { font-size: 0.7rem; }
    .pipeline-title { margin-bottom: 60px !important; }
    .path-line { stroke-width: 4 !important; opacity: 0.6 !important; }
}

@media (max-width: 991px) {
    /* Hide 'Sklep' menu item on mobile/tablet */
    .menu-item-657, .sklep { display: none !important; }

    /* --- MOBILE OFFCANVAS MENU (FILTER STYLE COLORS) --- */
    .bhfb-mobile_offcanvas {
        width: 90% !important;
        max-width: 90% !important; /* Force no theme limit */
        background: rgba(10, 10, 10, 0.95) !important;
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
        color: #fff !important;
    }

    /* Padding for menu list */
    .bhfb-mobile_offcanvas .botiga-dropdown .botiga-dropdown-ul, 
    .bhfb-mobile_offcanvas .botiga-dropdown .nav-menu {
        padding-top: 50px !important;
    }

    /* Close Button - Aggressive Visibility Fix */
    .bhfb-mobile_offcanvas .mobile-menu-close,
    .bhfb-mobile_offcanvas .botiga-offcanvas-close,
    .bhfb-mobile_offcanvas .botiga-svg-close,
    .bhfb-mobile_offcanvas .mobile-menu-close svg,
    .bhfb-mobile_offcanvas .botiga-offcanvas-close svg,
    .bhfb-mobile_offcanvas .botiga-svg-close svg,
    .bhfb-mobile_offcanvas .mobile-menu-close i,
    .bhfb-mobile_offcanvas .icon-cancel svg {
        color: #F8A500 !important;
        fill: #F8A500 !important;
        stroke: #F8A500 !important;
    }

    .bhfb-mobile_offcanvas .mobile-menu-close:hover,
    .bhfb-mobile_offcanvas .mobile-menu-close:hover svg {
        color: #fff !important;
        fill: #fff !important;
        stroke: #fff !important;
    }

    /* Menu Items Colors */
    .bhfb-mobile_offcanvas .main-navigation ul li a {
        color: rgba(255, 255, 255, 0.8) !important;
        transition: color 0.3s ease !important;
        font-size: 1.3rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 1.5px !important;
    }

    .bhfb-mobile_offcanvas .main-navigation ul li a:hover,
    .bhfb-mobile_offcanvas .main-navigation ul li.current-menu-item > a {
        color: #F8A500 !important;
    }

    /* Icons */
    .bhfb-mobile_offcanvas .bhfb-builder-item svg {
        fill: #fff !important;
    }

    .bhfb-mobile_offcanvas .bhfb-builder-item:hover svg {
        fill: #F8A500 !important;
    }

    .pipeline-visual { height: auto !important; margin-bottom: 80px !important; display: block !important; }
    .pipeline-svg-line { display: none !important; }
    
    .pipeline-nodes { 
        position: relative !important; 
        top: auto !important; 
        display: flex !important; 
        flex-direction: column !important; 
        gap: 80px !important; 
        transform: none !important; 
        padding: 40px 0 !important;
        width: 100% !important;
    }

    .node-item { 
        position: relative !important; 
        left: auto !important; 
        transform: none !important; 
        width: 100% !important; 
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 20px !important;
        cursor: default !important;
    }

    /* ZigZag logic */
    .node-item:nth-child(even) {
        flex-direction: row-reverse !important;
    }

    .node-dot { display: none !important; } /* Hide desktop dot */

    .node-icon-svg {
        display: flex !important;
        flex: 0 0 100px !important; /* Larger fixed width for the circle container */
        height: 100px !important;   /* Square container to make a perfect circle */
        align-items: center !important;
        justify-content: center !important;
        border: 2px solid #F8A500;
        border-radius: 50%;
        background: rgba(248, 165, 0, 0.05);
        padding: 20px; /* Space between icon and border */
        box-sizing: border-box !important;
    }

    .mobile-node-svg {
        width: 100%;
        height: 100%;
        max-height: 100%;
        display: block;
    }

    /* Wrap Title and Description in a single container for the side */
    .node-item .node-content { 
        display: none !important; /* Hide original separate title */
    }

    /* Re-purposing tooltip as the main text block next to SVG */
    .node-tooltip {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        flex: 1 !important; /* Take remaining space */
        background: transparent !important;
        backdrop-filter: none !important;
        border: none !important;
        padding: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        text-align: left !important;
    }

    .node-item:nth-child(even) .node-tooltip {
        text-align: right !important;
    }

    .node-tooltip::after { display: none !important; }

    .tooltip-header {
        font-size: 0.75rem !important;
        color: #F8A500 !important;
        font-weight: 900 !important;
        margin-bottom: 8px !important;
    }

    .node-tooltip p {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
        color: rgba(255, 255, 255, 0.8) !important;
    }

    .contact-hero-section { height: auto !important; padding: 120px 0; }

    /* Hide Logo in Header on mobile/tablet */
    .site-header .site-logo, 
    .site-header .custom-logo-link,
    .bhfb-header .bhfb-component-logo,
    .bhfb-mobile .bhfb-component-logo,
    .bhfb-builder-item.bhfb-component-logo { 
        display: none !important; 
    }

    /* Disable all Hover/Focus effects on mobile zigzag */
    .node-item:hover { transform: none !important; scale: 1 !important; }
    .contact-hero-pipeline:has(.node-item:hover) .pipeline-header,
    .contact-hero-pipeline:has(.node-item:hover) .pipeline-footer {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }
    .pipeline-nodes:has(.node-item:hover) .node-item:not(:hover) {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }
}

.contact-hero-title {
    font-size: clamp(2.5rem, 8vw, 4.5rem) !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
    color: #F8A500 !important; /* Orange Branding */
    margin-bottom: 30px !important;
    text-align: center;
}

@media (max-width: 1650px) {
    .contact-hero-section {
        padding-top: 20px !important; /* Minimalny odstÄ™p */
        height: auto !important;
        min-height: 100vh !important;
    }
    .contact-hero-container {
        padding: 0 5% !important;
        gap: 25px !important;
    }
    .contact-hero-title {
        font-size: 3.5rem !important; /* Nieco wiÄ™kszy niĹĽ przed chwilÄ… */
        margin-bottom: 25px !important;
    }
    .hero-manifest-text {
        font-size: 1rem !important;
        max-width: 550px !important;
    }
    .hero-detail-card {
        padding: 20px !important; /* Znacznie mniejsze karty */
        transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1) !important;
        will-change: transform, background-color;
    }
    .hero-detail-card:hover {
        transform: translateY(-10px) scale(1.02) !important;
    }
    .card-num {
        font-size: 1.1rem !important;
        margin-bottom: 8px !important;
    }
    .hero-detail-card h3 {
        font-size: 0.85rem !important;
        margin-bottom: 8px !important;
    }
    .hero-detail-card p {
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 1100px) {
    .hero-details-grid {
        grid-template-columns: 1fr;
    }
    .contact-hero-section {
        height: auto !important;
        min-height: 100vh;
        padding: 120px 0 60px 0;
    }
    .contact-hero-container {
        gap: 40px;
    }
}

@media (max-width: 991px) {
    .hero-gradient-overlay {
        background: linear-gradient(to top, #050505 0%, #050505 70%, rgba(5,5,5,0.4) 100%);
    }
    .contact-hero-container {
        padding: 0 30px;
        text-align: center;
    }
    .hero-manifest {
        margin: 0 auto;
    }
    .hero-manifest-text {
        margin: 0 auto;
    }
}

.contact-grid-container {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 100px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.contact-label { color: #F8A500; text-transform: uppercase; letter-spacing: 4px; font-weight: 700; font-size: 0.8rem; margin-bottom: 20px; display: block; }
.contact-heading { font-size: clamp(3rem, 6vw, 5rem); font-weight: 900; line-height: 0.9; text-transform: uppercase; margin-bottom: 60px; }

.contact-details { display: flex; flex-direction: column; gap: 40px; }
.detail-item strong { display: block; text-transform: uppercase; font-size: 0.7rem; letter-spacing: 2px; opacity: 0.5; margin-bottom: 10px; }
.detail-item span { font-size: 1.2rem; font-weight: 500; }

/* Form Styles */
.custom-ozd-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; gap: 20px; }

.custom-ozd-form input[type="text"],
.custom-ozd-form input[type="tel"],
.custom-ozd-form input[type="email"],
.custom-ozd-form textarea {
    width: 100% !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    padding: 18px 25px !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.custom-ozd-form input:focus,
.custom-ozd-form textarea:focus {
    border-color: #F8A500 !important;
    background: rgba(255,255,255,0.06) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Returns form — select */
.custom-ozd-form select.ozd-select {
    width: 100% !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    padding: 18px 25px !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffffff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    transition: border-color 0.3s ease !important;
}
.custom-ozd-form select.ozd-select:focus {
    border-color: #F8A500 !important;
    background-color: rgba(255,255,255,0.06) !important;
    outline: none !important;
}
.custom-ozd-form select.ozd-select option {
    background: #111;
    color: #fff;
}

/* Returns form — status message */
.returns-form-status {
    padding: 16px 20px;
    border-radius: 10px;
    font-size: 0.95rem;
    line-height: 1.5;
}
.returns-form-status.is-success {
    background: rgba(100, 200, 100, 0.1);
    border: 1px solid rgba(100, 200, 100, 0.3);
    color: #8eda8e;
}
.returns-form-status.is-error {
    background: rgba(233, 32, 32, 0.1);
    border: 1px solid rgba(233, 32, 32, 0.3);
    color: #e98080;
}

/* ===== RETURNS SECTION ===== */
.ozd-returns-section {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #020202 !important;
    padding: 100px 10% 120px;
    box-sizing: border-box;
    color: #fff;
}

.ozd-returns-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

/* --- Policy (left) --- */
.ozd-returns-policy {
    color: #fff;
}

.ozd-policy-block {
    margin-bottom: 48px;
}

.ozd-policy-title {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #F8A500 !important;
    margin-bottom: 16px;
}

.ozd-returns-policy p {
    font-size: 1rem;
    line-height: 1.8;
    color: rgba(255,255,255,0.7);
    margin-bottom: 16px;
}

.ozd-returns-policy p strong {
    color: #fff;
    font-weight: 700;
}

.ozd-policy-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ozd-policy-list li {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.6);
    padding-left: 20px;
    position: relative;
    line-height: 1.6;
}

.ozd-policy-list li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: #F8A500;
}

.ozd-policy-contact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.ozd-policy-contact span {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255,255,255,0.4);
}

.ozd-policy-contact a {
    font-size: 1rem;
    color: #F8A500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.ozd-policy-contact a:hover {
    color: #fff;
}

/* --- Form card (right) --- */
.ozd-returns-form-col {
    position: sticky;
    top: 120px;
}

.ozd-returns-form-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 20px;
    padding: 48px 40px;
}

.ozd-returns-form-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #F8A500 !important;
    margin-bottom: 36px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.ozd-rf-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.ozd-rf-group label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255,255,255,0.4);
}

.ozd-rf-group input,
.ozd-rf-group textarea,
.ozd-rf-group select.ozd-select {
    width: 100% !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    color: #fff !important;
    font-size: 0.95rem !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease, background 0.3s ease !important;
}
.ozd-rf-group select.ozd-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffffff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    cursor: pointer;
}
.ozd-rf-group select.ozd-select option {
    background: #111;
    color: #fff;
}

.ozd-rf-group input:focus,
.ozd-rf-group textarea:focus,
.ozd-rf-group select.ozd-select:focus {
    border-color: #F8A500 !important;
    background: rgba(255,255,255,0.07) !important;
    outline: none !important;
    box-shadow: none !important;
}

.ozd-rf-group input::placeholder,
.ozd-rf-group textarea::placeholder {
    color: rgba(255,255,255,0.25) !important;
}

.ozd-rf-group textarea {
    resize: vertical;
    min-height: 120px;
}

.ozd-rf-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ozd-rf-submit {
    width: 100%;
    margin-top: 8px;
    padding: 16px 24px;
    background: #F8A500;
    color: #000;
    border: none;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}

.ozd-rf-submit:hover {
    background: #fff;
    transform: translateY(-2px);
}

.ozd-rf-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 991px) {
    .ozd-returns-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .ozd-returns-form-col {
        position: static;
    }
    .ozd-rf-row {
        grid-template-columns: 1fr;
    }
    .ozd-returns-form-card {
        padding: 32px 24px;
    }
}

/* Socials Dropdown */
.dropdown-group { position: relative; }
.dropdown-trigger {
    background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1);
    padding: 18px 25px; border-radius: 12px; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
}
.dropdown-trigger.is-active { border-color: #F8A500; }
.dropdown-trigger svg { width: 20px; fill: #fff; transition: transform 0.3s ease; }
.dropdown-trigger.is-active svg { transform: rotate(180deg); }

.dropdown-content {
    position: absolute; top: calc(100% + 10px); left: 0; width: 100%;
    background: #111; border: 1px solid rgba(255,255,255,0.1); border-radius: 12px;
    padding: 20px; display: none; z-index: 100; box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}
.dropdown-content.is-active { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }

.trigger-label-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
}

.selected-icons-display {
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.selected-icons-display svg {
    width: 16px;
    height: 16px;
    color: #F8A500;
    opacity: 0;
    transform: scale(0.5);
    animation: icon-pop 0.3s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes icon-pop {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ozd-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 0.95rem;
    position: relative;
    padding: 5px 0;
}

.platform-label {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
}

.ozd-social-icon {
    display: block;
    flex-shrink: 0;
}

.ozd-checkbox input {    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
    margin: 0 !important;
}

.ozd-checkbox .checkmark {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    background-color: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.ozd-checkbox:hover .checkmark {
    background-color: rgba(255,255,255,0.1);
    border-color: #F8A500;
}

.ozd-checkbox input:checked ~ .checkmark {
    background-color: #F8A500;
    border-color: #F8A500;
}

.ozd-checkbox .checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.ozd-checkbox input:checked ~ .checkmark:after {
    display: block;
}

.ozd-submit-btn {
    background: #F8A500; color: #000; border: none; padding: 20px; border-radius: 50px;
    font-weight: 900; text-transform: uppercase; letter-spacing: 2px; cursor: pointer;
    transition: all 0.3s ease; margin-top: 20px;
}
.ozd-submit-btn:hover { background: #fff; transform: translateY(-3px); }

@media (max-width: 1650px) {
    .contact-custom-section {
        padding-top: 140px !important; /* WiÄ™kszy odstÄ™p dla formularza pod sticky menu */
        height: auto !important;
        min-height: 100vh;
    }
    .contact-heading {
        font-size: 3.2rem !important;
        margin-bottom: 40px !important;
    }
    .contact-label {
        margin-bottom: 10px !important;
    }
    .contact-grid-container {
        gap: 50px !important;
    }
}

@media (max-width: 1024px) {
    .contact-grid-container { grid-template-columns: 1fr; gap: 60px; }
    .contact-custom-section { padding-top: 120px; }
}

/* --- LUXURY MINI CART WIDGET --- */
#site-header-cart .widget_shopping_cart,
#site-header-cart .widget_shopping_cart_content,
#site-header-cart .woocommerce-mini-cart,
#site-header-cart .woocommerce-mini-cart__total,
#site-header-cart .woocommerce-mini-cart__buttons {
    background: rgba(10, 10, 10, 0.98) !important;
    background-color: rgba(10, 10, 10, 0.98) !important;
    color: #fff !important;
}

#site-header-cart .widget_shopping_cart {
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 15px !important;
    padding: 25px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.8) !important;
}

#site-header-cart .widget_shopping_cart .widgettitle {
    color: #F8A500 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.9rem;
    font-weight: 900 !important; /* Pogrubienie TwĂłj koszyk */
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 15px;
    margin-bottom: 20px;
    margin-left: -25px !important;
    padding-left: 25px !important;
    width: calc(100% + 50px);
}

/* Fix for total line */
#site-header-cart .woocommerce-mini-cart__total {
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    margin-top: 20px !important;
    padding: 20px 0 !important;
}

#site-header-cart .woocommerce-mini-cart__total strong {
    color: rgba(255,255,255,0.6) !important;
}

#site-header-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
    color: #F8A500 !important;
    font-size: 1.2rem;
}

#site-header-cart .woocommerce-mini-cart__empty-message {
    color: rgba(255,255,255,0.6) !important;
    font-size: 0.9rem;
    text-align: center;
    padding: 20px 0;
}

/* List Items in Cart */
#site-header-cart .mini_cart_item a {
    color: #fff !important;
    font-weight: 600 !important;
}

#site-header-cart .mini_cart_item .quantity {
    color: rgba(255,255,255,0.5) !important;
}

#site-header-cart .woocommerce-Price-amount {
    color: #F8A500 !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    flex-direction: row-reverse !important; /* Zamiana kolejnoĹ›ci zĹ‚ i kwoty */
    gap: 4px;
}

#site-header-cart .woocommerce-Price-currencySymbol {
    color: #F8A500 !important;
}

/* Mini Cart Buttons */
#site-header-cart .widget_shopping_cart .buttons a {
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    padding: 12px 20px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-size: 0.75rem !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

#site-header-cart .widget_shopping_cart .buttons a.button.wc-forward:not(.checkout) {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    color: #fff !important;
}

#site-header-cart .widget_shopping_cart .buttons a.button.checkout {
    background: #F8A500 !important;
    color: #000 !important;
    border: 2px solid #000 !important;
}

#site-header-cart .widget_shopping_cart .buttons a:hover {
    background: #fff !important;
    color: #000 !important;
    transform: translateY(-2px);
}

/* Fix for the white "flood" arrow/triangle if it exists */
#site-header-cart .widget_shopping_cart::before,
#site-header-cart .widget_shopping_cart::after {
    border-bottom-color: rgba(10, 10, 10, 0.98) !important;
}

/* --- TPP TECHNICAL BLUEPRINT ANIMATIONS --- */
.tpp-schematic-wrapper {
    position: relative;
    width: 100%;
    max-width: 700px;
    height: auto;
    filter: drop-shadow(0 0 40px rgba(75, 145, 37, 0.3));
    transform: translateX(-120vw); /* Start poza ekranem z lewej */
    transition: transform 1.2s cubic-bezier(0.2, 1, 0.3, 1);
}

.tpp-blueprint-header,
.tpp-blueprint-footer,
.tpp-hotspot {
    opacity: 0;
    transition: opacity 0.8s ease;
}

/* Sequence Trigger */
.tpp-blueprint-section.is-animated .tpp-schematic-wrapper {
    transform: translateX(0);
}

.tpp-blueprint-section.is-animated .tpp-blueprint-header {
    opacity: 1;
    transition-delay: 0.8s;
}

.tpp-blueprint-section.is-animated .tpp-blueprint-footer,
.tpp-blueprint-section.is-animated .tpp-hotspot {
    opacity: 1;
    transition-delay: 1.0s; /* Szybsze pojawienie siÄ™ */
}

/* Instant Mini Cart Hover */
#site-header-cart:hover .widget_shopping_cart {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

#site-header-cart .widget_shopping_cart {
    transition: opacity 0.2s ease, transform 0.2s ease !important; /* KrĂłtka, pĹ‚ynna animacja */
}

/* --- TRUEWERK PRODUCT GRID --- */
.truewerk-grid-section {
    width: 100vw !important;
    min-height: 100vh !important; /* Zawsze minimum peĹ‚ny ekran */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 80px 5% !important; /* OdstÄ™p od krawÄ™dzi ekranu */
    background: #000;
    color: #fff;
    box-sizing: border-box;
}

.truewerk-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 kolumny zamiast 3 */
    gap: 40px 30px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
}

.tw-product-card {
    display: flex;
    flex-direction: column;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.tw-product-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.tw-image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 130%; 
    background: #0a0a0a; /* Bardzo ciemne tĹ‚o pod zdjÄ™cia */
    overflow: hidden;
    display: block;
    text-decoration: none !important;
    border-radius: 4px;
}

.tw-img-main, .tw-img-hover {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: opacity 0.6s ease, transform 1s ease;
}

.tw-img-hover {
    opacity: 0;
}

.tw-image-wrapper:hover .tw-img-main { opacity: 0; }
.tw-image-wrapper:hover .tw-img-hover { opacity: 1; transform: scale(1.05); }


/* Labels */
.tw-tag {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #fff;
    color: #000;
    padding: 4px 12px;
    font-size: 0.65rem;
    font-weight: 900;
    text-transform: uppercase;
    z-index: 4;
}

/* Metadata */
.tw-meta {
    padding-top: 20px;
}

.tw-title {
    margin: 0 0 10px 0;
    font-size: 1.2rem;
    font-weight: 600; /* PrzywrĂłcona czytelnoĹ›Ä‡ */
    text-transform: uppercase;
    letter-spacing: 1px;
}

.tw-title a {
    color: #fff !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.tw-title a:hover {
    color: #FFD27F !important;
}

.tw-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: #F8A500; /* OZD Orange */
}

.tw-price ins { text-decoration: none; }
.tw-price del { opacity: 0.4; font-size: 0.8em; margin-right: 10px; color: #fff; }

/* Responsive */
@media (max-width: 1024px) {
    .truewerk-container { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .truewerk-container { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }
}

/* --- BENTO GRID SECTION --- */
.bento-grid-container {
    width: 100vw !important;
    height: 100vh !important; 
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    max-width: 100vw !important;
    padding: 120px 20px 20px 20px !important;
    background: #000 !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
    z-index: 5;
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 20px;
    width: 100% !important;
    height: 100% !important; 
    max-width: 1400px !important;
    margin: 0 auto;
}

.bento-item {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none !important;
    color: #fff !important;
    transition: opacity 0.5s cubic-bezier(0.2, 1, 0.3, 1), transform 0.5s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: 1;
    display: block !important;
    opacity: 0; /* Ukryte na starcie */
}

/* Specyficzne style dla podstrony Ozdowski */
.page-ozdowski-collection header.bhfb.bhfb-header,
.page-tractor-pulling-collection header.bhfb.bhfb-header {
    background: transparent !important;
    background-color: transparent !important;
}

/* Glassmorphism po scrollu dla Ozdowskiego */
.page-ozdowski-collection header.bhfb.is-scrolled,
.page-tractor-pulling-collection header.bhfb.is-scrolled {
    background: rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(10px) saturate(160%) !important;
}

.page-ozdowski-collection .bento-grid-container {
    background: radial-gradient(circle at 10% 10%, #ffc14d 0%, transparent 40%),
                radial-gradient(circle at 90% 90%, #b36b00 0%, transparent 40%),
                radial-gradient(circle at 50% 50%, #f8a500 0%, #d18a00 100%) !important;
    position: relative;
}

.page-tractor-pulling-collection .bento-grid-container {
    background: #1a3026 !important; /* GĹ‚Ä™boka zieleĹ„ Tractor Pulling */
    position: relative;
}

/* Dodanie tekstury ziarna do Bento */
.page-ozdowski-collection .bento-grid-container::before,
.page-tractor-pulling-collection .bento-grid-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('https://grainy-gradients.vercel.app/noise.svg');
    opacity: 0.05;
    pointer-events: none;
    z-index: 1;
}

.page-ozdowski-collection .bento-grid,
.page-tractor-pulling-collection .bento-grid {
    position: relative;
    z-index: 2; /* PowyĹĽej ziarna */
}

/* Usuwamy WSZELKIE przerwy, aby sekcje i Marquee dotykaĹ‚y stopki */
.page-ozdowski-collection #content,
.page-tractor-pulling-collection #content,
.page-id-112 #content,
.page-ozdowski-collection .content-wrapper,
.page-tractor-pulling-collection .content-wrapper,
.page-id-112 .content-wrapper,
.page-ozdowski-collection .site-content,
.page-tractor-pulling-collection .site-content,
.page-id-112 .site-content,
.page-ozdowski-collection .site-main,
.page-tractor-pulling-collection .site-main,
.page-id-112 .site-main,
.page-ozdowski-collection article,
.page-tractor-pulling-collection article,
.page-id-112 article,
.page-ozdowski-collection .entry-content,
.page-tractor-pulling-collection .entry-content,
.page-id-112 .entry-content,
.page-ozdowski-collection .container.content-wrapper,
.page-tractor-pulling-collection .container.content-wrapper,
.page-id-112 .container.content-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.page-ozdowski-collection .entry-footer,
.page-tractor-pulling-collection .entry-footer,
.page-id-112 .entry-footer {
    display: none !important;
}

.page-ozdowski-collection .ozd-marquee,
.page-tractor-pulling-collection .ozd-marquee,
.page-id-112 .ozd-marquee {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    border-bottom: none !important;
}

.page-ozdowski-collection .ozd-footer-section,
.page-tractor-pulling-collection .ozd-footer-section,
.page-id-112 .ozd-footer-section {
    margin-top: 0 !important;
}

.page-ozdowski-collection .truewerk-grid-section,
.page-tractor-pulling-collection .truewerk-grid-section {
    padding-bottom: 100px !important; /* Solidny odstÄ™p od Marquee */
    margin-bottom: 0 !important;
}

/* Definicja rozmiarĂłw kafelkĂłw bento */
.bento-main { grid-column: span 2; grid-row: span 2; transform: translateX(-100px); }
.bento-medium { grid-column: span 2; grid-row: span 1; transform: translateX(100px); }
.bento-small { grid-column: span 2; grid-row: span 1; transform: translateX(100px); }

/* TPP Layout */
.bento-tpp-layout .bento-grid {
    grid-template-rows: repeat(2, 1fr);
}
.bento-tpp-wide { 
    grid-column: span 4; 
    grid-row: 1; 
    transform: translateY(-50px); 
}
.bento-tpp-half { 
    grid-column: span 2; 
    grid-row: 2; 
    transform: translateY(50px); 
}

/* Stan po odpaleniu animacji */
.bento-grid-container.is-animated .bento-item {
    opacity: 1;
    transform: translateX(0);
}

.bento-grid-container.is-animated .bento-tpp-wide,
.bento-grid-container.is-animated .bento-tpp-half {
    opacity: 1;
    transform: translateY(0);
}

/* Opóźnienia dla płynności (stagger) */
.bento-grid-container.is-animated .bento-main { transition: transform 1s cubic-bezier(0.2, 1, 0.3, 1) 0.2s, opacity 1s cubic-bezier(0.2, 1, 0.3, 1) 0.2s; }
.bento-grid-container.is-animated .bento-medium { transition: transform 1s cubic-bezier(0.2, 1, 0.3, 1) 0.4s, opacity 1s cubic-bezier(0.2, 1, 0.3, 1) 0.4s; }
.bento-grid-container.is-animated .bento-small { transition: transform 1s cubic-bezier(0.2, 1, 0.3, 1) 0.6s, opacity 1s cubic-bezier(0.2, 1, 0.3, 1) 0.6s; }

/* TPP Stagger */
.bento-grid-container.is-animated .bento-tpp-wide { transition: transform 1s cubic-bezier(0.2, 1, 0.3, 1) 0.2s, opacity 1s cubic-bezier(0.2, 1, 0.3, 1) 0.2s; }
.bento-grid-container.is-animated .bento-tpp-half:nth-child(2) { transition: transform 1s cubic-bezier(0.2, 1, 0.3, 1) 0.4s, opacity 1s cubic-bezier(0.2, 1, 0.3, 1) 0.4s; }
.bento-grid-container.is-animated .bento-tpp-half:nth-child(3) { transition: transform 1s cubic-bezier(0.2, 1, 0.3, 1) 0.6s, opacity 1s cubic-bezier(0.2, 1, 0.3, 1) 0.6s; }

/* TPP Colors for Collection Page */
.page-tractor-pulling-collection .tw-price { color: #4b9125 !important; }
.page-tractor-pulling-collection .ozd-filter-trigger { background: #4b9125 !important; }
.page-tractor-pulling-collection .filter-header h3,
.page-tractor-pulling-collection .filter-close,
.page-tractor-pulling-collection .filter-group h4 { color: #4b9125 !important; }
.page-tractor-pulling-collection .filter-checkbox input:checked ~ .checkmark { background-color: #4b9125; border-color: #4b9125; }
.page-tractor-pulling-collection .filter-price-range input:focus { border-color: #4b9125; }

.bento-bg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover; background-position: center;
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
    z-index: -1;
}

.bento-item::after {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
    z-index: 0;
}

.bento-content {
    position: absolute;
    bottom: 0; left: 0; padding: 40px;
    z-index: 2; width: 100%;
}

.bento-tag {
    display: inline-block;
    background: #FFD27F;
    color: #F8A500;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.bento-title {
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 10px;
    text-transform: uppercase;
    line-height: 0.9;
    letter-spacing: -1px;
    color: #fff !important;
    text-shadow: 0 10px 30px rgba(0,0,0,0.8), 0 2px 5px rgba(0,0,0,0.5); /* Mocny, gĹ‚Ä™boki cieĹ„ */
}

.bento-description {
    font-size: 1.1rem;
    opacity: 1 !important;
    font-weight: 500;
    margin-bottom: 20px;
    max-width: 350px;
    color: #fff !important;
    text-shadow: 0 5px 15px rgba(0,0,0,0.8);
}

.bento-link {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 2px solid #FFD27F;
    padding-bottom: 5px;
    transition: all 0.3s ease;
}

.bento-item:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 20px 40px rgba(0,0,0,0.4); 
}
.bento-item:hover .bento-bg { transform: scale(1.05); }


@media (max-width: 768px) {
    .bento-grid-container {
        height: auto !important;
        padding: 80px 12px 20px !important;
    }

    .bento-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        gap: 12px;
    }

    .bento-main,
    .bento-medium,
    .bento-small {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        min-height: 65vw;
        transform: translateY(30px) !important;
    }

    .bento-grid-container.is-animated .bento-main,
    .bento-grid-container.is-animated .bento-medium,
    .bento-grid-container.is-animated .bento-small {
        transform: translateY(0) !important;
    }

    .bento-tpp-wide,
    .bento-tpp-half {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        min-height: 65vw;
        transform: translateY(30px) !important;
    }

    .bento-grid-container.is-animated .bento-tpp-wide,
    .bento-grid-container.is-animated .bento-tpp-half {
        transform: translateY(0) !important;
    }

    .bento-content {
        padding: 20px !important;
    }

    .bento-title {
        font-size: clamp(1.4rem, 6vw, 2rem) !important;
        letter-spacing: -0.5px !important;
    }

    .bento-description {
        font-size: 0.85rem !important;
        max-width: 100% !important;
        margin-bottom: 12px !important;
    }

    .bento-tag {
        margin-bottom: 8px !important;
    }

    .bento-item:hover {
        transform: none !important;
    }
}

/* --- COLLECTION SPLIT DYNAMIC --- */
:root { 
    --split-1: 33%; 
    --split-2: 66%; 
    --split-3: 100%; 
}

.collection-split-container {
    position: relative; width: 100vw !important; height: 100vh !important;
    margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important; overflow: hidden; z-index: 100; background: #000;
}

/* Slider Mode for > 4 items */
.collection-slider-mode {
    position: relative !important;
    width: 100vw !important;
    height: 100vh !important;
    left: 50% !important;
    margin-left: -50vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    overflow: hidden;
    /* Strong, Highly Visible Mesh Gradient */
    background: 
        radial-gradient(circle at 10% 10%, rgba(248, 165, 0, 0.35) 0%, transparent 60%),
        radial-gradient(circle at 90% 90%, rgba(255, 210, 127, 0.25) 0%, transparent 60%),
        radial-gradient(circle at 50% 50%, #151515 0%, #050505 100%) !important;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    z-index: 100;
}

.collection-slider-mode .slider-track {
    display: flex;
    width: max-content !important;
    height: 100%;
    align-items: center;
    will-change: transform;
}

/* Slider Arrows with Accent */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 400; /* PowyĹĽej Dead Zone */
    opacity: 0;
    transition: all 0.4s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.slider-arrow svg {
    width: 30px;
    height: 30px;
    fill: #fff;
    transition: transform 0.3s ease;
}

.arrow-left { left: 30px; }
.arrow-right { right: 30px; }

.collection-slider-mode:hover .slider-arrow {
    opacity: 1;
}

.slider-arrow:hover {
    background: rgba(248, 165, 0, 0.9);
    border-color: #F8A500;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 0 20px rgba(248, 165, 0, 0.4);
}

.slider-arrow:hover svg {
    fill: #000;
}

.slider-dead-zone {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20vh;
    z-index: 300;
    cursor: default;
    pointer-events: auto;
}

.slider-item {
    position: relative;
    flex: 0 0 500px;
    height: 85vh;
    margin: 0 20px;
    overflow: hidden;
    border-radius: 12px; /* ZaokrÄ…glone rogi */
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1), filter 0.6s ease, box-shadow 0.6s ease;
    text-decoration: none !important;
    background: #111;
    border: 1px solid rgba(255,255,255,0.05);
}

/* Kolorowy akcent na dole kaĹĽdego kafelka */
.slider-item-accent {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    z-index: 5;
    opacity: 0.6;
    transition: height 0.4s ease, opacity 0.4s ease;
}

.slider-item:hover .slider-item-accent {
    height: 8px;
    opacity: 1;
}

.slider-item-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 1.2s ease, filter 0.6s ease;
    filter: brightness(0.7) grayscale(0.2);
}

.slider-item-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.2) 40%, transparent 100%);
    display: flex;
    align-items: flex-end;
    padding: 50px;
    z-index: 4;
}

.slider-item-title {
    color: #fff;
    font-size: 3rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    transform: translateY(0);
    transition: all 0.5s ease;
    text-shadow: 0 5px 20px rgba(0,0,0,0.5);
}

.slider-item:hover {
    transform: scale(1.03) translateY(-10px);
    z-index: 10;
    filter: brightness(1.1);
    border-color: rgba(248, 165, 0, 0.3);
    box-shadow: 0 30px 60px rgba(0,0,0,0.8), 0 0 40px rgba(248, 165, 0, 0.15);
}

.slider-item:hover .slider-item-bg {
    transform: scale(1.1);
    filter: brightness(1) grayscale(0);
}

.slider-item:hover .slider-item-title {
    transform: translateY(-15px);
    color: #FFD27F;
    letter-spacing: 4px;
}

/* Fog of War dla slidera */
.collection-slider-mode:has(.slider-item:hover) .slider-item:not(:hover) {
    filter: brightness(0.3) blur(8px) grayscale(1);
    transform: scale(0.92);
    opacity: 0.5;
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* Przesuwamy o poĹ‚owÄ™, bo mamy zdublowane elementy */
}

.split-side-bg { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    transition: clip-path 0.6s cubic-bezier(0.2, 1, 0.3, 1), filter 0.6s ease !important; 
    pointer-events: none; 
    background-size: cover; background-position: center;
}

/* Base Clip Paths for 2, 3, 4 items */
/* 2 items */
.dynamic-split-2 .split-bg-0 { clip-path: polygon(0% 0%, 60% 0%, 40% 100%, 0% 100%); z-index: 101; }
.dynamic-split-2 .split-bg-1 { clip-path: polygon(60% 0%, 100% 0%, 100% 100%, 40% 100%); z-index: 102; }

/* 3 items */
.dynamic-split-3 .split-bg-0 { clip-path: polygon(0% 0%, 40% 0%, 26% 100%, 0% 100%); z-index: 101; }
.dynamic-split-3 .split-bg-1 { clip-path: polygon(40% 0%, 73% 0%, 60% 100%, 26% 100%); z-index: 102; }
.dynamic-split-3 .split-bg-2 { clip-path: polygon(73% 0%, 100% 0%, 100% 100%, 60% 100%); z-index: 103; }

/* 4 items */
.dynamic-split-4 .split-bg-0 { clip-path: polygon(0% 0%, 30% 0%, 20% 100%, 0% 100%); z-index: 101; }
.dynamic-split-4 .split-bg-1 { clip-path: polygon(30% 0%, 55% 0%, 45% 100%, 20% 100%); z-index: 102; }
.dynamic-split-4 .split-bg-2 { clip-path: polygon(55% 0%, 80% 0%, 70% 100%, 45% 100%); z-index: 103; }
.dynamic-split-4 .split-bg-3 { clip-path: polygon(80% 0%, 100% 0%, 100% 100%, 70% 100%); z-index: 104; }

/* Hover Effects - Dynamic */
.is-hover-0 .split-bg-0, .is-hover-1 .split-bg-1, .is-hover-2 .split-bg-2, .is-hover-3 .split-bg-3 { filter: brightness(1) !important; z-index: 150 !important; }
.collection-split-container[class*="is-hover-"] .split-side-bg:not(:hover) { filter: brightness(0.3) blur(5px) grayscale(0.8); }

/* Hover Polygons for 2 items */
.dynamic-split-2.is-hover-0 .split-bg-0 { clip-path: polygon(0% 0%, 75% 0%, 55% 100%, 0% 100%); }
.dynamic-split-2.is-hover-0 .split-bg-1 { clip-path: polygon(75% 0%, 100% 0%, 100% 100%, 55% 100%); }
.dynamic-split-2.is-hover-1 .split-bg-0 { clip-path: polygon(0% 0%, 45% 0%, 25% 100%, 0% 100%); }
.dynamic-split-2.is-hover-1 .split-bg-1 { clip-path: polygon(45% 0%, 100% 0%, 100% 100%, 25% 100%); }

/* Hover Polygons for 3 items - More aggressive movement */
.dynamic-split-3.is-hover-0 .split-bg-0 { clip-path: polygon(0% 0%, 70% 0%, 56% 100%, 0% 100%); }
.dynamic-split-3.is-hover-0 .split-bg-1 { clip-path: polygon(70% 0%, 85% 0%, 71% 100%, 56% 100%); }
.dynamic-split-3.is-hover-0 .split-bg-2 { clip-path: polygon(85% 0%, 100% 0%, 100% 100%, 71% 100%); }

.dynamic-split-3.is-hover-1 .split-bg-0 { clip-path: polygon(0% 0%, 15% 0%, 1% 100%, 0% 100%); }
.dynamic-split-3.is-hover-1 .split-bg-1 { clip-path: polygon(15% 0%, 85% 0%, 71% 100%, 1% 100%); }
.dynamic-split-3.is-hover-1 .split-bg-2 { clip-path: polygon(85% 0%, 100% 0%, 100% 100%, 71% 100%); }

.dynamic-split-3.is-hover-2 .split-bg-0 { clip-path: polygon(0% 0%, 15% 0%, 1% 100%, 0% 100%); }
.dynamic-split-3.is-hover-2 .split-bg-1 { clip-path: polygon(15% 0%, 30% 0%, 16% 100%, 1% 100%); }
.dynamic-split-3.is-hover-2 .split-bg-2 { clip-path: polygon(30% 0%, 100% 0%, 100% 100%, 16% 100%); }

.split-divider-line { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    z-index: 160; pointer-events: none; background: #F8A500;
    transition: clip-path 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.dynamic-split-2 .divider-1 { clip-path: polygon(59.5% 0%, 60.5% 0%, 40.5% 100%, 39.5% 100%); }
.dynamic-split-3 .divider-1 { clip-path: polygon(39.5% 0%, 40.5% 0%, 26.5% 100%, 25.5% 100%); }
.dynamic-split-3 .divider-2 { clip-path: polygon(72.5% 0%, 73.5% 0%, 60.5% 100%, 59.5% 100%); }
.dynamic-split-4 .divider-1 { clip-path: polygon(29.5% 0%, 30.5% 0%, 20.5% 100%, 19.5% 100%); }
.dynamic-split-4 .divider-2 { clip-path: polygon(54.5% 0%, 55.5% 0%, 45.5% 100%, 44.5% 100%); }
.dynamic-split-4 .divider-3 { clip-path: polygon(79.5% 0%, 80.5% 0%, 70.5% 100%, 69.5% 100%); }

/* Divider Hover Transitions */
.dynamic-split-2.is-hover-0 .divider-1 { clip-path: polygon(74.5% 0%, 75.5% 0%, 55.5% 100%, 54.5% 100%); }
.dynamic-split-2.is-hover-1 .divider-1 { clip-path: polygon(44.5% 0%, 45.5% 0%, 25.5% 100%, 24.5% 100%); }

.dynamic-split-3.is-hover-0 .divider-1 { clip-path: polygon(69.5% 0%, 70.5% 0%, 56.5% 100%, 55.5% 100%); }
.dynamic-split-3.is-hover-0 .divider-2 { clip-path: polygon(84.5% 0%, 85.5% 0%, 71.5% 100%, 70.5% 100%); }

.dynamic-split-3.is-hover-1 .divider-1 { clip-path: polygon(14.5% 0%, 15.5% 0%, 1.5% 100%, 0.5% 100%); }
.dynamic-split-3.is-hover-1 .divider-2 { clip-path: polygon(84.5% 0%, 85.5% 0%, 71.5% 100%, 70.5% 100%); }

.dynamic-split-3.is-hover-2 .divider-1 { clip-path: polygon(14.5% 0%, 15.5% 0%, 1.5% 100%, 0.5% 100%); }
.dynamic-split-3.is-hover-2 .divider-2 { clip-path: polygon(29.5% 0%, 30.5% 0%, 16.5% 100%, 15.5% 100%); }

.split-overlays { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; z-index: 200; }
.overlay-side { flex: 4; height: 100%; cursor: pointer; display: grid; place-items: center; text-decoration: none !important; }
.overlay-dead-zone { flex: 1; height: 100%; cursor: default; z-index: 210; }

.collection-title { 
    color: #fff; font-size: clamp(1.5rem, 4vw, 3.5rem); font-weight: 900; 
    text-transform: uppercase; text-shadow: 0 4px 15px rgba(0,0,0,0.6); 
    transition: all 0.6s cubic-bezier(0.2, 1, 0.3, 1); pointer-events: none; text-align: center; 
}

/* Hover Effects for Titles */
.collection-split-container[class*="is-hover-"] .overlay-side .collection-title { transform: scale(0.8); opacity: 0.15; filter: blur(5px); }
.is-hover-0 .overlay-side[data-index="0"] .collection-title,
.is-hover-1 .overlay-side[data-index="1"] .collection-title,
.is-hover-2 .overlay-side[data-index="2"] .collection-title,
.is-hover-3 .overlay-side[data-index="3"] .collection-title { 
    transform: scale(1.2) !important; opacity: 1 !important; filter: blur(0) !important; 
}

/* Editor specific styles - Professional UI */
.ozd-editor-split-wrapper { 
    background: #f0f0f1; 
    border: 1px solid #ccd0d4; 
    border-radius: 8px; 
    padding: 30px;
    margin: 20px 0;
    color: #1e1e1e;
}

.ozd-editor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #ddd;
}

.ozd-editor-header h3 {
    margin: 0;
    font-size: 1.2rem;
    color: #1e1e1e;
}

.ozd-editor-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.ozd-editor-card {
    background: #fff;
    border: 1px solid #ccd0d4;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ozd-editor-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.ozd-editor-card-header {
    background: #1e1e1e;
    color: #fff;
    padding: 10px 15px;
    display: flex;
    align-items: center; gap: 10px;
}

.ozd-card-number {
    background: #F8A500;
    color: #000;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
}

.ozd-editor-card-header h4 {
    margin: 0;
    flex-grow: 1;
    font-size: 0.9rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ozd-editor-card-body {
    padding: 20px;
}

.ozd-editor-media-section {
    margin-top: 15px;
}

.ozd-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 0.8rem;
}

.ozd-image-preview-box {
    width: 100%;
    height: 120px;
    background: #f0f0f1;
    border: 2px dashed #ccd0d4;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    transition: border-color 0.2s ease;
}

.ozd-image-preview-box:hover {
    border-color: #F8A500;
    background-color: #e5e5e5;
}

.ozd-image-preview-box span {
    font-size: 0.8rem;
    color: #757575;
    background: rgba(255,255,255,0.8);
    padding: 4px 8px;
    border-radius: 4px;
}

/* --- PHILOSOPHY SECTION --- */
.philosophy-section {
    width: 100vw !important; min-height: 100vh;
    margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important; background: #000; display: flex; align-items: center; overflow: hidden;
}
.philosophy-container { display: grid; grid-template-columns: 1fr 1fr; width: 100%; height: 100%; }

.philosophy-image-wrapper {
    height: 100vh;
    overflow: hidden;
    background-color: #070707 !important;
    background-image: 
        radial-gradient(circle at center, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 70%, transparent 100%),
        linear-gradient(rgba(248, 165, 0, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(248, 165, 0, 0.12) 1px, transparent 1px) !important;
    background-size: auto, 50px 50px, 50px 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
    border-right: 1px solid rgba(248, 165, 0, 0.1);
}

.philosophy-image-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('https://grainy-gradients.vercel.app/noise.svg');
    opacity: 0.03;
    pointer-events: none;
    z-index: 1;
}

.philosophy-content { 
    padding: 10% 15%; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    background-color: #050505 !important;
    color: #fff; 
    position: relative; 
    overflow: hidden; 
}

.mobile-floating-nodes {
    display: none;
}

.philosophy-footer {
    position: relative !important;
    z-index: 5 !important;
}

.philosophy-buttons {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

/* Secondary Calculator Button Style */
.philosophy-buttons .calc-btn {
    background: transparent !important;
    color: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
}

.philosophy-buttons .calc-btn:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}

@media (max-width: 768px) {
    .philosophy-buttons {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
}

.philosophy-label, .philosophy-title, .philosophy-text, .philosophy-footer, .custom-hero-button {
    position: relative !important;
    z-index: 5 !important;
}

.philosophy-label { color: #F8A500; text-transform: uppercase; letter-spacing: 3px; font-size: 0.8rem; font-weight: 700; margin-bottom: 20px; }
.philosophy-title { font-size: clamp(3rem, 6vw, 5rem); font-weight: 900; line-height: 0.9; margin-bottom: 60px; text-transform: uppercase; }

.philosophy-process-visual {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    padding-top: 80px !important;
}

.philosophy-flow-svg { width: 100%; height: 90%; }

.flow-path {
    fill: none;
    stroke: #F8A500;
    opacity: 0.3;
    stroke-width: 4;
    stroke-dasharray: 15, 25;
    animation: flowLine 2s linear infinite;
    will-change: stroke-dashoffset;
}

.flow-icon {
    transition: transform 0.4s ease, opacity 0.4s ease;
    will-change: transform, opacity;
}

text.flow-icon {
    /* filter: drop-shadow is expensive, keeping only if necessary for aesthetics, but optimized will-change */
    filter: drop-shadow(0 0 12px rgba(248, 165, 0, 0.4));
}

.flow-node {
    fill: rgba(248, 165, 0, 0.05) !important;
    stroke: #F8A500;
    stroke-width: 2;
    transition: transform 0.4s ease, opacity 0.4s ease, fill 0.4s ease;
    will-change: transform, opacity;
}

.flow-node:hover {
    fill: rgba(248, 165, 0, 0.2) !important;
    stroke: #fff;
    filter: drop-shadow(0 0 15px rgba(248, 165, 0, 0.4));
}

.glow-step {
    animation: none; /* Disable global animation, start only on reveal */
    transform-origin: center;
    transform-box: fill-box;
}

/* Trigger pulsing only after element is revealed, and ONLY for nodes/icons (glow-step) */
.philosophy-process-visual.is-animated .glow-step.step-1,
.philosophy-process-visual.is-animated .glow-step.step-2,
.philosophy-process-visual.is-animated .glow-step.step-3,
.philosophy-process-visual.is-animated .glow-step.step-4 {
    animation: nodePulse 5s infinite ease-in-out;
}

/* Ensure labels (text) stay calm and don't pulse */
.philosophy-process-visual .flow-label-small,
.philosophy-process-visual .flow-label-large {
    animation: none !important;
}

@keyframes flowLine { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes nodePulse { 
    0%, 100% { transform: scale(1); opacity: 0.2; } 
    50% { transform: scale(1.1); opacity: 0.4; } 
}

.flow-label-small { font-size: 15px; }
.flow-label-large { font-size: 40px; }

/* --- SEQUENTIAL ANIMATION LOGIC --- */
.philosophy-process-visual .step-1,
.philosophy-process-visual .step-2,
.philosophy-process-visual .step-3,
.philosophy-process-visual .step-4 {
    opacity: 0 !important;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: none;
}

.reveal-path-mask {
    stroke-dasharray: var(--path-length, 3000);
    stroke-dashoffset: var(--path-length, 3000);
}

.philosophy-process-visual.is-animated .reveal-path-mask {
    animation: drawRevealPath 3s linear forwards !important;
    animation-delay: 0.5s !important;
}

/* Staggered Reveal Sequence */
.philosophy-process-visual.is-animated .flow-icon.step-1,
.philosophy-process-visual.is-animated .flow-label-small.step-1,
.philosophy-process-visual.is-animated .flow-label-large.step-1 { opacity: 1 !important; transition-delay: 0s !important; pointer-events: auto; }
.philosophy-process-visual.is-animated .flow-node.step-1 { opacity: 1 !important; transition-delay: 0.2s !important; pointer-events: auto; }

.philosophy-process-visual.is-animated .flow-icon.step-2,
.philosophy-process-visual.is-animated .flow-label-small.step-2,
.philosophy-process-visual.is-animated .flow-label-large.step-2 { opacity: 1 !important; transition-delay: 1s !important; pointer-events: auto; }
.philosophy-process-visual.is-animated .flow-node.step-2 { opacity: 1 !important; transition-delay: 1.2s !important; pointer-events: auto; }

.philosophy-process-visual.is-animated .flow-icon.step-3,
.philosophy-process-visual.is-animated .flow-label-small.step-3,
.philosophy-process-visual.is-animated .flow-label-large.step-3 { opacity: 1 !important; transition-delay: 2s !important; pointer-events: auto; }
.philosophy-process-visual.is-animated .flow-node.step-3 { opacity: 1 !important; transition-delay: 2.2s !important; pointer-events: auto; }

.philosophy-process-visual.is-animated .flow-icon.step-4,
.philosophy-process-visual.is-animated .flow-label-small.step-4,
.philosophy-process-visual.is-animated .flow-label-large.step-4 { opacity: 1 !important; transition-delay: 3s !important; pointer-events: auto; }
.philosophy-process-visual.is-animated .flow-node.step-4 { opacity: 1 !important; transition-delay: 3.2s !important; pointer-events: auto; }

/* Sync Pulsing - Post-Reveal only */
.philosophy-process-visual.is-animated .glow-step.flow-icon.step-1 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 0.8s; }
.philosophy-process-visual.is-animated .glow-step.flow-node.step-1 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 1.0s; }
.philosophy-process-visual.is-animated .glow-step.flow-icon.step-2 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 1.8s; }
.philosophy-process-visual.is-animated .glow-step.flow-node.step-2 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 2.0s; }
.philosophy-process-visual.is-animated .glow-step.flow-icon.step-3 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 2.8s; }
.philosophy-process-visual.is-animated .glow-step.flow-node.step-3 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 3.0s; }
.philosophy-process-visual.is-animated .glow-step.flow-icon.step-4 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 3.8s; }
.philosophy-process-visual.is-animated .glow-step.flow-node.step-4 { animation: nodePulse 5s infinite ease-in-out; animation-delay: 4.0s; }

@keyframes drawRevealPath {
    from { stroke-dashoffset: var(--path-length, 3000); }
    to { stroke-dashoffset: 0; }
}

@media (max-width: 1700px) {
    .philosophy-content {
        padding-top: 15% !important;
    }
    .philosophy-title {
        font-size: 3.5rem !important;
        margin-bottom: 40px !important;
    }
    .philosophy-process-visual {
        padding-top: 140px !important;
    }
    .philosophy-flow-svg {
        transform: none !important;
        margin-top: -40px !important;
    }
    .flow-node {
        r: 150 !important;
        stroke-width: 6 !important;
    }
    .flow-icon {
        transform: scale(1.1);
        transform-origin: center;
        transform-box: fill-box;
    }
    .flow-label-small {
        font-size: 32px !important;
    }
    .flow-label-large {
        font-size: 90px !important;
    }
    /* Contact Form Layout Fix */
    .custom-ozd-form .form-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }
}
.philosophy-text { font-size: 1.1rem; line-height: 1.8; color: rgba(255,255,255,0.7); margin-bottom: 60px; }
.philosophy-signature { font-family: serif; font-style: italic; font-size: 1.5rem; opacity: 0.5; }

/* Animation: Reveal from Right */
.anim-reveal-right {
    opacity: 0;
    transform: translateX(100px);
    transition: all 1.2s cubic-bezier(0.2, 1, 0.3, 1);
    will-change: transform, opacity;
}

.anim-reveal-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Staggered delay for text after header */
.philosophy-text.anim-reveal-right.is-visible {
    transition-delay: 0.3s;
}

.anim-fade-in {
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease;
}

.anim-fade-in.is-visible {
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0.5s;
}

/* --- SCROLLING MARQUEE --- */
.ozd-marquee {
    position: relative; left: 50% !important; transform: translateX(-50%) !important;
    width: 100vw !important; max-width: 100vw !important; min-width: 100vw !important;
    background: #F8A500; padding: 25px 0; overflow: hidden; white-space: nowrap; display: flex;
    border-top: 1px solid rgba(0,0,0,0.1); border-bottom: 1px solid rgba(0,0,0,0.1);
    z-index: 999; box-sizing: border-box;
}
.marquee-content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    animation: marquee-anim 100s linear infinite;
    width: fit-content;
}
.marquee-content span { display: block; font-size: clamp(1.3rem, 3.2vw, 2.1rem); font-weight: 900; color: #000; text-transform: uppercase; padding-right: 20px; letter-spacing: 1px; }
@keyframes marquee-anim { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* --- OZ DOW SKI FOOTER --- */
.ozd-footer-section {
    width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    background: #020202; color: #fff; padding-top: 0; overflow: hidden;
}
.footer-values-bar { display: flex; justify-content: space-around; padding: 30px 10%; border-bottom: 1px solid rgba(255,255,255,0.05); background: #050505; }
.value-item span { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 2px; opacity: 0.4; font-weight: 700; }
.footer-main-container { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; padding: 100px 10%; }
.footer-col h3 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 30px; color: #ffffff !important; }
/* Logo & Brand Col */
.footer-logo-img {
    max-width: 150px; /* Precyzyjna wielkoĹ›Ä‡ logo */
    height: auto;
    margin-bottom: 5px; /* Zmniejszono z 30px */
    filter: brightness(1.1);
    transition: all 0.4s ease;
    /* Subtelny blask dla czytelnoĹ›ci napisu Group */
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
    padding: 10px;
    margin-left: -10px;
}

.footer-logo-img:hover {
    filter: brightness(1.3);
    background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, transparent 70%);
}

.footer-collections {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.footer-collection-item {
    display: block;
    opacity: 0.5;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.footer-collection-item:hover {
    opacity: 1;
    transform: translateY(-4px);
}

.footer-collection-item img {
    height: 44px;
    width: auto;
    object-fit: contain;
}

.footer-links-col ul, .footer-links-col ul li { list-style: none !important; list-style-type: none !important; padding: 0 !important; margin: 0 !important; }
.footer-links-col ul li { margin-bottom: 20px !important; }
.footer-links-col ul li::before { content: none !important; }
.footer-links-col ul li a { text-decoration: none !important; color: rgba(255,255,255,0.5) !important; font-size: 0.95rem; transition: all 0.3s ease; }
.footer-links-col ul li a:hover { color: #F8A500 !important; padding-left: 5px; }

.footer-bottom-bar { display: flex; justify-content: space-between; align-items: center; padding: 40px 10%; border-top: 1px solid rgba(255,255,255,0.05); font-size: 0.75rem; opacity: 0.4; }
.footer-socials a { color: #fff !important; text-decoration: none !important; margin-right: 25px; transition: color 0.3s ease; }
.footer-socials a:hover { color: #F8A500 !important; }

@media (max-width: 1024px) {
    .philosophy-container { 
        display: flex !important; 
        flex-direction: column !important;
        position: relative !important; 
        min-height: 100vh;
        background: #050505; /* Black background for the whole section */
    }
    .philosophy-image-wrapper { 
        display: none !important; /* Completely hide the left side on mobile */
    }
    .philosophy-content {
        position: relative !important;
        z-index: 2;
        background: #050505 !important;
        padding: 80px 10% !important;
        min-height: 100vh;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        text-align: center !important;
        align-items: center !important;
        overflow: hidden;
    }

    /* Hide Desktop Particles on Mobile */
    .philosophy-bg-elements {
        display: none !important;
    }

    /* Square Engineering Grid (Mobile Exclusive) */
    .philosophy-content::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: 
            linear-gradient(rgba(248, 165, 0, 0.16) 1px, transparent 1px),
            linear-gradient(90deg, rgba(248, 165, 0, 0.16) 1px, transparent 1px);
        background-size: 40px 40px;
        z-index: 1;
        pointer-events: none;
        /* Subtle radial fade to focus on text */
        mask-image: radial-gradient(circle at center, black 0%, transparent 90%);
        -webkit-mask-image: radial-gradient(circle at center, black 0%, transparent 90%);
    }

    /* Mobile Floating Nodes (Layered Behind/Under Content) */
    .mobile-floating-nodes {
        display: block !important;
        position: absolute;
        inset: 0;
        z-index: 1; /* Behind text (which is z-index 5) */
        pointer-events: none;
        overflow: hidden;
    }

    .m-node {
        position: absolute;
        opacity: 0.3; /* More subtle visibility */
        filter: blur(0.5px); /* Ultra-subtle blur for precision */
        will-change: transform;
    }

    .m-node.mn-1 { width: 160px; height: 160px; top: 5%; left: -10%; transform: rotate(-15deg); animation: mDrift 20s infinite ease-in-out; }
    .m-node.mn-2 { width: 220px; height: 220px; top: 45%; right: -15%; transform: rotate(10deg); animation: mDrift 25s infinite ease-in-out reverse; }
    .m-node.mn-3 { width: 190px; height: 190px; bottom: 10%; left: -5%; transform: rotate(20deg); animation: mDrift 22s infinite ease-in-out; }
    .m-node.mn-4 { width: 170px; height: 170px; top: 20%; right: 10%; transform: rotate(-10deg); animation: mDrift 30s infinite ease-in-out reverse; }

    @keyframes mDrift {
        0%, 100% { transform: translate(0, 0) rotate(var(--base-rot, 0deg)); }
        50% { transform: translate(20px, -20px) rotate(calc(var(--base-rot, 0deg) + 5deg)); }
    }

    .m-node.mn-1 { --base-rot: -15deg; }
    .m-node.mn-2 { --base-rot: 10deg; }
    .m-node.mn-3 { --base-rot: 20deg; }
    .m-node.mn-4 { --base-rot: -10deg; }

    /* Tablet Specific: Cluster nodes closer to center and limit size */
    @media (min-width: 769px) and (max-width: 1024px) {
        .m-node.mn-1 { top: 15%; left: 10%; width: 190px; height: 190px; }
        .m-node.mn-2 { top: 40%; right: 5%; width: 260px; height: 260px; }
        .m-node.mn-3 { bottom: 15%; left: 15%; width: 230px; height: 230px; }
        .m-node.mn-4 { top: 10%; right: 15%; width: 210px; height: 210px; } 
    }
    .philosophy-label, .philosophy-title, .philosophy-text, .philosophy-footer {
        position: relative !important;
        z-index: 5 !important; /* Above nodes */
    }

    .philosophy-label {
        font-weight: 900 !important;
        text-shadow: 0 2px 10px rgba(0,0,0,0.8) !important;
        margin-bottom: 20px !important;
    }
    .philosophy-title {
        font-size: clamp(2.3rem, 7vw, 3.8rem) !important;
        font-weight: 900 !important;
        line-height: 1.0 !important;
        margin-bottom: 30px !important;
        text-shadow: 0 5px 20px rgba(0,0,0,0.8), 0 2px 5px rgba(0,0,0,0.5) !important;
        color: #fff !important;
    }
    .philosophy-text {
        font-size: 1.15rem !important;
        max-width: 800px !important;
        margin: 0 auto 40px auto !important;
        text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
        color: rgba(255,255,255,0.9) !important;
    }
    .footer-main-container { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .philosophy-content {
        padding: 60px 8% !important;
    }
    .philosophy-content::before {
        font-size: 35vw; /* Even larger on mobile for abstract look */
    }
}

.page-id-257 .wpforms-form button[type=submit] { background-color: #000 !important; border-color: #000 !important; color: #fff !important; }
.page-id-257 .wpforms-form button[type=submit]:hover { background-color: #000 !important; }
.page-id-257 .wpforms-form input, .page-id-257 .wpforms-form textarea { border-color: #000 !important; }

/* --- MEGA MENU SHOP --- */
.main-navigation ul li { position: static !important; }

/* Nowoczesny Fog of War (Blur treĹ›ci) - GLOBALNY */
body.mega-menu-open #content,
body.mega-menu-open #primary,
body.mega-menu-open footer,
body.mega-menu-open .site-footer,
body.mega-menu-open .ozd-footer-section {
    filter: blur(10px) brightness(0.6) !important;
    transition: filter 0.5s ease, brightness 0.5s ease !important;
    pointer-events: none !important;
}

/* Header synchronization - High Transparency Dark Style */
header.bhfb.bhfb-header.mega-active,
.bhfb-header.mega-active {
    background-color: rgba(0, 0, 0, 0.15) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    box-shadow: none !important;
    border: none !important;
}

header.bhfb.bhfb-header.mega-active .main-navigation ul li a,
header.bhfb.bhfb-header.mega-active .bhfb-builder-item i,
header.bhfb.bhfb-header.mega-active .bhfb-builder-item svg {
    color: #fff !important;
    fill: #fff !important;
}

.ozd-mega-menu {
    position: absolute;
    top: 60px !important; /* PrzybliĹĽenie menu do nagĹ‚Ăłwka */
    left: 0;
    width: 100vw;
    background: transparent !important;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 11000;
    padding: 60px 0 40px 0 !important; /* DuĹĽy padding gĂłrny wypeĹ‚nia przerwÄ™ */
    border: none !important;
    box-shadow: none !important;
}

/* Mostek (Bridge) podtrzymujÄ…cy hover */
.main-navigation ul li:hover::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 40px; /* WysokoĹ›Ä‡ przerwy */
    background: transparent;
    z-index: 9999;
}

.main-navigation ul li:hover > .ozd-mega-menu {
    visibility: visible;
    opacity: 1;
}

/* --- MEGA MENU EDITORIAL EXPANDING PANELS --- */
.mega-menu-grid {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 12px !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 30px !important;
    height: 400px !important;
    
    /* PRZYWRĂ“CONE TĹO */
    background: rgba(10, 10, 10, 0.3) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.5) !important;
}
/* Multi-row mode for > 4 items */
.mega-menu-grid.mega-grid-wrap {
    max-width: 90% !important;
    flex-wrap: wrap !important;
    height: auto !important;
    padding: 40px 0 !important;
    justify-content: flex-start !important;
}

.mega-menu-grid.mega-grid-wrap .mega-item {
    flex: 0 0 calc(20% - 12px) !important;
    height: 280px !important;
    margin-bottom: 12px;
}

.mega-menu-grid.mega-grid-wrap .mega-item:hover {
    flex: 0 0 calc(20% - 12px) !important;
    transform: scale(1.05) translateY(-5px) !important;
}

.mega-item {
    flex: 1 !important; 
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: flex-end; 
    justify-content: center;
    text-decoration: none !important;
    transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1) !important;
    border: 1px solid rgba(255,255,255,0.05);
}

.mega-item:hover {
    flex: 1.4 !important;
    border-color: rgba(255, 210, 127, 0.5);
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}

.mega-img {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    filter: brightness(0.5) grayscale(0.2); 
    transition: all 0.6s ease !important;
    z-index: 1;
}

.mega-item:hover .mega-img {
    filter: brightness(0.9) grayscale(0) !important; 
    transform: scale(1.05);
}

.mega-item span {
    position: relative;
    z-index: 2;
    color: #fff !important;
    font-size: 1.3rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    padding: 25px 15px;
    width: 100%;
    text-shadow: 0 3px 15px rgba(0,0,0,0.9);
    transition: all 0.3s ease;
}

.mega-item:hover span {
    letter-spacing: 4px;
    color: #FFD27F !important;
}

/* USUNIÄTO REGUĹÄ OPACITY DLA SIATKI */

/* Ukrywanie nagĹ‚Ăłwka Shop */
.post-type-archive-product .page-header,
.post-type-archive-product .woocommerce-products-header,
.post-type-archive-product .botiga-page-header,
header.woocommerce-products-header {
    display: none !important;
}

/* Stopka Tagline */
.footer-hero-text {
    font-size: 32px;
    color: #a0a0a0 !important;
    opacity: 0.6;
    text-transform: uppercase;
    line-height: 1.1;
    margin: 0 0 30px 0;
    font-weight: 700;
}

/* --- OZD BLOCK EDITOR - COMPACT CARD UI --- */
.ozd-editor-split-wrapper { 
    background: #f0f0f1 !important; 
    border: 1px solid #ccd0d4 !important; 
    border-radius: 12px !important; 
    padding: 20px !important;
    margin: 20px 0 !important;
    display: inline-block !important; /* Zapobiega 100% szerokoĹ›ci */
    width: auto !important;
    min-width: 650px;
}

.ozd-editor-header { 
    display: flex; justify-content: space-between; align-items: center; 
    margin-bottom: 20px; border-bottom: 1px solid #ddd; padding-bottom: 10px;
}

.ozd-editor-items-grid { 
    display: flex !important; 
    flex-direction: row !important; 
    flex-wrap: wrap !important;
    gap: 15px !important;
}

.ozd-editor-card { 
    background: #fff !important; 
    border: 1px solid #ccd0d4 !important; 
    border-radius: 8px !important; 
    width: 300px !important; /* StaĹ‚a, zgrabna szerokoĹ›Ä‡ karty */
    overflow: hidden; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
}

.ozd-editor-card-header { 
    background: #1e1e1e !important; 
    color: #fff !important; 
    padding: 8px 12px !important; 
    display: flex; align-items: center; gap: 8px; 
}

.ozd-card-number { 
    background: #F8A500 !important; color: #000 !important; 
    width: 18px; height: 18px; border-radius: 50%; 
    display: flex; align-items: center; justify-content: center; 
    font-size: 0.65rem; font-weight: 700; 
}

.ozd-editor-card-body { padding: 15px !important; }

.ozd-image-preview-box { 
    width: 120px !important; 
    height: 120px !important; 
    background: #f9f9f9 !important; 
    border: 2px dashed #ccc !important; 
    border-radius: 6px !important; 
    display: flex !important; 
    align-items: center; justify-content: center; 
    cursor: pointer; background-size: cover; background-position: center; 
    margin: 10px 0 !important;
}

.ozd-image-controls { 
    display: flex; flex-direction: column; gap: 4px; 
    background: rgba(255,255,255,0.9); padding: 8px; border-radius: 4px; 
}

.ozd-label { display: block; margin-bottom: 4px; font-weight: 600; font-size: 0.7rem; color: #666; }

/* Ukrywamy domyĹ›lny nagĹ‚Ăłwek strony (tytuĹ‚) na wszystkich podstronach */
.page .page-header,
.page .entry-header {
    display: none !important;
}

/* --- PRECYZYJNE CZYSZCZENIE PODSTRONY SKLEPU --- */
.archive.post-type-archive-product .woocommerce-products-header__title.page-title,
.archive.post-type-archive-product .page-description > p,
.archive.post-type-archive-product .content-wrapper,
.archive.post-type-archive-product .woocommerce-page-header,
.archive.post-type-archive-product .bento-grid-container {
    display: none !important;
}

/* --- OZDOWSKI PAGE FULL CLEANUP --- */
.page-ozdowski-collection #content,
.page-tractor-pulling-collection #content,
.page-id-112 #content,
.page-id-697 #content,
.page-id-10 #content,
.page-polityka_prywatnosci #content,
.page-zwroty_reklamacje #content,
.page-ozdowski-collection .content-wrapper,
.page-tractor-pulling-collection .content-wrapper,
.page-id-112 .content-wrapper,
.page-id-697 .content-wrapper,
.page-id-10 .content-wrapper,
.page-polityka_prywatnosci .content-wrapper,
.page-zwroty_reklamacje .content-wrapper,
.page-ozdowski-collection .site-content,
.page-tractor-pulling-collection .site-content,
.page-id-112 .site-content,
.page-id-697 .site-content,
.page-id-10 .site-content,
.page-polityka_prywatnosci .site-content,
.page-zwroty_reklamacje .site-content,
.page-ozdowski-collection .site-main,
.page-tractor-pulling-collection .site-main,
.page-id-112 .site-main,
.page-id-697 .site-main,
.page-id-10 .site-main,
.page-ozdowski-collection .site-main,
.page-tractor-pulling-collection .site-main,
.page-id-112 .site-main,
.page-id-697 .site-main,
.page-id-701 .site-main,
.page-tabela-rozmiarow .site-main,
.page-id-10 .site-main,
.page-polityka_prywatnosci .site-main,
.page-zwroty_reklamacje .site-main,
.page-ozdowski-collection article,
.page-tractor-pulling-collection article,
.page-id-112 article,
.page-id-697 article,
.page-id-701 article,
.page-tabela-rozmiarow article,
.page-id-10 article,
.page-polityka_prywatnosci article,
.page-zwroty_reklamacje article,
.page-ozdowski-collection .entry-content,
.page-tractor-pulling-collection .entry-content,
.page-id-112 .entry-content,
.page-id-697 .entry-content,
.page-id-701 .entry-content,
.page-tabela-rozmiarow .entry-content,
.page-id-10 .entry-content,
.page-polityka_prywatnosci .entry-content,
.page-zwroty_reklamacje .entry-content,
.page-ozdowski-collection .container.content-wrapper,
.page-tractor-pulling-collection .container.content-wrapper,
.page-id-112 .container.content-wrapper,
.page-id-697 .container.content-wrapper,
.page-id-701 .container.content-wrapper,
.page-tabela-rozmiarow .container.content-wrapper,
.page-id-10 .container.content-wrapper,
.page-polityka_prywatnosci .container.content-wrapper,
.page-zwroty_reklamacje .container.content-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.page-ozdowski-collection .entry-footer,
.page-tractor-pulling-collection .entry-footer,
.page-id-112 .entry-footer,
.page-id-697 .entry-footer,
.page-id-701 .entry-footer,
.page-tabela-rozmiarow .entry-footer,
.page-id-10 .entry-footer,
.page-polityka_prywatnosci .entry-footer,
.page-zwroty_reklamacje .entry-footer {
    display: none !important;
}

.page-ozdowski-collection .ozd-marquee,
.page-tractor-pulling-collection .ozd-marquee,
.page-id-112 .ozd-marquee,
.page-id-697 .ozd-marquee,
.page-id-701 .ozd-marquee,
.page-tabela-rozmiarow .ozd-marquee,
.page-id-10 .ozd-marquee,
.page-polityka_prywatnosci .ozd-marquee,
.page-zwroty_reklamacje .ozd-marquee,
.woocommerce-checkout .ozd-marquee {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    border-bottom: none !important;
}

.page-ozdowski-collection .ozd-footer-section,
.page-tractor-pulling-collection .ozd-footer-section,
.page-id-112 .ozd-footer-section,
.page-id-697 .ozd-footer-section,
.page-id-701 .ozd-footer-section,
.page-tabela-rozmiarow .ozd-footer-section,
.page-id-10 .ozd-footer-section,
.page-polityka_prywatnosci .ozd-footer-section,
.page-zwroty_reklamacje .ozd-footer-section,
.woocommerce-checkout .ozd-footer-section {
    margin-top: 0 !important;
}

/* Force zero gap between Marquee and Footer on Checkout */
.woocommerce-checkout #content,
.woocommerce-checkout .site-content,
.woocommerce-checkout .site-main,
.woocommerce-checkout article,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .container.content-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.woocommerce-checkout .ozd-marquee {
    margin-bottom: 0 !important;
    margin-top: 100px !important; /* Spacing between form and marquee */
}

.page-ozdowski-collection .truewerk-grid-section,
.page-tractor-pulling-collection .truewerk-grid-section {
    padding-bottom: 100px !important; /* Solidny odstÄ™p od Marquee */
    margin-bottom: 0 !important;
}

/* --- SCROLL SNAP SYSTEM DISABLED CSS (Using JS only for smooth control) --- */
.page-ozdowski-collection,
.page-tractor-pulling-collection {
    scroll-snap-type: none !important;
}

.tpp-blueprint-section,
.bento-grid-container,
.truewerk-grid-section {
    scroll-snap-align: none !important;
}

/* --- TPP SPECIFIC FOOTER & MARQUEE --- */
.page-tractor-pulling-collection .ozd-marquee {
    background: #4b9125 !important;
}

.page-tractor-pulling-collection .ozd-marquee .marquee-content span {
    color: #fff !important;
}

.page-tractor-pulling-collection .ozd-footer-section {
    background: #1a3026 !important;
}

.page-tractor-pulling-collection .footer-values-bar {
    background: rgba(0,0,0,0.1) !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.page-tractor-pulling-collection .footer-bottom-bar {
    background: rgba(0,0,0,0.2) !important;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.page-tractor-pulling-collection .footer-hero-text,
.page-tractor-pulling-collection .ozd-footer-section h3,
.page-tractor-pulling-collection .footer-links-col a,
.page-tractor-pulling-collection .footer-address,
.page-tractor-pulling-collection .footer-copyright,
.page-tractor-pulling-collection .footer-socials a {
    color: #fff !important;
}


/* Force align content to the very top for Privacy Policy */
.page-id-697 .site-content,
.page-id-697 .content-wrapper,
.page-id-697 #content,
.page-id-697 .site-main,
.page-id-697 article,
.page-id-697 .entry-content,
.page-id-701 .site-content,
.page-id-701 .content-wrapper,
.page-id-701 #content,
.page-id-701 .site-main,
.page-id-701 article,
.page-id-701 .entry-content,
.page-id-10 .site-content,
.page-id-10 .content-wrapper,
.page-id-10 #content,
.page-id-10 .site-main,
.page-id-10 article,
.page-id-10 .entry-content,
.page-zwroty_reklamacje .site-content,
.page-zwroty_reklamacje .content-wrapper,
.page-zwroty_reklamacje #content,
.page-zwroty_reklamacje .site-main,
.page-zwroty_reklamacje article,
.page-zwroty_reklamacje .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.page-id-697 .site-header,
.page-id-701 .site-header,
.page-tabela-rozmiarow .site-header,
.page-id-10 .site-header,
.page-zwroty_reklamacje .site-header {
    background: transparent !important;
}

.page-id-697 .contact-hero-section,
.page-id-701 .contact-hero-section,
.page-tabela-rozmiarow .contact-hero-section,
.page-id-10 .contact-hero-section,
.page-zwroty_reklamacje .contact-hero-section {
    padding-top: 100px !important;
    height: auto !important;
    min-height: 100vh !important;
    display: flex;
    flex-direction: column;
}

.page-id-697 .contact-hero-container,
.page-id-701 .contact-hero-container,
.page-tabela-rozmiarow .contact-hero-container,
.page-id-10 .contact-hero-container,
.page-zwroty_reklamacje .contact-hero-container {
    padding-top: 0 !important;
    justify-content: flex-start !important;
}

/* --- PRIVACY POLICY CONTENT --- */
.privacy-policy-content h3,
.privacy-lorem-content .privacy-policy-content h3 {
    font-size: 0.75rem !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #F8A500 !important;
    margin: 40px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.privacy-policy-content h3:first-child { margin-top: 0; }
.privacy-policy-content p {
    font-size: 0.875rem;
    line-height: 1.85;
    opacity: 0.72;
    margin-bottom: 10px;
    color: #fff;
}
.privacy-policy-content a { color: #F8A500; text-decoration: none; }
.privacy-policy-content a:hover { text-decoration: underline; }

/* --- LUXURY PAGE CURTAIN (SAFE TRANSITION) --- */
.ozd-page-curtain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #050505; /* Solid Black by default to hide jumps */
    z-index: 999999;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-100%);
    will-change: transform, background-color, backdrop-filter;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Texture Overlay (Grain) */
.ozd-page-curtain::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('https://grainy-gradients.vercel.app/noise.svg');
    opacity: 0.04;
    pointer-events: none;
    z-index: 1;
}

/* Stan: Ekran zakryty (Full Opaque) */
.ozd-page-curtain.is-active {
    transform: translateY(0);
    background: #050505;
}

/* Animacja: Zamykanie (z góry na środek) - WJEŻDŻA */
.ozd-page-curtain.is-closing {
    transform: translateY(0);
    background: #050505;
    transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
    pointer-events: auto;
}

/* Animacja: Otwieranie (ze środka w dół poza ekran) - WYJEŻDŻA */
.ozd-page-curtain.is-opening {
    transform: translateY(100%);
    background: rgba(10, 10, 10, 0.7);
    backdrop-filter: blur(40px) saturate(150%);
    -webkit-backdrop-filter: blur(40px) saturate(150%);
    transition: transform 0.65s cubic-bezier(0.85, 0, 0.15, 1), 
                background-color 0.3s ease;
}


/* Original Logo with Transparency & Pulse */
.ozd-curtain-logo {
    display: block;
    position: relative;
    width: 120px;
    height: auto;
    opacity: 0;
    transform: scale(0.95);
    transition: all 0.5s ease;
    z-index: 2;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3));
}

.ozd-page-curtain.is-active .ozd-curtain-logo,
.ozd-page-curtain.is-closing .ozd-curtain-logo {
    opacity: 0.6;
    transform: scale(1);
    animation: ozdLogoPulse 2s infinite ease-in-out;
}

@keyframes ozdLogoPulse {
    0% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.05); opacity: 0.8; }
    100% { transform: scale(1); opacity: 0.6; }
}


/* WooCommerce Checkout Button Style - O_FC Match */
#place_order {
    background: #F8A500 !important;
    color: #000 !important;
    border: none !important;
    padding: 0 30px !important;
    height: 42px !important;
    line-height: 42px !important;
    border-radius: 50px !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
}
#place_order:hover {
    background: #fff !important;
    color: #000 !important;
    transform: translateY(-2px) !important;
}


/* WooCommerce Checkout Form Layout - Labels above Inputs */
.woocommerce-billing-fields__field-wrapper .form-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
.woocommerce-billing-fields__field-wrapper .form-row label {
    margin-bottom: -15px !important;
    font-weight: 700 !important;
    display: block !important;
}
.woocommerce-billing-fields__field-wrapper .form-row input {
    width: 100% !important;
}


/* WooCommerce Checkout 2-Column Grid Layout */
.woocommerce-billing-fields__field-wrapper, 
.woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 0 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
    width: 48% !important;
    flex: 0 0 48% !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 25px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row label,
.woocommerce-shipping-fields__field-wrapper .form-row label {
    margin-bottom: -15px !important;
    font-weight: 700 !important;
    display: block !important;
    text-align: left !important;
}

.woocommerce-billing-fields__field-wrapper .form-row input,
.woocommerce-billing-fields__field-wrapper .form-row select {
    width: 100% !important;
}


/* Remove Additional Information heading from Checkout */
.woocommerce-additional-fields h3 {
    display: none !important;
}


/* WooCommerce Additional Fields Layout - Label above Textarea */
.woocommerce-additional-fields__field-wrapper .form-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
.woocommerce-additional-fields__field-wrapper .form-row label {
    margin-bottom: 8px !important;
    font-weight: 700 !important;
    display: block !important;
}
.woocommerce-additional-fields__field-wrapper .form-row textarea {
    width: 100% !important;
}


/* Fixed Size Textarea for Checkout Notes */
.woocommerce-additional-fields__field-wrapper textarea {
    width: 100% !important;
    height: 120px !important;
    resize: none !important;
    box-sizing: border-box !important;
}


/* Wide & Static Textarea for Checkout Notes (No Scroll) */
.woocommerce-additional-fields__field-wrapper .form-row {
    width: 100% !important;
    flex: 0 0 100% !important;
}
.woocommerce-additional-fields__field-wrapper textarea {
    width: 100% !important;
    height: 120px !important;
    overflow: hidden !important;
    resize: none !important;
}


/* Force Full Width for Additional Information Column */
.woocommerce-additional-fields,
.woocommerce-additional-fields__field-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    clear: both !important;
}


/* Specific Fix for Additional Fields - Override Grid */
.woocommerce-checkout .woocommerce-additional-fields .form-row {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
.woocommerce-checkout .woocommerce-additional-fields textarea {
    width: 100% !important;
    min-width: 100% !important;
}


/* Checkout Columns Full Width Fix */
.woocommerce-checkout .col2-set .col-1, 
.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
    padding: 0 !important;
}
.woocommerce-checkout .col2-set {
    display: block !important;
    width: 100% !important;
}


/* ATOMIC FIX: Full Width & Left Align Checkout Notes - No Background */
#customer_details .col-2,
#customer_details .woocommerce-additional-fields,
#customer_details .woocommerce-additional-fields__field-wrapper,
#customer_details .woocommerce-additional-fields__field-wrapper .form-row,
#customer_details .woocommerce-additional-fields__field-wrapper textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    background-color: transparent !important;
    display: block !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

#customer_details .woocommerce-additional-fields__field-wrapper label {
    text-align: left !important;
    margin-left: 0 !important;
    width: 100% !important;
}


/* GLOBAL ATOMIC FIX: Full Width Order Notes */
form.checkout .woocommerce-additional-fields,
form.checkout .woocommerce-additional-fields__field-wrapper,
form.checkout .woocommerce-additional-fields__field-wrapper .form-row,
form.checkout .woocommerce-additional-fields__field-wrapper .form-row textarea,
#order_comments_field,
#order_comments {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important;
    float: none !important;
    clear: both !important;
}


/* Subtlest background for checkout areas */
.checkout-wrapper, 
.woocommerce-checkout-review-order, 
#order_review {
    background-color: rgba(255, 255, 255, 0.02) !important;
    color: #fff !important;
}

.checkout-wrapper label,
.checkout-wrapper span,
.checkout-wrapper strong,
.checkout-wrapper th,
.checkout-wrapper td {
    color: #fff !important;
}

/* Remove previous test blue */
.woocommerce-billing-fields {
    background-color: transparent !important;
    padding: 0 !important;
}


/* Luxury Dark background for the entire Checkout PAGE */
body.woocommerce-checkout, 
body.woocommerce-checkout #page, 
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content {
    background-color: #020202 !important;
}


/* Remove all background patterns/dots on Checkout */
body.woocommerce-checkout, 
body.woocommerce-checkout #page, 
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content {
    background-image: none !important;
    background-repeat: no-repeat !important;
}


/* Remove top margin from Additional Info column */
#customer_details .col-2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Branding Color for Checkout Headings Only */
#customer_details h3,
#order_review_heading {
    color: #F8A500 !important;
    font-weight: 900 !important;
}

/* Hide WooCommerce notices, errors and any alerts on Checkout page */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout div.alert {
    display: none !important;
}

/* Hide Order Review update notices */
.woocommerce-NoticeGroup-updateOrderReview {
    display: none !important;
}


/* Remove border from Your Order section */
.woocommerce-checkout-review-order,
#order_review {
    border: none !important;
}


/* Remove background from payment methods list and add subtle border */
.checkout-wrapper .wc_payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}


/* White font for billing and shipping fields - Keep H3 orange */
.woocommerce-billing-fields,
.woocommerce-billing-fields label,
.woocommerce-billing-fields span,
.woocommerce-shipping-fields,
.woocommerce-shipping-fields label,
.woocommerce-shipping-fields span {
    color: #fff !important;
    width: 100% !important;
}

#ship-to-different-address {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
}

#ship-to-different-address input {
    position: absolute !important;
    opacity: 0 !important;
    width: 25px !important;
    height: 25px !important;
    z-index: 10 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

#ship-to-different-address span {
    position: relative !important;
    padding-left: 35px !important;
    color: #F8A500 !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-size: 1.2rem !important; /* Increased font size */
    line-height: 1.2 !important;
}

/* Visual Mockup for Shipping Checkbox */
#ship-to-different-address span::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}

/* Checkmark (Orange Tick) */
#ship-to-different-address input:checked + span::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 50% !important;
    transform: translateY(-65%) rotate(45deg) !important;
    width: 6px !important;
    height: 11px !important;
    border: solid #F8A500 !important;
    border-width: 0 2px 2px 0 !important;
    z-index: 5 !important;
    display: block !important;
}

#ship-to-different-address input:hover + span::before {
    border-color: #F8A500 !important;
}


/* Transparent background and white font for additional fields */
.woocommerce-additional-fields__field-wrapper {
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
}
.woocommerce-additional-fields__field-wrapper label {
    color: #fff !important;
}


/* Luxury Dark Inputs for Checkout */
.woocommerce-checkout input[type='text'],
.woocommerce-checkout input[type='tel'],
.woocommerce-checkout input[type='email'],
.woocommerce-checkout input[type='password'],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 18px 25px !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    display: block !important;
    height: auto !important;
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    border-color: #F8A500 !important;
    background: rgba(255, 255, 255, 0.08) !important;
}


/* Red asterisks for required fields */
.woocommerce-checkout .required {
    color: #e92020 !important;
    text-decoration: none !important;
    visibility: visible !important;
}

/* Force red color for inline checkout error messages */
.checkout-inline-error-message {
    color: #e92020 !important;
}

/* Global Checkbox Styling */
input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    transition: all 0.3s ease !important;
}

input[type="checkbox"]:checked {
    background: #F8A500 !important;
    border-color: #F8A500 !important;
}

input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 5px !important;
    height: 10px !important;
    border: solid #000 !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

input[type="checkbox"]:hover {
    border-color: #F8A500 !important;
}

/* Luxury Checkboxes & Radio Buttons for Checkout */
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    width: fit-content !important;
    padding: 10px 0 !important;
    position: relative !important;
}

/* Terms & Conditions Specific Fix - Accurate Click Zone */
.woocommerce-terms-and-conditions-wrapper {
    position: relative !important;
    display: block !important;
}

.woocommerce-checkout .woocommerce-form__input-checkbox.input-checkbox#terms {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%) !important;
    width: 25px !important; /* Slightly larger than box for comfort */
    height: 25px !important;
    opacity: 0 !important;
    z-index: 20 !important; /* Highest priority for the box area */
    margin: 0 !important;
    cursor: pointer !important;
}

/* Visual Mockup of the Checkbox for Terms */
.woocommerce-terms-and-conditions-checkbox-text {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    z-index: 5 !important;
    pointer-events: none !important;
    white-space: pre-wrap !important; /* Forces the space before the link to render */
}

.woocommerce-terms-and-conditions-checkbox-text::before {
    content: "" !important;
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    margin-right: 12px !important;
    transform: none !important; /* Ensure it never transforms into a rhombus */
}

/* Checkmark for Visual Mockup - Simple Orange Tick Only */
input#terms:checked + .woocommerce-terms-and-conditions-checkbox-text::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 3px !important;
    width: 6px !important;
    height: 11px !important;
    border: solid #F8A500 !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    z-index: 5 !important;
    display: block !important;
}

/* Explicitly disable any style changes or movements to the box when checked */
input#terms:checked + .woocommerce-terms-and-conditions-checkbox-text::before {
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 12px 0 0 !important; /* Ensure margin stays exactly the same */
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: none !important;
}

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 10px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-checkout input[type="radio"] {
    border-radius: 50% !important;
}

.woocommerce-checkout input[type="checkbox"]:checked,
.woocommerce-checkout input[type="radio"]:checked {
    background: #F8A500 !important;
    border-color: #F8A500 !important;
}

.woocommerce-checkout input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 5px !important;
    height: 10px !important;
    border: solid #000 !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

.woocommerce-checkout input[type="radio"]:checked::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 8px !important;
    height: 8px !important;
    background: #000 !important;
    border-radius: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.woocommerce-checkout input[type="checkbox"]:hover,
.woocommerce-checkout input[type="radio"]:hover {
    border-color: #F8A500 !important;
}

/* Create Account Label & Checkbox Styling - Parity with Terms Checkbox */
.woocommerce-checkout .create-account label.checkbox {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    padding: 10px 0 !important;
    cursor: pointer !important;
}

.woocommerce-checkout #createaccount {
    position: absolute !important;
    opacity: 0 !important;
    width: 25px !important;
    height: 25px !important;
    z-index: 10 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.woocommerce-checkout .create-account label.checkbox span {
    position: relative !important;
    padding-left: 32px !important; /* Space for the custom box */
    color: #F8A500 !important;
    font-weight: 700 !important;
}

/* Visual Mockup of the Checkbox */
.woocommerce-checkout .create-account label.checkbox span::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}

/* Checkmark (Orange Tick) */
.woocommerce-checkout #createaccount:checked + span::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 50% !important;
    transform: translateY(-65%) rotate(45deg) !important;
    width: 6px !important;
    height: 11px !important;
    border: solid #F8A500 !important;
    border-width: 0 2px 2px 0 !important;
    z-index: 5 !important;
    display: block !important;
}

.woocommerce-checkout #createaccount:hover + span::before {
    border-color: #F8A500 !important;
}

/* Separator above Shipping Totals on Checkout */

/* Hide Cart Subtotal on Checkout */
.woocommerce-checkout-review-order-table .cart-subtotal,
.shop_table .cart-subtotal {
    display: none !important;
}

/* Hide '(optional)' from Order Notes and Company Name labels */
#order_comments_field label .optional,
#billing_company_field label .optional,
#shipping_company_field label .optional {
    display: none !important;
}

/* Quick View Variation Form Styling */
.ozd-variable-form-wrapper .variations_form {
    display: flex;
    flex-direction: column;
}

.ozd-variable-form-wrapper .single_variation_wrap {
    order: 1; /* Move Price, Qty and Button to TOP */
    margin-bottom: 25px;
}

.ozd-variable-form-wrapper .variations {
    order: 2; /* Move Size Selection to BOTTOM */
    width: 100% !important;
    margin-bottom: 0;
    border: none;
}

/* Force Horizontal Alignment for Variations */
.ozd-variable-form-wrapper table.variations {
    display: block !important;
    width: 100% !important;
}

.ozd-variable-form-wrapper table.variations tbody,
.ozd-variable-form-wrapper table.variations tr {
    display: block !important;
    width: 100% !important;
}

.ozd-variable-form-wrapper table.variations tr {
    margin-bottom: 0 !important;
    border: none !important;
}

.ozd-variable-form-wrapper table.variations th,
.ozd-variable-form-wrapper table.variations td,
.ozd-variable-form-wrapper table.variations tr {
    padding: 0 !important;
}

.ozd-variable-form-wrapper table.variations td {
    display: block !important;
    background: transparent !important;
    border: none !important;
}

.ozd-variable-form-wrapper table.variations td.label {
    min-width: 100px !important;
    flex-shrink: 0 !important;
}

.ozd-variable-form-wrapper table.variations td.value {
    flex-grow: 1 !important;
}

.ozd-variable-form-wrapper table.variations label {
    color: #F8A500 !important;
    text-transform: uppercase !important;
    font-size: 1.1rem !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;
    margin: 0 0 10px 0 !important;
    display: block !important;
    text-align: left !important;
}

.ozd-variable-form-wrapper select {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 0 25px;
    height: 60px !important; /* Match Add to Cart button height */
    line-height: 60px !important;
    border-radius: 15px; /* Match Add to Cart button radius */
    width: 100% !important;
    outline: none;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    transition: all 0.3s ease;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F8A500' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) center;
}

.ozd-variable-form-wrapper select:focus {
    border-color: #F8A500 !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    outline: none !important;
}

/* Fix for options visibility in some browsers */
.ozd-variable-form-wrapper select option {
    background-color: #1a1a1a !important;
    color: #fff !important;
    padding: 10px !important;
}

.ozd-variable-form-wrapper .woocommerce-variation-price {
    margin-bottom: 15px;
    font-size: 1.2rem;
    font-weight: 700;
}

.ozd-variable-form-wrapper .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 15px;
    align-items: stretch;
}

.ozd-variable-form-wrapper .reset_variations {
    display: none !important;
}

/* Disable links to products in Mini Cart */
.widget_shopping_cart_content .mini_cart_item a:not(.remove) {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
}

.woocommerce-checkout input[type="checkbox"]:hover,
.woocommerce-checkout input[type="radio"]:hover {
    border-color: #F8A500 !important;
}

/* Completely hide the unpleasant WooCommerce blockUI loading overlay */
.blockUI.blockOverlay {
    display: none !important;
    background: none !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Hide the loading spinner/message as well */
.blockUI.blockMsg.blockElement {
    display: none !important;
}

/* Underline product names in Your Order (Checkout) and Cart section - excluding header */
.woocommerce-checkout-review-order-table td.product-name,
.shop_table.cart td.product-name,
.shop_table.woocommerce-checkout-review-order-table td.product-name {
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* Order Received (Thank You) Page Branding */
.woocommerce-order-received h2,
.woocommerce-order-received h3,
.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-order-received .woocommerce-table--order-details th {
    color: #F8A500 !important;
    font-weight: 900 !important; /* Bold headings */
}

/* Subtle luxury backgrounds for Order Received blocks */
.woocommerce-order-received .woocommerce-notice,
.woocommerce-order-received .woocommerce-thankyou-order-details,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .shop_table,
.woocommerce-order-received section {
    background-color: rgba(255, 255, 255, 0.02) !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    margin-bottom: 30px !important;
    color: #fff !important;
}

/* Reset padding for table inside container */
.woocommerce-order-received .shop_table {
    padding: 25px !important;
}

.woocommerce-order-received .product-name {
    color: #fff !important;
}

/* Hide payment method instructions on Thank You page */
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-thankyou-order-details + p {
    display: none !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-details li {
    border-right-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-details li strong {
    color: #F8A500 !important;
}

#place_order.loading,
form.checkout.processing #place_order {
    color: transparent !important;
    pointer-events: none !important;
    position: relative !important;
}

#place_order.loading::after,
form.checkout.processing #place_order::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
    border: 3px solid rgba(0,0,0,0.1);
    border-top-color: #000;
    border-radius: 50%;
    animation: ozdSpin 0.8s linear infinite;
}

@keyframes ozdSpin {
    to { transform: rotate(360deg); }
}

/* Ensure Hero container is relative */
#athemes-blocks-block-7c1c4729 {
    position: relative !important;
    overflow: hidden !important;
}

/* =============================================
   OZD CALCULATOR
   ============================================= */
/* Two-column grid body — no scroll */
.ozd-calc-body {
    padding: 45px 50px;
    color: #fff;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 50px;
    align-items: center;
    box-sizing: border-box;
}

.calc-left { display: flex; flex-direction: column; }

.calc-right {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.calc-header {
    margin-bottom: 28px;
}

.calc-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #F8A500;
    font-weight: 700;
}

.calc-title {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 0 10px;
    color: #fff !important;
}

.calc-title span { color: #F8A500; }

.calc-subtitle {
    color: rgba(255,255,255,0.45);
    font-size: 0.88rem;
    margin: 0;
}

/* Input rows */
.calc-price-section { margin-bottom: 24px; }

.calc-price-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.calc-field-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255,255,255,0.5);
    font-weight: 700;
}

.calc-price-value-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    padding: 5px 12px;
}

.calc-price-input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #F8A500 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    width: 55px !important;
    text-align: right !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    line-height: 1 !important;
}

.calc-price-input::-webkit-outer-spin-button,
.calc-price-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.calc-qty-display {
    display: inline-block !important;
    width: 60px !important;
    min-width: 60px !important;
}

.calc-price-input:focus {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #F8A500 !important;
}

.calc-currency {
    color: rgba(255,255,255,0.5);
    font-weight: 600;
    font-size: 0.85rem;
}

/* Slider */
.calc-slider {
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    height: 4px;
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    background: rgba(255,255,255,0.1);
}

.calc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    background: #F8A500;
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.2s ease;
    box-shadow: 0 0 12px rgba(248,165,0,0.5);
}

.calc-slider::-webkit-slider-thumb:hover { transform: scale(1.25); }

.calc-slider::-moz-range-thumb {
    width: 22px;
    height: 22px;
    background: #F8A500;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 12px rgba(248,165,0,0.5);
}

.calc-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.28);
}

/* Result boxes — stacked column on right */
.calc-results {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.calc-result-box {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.calc-result-box.highlight {
    background: rgba(248,165,0,0.07);
    border-color: rgba(248,165,0,0.3);
}

.result-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255,255,255,0.45);
}

.result-value {
    font-size: 1.4rem;
    font-weight: 900;
    color: #fff;
}

.result-value.accent { color: #F8A500; }

.calc-cta-btn {
    display: block;
    text-align: center;
    box-sizing: border-box;
}

@media (max-width: 680px) {
    .ozd-calc-body {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 35px 25px;
    }
}

