/* NUCLEAR PRICE FIX - TOP INJECTION */
.prod-price-tag del,
.woocommerce div.product p.price del,
p.price del span {
    color: #0f172a !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    text-decoration: line-through !important;
    text-decoration-color: #E00A7F !important;
    text-decoration-thickness: 3px !important;
    order: 1 !important;
    margin-right: 15px !important;
    display: inline-block !important;
}

/*
Theme Name: Simair Theme 2.1 (Cache Buster)
Theme URI: https://simair.pl
Author: Simair Dev Team
Description: Motyw dedykowany dla Simair Flight Simulation Center - Styl Premium Tech (Outfit Bold).
Version: 10.0 (Turbo Premium Shop & Voucher Recovery)
*/

/* =========================================
   1. ZMIENNE I KONFIGURACJA
   ========================================= */
:root {
    --color-purple: #68215F;
    --color-berry: #94226B;
    --color-magenta: #E00A7F;
    --color-sky: #17B3DC;
    --color-steel: #1191C4;
    --color-blue: #136DAC;
    --color-white: #FFFFFF;
    --color-black: #0f172a;
    --color-text: #334155;

    --gradient-magenta: linear-gradient(135deg, #E00A7F 0%, #68215F 100%);
    --gradient-sky: linear-gradient(135deg, #17B3DC 0%, #136DAC 100%);

    --gradient-azores: linear-gradient(180deg,
            rgba(2, 18, 40, 0.95) 0%,
            rgba(19, 109, 172, 0.5) 35%,
            rgba(23, 179, 220, 0) 85%);

    --gradient-footer-dark: linear-gradient(180deg, #68215F 0%, #2D0828 100%);

    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Urbanist', sans-serif;
}

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Urbanist:wght@300;400;500;600;700&display=swap');

/* =========================================
   2. RESET I BAZA
   ========================================= */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-white);
    color: var(--color-text);
    line-height: 1.7;
    font-size: 16px;
    font-weight: 400;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

a {
    text-decoration: none;
    color: inherit;
    transition: 0.3s ease;
}

ul {
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
    color: var(--color-black);
    letter-spacing: -0.03em;
}

/* =========================================
   3. HEADER & NAWIGACJA
   ========================================= */
.site-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    background: transparent;
    padding: 15px 0;
    transition: all 0.4s ease;
}

.site-header.scrolled {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    padding: 10px 0;
    backdrop-filter: blur(10px);
}

.container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

@media (min-width: 768px) {
    .container {
        padding: 0 30px;
    }
}

.header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 100%;
}

/* --- LOGO --- */
.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 1;
    min-width: 0;
    position: relative;
}

.custom-logo-link {
    display: block;
    line-height: 0;
    position: relative;
}

.custom-logo {
    height: 40px;
    width: auto;
    transition: all 0.4s;
}

@media (min-width: 992px) {
    .custom-logo {
        height: 80px;
    }
}

.logo-white {
    opacity: 1;
    visibility: visible;
}

.logo-dark {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}

.site-header.scrolled .logo-white {
    opacity: 0;
    visibility: hidden;
}

.site-header.scrolled .logo-dark {
    opacity: 1;
    visibility: visible;
}

.logo-text {
    color: var(--color-white);
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.2rem;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {
    .logo-text {
        font-size: 1.7rem;
    }
}

.site-header.scrolled .logo-text {
    color: var(--color-black);
}

/* --- MENU --- */
.main-nav {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    margin-left: 30px;
}

/* Menu Mobilne */
.nav-list {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background: #0f172a;
    padding: 30px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    max-height: 85vh;
    overflow-y: auto;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-15px);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
}

.nav-list.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.nav-list li {
    margin: 12px 0;
    text-align: center;
}

.nav-list a {
    color: var(--color-white);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    position: relative;
}

.nav-list .menu-item-has-children>a::after {
    content: '\25BC';
    font-size: 0.7em;
    margin-left: 10px;
    display: inline-block;
    color: var(--color-sky);
    transition: transform 0.3s;
}

.nav-list .menu-item-has-children.open>a::after {
    transform: rotate(180deg);
}

.nav-list .sub-menu {
    display: none;
    background: rgba(255, 255, 255, 0.05);
    margin-top: 15px;
    padding: 15px 0;
    border-radius: 8px;
}

.nav-list .menu-item-has-children.open .sub-menu {
    display: block;
    animation: fadeIn 0.3s ease;
}

.nav-list .sub-menu a {
    font-size: 1rem;
    color: #cbd5e1;
    text-transform: none;
    margin: 8px 0;
}

.nav-list .sub-menu a::after {
    content: none;
}

@media (min-width: 1100px) {
    .nav-list {
        display: flex !important;
        flex-direction: row;
        position: static;
        width: auto;
        margin-left: 0;
        background: transparent;
        padding: 0;
        border: none;
        box-shadow: none;
        gap: 20px;
        overflow: visible;
        align-items: center;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }

    .nav-list>li {
        margin: 0;
        position: relative;
    }

    .nav-list>li>a {
        display: flex;
        align-items: center;
        white-space: nowrap;
        font-size: 0.95rem;
        opacity: 0.95;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        padding: 10px 5px;
        position: relative;
        border-bottom: 2px solid transparent;
        transition: all 0.3s;
    }

    .nav-list .menu-item-has-children>a::after {
        content: '\25BC';
        font-size: 0.5em;
        margin-left: 6px;
        opacity: 0.7;
        transition: transform 0.3s;
    }

    .nav-list .menu-item-has-children:hover>a::after {
        transform: rotate(180deg);
    }

    .nav-list>li>a:hover {
        opacity: 1;
        color: var(--color-sky);
        border-bottom-color: var(--color-sky);
    }

    .site-header.scrolled .nav-list>li>a {
        color: var(--color-black);
        text-shadow: none;
    }

    .nav-list .sub-menu {
        display: block;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(20px);
        min-width: 295px;
        background: #0f172a;
        padding: 15px 0;
        border-radius: 6px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        z-index: 1000;
        border-top: 3px solid var(--color-magenta);
        margin-top: 0;
    }

    .nav-list .sub-menu::before {
        content: '';
        position: absolute;
        top: -6px;
        left: 50%;
        transform: translateX(-50%);
        border-width: 0 6px 6px 6px;
        border-style: solid;
        border-color: transparent transparent var(--color-magenta) transparent;
    }

    .nav-list li:hover>.sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(10px);
    }

    .nav-list .sub-menu li {
        margin: 0;
        text-align: left;
        display: block;
    }

    .nav-list .sub-menu a {
        display: block;
        padding: 10px 25px;
        color: #fff;
        font-size: 0.9rem;
        text-transform: none;
        font-weight: 500;
        text-shadow: none;
        transition: all 0.2s;
        border-left: 3px solid transparent;
        border-bottom: none;
        white-space: normal;
        margin: 0;
    }

    .nav-list .sub-menu a:hover {
        background: rgba(255, 255, 255, 0.05);
        color: var(--color-sky);
        border-left: 3px solid var(--color-sky);
    }

    .nav-list .sub-menu a::after {
        display: none;
    }

    .nav-list .sub-menu a::after {
        display: none;
    }
}

/* =========================================
   XX. EMPTY CART STYLES
   ========================================= */
.simair-empty-cart-wrapper {
    padding-top: 180px;
    /* Space for fixed header */
    padding-bottom: 100px;
    min-height: 80vh;
    /* Taller to show off background */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 5;
    /* Above the background */
}

@media (max-width: 768px) {
    .simair-empty-cart-wrapper {
        padding-top: 50px;
        /* Aggressive reduction */
        align-items: flex-start;
        /* Start from top, don't center vertically */
        min-height: 50vh;
    }
}

.empty-cart-content {
    max-width: 600px;
    width: 90%;
    /* Responsive width */
    padding: 60px 40px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    /* Soft premium shadow */
    border: 1px solid rgba(0, 0, 0, 0.03);
}

.empty-cart-icon {
    font-size: 4rem;
    margin-bottom: 20px;
    opacity: 0.2;
}

.empty-cart-title {
    font-size: 2rem;
    color: var(--color-black);
    margin-bottom: 15px;
}

.empty-cart-message {
    font-size: 1.1rem;
    color: #64748b;
    margin-bottom: 40px;
}

.empty-cart-actions {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.sim-btn-gradient {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 35px;
    background: var(--gradient-magenta);
    color: #fff !important;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(224, 10, 127, 0.4);
    transition: all 0.3s ease;
}

.sim-btn-gradient:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(224, 10, 127, 0.5);
}

.sim-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 35px;
    background: transparent;
    color: var(--color-text) !important;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 50px;
    border: 2px solid #e2e8f0;
    transition: all 0.3s ease;
}

.sim-btn-outline:hover {
    border-color: var(--color-sky);
    color: var(--color-sky) !important;
    background: #f8fafc;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    color: white;
    flex-shrink: 0;
}

/* KOSZYK - BADGE */
.cart-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: all 0.3s;
}

.cart-icon {
    font-size: 1.4rem;
    line-height: 1;
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background: var(--gradient-magenta);
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 22px;
    height: 22px;
    padding: 0 4px;
    border-radius: 12px;
    /* Pill shape for longer numbers */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    /* border: 2px solid var(--color-white); REMOVED */
    animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 2;
}

@keyframes popIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.site-header.scrolled .cart-count {
    border-color: #fff;
    /* White border in sticky mode */
}


.site-header.scrolled .header-actions {
    color: var(--color-black);
}

.mobile-toggle {
    display: block;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    padding: 5px;
}

@media (min-width: 1100px) {
    .mobile-toggle {
        display: none;
    }
}

/* =========================================
   4. HERO SECTION (SZTYWNA WYSOKOÄąĹˇĂ„â€  MOBILE)
   ========================================= */
.hero-section {
    position: relative;
    height: auto;
    min-height: auto;
    background: #000;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.hero-slider {
    position: relative;
    width: 100%;
    height: 70vh !important;
    z-index: 1;
}

.swiper-slide {
    position: relative;
    overflow: hidden;
    height: 100%;
}

.slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.bg-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-azores);
    z-index: 2;
    pointer-events: none;
}

.slide-content-wrapper {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 60px;
    padding-bottom: 40px;
}

.slide-text h1 {
    color: white;
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.1;
    opacity: 0;
    transform: translateY(30px);
}

.slide-text p {
    color: rgba(255, 255, 255, 0.95);
    font-size: 1.1rem;
    font-weight: 500;
    max-width: 700px;
    opacity: 0;
    transform: translateY(30px);
}

.slide-actions {
    margin-top: 30px;
    opacity: 0;
    transform: translateY(30px);
}

.slide-btn {
    position: relative;
    display: inline-block;
    padding: 15px 35px;
    background: var(--gradient-magenta);
    border-radius: 50px;
    border: none;
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.5);
    transition: all 0.4s;
    z-index: 10;
}

.swiper-slide-active .animate-text {
    animation: fadeInUp 0.8s ease forwards;
}

.swiper-slide-active .delay-100 {
    animation-delay: 0.2s;
}

.swiper-slide-active .delay-200 {
    animation: fadeInUp 0.8s ease forwards;
    animation-delay: 0.5s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-static-layer {
    position: relative;
    z-index: 10;
    width: 100%;
    height: auto;
    background: #fff;
    pointer-events: none;
}

/* =========================================
   5. WIDGET REZERWACJI (FULL WIDTH MOBILE)
   ========================================= */
.booking-widget-wrapper {
    width: auto;
    pointer-events: auto;
    position: relative;
    z-index: 20;
    margin: 0;
    padding: 0;
    margin-left: -20px;
    margin-right: -20px;
}

@media (min-width: 768px) and (max-width: 991px) {
    .booking-widget-wrapper {
        margin-left: -30px;
        margin-right: -30px;
    }
}

.booking-widget {
    background: #ffffff;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    width: 100%;
    font-family: inherit;
    border-top: 1px solid #f1f5f9;
}

/* ZAKÄąÂADKI */
.widget-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 0;
    overflow: visible;
}

.widget-tab {
    padding: 20px 10px;
    text-align: center;
    cursor: pointer;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 11px;
    color: #64748b;
    background: transparent;
    border: none;
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    transition: all 0.2s ease;
    outline: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    width: 100%;
    min-width: 0;
}

.widget-tab:nth-child(2n) {
    border-right: none;
}

.widget-tab .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: #94a3b8;
    margin-bottom: 2px;
}

.widget-tab:hover {
    background: #fff;
    color: #5b21b6;
}

.widget-tab.active {
    background: #ffffff;
    color: #0f172a;
    border-bottom: none;
    box-shadow: inset 0 -4px 0 #E00A7F;
}

.widget-tab.active .dashicons {
    color: #E00A7F;
}

/* TREÄąĹˇĂ„â€  */
.widget-content {
    padding: 30px 20px;
    background: #ffffff;
}

.tab-content {
    display: none;
    animation: fadeIn 0.3s ease forwards;
}

.tab-content.active {
    display: block;
}

.tab-desc {
    margin-bottom: 25px;
    color: #475569;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    font-weight: 500;
}

.search-form-row {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.form-group {
    width: 100%;
}

.form-group label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* --- INPUTY --- */
.form-control {
    width: 100%;
    height: 55px;
    padding: 0 15px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-weight: 700;
    font-size: 15px;
    color: #0f172a;
    background: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    transition: all 0.3s ease;
}

.form-control:focus {
    outline: none;
    border-color: #E00A7F;
}

.form-control:disabled {
    background-color: #f8fafc;
    color: #cbd5e1;
    border-color: #e2e8f0;
    cursor: not-allowed;
    opacity: 0.7;
}

/* --- BUTTONY --- */
.btn-search {
    width: 100%;
    height: 55px;
    background: var(--gradient-magenta);
    border: none;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.4);
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff;
    white-space: nowrap;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.btn-search:hover {
    background: linear-gradient(135deg, #ff2c9c 0%, #8a2be2 100%);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 40px rgba(224, 10, 127, 0.6);
    color: #fff;
}

.full-width {
    width: 100%;
}

/* =========================================
   HEADER USER ICON REDESIGN (NEON GLOW)
   ========================================= */

/* 1. Reset Link container */
.login-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: transparent;
    padding: 5px;
    position: relative;
    /* Remove generic styling */
}

/* 2. Hide Emoji Text */
.login-link .login-icon {
    display: none;
}

/* 3. Insert Dashicon via pseudo-element */
.login-link::before {
    font-family: 'dashicons';
    content: "\f110";
    /* Dashicon User */
    font-size: 28px;
    color: var(--color-magenta);
    text-shadow: 0 0 12px rgba(224, 10, 127, 0.5);
    /* The Glow */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1;
    display: block;
}

/* 4. Hover Effects */
.login-link:hover::before {
    color: #ff2c9c;
    /* Lighter magenta */
    text-shadow: 0 0 18px rgba(224, 10, 127, 0.8), 0 0 5px rgba(255, 255, 255, 0.4);
    transform: translateY(-2px) scale(1.1);
}

/* 5. Mobile Adjustments */
@media (max-width: 991px) {
    .login-link::before {
        font-size: 24px;
        /* Slightly smaller on mobile */
    }
}

/* =========================================
   MEDIA QUERY: DESKTOP
   ========================================= */
@media (min-width: 992px) {
    .hero-section {
        height: 100vh;
        display: block;
        min-height: 700px;
    }

    .hero-slider {
        height: 100% !important;
        position: absolute;
    }

    .slide-content-wrapper {
        padding-top: 0;
        padding-bottom: 200px;
        justify-content: center;
    }

    .slide-text h1 {
        font-size: 4.5rem;
        margin-bottom: 20px;
    }

    .slide-text p {
        font-size: 1.4rem;
    }

    .hero-static-layer {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-top: 0;
        display: flex;
        align-items: flex-end;
        padding-bottom: 60px;
        background: transparent;
        pointer-events: none;
    }

    .hero-static-layer .container {
        width: 100%;
        /* Fix: Prevent shrinking when content is smaller */
    }

    .booking-widget-wrapper {
        padding: 0;
        width: 100%;
        max-width: 85%;
        /* Make it narrower as requested */
        margin: 0 auto;
        /* Center it */
    }

    .booking-widget {
        border-radius: 16px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
        border: 1px solid rgba(255, 255, 255, 0.5);
    }

    .widget-tabs {
        display: flex;
        border-bottom: 1px solid #e2e8f0;
    }

    .widget-tab {
        flex: 1;
        flex-direction: row;
        padding: 0 20px;
        height: 70px;
        font-size: 13px;
        width: auto;
        border: none;
        border-bottom: 4px solid transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        line-height: 1.2;
    }

    .widget-tab:nth-child(2n) {
        border-right: none;
    }

    .widget-tab.active {
        border-bottom: 4px solid #E00A7F !important;
        box-shadow: none;
        color: #0f172a;
    }

    .widget-tab .dashicons {
        margin-right: 10px;
        font-size: 20px;
        margin-bottom: 0;
    }

    .widget-content {
        padding: 35px 40px;
    }

    .tab-desc {
        text-align: left;
        margin-bottom: 25px;
        font-size: 15px;
    }

    .search-form-row {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 200px;
        gap: 25px;
        align-items: end;
    }

    .search-form-row.voucher-row,
    .search-form-row.event-row {
        grid-template-columns: 2.5fr 1fr;
    }

    .search-form-row.redeem-row {
        grid-template-columns: 3fr 1fr;
    }

    .form-control {
        height: 55px;
        font-size: 16px;
    }

    .btn-search {
        height: 55px;
        font-size: 14px;
    }
}

/* =========================================
   6. POZOSTAÄąÂE SEKCJE (BEZ ZMIAN)
   ========================================= */
.upcoming-events-bar {
    background: #fff;
    padding: 30px 0;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
    z-index: 5;
}

.events-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.events-header h3 {
    margin: 0;
    color: var(--color-black);
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.events-header h3::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--color-magenta);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(224, 10, 127, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(224, 10, 127, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(224, 10, 127, 0);
    }
}

.view-all-link {
    font-size: 0.9rem;
    color: var(--color-blue);
    font-weight: 600;
}

.events-slider {
    padding: 15px 5px;
}

.events-slider .swiper-slide {
    height: auto;
}

.event-card {
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
    transition: all 0.3s;
    height: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
}

.event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
    border-color: var(--color-sky);
}

.event-link {
    display: flex;
    align-items: stretch;
    height: 100%;
    width: 100%;
}

.event-image-box {
    width: 90px;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
    position: relative;
    border-right: 1px solid #f1f5f9;
}

.event-date-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.7);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    backdrop-filter: blur(1px);
}

.event-date-overlay .day {
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1;
}

.event-date-overlay .month {
    font-size: 0.7rem;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 2px;
}

.event-info {
    flex-grow: 1;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.event-meta-top {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 5px;
}

.event-category {
    font-size: 0.65rem;
    color: var(--color-blue);
    font-weight: 700;
    text-transform: uppercase;
    background: rgba(19, 109, 172, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

.event-badge {
    display: inline-block;
    font-size: 0.65rem;
    color: #fff;
    background: var(--color-sky);
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
}

.event-badge.warning {
    background: #f59e0b;
}

.event-title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--color-black);
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-price {
    font-size: 0.9rem;
    color: var(--color-magenta);
    font-weight: 700;
    margin-top: 4px;
}

.event-action {
    width: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px dashed #e2e8f0;
}

.btn-mini-buy {
    width: 32px;
    height: 32px;
    background: var(--color-black);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 300;
    font-size: 1.2rem;
    transition: 0.3s;
}

.event-card:hover .btn-mini-buy {
    background: var(--color-magenta);
    transform: scale(1.1) rotate(90deg);
}

.section-simulators {
    padding: 100px 0;
    background: #f1f5f9;
}

.section-title {
    text-align: center;
    margin-bottom: 60px;
    color: var(--color-black);
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -1px;
}

.sim-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

/* Karta Symulatora z Tagami Lokalizacji */
.sim-card {
    position: relative;
    background: var(--color-white);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sim-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.sim-location-tags {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10;
    display: flex;
    gap: 8px;
}

.loc-tag {
    padding: 5px 12px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 0.7rem;
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font-heading);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    letter-spacing: 1px;
}

.loc-tag.waw {
    background: var(--color-magenta);
}

.loc-tag.krk {
    background: var(--color-purple);
}

.sim-image {
    height: 250px;
    background-color: #cbd5e1;
    background-size: cover;
    background-position: center;
}

.sim-details {
    padding: 25px;
}

.sim-details h3 {
    margin-bottom: 10px;
    color: var(--color-black);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.sim-details p {
    font-size: 1rem;
    color: #475569;
    font-weight: 400;
}

.gift-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.gift-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: var(--color-magenta);
    opacity: 0.1;
    filter: blur(100px);
    border-radius: 50%;
}

.gift-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
    align-items: center;
}

.gift-content {
    position: relative;
    z-index: 2;
}

.gift-subtitle {
    display: block;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-sky);
    font-weight: 700;
    margin-bottom: 15px;
}

.gift-content h2 {
    font-size: 2.8rem;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 25px;
}

.gift-content p {
    font-size: 1.1rem;
    color: #cbd5e1;
    margin-bottom: 35px;
    max-width: 500px;
}

.gift-features {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    margin-bottom: 40px;
}

.feature {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.95rem;
}

.feature .icon {
    font-size: 1.2rem;
}

.btn-gift {
    display: inline-block;
    padding: 18px 50px;
    background: var(--gradient-magenta);
    border-radius: 50px;
    border: none;
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.5);
    transition: all 0.4s;
    z-index: 10;
}

.btn-gift:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(224, 10, 127, 0.7);
    color: var(--color-magenta) !important;
}

/* New Outline Button (Blog & Others) */
/* New Outline Button (Blog & Others) */
.sim-btn-outline {
    display: inline-flex !important;
    width: fit-content !important;
    /* Force natural width */
    max-width: 100%;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 40px;
    border: 2px solid #0f172a;
    /* Dark border */
    color: #0f172a;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    border-radius: 50px;
    background: transparent;
    transition: all 0.3s ease;
    line-height: 1.2;
    vertical-align: middle;
}

.sim-btn-outline:hover {
    background: var(--color-magenta);
    border-color: var(--color-magenta);
    color: #fff;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.3);
    transform: translateY(-3px);
}

/* LANGUAGE SWITCHER DROPDOWN */
.simair-lang-dropdown {
    position: relative;
    margin-left: 15px;
    margin-right: 0;
    line-height: 1;
    /* Fix vertical alignment */
}

.lang-current {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 6px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.site-header.scrolled .lang-current {
    background: rgba(0, 0, 0, 0.05);
}

.lang-current:hover {
    background: rgba(255, 255, 255, 0.2);
}

.site-header.scrolled .lang-current:hover {
    background: rgba(0, 0, 0, 0.08);
}

.lang-arrow {
    font-size: 0.5rem;
    color: rgba(255, 255, 255, 0.7);
    transition: transform 0.3s;
}

.site-header.scrolled .lang-arrow {
    color: rgba(0, 0, 0, 0.5);
}

.simair-lang-dropdown:hover .lang-arrow {
    transform: rotate(180deg);
}

/* DROPDOWN LIST */
.lang-list {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(5px);
    background: #fff;
    min-width: 50px;
    /* Minimal width for just flags */
    padding: 6px;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}

.simair-lang-dropdown:hover .lang-list {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0px);
}

.lang-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    border-radius: 6px;
    transition: background 0.2s;
}

.lang-item:hover {
    background: #f0f0f0;
}

.flag-icon svg {
    display: block;
    width: 22px;
    height: auto;
    border-radius: 2px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-gift:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(224, 10, 127, 0.6);
    background: #fff;
    color: var(--color-magenta);
}

.gift-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.gift-image img {
    max-width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
    transform: rotate(-5deg);
    transition: transform 0.5s ease;
}

.gift-wrapper:hover .gift-image img {
    transform: rotate(0deg) scale(1.05);
}

.floating-circle {
    position: absolute;
    width: 350px;
    height: 350px;
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: 1;
    animation: spin 20s linear infinite;
}

.floating-circle::after {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    width: 10px;
    height: 10px;
    background: var(--color-sky);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--color-sky);
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.reviews-section {
    padding: 100px 0;
    background: #fff;
    border-top: 1px solid #f1f5f9;
}

.reviews-header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
    flex-wrap: wrap;
    gap: 30px;
}

.rh-content h2 {
    font-size: 2.5rem;
    margin-bottom: 10px;
    color: var(--color-black);
}

.rh-sub {
    font-size: 1.1rem;
    color: #64748b;
    max-width: 600px;
}

.google-badge-box {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    padding: 15px 25px;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid #e2e8f0;
}

.gb-info {
    display: flex;
    flex-direction: column;
}

.gb-stars {
    color: #fbbc04;
    letter-spacing: 2px;
    font-size: 1.1rem;
}

.gb-rating {
    font-size: 0.9rem;
    color: var(--color-black);
}

/* =========================================
   11. WOOCOMMERCE SHOP MAIN VIEW (PREMIUM - FIXED V2)
   ========================================= */

.woocommerce-shop .simair-main-wrapper {
    padding-top: 140px;
    background: transparent;
}

/* =========================================
   global PRELOADER
   ========================================= */
.sim-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Rich Radial Gradient Background */
    background: radial-gradient(circle at center, #1e293b 0%, #0f172a 100%);
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}

.sim-preloader.fade-out {
    opacity: 0;
    visibility: hidden;
}

.sim-loader-content {
    text-align: center;
    color: #fff;
    position: relative;
    z-index: 2;
}

/* Background Glow Effect behind Logo */
.sim-loader-content::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(224, 10, 127, 0.2) 0%, transparent 70%);
    z-index: -1;
    border-radius: 50%;
}

.sim-loader-logo-img {
    display: block;
    max-width: 300px;
    height: auto;
    margin: 0 auto 10px;
    animation: pulseLogo 3s infinite ease-in-out;
}

.sim-loader-sub {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--color-sky);
    margin-bottom: 30px;
    font-weight: 700;
    opacity: 0.9;
}

.sim-loader-bar {
    width: 250px;
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    margin: 0 auto 15px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.sim-bar-fill {
    width: 40%;
    height: 100%;
    background: var(--gradient-magenta);
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: 0 0 10px rgba(224, 10, 127, 0.8);
    /* Glowing Bar */
    animation: loaderBar 2s infinite ease-in-out;
}

.sim-loader-text {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.6;
    font-weight: 600;
    color: #cbd5e1;
}

@keyframes pulseLogo {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
        filter: drop-shadow(0 0 10px rgba(224, 10, 127, 0.3));
    }

    50% {
        transform: scale(0.95);
        opacity: 0.8;
        filter: drop-shadow(0 0 5px rgba(224, 10, 127, 0.1));
    }
}

@keyframes loaderBar {
    0% {
        left: -40%;
    }

    50% {
        left: 100%;
    }

    100% {
        left: -40%;
    }
}


/* --- SIMAIR WOOCOMMERCE SUPPORT --- */
.simair-promo-banner {
    width: 100%;
    margin-bottom: 30px;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    position: relative;
    z-index: 15;
}

.simair-promo-banner:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.simair-promo-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.simair-promo-banner a {
    display: block;
}

@media (max-width: 768px) {
    .simair-promo-banner {
        border-radius: 10px;
        /* Smaller radius on mobile */
        margin-bottom: 20px;
        margin-top: 70px; /* Fix: Odsuniecie baneru od zakotwiczonego naglowka mobilnego */
    }
}

/* --- A. HERO GRID SYSTEM (Layout) --- */
.simair-shop-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

@media (min-width: 992px) {
    .simair-shop-hero-grid {
        grid-template-columns: 2fr 1fr;
        /* 2/3 Slider, 1/3 Cards */
        height: 600px;
        /* Taller for 3 cards */
    }
}

/* FIX: Grid Child Width for Swiper */
.shop-hero-left {
    min-width: 0;
    /* CRITICAL for Swiper inside Grid */
    width: 100%;
    position: relative;
    z-index: 5;
}

/* 1. Slider Clean Up */
.shop-slider-section {
    margin-bottom: 0;
    /* Reset margin */
    height: 100%;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    /* Ensure content stays inside */
    position: relative;
}

.shop-hero-slider {
    height: 400px;
    opacity: 1;
    /* Ensure visibility */
    display: block;
}

@media (min-width: 992px) {
    .shop-hero-slider {
        height: 100%;
    }
}

/* 2. Sidebar Cards */
.shop-hero-right {
    display: flex;
    flex-direction: column;
    gap: 15px;
    /* Slightly tighter gap */
    height: 100%;
}

.shop-quick-card {
    flex: 1;
    /* Equal height */
    border-radius: 20px;
    display: flex;
    align-items: center;
    padding: 25px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Background Icons */
.sqc-bg-icon {
    position: absolute;
    right: -25px;
    bottom: -25px;
    width: 170px;
    height: 170px;
    color: currentColor;
    opacity: 0.08;
    /* Subtle Watermark */
    transition: transform 0.5s ease;
    pointer-events: none;
}

.shop-quick-card:hover .sqc-bg-icon {
    transform: scale(1.1) rotate(-5deg);
    opacity: 0.12;
}

.shop-quick-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* Card: Vouchers (Magenta) */
.card-vouchers {
    background: var(--gradient-magenta);
    color: #fff;
}

.card-vouchers:hover {
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.4);
}

/* Card: Gadgets (Navy Blue) */
.card-gadgets {
    background: #1e3a8a;
    /* Blue-900 style */
    background: linear-gradient(135deg, #1e3a8a 0%, #172554 100%);
    color: #fff;
}

.card-gadgets:hover {
    box-shadow: 0 10px 30px rgba(30, 58, 138, 0.4);
}

/* Card: Workshops (Dark) */
.card-workshops {
    background: #0f172a;
    color: #fff;
    border: 1px solid #1e293b;
}

.card-workshops:hover {
    border-color: var(--color-magenta);
}

.sqc-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.sqc-subtitle {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
    opacity: 0.9;
}

.shop-quick-card h3 {
    margin: 0;
    font-size: 1.8rem;
    color: #fff;
}

.sqc-arrow {
    display: block;
    margin-top: 10px;
    font-size: 1.5rem;
    transition: transform 0.3s;
}

.shop-quick-card:hover .sqc-arrow {
    transform: translateX(10px);
}

/* --- A.2 CATEGORY PAGE HERO --- */
.simair-category-hero {
    position: relative;
    width: 100%;
    height: 300px;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    padding: 0 50px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    border-bottom: 3px solid var(--color-magenta);
}

.simair-category-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: radial-gradient(circle at 80% 20%, rgba(224, 10, 127, 0.15), transparent 40%);
    z-index: 1;
}

.cat-hero-content {
    position: relative;
    z-index: 10;
    max-width: 700px;
}

.cat-hero-kicker {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: var(--color-magenta);
    font-weight: 700;
    margin-bottom: 10px;
    opacity: 0.9;
}

.cat-hero-title {
    font-size: 3.5rem;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 15px 0;
    text-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.cat-hero-desc p {
    color: #cbd5e1;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
}

/* Abstract Deco */
.cat-hero-deco {
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: 300px;
    height: 300px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.1)' stroke-width='1.5'%3E%3Cpath d='M12 2L2 7L12 12L22 7L12 2Z' /%3E%3Cpath d='M2 17L12 22L22 17' /%3E%3Cpath d='M2 12L12 17L22 12' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 1;
    z-index: 2;
    /* Check visibility above overlay */
    transform: rotate(-15deg);
    pointer-events: none;
}

/* --- A.3 SHOP FILTER BAR --- */
.shop-filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 15px 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.woocommerce-result-count {
    margin: 0 !important;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #64748b;
    /* Slate 500 */
    font-weight: 600;
}

.woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce-ordering select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 35px 8px 15px;
    font-size: 0.9rem;
    color: #334155;
    font-weight: 500;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23334155'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px;
    transition: all 0.3s ease;
    min-width: 200px;
}

.woocommerce-ordering select:hover {
    border-color: var(--color-magenta);
}

.woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--color-magenta);
    box-shadow: 0 0 0 3px rgba(224, 10, 127, 0.1);
}

@media (max-width: 768px) {
    .shop-filter-bar {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }

    .woocommerce-ordering,
    .woocommerce-ordering select {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .simair-category-hero {
        height: auto;
        padding: 40px 20px;
        text-align: center;
    }

    .simair-category-hero::before {
        background: radial-gradient(circle at 50% 50%, rgba(224, 10, 127, 0.15), transparent 60%);
    }

    .cat-hero-content {
        margin: 0 auto;
    }

    .cat-hero-title {
        font-size: 2.2rem;
    }
}

/* --- B. CATEGORY NAVIGATION (Tech Dock) --- */
.shop-cat-nav-wrapper {
    margin-bottom: 60px;
    padding: 30px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03);
}

.shop-nav-header {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f1f5f9;
}

.nav-kicker {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-magenta);
    font-weight: 700;
    margin-bottom: 5px;
}

.shop-nav-header h3 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--color-black);
}

.shop-category-nav {
    display: flex;
    gap: 12px;
    /* Mobile: Scroll */
    overflow-x: auto;
    padding-bottom: 10px;
    /* Space for scrollbar */
    scrollbar-width: none;
}

.shop-category-nav::-webkit-scrollbar {
    display: none;
}

@media (min-width: 992px) {
    .shop-category-nav {
        /* Desktop: Wrap */
        flex-wrap: wrap;
        overflow-x: visible;
        padding-bottom: 0;
    }
}

.shop-cat-pill {
    flex: 0 0 auto;
    background: #fff;
    color: #475569;
    /* Slate 600 */
    padding: 10px 24px;
    border-radius: 8px;
    /* Tech: Slightly rounded */
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.shop-cat-pill:hover,
.shop-cat-pill.active {
    border-color: var(--color-magenta);
    color: var(--color-magenta);
    background: rgba(224, 10, 127, 0.05);
    /* Very faint magenta bg */
    box-shadow: 0 5px 15px rgba(224, 10, 127, 0.1);
    transform: translateY(-2px);
}

/* Optional: Active Pill Fill */
.shop-cat-pill.active {
    background: var(--color-black);
    color: #fff;
    border-color: var(--color-black);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* OLD Styles Removal Block */
/* The previous HUD styles are replaced by the above */

.shop-hero-slider {
    height: 500px;
}

/* Watermark STORE */
.shop-slider-section::after {
    content: 'STORE';
    position: absolute;
    bottom: -20px;
    right: 20px;
    font-size: 8rem;
    font-weight: 900;
    font-family: var(--font-heading);
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.05);
    pointer-events: none;
    z-index: 2;
    line-height: 1;
}


@media (min-width: 992px) {
    .shop-hero-slider {
        height: 600px;
    }
}

.shop-slide-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
}

.shop-slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.7) 50%, rgba(15, 23, 42, 0.2) 100%);
    display: flex;
    align-items: center;
    padding: 0 8%;
}

.shop-slide-content {
    max-width: 700px;
    color: #fff;
    opacity: 1 !important;
    /* Force visible */
    transform: none !important;
    position: relative;
    z-index: 10;
}

.slide-title {
    font-size: 3rem !important;
    line-height: 1.1;
    margin-bottom: 25px;
    text-transform: uppercase;
    color: #ffffff !important;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    display: block !important;
    opacity: 1 !important;
}

@media (min-width: 992px) {
    .slide-title {
        font-size: 4.5rem !important;
    }
}

.description p {
    font-size: 1.2rem;
    color: #cbd5e1;
    line-height: 1.7;
    margin-bottom: 35px;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

/* Nowy Przycisk Slajdera */
.shop-slide-btn {
    display: inline-block;
    padding: 18px 45px;
    background: var(--gradient-magenta);
    color: #fff !important;
    font-family: var(--font-heading);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 10px 40px rgba(224, 10, 127, 0.4);
    transition: all 0.3s;
}

.shop-slide-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(224, 10, 127, 0.6);
    background: #fff;
    color: var(--color-magenta) !important;
}

@keyframes fadeSlideUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- B. PREMIUM ROWS (Featured/Sale) --- */
.shop-premium-row {
    margin-bottom: 80px;
}

.airline-section-header {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
}

.airline-section-header h2 {
    font-size: 2.2rem;
    color: var(--color-black);
    display: inline-block;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    letter-spacing: -1px;
}

.airline-section-header h2::after {
    content: '';
    display: block;
    width: 80px;
    height: 5px;
    background: var(--color-magenta);
    margin: 20px auto 0;
    border-radius: 4px;
}

/* Promo Section Highlight (Dark Premium) */
.simair-promo-section {
    background: #0f172a;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 20px;
    padding: 50px 20px;
    /* Reduced top padding */
    position: relative;
    overflow: hidden;
    margin-bottom: 60px;
    margin-top: 0;
    /* Removed manual gap */
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6);
    border: none;
    /* Removing border that caused the 1px line issue */
    background-clip: padding-box;
}

/* 4. Giant Background Icon (Watermark) */
.simair-promo-section::after {
    content: '%';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-10deg);
    font-size: 80rem;
    /* Massive, covering everything */
    font-weight: 900;
    line-height: 1;
    color: rgba(255, 255, 255, 0.03);
    pointer-events: none;
    z-index: 0;
    font-family: 'Harabara', sans-serif;
}

.simair-promo-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10px;
    /* 3x thicker */
    background: #e00a7f;
    box-shadow: 0 0 10px rgba(224, 10, 127, 0.4);
    z-index: 10;
}

/* Dark Section Header Overrides */
.simair-promo-section .airline-section-header {
    margin-bottom: 50px;
    position: relative;
    z-index: 5;
}

.simair-promo-section .airline-section-header h2 {
    color: #ffffff !important;
    font-size: 4rem;
    /* Giant */
    text-shadow: 0 0 30px rgba(255, 255, 255, 0.4);
    margin-top: 10px;
    font-family: var(--font-heading);
    /* Standard Theme Font */
}

.simair-promo-section .airline-section-header h2::after {
    display: none;
}

/* Contextual Text (Kicker) */
.promo-section-desc {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;

    color: #e00a7f;
    /* Hard White Shadow (Non-blurry) */
    text-shadow: 2px 2px 0px #ffffff;

    text-transform: uppercase;
    font-family: var(--font-heading);
    /* OUTFIT - The Thick Theme Font */
    letter-spacing: 1px;
    font-weight: 800 !important;
    /* Extra Bold */
    font-size: 2.5rem;
    margin-bottom: 25px;
    line-height: 1;
}

/* Icon Styling */
.promo-section-desc svg {
    fill: #e00a7f;
    width: 50px;
    height: 50px;
    /* Hard White Drop Shadow for Icon */
    filter: drop-shadow(2px 2px 0px #ffffff);
}

/* --- C. GRID LAYOUT FIXES (CRITICAL) --- */
/* Resetujemy style listy ul.products i wymuszamy CSS Grid */
ul.products {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Removing floats from WooCommerce defaults */
ul.products::before,
ul.products::after {
    display: none !important;
}

/* ResponsywnoÄąâ€şĂ„â€ˇ Gridu */
@media (min-width: 600px) {
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 992px) {
    ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (min-width: 1200px) {
    ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* --- D. PRODUCTS AS PREMIUM CARDS --- */
ul.products li.product.simair-shop-card {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
    border: 1px solid #f1f5f9;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    padding: 0 !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    /* Equal height cell */
}

/* Hover: Lift Card ONLY */
ul.products li.product.simair-shop-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(104, 33, 95, 0.12);
    border-color: rgba(224, 10, 127, 0.2);
    z-index: 2;
}

/* Image Container */
ul.products li.product.simair-shop-card a {
    text-decoration: none;
    display: block;
    flex-grow: 1;
    /* Pushes content down */
    display: flex;
    flex-direction: column;
}

ul.products li.product.simair-shop-card a img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
    margin: 0 !important;
    display: block !important;
    transition: none !important;
    /* Disable Image Zoom Animation */
    transform: none !important;
}

ul.products li.product.simair-shop-card:hover a img {
    transform: none !important;
    /* Disable hover scale */
}

/* Content Area */
ul.products li.product.simair-shop-card .woocommerce-loop-product__title {
    padding: 20px 25px 0 !important;
    font-family: var(--font-heading) !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--color-black) !important;
    line-height: 1.3 !important;

    /* Clamp Logic */
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 3.7em !important;
    /* Forces height for 2 lines + spacing */

    margin-top: 15px !important;
    margin-bottom: 5px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Price */
ul.products li.product.simair-shop-card .price {
    padding: 5px 25px 20px !important;
    color: var(--color-magenta) !important;
    font-weight: 800 !important;
    font-size: 1.3rem !important;
    display: block !important;
    margin-top: 0 !important;
}

ul.products li.product.simair-shop-card .price del {
    color: #94a3b8;
    font-weight: 600;
    font-size: 0.9rem;
    margin-right: 8px;
    opacity: 1;
}

/* Button */
ul.products li.product.simair-shop-card .button {
    margin: 0 25px 25px !important;
    width: calc(100% - 50px) !important;
    background: #0f172a !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding: 14px 0 !important;
    text-align: center;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    transition: all 0.3s !important;
    border: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
    /* Space for icon */
    white-space: nowrap !important;
    margin-top: auto !important;
    /* Always at bottom of flexible container */
}

/* Ensure Pseudo-elements (Icons) behave */
ul.products li.product.simair-shop-card .button::before,
ul.products li.product.simair-shop-card .button::after {
    display: inline-block;
    position: static;
    /* Force into flow */
    margin: 0;
}

ul.products li.product.simair-shop-card .button:hover {
    background: var(--color-magenta) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(224, 10, 127, 0.3);
}

ul.products li.product.simair-shop-card .button.loading {
    opacity: 0.7;
}

ul.products li.product.simair-shop-card .button.added {
    background: #22c55e !important;
}

/* --- SIMULATOR SINGLE PAGE STYLES --- */

.sim-simulator-page {
    /* Global styles override if needed */
}

/* 1. HERO */
.sim-hero {
    position: relative;
    background: radial-gradient(circle at center, #1a2a6c, #b21f1f, #fdbb2d);
    /* Fallbackish */
    background: radial-gradient(circle at 30% 50%, #2b32b2, #141e30);
    min-height: 80vh;
    /* Full screen feel */
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    padding-top: 80px;
    /* Header space */
}

.sim-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('img/sky-bg.jpg') no-repeat center center/cover;
    /* Placeholder logic */
    opacity: 0.2;
    z-index: 0;
}

.sim-hero .container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.sim-hero-content {
    flex: 1 1 50%;
    padding-right: 20px;
}

.sim-hero-visual {
    flex: 1 1 50%;
    position: relative;
}

.sim-hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
    text-transform: uppercase;
    background: -webkit-linear-gradient(#fff, #ccc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.sim-hero-lead {
    font-size: 1.2rem;
    margin-bottom: 40px;
    opacity: 0.9;
    max-width: 500px;
}

.btn-hero-cta {
    padding: 15px 40px;
    font-size: 1.1rem;
    font-weight: bold;
    text-transform: uppercase;
    background: var(--gradient-magenta);
    border: none;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(224, 60, 114, 0.4);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-hero-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(224, 60, 114, 0.6);
}

.sim-plane-img {
    max-width: 120%;
    /* Override container slightly */
    height: auto;
    filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.5));
    transform: translateX(0);
    animation: simPlaneFloat 6s ease-in-out infinite;
}

@keyframes simPlaneFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

/* 2. DETAILS & GALLERY */
.section-padding {
    padding: 80px 0;
}

.sim-details {
    background: #fff;
}

.sim-desc-content {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #444;
}

.sim-gallery-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.sim-gallery-item {
    height: 400px;
    background-size: cover;
    background-position: center;
}

/* 3. SPECS */
.sim-specs {
    background: #f8f9fa;
}

.sim-specs-frontend-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.sim-specs-frontend-table tr {
    background: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s;
}

.sim-specs-frontend-table tr:hover {
    transform: scale(1.02);
}

.sim-specs-frontend-table td {
    padding: 20px;
    border: none;
}

.sim-specs-frontend-table td.spec-label {
    font-weight: bold;
    color: #333;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    width: 40%;
}

.sim-specs-frontend-table td.spec-value {
    color: #666;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    text-align: right;
}

/* 4. LOCATIONS */
.sim-loc-card {
    background: #fff;
    border: 1px solid #eee;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    transition: box-shadow 0.3s;
    height: 100%;
}

.sim-loc-card:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.loc-city {
    color: #333;
    font-weight: 800;
    margin-bottom: 10px;
}

.loc-c-link {
    display: block;
    margin: 5px 0;
    color: #555;
    text-decoration: none;
}

/* 5. OFFER (WOO) */
.sim-offer {
    background: #111;
}

.sim-offer-lead {
    color: #aaa;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.sim-product-card {
    background: #222;
    border-radius: 15px;
    padding: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #333;
    transition: transform 0.3s, border-color 0.3s;
}

.sim-product-card:hover {
    transform: translateY(-5px);
    border-color: #e03c72;
    /* Magenta accent */
}

.sp-title {
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 15px;
}

.sp-body {
    flex-grow: 1;
}

.sp-short-desc {
    color: #888;
    margin-bottom: 20px;
    font-size: 0.9rem;
}

.sp-price {
    font-size: 1.8rem;
    color: #fff;
    font-weight: bold;
    margin-bottom: 20px;
}

.sp-price del {
    font-size: 1rem;
    color: #555;
}

/* Custom Button for Product */
.btn-simair-book {
    background: var(--gradient-sky);
    /* Blue as requested before or Magenta */
    background: var(--gradient-magenta);
    /* Using magenta for purchase as standard, blue was for booking */
    color: #fff;
    border-radius: 5px;
    padding: 12px;
    font-weight: bold;
    text-transform: uppercase;
    transition: filter 0.3s;
}

.btn-simair-book:hover {
    filter: brightness(1.2);
    color: #fff;
}


/* MOBILE RESPONSIVE ADUSTMENTS */
@media (max-width: 768px) {
    .sim-hero {
        flex-direction: column;
        padding-top: 100px;
        text-align: center;
        min-height: auto;
        padding-bottom: 50px;
    }

    .sim-hero-content,
    .sim-hero-visual {
        flex: 1 1 100%;
        padding: 0;
    }

    .sim-hero-visual {
        margin-top: 40px;
    }

    .sim-hero-title {
        font-size: 2.5rem;
    }

    .sim-plane-img {
        max-width: 100%;
    }

    .sim-gallery-item {
        height: 250px;
    }
}

/* Badges */
ul.products li.product.simair-shop-card .onsale {
    top: 20px !important;
    left: 20px !important;
    right: auto !important;
    background: var(--gradient-magenta) !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    min-height: auto !important;
    line-height: 1 !important;
    z-index: 5;
    box-shadow: 0 5px 15px rgba(224, 10, 127, 0.3);
}

/* Fallback Font Utility */

/* Harabara Font Utility (Fallback) */
.harabara-font {
    font-family: var(--font-heading);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.5px;
}

.gb-count {
    color: #64748b;
    font-weight: 400;
}

.reviews-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 50px;
}

.review-card {
    background: #f8fafc;
    padding: 30px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    transition: transform 0.3s;
}

.review-card:hover {
    transform: translateY(-5px);
    background: #fff;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
}

.rc-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rc-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #ccc;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
}

.rc-meta {
    flex-grow: 1;
}

.rc-author {
    display: block;
    font-weight: 700;
    color: var(--color-black);
    font-size: 0.95rem;
}

.rc-stars {
    color: #fbbc04;
    font-size: 0.8rem;
    letter-spacing: 1px;
}

.rc-g-icon {
    width: 24px;
    height: 24px;
    opacity: 0.8;
}

.rc-text {
    font-size: 0.95rem;
    color: #475569;
    font-style: italic;
    line-height: 1.6;
}

.reviews-footer {
    text-align: center;
}

.btn-outline-dark {
    display: inline-block;
    padding: 12px 30px;
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-text);
    transition: all 0.3s;
}

.btn-outline-dark:hover {
    border-color: var(--color-black);
    background: var(--color-black);
    color: #fff;
}

.b2b-section {
    padding: 100px 0;
    background: #f8fafc;
}

.b2b-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 50px;
}

.b2b-card {
    position: relative;
    height: 350px;
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    text-decoration: none;
    color: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.b2b-card:hover {
    transform: translateY(-8px);
}

.b2b-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}

.b2b-card:hover .b2b-bg {
    transform: scale(1.1);
}

.b2b-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.2) 60%, rgba(15, 23, 42, 0) 100%);
    transition: opacity 0.3s;
}

.b2b-card:hover .b2b-overlay {
    opacity: 0.9;
    background: linear-gradient(0deg, rgba(104, 33, 95, 0.9) 0%, rgba(15, 23, 42, 0.3) 100%);
}

.b2b-content {
    position: relative;
    z-index: 2;
    transition: transform 0.3s;
}

.b2b-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 10px;
}

.b2b-content h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: #fff;
    font-weight: 700;
}

.b2b-content p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin-bottom: 0;
    max-width: 90%;
}

.b2b-arrow {
    position: absolute;
    right: 0;
    bottom: 5px;
    font-size: 1.5rem;
    color: #fff;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s;
}

.b2b-card:hover .b2b-arrow {
    opacity: 1;
    transform: translateX(0);
}

.b2b-footer {
    text-align: center;
    margin-top: 40px;
    font-size: 1.1rem;
    color: #64748b;
}

.b2b-footer a {
    color: var(--color-purple);
    font-weight: 700;
}

.partners-section {
    padding: 60px 0;
    background: #fff;
    border-top: 1px solid #f1f5f9;
}

.partners-title {
    text-align: center;
    text-transform: uppercase;
    color: #94a3b8;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 40px;
}

.partners-slider {
    width: 100%;
    overflow: hidden;
}

.partners-slider .swiper-wrapper {
    transition: linear !important;
}

.partners-slider .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
    width: auto;
}

.partner-logo {
    max-width: 140px;
    max-height: 60px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.5;
    transition: all 0.4s ease;
}

.partner-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.1);
}

.site-footer {
    background: #fff;
    padding: 80px 0 40px;
    border-top: 5px solid var(--color-magenta);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
    margin-bottom: 50px;
}

.footer-col h4 {
    color: var(--color-black);
    margin-bottom: 25px;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.footer-col a {
    color: #64748b;
    font-weight: 500;
    font-size: 0.95rem;
    display: block;
    margin-bottom: 12px;
}

.footer-col a:hover {
    color: var(--color-magenta);
    font-weight: 600;
}

@media (min-width: 992px) {
    .site-header {
        padding: 25px 0;
    }

    .sim-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1fr;
    }

    .hero-content h1 {
        font-size: 5rem;
    }

    .gift-wrapper {
        grid-template-columns: 1fr 1fr;
    }

    .reviews-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .b2b-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .event-title {
        font-size: 0.9rem;
    }

    .event-image-box {
        width: 70px;
    }

    .event-info {
        padding: 10px;
    }

    .event-action {
        width: 40px;
    }

    .reviews-header-wrapper {
        flex-direction: column;
        text-align: center;
    }
}

/* =========================================================
   7. SIMAIR PRODUCT CARD (THE FIX)
   ========================================================= */

/* A. Fix Header na Stronie Produktu & Koszyku */
.product-template-default .site-header,
.woocommerce-page .site-header {
    background: #ffffff !important;
    padding: 15px 0 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    position: fixed !important;
}

/* Logo Fixes */
.product-template-default .logo-white,
.woocommerce-page .logo-white {
    display: none !important;
    opacity: 0 !important;
}

.product-template-default .logo-dark,
.woocommerce-page .logo-dark {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
}

.product-template-default .custom-logo,
.woocommerce-page .custom-logo {
    height: 35px !important;
    width: auto !important;
}

@media (min-width: 992px) {

    .product-template-default .custom-logo,
    .woocommerce-page .custom-logo {
        height: 80px !important;
    }
}

/* Text Color Fixes */
.product-template-default .logo-text,
.woocommerce-page .logo-text {
    color: var(--color-black) !important;
    font-size: 1.2rem !important;
}

@media (min-width: 992px) {

    .product-template-default .logo-text,
    .woocommerce-page .logo-text {
        font-size: 1.7rem !important;
    }
}

.product-template-default .header-actions,
.woocommerce-page .header-actions {
    color: var(--color-black) !important;
}

.product-template-default .mobile-toggle,
.woocommerce-page .mobile-toggle {
    color: var(--color-black) !important;
}

/* Menu Linki (Desktop) - Ciemne */
@media (min-width: 1100px) {

    .product-template-default .nav-list>li>a,
    .woocommerce-page .nav-list>li>a {
        color: var(--color-black) !important;
        text-shadow: none !important;
    }
}

/* Menu Linki (Mobile - MUSZĂ„â€ž BYĂ„â€  CIEMNE na biaÄąâ€šym tle, lub Jasne na ciemnym tle) 
   Tutaj zakÄąâ€šadam, ÄąÄ˝e menu mobilne ma ciemne tÄąâ€šo (var(--black)) jak na gÄąâ€šÄ‚Ĺ‚wnej */
.product-template-default .nav-list a,
.woocommerce-page .nav-list a {
    color: #ffffff !important;
    /* Zostawiamy biaÄąâ€še na ciemnym tle menu */
}

/* Submenu */
.product-template-default .sub-menu a,
.woocommerce-page .sub-menu a {
    color: #cbd5e1 !important;
}


/* B. Layout & Grid (Bez dziur) */
.site-header-bg {
    height: 80px;
}

/* Spacer */
.simair-tech-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #f8fafc;
    background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
    background-size: 30px 30px;
}

/* Padding Top na Desktop = 90px (zmniejszone z 140) */
.simair-main-wrapper {
    padding-top: 140px;
    padding-bottom: 80px;
    max-width: 1300px;
    margin: 0 auto;
}

@media (max-width: 992px) {
    .simair-main-wrapper {
        padding-top: 100px !important;
    }
}

@media (max-width: 600px) {
    .simair-main-wrapper {
        padding-top: 15px !important;
    }
}

.simair-custom-product-grid {
    display: flex;
    flex-direction: column;
    gap: 40px;
    background: #fff;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
    border: 1px solid #fff;
}

@media (min-width: 992px) {
    .simair-custom-product-grid {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 60px;
        align-items: start;
        padding: 50px;
    }
}

/* C. Galeria */
.main-img-box {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.main-img-box img {
    width: 100%;
    height: auto;
    display: block;
    transition: 0.5s;
}

.main-img-box:hover img {
    transform: scale(1.03);
}

.gallery-thumbs {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.thumb-item img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid transparent;
}

.thumb-item img:hover {
    border-color: var(--color-magenta);
}

.thumb-item.active img {
    border-color: var(--color-magenta);
    opacity: 1;
}

/* D. Prawa Kolumna (Info) */
.simair-col-info {
    position: relative;
}

/* Sticky behavior na desktopie */
@media (min-width: 992px) {
    .simair-col-info {
        position: sticky;
        top: 140px;
    }
}

.prod-path {
    margin-bottom: 20px;
}

.prod-path a {
    font-size: 0.8rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
}

.prod-path a:hover {
    color: var(--color-magenta);
}

.prod-heading {
    font-size: 2.8rem;
    line-height: 1.1;
    margin-bottom: 15px;
    color: #0f172a;
}

.prod-price-tag {
    font-size: 2.4rem;
    color: var(--color-magenta);
    font-weight: 800;
    font-family: var(--font-heading);
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.prod-price-tag del {
    font-size: 0.6em;
    color: #cbd5e1;
    font-weight: 500;
}

.prod-price-tag ins {
    text-decoration: none;
}

.prod-desc-box {
    font-size: 1.1rem;
    color: #475569;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e2e8f0;
}

/* E. Koszyk (Fix na podwÄ‚Ĺ‚jny plus) */
/* Pastylka IloÄąâ€şci */
.simair-qty-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    height: 60px;
    overflow: hidden;
}

.qty-btn {
    width: 45px;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 24px;
    color: #94a3b8;
    cursor: pointer;
}

.qty-btn:hover {
    color: var(--color-magenta);
    background: #f8fafc;
}

.qty-input {
    width: 50px;
    border: none;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
    -moz-appearance: textfield;
    background: transparent;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Przycisk Mega */
.simair-buy-btn {
    height: 60px;
    width: 100%;
    background: linear-gradient(135deg, #E00A7F 0%, #68215F 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.4);
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.simair-buy-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(224, 10, 127, 0.6);
}

/* Stopka info */
.prod-trust-badges {
    margin-top: 20px;
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
    display: flex;
    gap: 20px;
    justify-content: center;
}

.prod-trust-badges span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.prod-meta-data {
    margin-top: 30px;
    border-top: 1px solid #e2e8f0;
    padding-top: 20px;
    color: #94a3b8;
    font-size: 0.9rem;
}

.prod-meta-data strong {
    color: #334155;
}

/* Tabs (DÄ‚Ĺ‚Äąâ€š) */
.simair-bottom-tabs {
    margin-top: 60px;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    justify-content: center;
    border: none !important;
    margin-bottom: 30px !important;
    padding: 0 !important;
    gap: 10px;
}

.woocommerce-tabs ul.tabs li {
    background: #fff !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.woocommerce-tabs ul.tabs li.active {
    background: #0f172a !important;
    border-color: #0f172a !important;
}

.woocommerce-tabs ul.tabs li a {
    padding: 10px 30px !important;
    color: #64748b !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.9rem !important;
}

.woocommerce-tabs ul.tabs li.active a {
    color: #fff !important;
}

.woocommerce-Tabs-panel {
    background: #fff;
    padding: 50px;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
    max-width: 1000px;
    margin: 0 auto;
    line-height: 1.8;
    color: #334155;
}

/* Related */
.simair-related-wrapper {
    margin-top: 80px;
}

.simair-related-wrapper h2 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 40px;
}

.simair-related-wrapper ul.products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 0;
}

@media (min-width: 600px) {
    .simair-related-wrapper ul.products {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .simair-related-wrapper ul.products {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.simair-related-wrapper ul.products li.product {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    text-align: center;
    padding-bottom: 20px;
    overflow: hidden;
    border: 1px solid #f1f5f9;
    transition: 0.3s;
}

.simair-related-wrapper ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.simair-related-wrapper ul.products li.product img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 15px;
}

.simair-related-wrapper ul.products li.product h2 {
    font-size: 1rem;
    padding: 0 15px;
}

.simair-related-wrapper ul.products li.product .price {
    color: var(--color-magenta);
    font-weight: 700;
    display: block;
    margin-bottom: 15px;
}

.simair-related-wrapper ul.products li.product .button {
    display: inline-block;
    padding: 10px 20px;
    background: #0f172a;
    color: #fff;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.simair-related-wrapper ul.products li.product .button:hover {
    background: var(--color-magenta);
}

/* Mobile */
@media (max-width: 991px) {
    .simair-main-wrapper {
        padding-top: 65px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .simair-custom-product-grid {
        padding: 15px;
        gap: 30px;
    }

    .prod-heading {
        font-size: 2rem;
    }

    .qty-layout {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .simair-qty-control {
        width: 100%;
        justify-content: space-between;
    }

    .qty-input {
        width: 100%;
    }

    .woocommerce-Tabs-panel {
        padding: 25px;
    }

    .product-template-default .site-header {
        padding: 10px 0 !important;
    }

    .product-template-default .custom-logo {
        height: 35px !important;
    }
}


/* =========================================
   8. WOOCOMMERCE PREMIUM CART (FIXED UX)
   ========================================= */

/* Ukrycie domyÄąâ€şlnych nagÄąâ€šÄ‚Ĺ‚wkÄ‚Ĺ‚w Woo */
.woocommerce-cart .page-title,
.woocommerce-cart .entry-title {
    display: none !important;
}

/* Padding dla koszyka */
.woocommerce-cart .simair-main-wrapper {
    padding-top: 90px;
}

/* Data Table */
.simair-data-table-section h3 {
    text-align: center;
    margin-bottom: 20px;
    /* Reduced from default to close the gap */
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
}

.simair-cart-header {
    text-align: center;
    margin-bottom: 40px;
}

.simair-cart-header h1 {
    font-size: 2.5rem;
    color: var(--color-black);
    margin-bottom: 10px;
    font-weight: 800;
}

.simair-cart-header p {
    font-size: 1rem;
    color: #64748b;
    font-weight: 500;
}

@media (min-width: 992px) {
    .simair-cart-header {
        margin-bottom: 60px;
    }

    .simair-cart-header h1 {
        font-size: 3.5rem;
    }

    .simair-cart-header p {
        font-size: 1.1rem;
    }
}

/* =========================================
   8.1 WOOCOMMERCE PREMIUM THANK YOU (ORDER RECEIVED)
   ========================================= */

.simair-thankyou-wrapper {
    padding-top: 140px;
    /* Dodatkowy padding dla nagĹ‚Ăłwka */
    padding-bottom: 80px;
    max-width: 800px;
    /* ZawÄ™ĹĽenie, by podsumowanie byĹ‚o centrum uwagi */
    margin: 0 auto;
}

.simair-thankyou-success-card,
.simair-thankyou-details-card,
.simair-checkout-error-card {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
    text-align: center;
}

.thankyou-icon {
    font-size: 4rem;
    margin-bottom: 20px;
}

.woocommerce-notice--success {
    font-size: 1.8rem;
    font-family: var(--font-heading);
    color: var(--color-black);
    font-weight: 800;
    margin-bottom: 30px;
}

.woocommerce-order-overview {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
    border-top: 1px solid #e2e8f0;
    padding-top: 30px;
}

.woocommerce-order-overview li {
    flex: 1 1 45%;
    margin-bottom: 20px;
    font-size: 0.95rem;
    color: #64748b;
}

.woocommerce-order-overview li strong {
    display: block;
    font-size: 1.1rem;
    color: var(--color-black);
    font-weight: 700;
    margin-top: 5px;
}

.simair-thankyou-details-card {
    text-align: left;
}

.simair-thankyou-details-card h2,
.simair-thankyou-details-card h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    margin-bottom: 25px;
    color: var(--color-black);
    font-weight: 700;
}

.simair-thankyou-details-card .woocommerce-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.simair-thankyou-details-card .woocommerce-table th,
.simair-thankyou-details-card .woocommerce-table td {
    padding: 15px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}

.simair-thankyou-details-card .woocommerce-table th {
    font-weight: 600;
    color: #0f172a;
}

.simair-thankyou-details-card .woocommerce-table tfoot th,
.simair-thankyou-details-card .woocommerce-table tfoot td {
    font-weight: 700;
    color: var(--color-primary);
    border-bottom: none;
    border-top: 2px solid #e2e8f0;
}

@media (max-width: 768px) {
    .woocommerce-order-overview {
        flex-direction: column;
    }

    .woocommerce-order-overview li {
        flex: 1 1 100%;
    }

    .simair-thankyou-wrapper {
        padding-top: 100px;
    }
}

/* Siatka Koszyka */
.simair-cart-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    width: 100%;
}

@media (min-width: 992px) {
    .simair-cart-layout {
        grid-template-columns: 2.2fr 1fr;
        gap: 40px;
        align-items: start;
    }

    .simair-cart-summary {
        position: sticky;
        top: 140px;
    }
}

/* Karta Produktu - Mobile First */
.simair-cart-item-card {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 15px;
    background: #ffffff;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
    border: 1px solid #f1f5f9;
    margin-bottom: 20px;
    align-items: center;
    position: relative;
    transition: transform 0.3s, border-color 0.3s;
}

.simair-cart-item-card:hover {
    transform: translateY(-3px);
    border-color: var(--color-sky);
}

/* Desktop Grid Override */
@media (min-width: 768px) {
    .simair-cart-item-card {
        grid-template-columns: 110px 2.5fr 1.5fr 1fr auto;
        gap: 20px;
        padding: 25px;
    }
}

.cart-item-thumb {
    grid-row: 1 / 3;
}

.cart-item-thumb img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
    aspect-ratio: 1;
}

@media (min-width: 768px) {
    .cart-item-thumb {
        grid-row: auto;
    }
}

.cart-item-details {
    align-self: start;
}

@media (min-width: 768px) {
    .cart-item-details {
        align-self: center;
    }
}

.cart-item-details .cart-item-title a {
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--color-black);
    display: block;
    margin-bottom: 5px;
    line-height: 1.3;
}

@media (min-width: 768px) {
    .cart-item-details .cart-item-title a {
        font-size: 1.3rem;
    }
}

.cart-item-price-unit {
    color: #64748b;
    font-weight: 600;
    font-size: 0.85rem;
}

@media (min-width: 768px) {
    .cart-item-price-unit {
        font-size: 0.95rem;
    }
}

/* Kontrola IloÄąâ€şci */
.cart-item-qty {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
}

@media (min-width: 768px) {
    .cart-item-qty {
        grid-column: auto;
        grid-row: auto;
        justify-self: center;
    }
}

.simair-qty-control.small-mode {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    width: 100px;
    border-radius: 50px;
    background: #f8fafc;
    border: 2px solid #e2e8f0;
}

@media (min-width: 768px) {
    .simair-qty-control.small-mode {
        height: 46px;
        width: 115px;
    }
}

.simair-qty-control.small-mode .qty-btn {
    font-size: 18px;
    width: 30px;
    height: 100%;
    color: var(--color-steel);
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 768px) {
    .simair-qty-control.small-mode .qty-btn {
        font-size: 20px;
        width: 35px;
    }
}

.simair-qty-control.small-mode .qty-input {
    font-size: 1rem;
    width: 30px;
    font-weight: 800;
    color: var(--color-black);
    background: transparent;
    border: none;
    text-align: center;
    padding: 0;
}

@media (min-width: 768px) {
    .simair-qty-control.small-mode .qty-input {
        font-size: 1.1rem;
        width: 40px;
    }
}

/* Suma Wiersza - Mobile: Na dole, full width */
.cart-item-total {
    grid-column: 1 / -1;
    text-align: center;
    border-top: 1px dashed #f1f5f9;
    padding-top: 15px;
    margin-top: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (min-width: 768px) {
    .cart-item-total {
        grid-column: auto;
        text-align: right;
        border-top: none;
        padding-top: 0;
        margin-top: 0;
        display: block;
    }
}

.row-label {
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 800;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .row-label {
        display: block;
    }
}

.row-amount {
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--color-magenta);
}

@media (min-width: 768px) {
    .row-amount {
        font-size: 1.25rem;
    }
}

/* Usuwanie */
.cart-item-remove {
    position: absolute;
    top: 10px;
    right: 10px;
}

@media (min-width: 768px) {
    .cart-item-remove {
        position: static;
    }
}

.remove-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #fee2e2;
    color: #ef4444;
    border-radius: 50%;
    transition: 0.3s;
    text-decoration: none;
}

@media (min-width: 768px) {
    .remove-action {
        width: 38px;
        height: 38px;
    }
}

.remove-action:hover {
    background: #ef4444;
    color: #fff;
    transform: rotate(90deg);
}

.remove-action .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

/* --- Sekcja Akcji & Vouchera (FIXED PREMIUM STYLE) --- */
.simair-cart-actions {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 768px) {
    .simair-cart-actions {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
}

.cart-coupon-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

@media (min-width: 500px) {
    .cart-coupon-box {
        flex-direction: row;
    }
}

@media (min-width: 768px) {
    .cart-coupon-box {
        flex-grow: 1;
        max-width: 550px;
    }
}

.sim-input-vouch {
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    padding: 0 25px;
    height: 55px;
    font-weight: 600;
    width: 100%;
    font-family: var(--font-body);
    background: #fff;
    transition: all 0.3s;
    color: var(--color-black);
    font-size: 1rem;
}

@media (min-width: 768px) {
    .sim-input-vouch {
        height: 60px;
        flex-grow: 1;
        width: auto;
    }
}

.sim-input-vouch:focus {
    outline: none;
    border-color: var(--color-magenta);
    box-shadow: 0 8px 20px rgba(224, 10, 127, 0.1);
}

.sim-input-vouch::placeholder {
    color: #cbd5e1;
}

.sim-btn-vouch {
    background: var(--color-black);
    color: #fff;
    height: 55px;
    padding: 0 35px;
    border-radius: 50px;
    font-weight: 800;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    transition: 0.3s;
    width: 100%;
}

@media (min-width: 500px) {
    .sim-btn-vouch {
        width: auto;
    }
}

@media (min-width: 768px) {
    .sim-btn-vouch {
        height: 60px;
    }
}

.sim-btn-vouch:hover {
    background: var(--color-magenta);
    transform: translateY(-3px);
}

/* Update Cart Button (NEW) */
.sim-btn-update {
    background: #f1f5f9;
    color: #64748b;
    height: 55px;
    padding: 0 35px;
    border-radius: 50px;
    font-weight: 800;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    transition: 0.3s;
    width: 100%;
}

@media (min-width: 500px) {
    .sim-btn-update {
        width: auto;
    }
}

@media (min-width: 768px) {
    .sim-btn-update {
        height: 60px;
        margin-left: auto;
    }
}

.sim-btn-update:hover:not(:disabled) {
    background: var(--color-black);
    color: #fff;
    transform: translateY(-3px);
}

.sim-btn-update:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


.sim-btn-dark {
    background: var(--color-black);
    color: #fff;
    height: 55px;
    padding: 0 35px;
    border-radius: 50px;
    font-weight: 800;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 0.85rem;
    width: 100%;
}

.sim-btn-outline {
    background: transparent;
    color: var(--color-black);
    border: 2px solid var(--color-black);
    height: 55px;
    padding: 0 35px;
    border-radius: 50px;
    font-weight: 800;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 0.85rem;
    transition: 0.3s;
    width: 100%;
}

.sim-btn-outline:hover:not(:disabled) {
    background: var(--color-black);
    color: #fff;
}

/* Podsumowanie (Summary Card) */
.summary-card {
    background: #ffffff;
    padding: 30px 20px;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
    border: 1px solid #ffffff;
    width: 100%;
    box-sizing: border-box;
    margin-top: 20px;
}

@media (min-width: 992px) {
    .summary-card {
        padding: 40px;
        margin-top: 0;
    }
}

.summary-card h2 {
    font-size: 1.5rem;
    margin-bottom: 25px;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 15px;
    text-align: center;
}

@media (min-width: 992px) {
    .summary-card h2 {
        font-size: 1.7rem;
    }
}

/* Tabela WooCommerce Totals */
.cart_totals table.shop_table {
    width: 100% !important;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.cart_totals th {
    text-align: left;
    padding: 15px 0;
    color: #64748b;
    font-weight: 600;
    font-size: 0.9rem;
}

.cart_totals td {
    padding: 15px 0;
    font-weight: 800;
    color: var(--color-black);
    text-align: right;
}

.order-total .amount {
    color: var(--color-magenta);
    font-size: 1.1rem;
}

/* Przycisk Finalizacji (Airline CTA) */
.wc-proceed-to-checkout {
    margin-bottom: 0;
}

.wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 60px !important;
    background: var(--gradient-magenta) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-size: 1rem !important;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.4) !important;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    text-align: center;
}

@media (min-width: 992px) {
    .wc-proceed-to-checkout a.checkout-button {
        height: 65px !important;
        font-size: 1.1rem !important;
    }
}

.wc-proceed-to-checkout a.checkout-button:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(224, 10, 127, 0.6) !important;
    color: #fff !important;
}

/* Fix floating elements issues in woo */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
}

.woocommerce .site-header-bg {
    display: none;
}

.woocommerce-page h2 {
    display: none;
}


/* =========================================
   9. WOOCOMMERCE CHECKOUT (AIRLINE UX)
   ========================================= */

/* Padding gÄ‚Ĺ‚rny dla kasy */
.woocommerce-checkout .simair-main-wrapper {
    padding-top: 90px;
}

/* Ukrycie standardowych powiadomieÄąâ€ž Woo nad nagÄąâ€šÄ‚Ĺ‚wkiem */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    margin-bottom: 20px;
}

/* UkÄąâ€šad siatki Kasy */
.simair-checkout-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

@media (min-width: 992px) {
    .simair-checkout-layout {
        grid-template-columns: 1.6fr 1fr;
        align-items: start;
    }

    .simair-checkout-column-right {
        position: sticky;
        top: 120px;
    }
}

/* Karta z danymi klienta (Lewa kolumna) */
.checkout-section-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
    border: 1px solid #f1f5f9;
}

@media (min-width: 768px) {
    .checkout-section-card {
        padding: 50px;
    }
}

/* Stylizacja nagÄąâ€šÄ‚Ĺ‚wkÄ‚Ĺ‚w sekcji (Billing / Shipping) */
.checkout-section-card h3 {
    font-size: 1.5rem;
    color: var(--color-black);
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f8fafc;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Stylizacja pÄ‚Ĺ‚l formularza (Matching Vouchery) */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    border: 2px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    height: auto !important;
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
    background: #fff !important;
    transition: 0.3s ease !important;
    box-shadow: none !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--color-magenta) !important;
    outline: none !important;
    box-shadow: 0 8px 20px rgba(224, 10, 127, 0.08) !important;
}

.woocommerce-checkout .form-row label {
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    color: #475569 !important;
    font-size: 0.9rem !important;
}

/* Prawa Kolumna - Podsumowanie ("Boarding Pass") */
.checkout-summary-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
    border: 1px solid #ffffff;
    position: relative;
}

/* Dekoracja boczna a'la karta pokÄąâ€šadowa */
.checkout-summary-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--gradient-magenta);
    border-radius: 24px 0 0 24px;
}

/* Tabela Twoje ZamÄ‚Ĺ‚wienie */
.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 30px !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 15px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: transparent !important;
}

.woocommerce-checkout-review-order-table .product-name {
    font-weight: 600;
    color: var(--color-black);
    font-size: 0.95rem;
}

.woocommerce-checkout-review-order-table .product-total {
    text-align: right;
    font-weight: 800;
    color: var(--color-magenta);
}

.woocommerce-checkout-review-order-table .order-total th {
    font-size: 1.1rem;
    text-transform: uppercase;
}

.woocommerce-checkout-review-order-table .order-total td .amount {
    font-size: 1.2rem;
    color: var(--color-magenta);
}

/* Metody PÄąâ€šatnoÄąâ€şci */
#payment {
    background: #f8fafc !important;
    border-radius: 16px !important;
    padding: 20px !important;
}

#payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
}

#payment div.payment_box {
    background: #ffffff !important;
    border-radius: 12px !important;
    color: #64748b !important;
    font-size: 0.85rem !important;
    padding: 15px !important;
    margin-top: 10px !important;
}

#payment div.payment_box::before {
    display: none !important;
}

/* Przycisk KupujĂ„â„˘ i PÄąâ€šacĂ„â„˘ (CTA) */
.woocommerce-checkout #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: auto !important;
    min-height: 70px !important;
    margin-top: 30px !important;
    padding: 15px 30px !important;
    background: var(--gradient-magenta) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-size: 1.2rem !important;
    border: none !important;
    box-shadow: 0 15px 35px rgba(224, 10, 127, 0.35) !important;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    cursor: pointer !important;
    white-space: normal !important;
    text-align: center !important;
}

.woocommerce-checkout #place_order:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(224, 10, 127, 0.5) !important;
}

/* Poprawki dla pÄ‚Ĺ‚l walidacji (Error labels) */
.woocommerce-error {
    background: #fee2e2 !important;
    color: #b91c1c !important;
    border: none !important;
    border-left: 5px solid #ef4444 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .simair-cart-header h1 {
        font-size: 2.3rem;
    }

    .checkout-section-card {
        padding: 25px;
    }

    .checkout-summary-card {
        padding: 25px;
    }

    .woocommerce-checkout #place_order {
        font-size: 1.1rem;
    }
}

.woocommerce-form-coupon-toggle {
    display: none;
}

/* Oznaczenia Lokalizacji (Fleet Tags) */
.sim-location-tags {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10;
    display: flex;
    gap: 8px;
}

.loc-tag {
    padding: 5px 12px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 0.7rem;
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font-heading);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    letter-spacing: 1px;
}

.loc-tag.waw {
    background: var(--color-magenta);
}

.loc-tag.krk {
    background: var(--color-purple);
}


/* =========================================
   10. MASSIVE PREMIUM FOOTER (AIRLINE UX)
   ========================================= */

.site-footer {
    /* Gradient pionowy: jaÄąâ€şniejszy gÄ‚Ĺ‚ra, ciemny dÄ‚Ĺ‚Äąâ€š */
    background: var(--gradient-footer-dark) !important;
    padding: 100px 0 60px;
    color: #ffffff !important;
    border-top: none !important;
}

/* Nowy wrapper dla logo wewnĂ„â€¦trz kolumny */
.footer-logo-col-wrap {
    margin-bottom: 30px;
    text-align: left;
}

/* Zapewnienie biaÄąâ€šego logotypu w stopce */
.site-footer .custom-logo-link img {
    max-height: 80px;
    width: auto;
    filter: brightness(0) invert(1);
}

.footer-logo-text {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 800;
    color: #ffffff;
    text-transform: uppercase;
}

.site-footer h4 {
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-weight: 800;
    margin-bottom: 30px;
    font-size: 1.3rem;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.site-footer p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 500;
    font-family: var(--font-body);
    margin-bottom: 10px;
}

/* Linki w stopce */
.footer-links-list li {
    margin-bottom: 15px;
}

.footer-links-list a {
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 600;
    font-size: 1rem;
    transition: 0.3s ease;
}

.footer-links-list a:hover {
    color: #ffffff !important;
    padding-left: 8px;
}

/* Social Media */
.footer-social-icons {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.footer-social-icons a {
    background: rgba(255, 255, 255, 0.15);
    padding: 12px 25px;
    border-radius: 50px;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 0.9rem;
    transition: 0.3s;
}

.footer-social-icons a:hover {
    background: #ffffff;
    color: var(--color-magenta) !important;
    transform: translateY(-4px);
}

/* Copyright Area */
.copyright-area {
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 30px;
    margin-top: 80px;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.6) !important;
}

@media (max-width: 991px) {
    .site-footer {
        padding: 80px 0 40px;
    }

    .footer-logo-col-wrap {
        text-align: center;
    }

    .site-footer h4 {
        margin-top: 40px;
        text-align: center;
    }

    .site-footer p {
        text-align: center;
    }

    .footer-links-list {
        text-align: center;
    }

    .footer-social-icons {
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (min-width: 992px) {
    .footer-grid {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
        gap: 60px;
    }
}


/* =========================================
   11. WOOCOMMERCE SHOP LISTING (AIRLINE LUXURY)
   ========================================= */

.woocommerce-shop .simair-main-wrapper {
    padding-top: 140px;
    background: transparent;
}

/* UkÄąâ€šad Siatki */
ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
}

/* Karta Produktu Premium */
ul.products li.product.simair-shop-card {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.05);
    border: 1px solid #f1f5f9;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    width: calc(25% - 30px) !important;
    /* Desktop 4 kolumny */
    margin: 0 !important;
    position: relative;
    display: flex;
}

@media (max-width: 1200px) {
    ul.products li.product.simair-shop-card {
        width: calc(33.33% - 27px) !important;
    }
}

@media (max-width: 991px) {
    ul.products li.product.simair-shop-card {
        width: calc(50% - 20px) !important;
    }
}

@media (max-width: 600px) {
    ul.products li.product.simair-shop-card {
        width: 100% !important;
    }
}

.sim-card-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
    border-radius: 24px;
}

ul.products li.product:hover {
    transform: translateY(-15px);
    box-shadow: 0 30px 60px rgba(104, 33, 95, 0.12);
    border-color: var(--color-sky);
}

/* ZdjĂ„â„˘cie i Overlay */
.sim-card-image-box {
    position: relative;
    overflow: hidden;
    height: 250px;
    background: #f8fafc;
}

.sim-card-image-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.8s ease !important;
    margin: 0 !important;
}

ul.products li.product:hover .sim-card-image-box img {
    transform: scale(1.15);
}

/* Tagi lokalizacji na zdjĂ„â„˘ciu */
ul.products li.product .sim-location-tags {
    top: 15px;
    right: 15px;
    gap: 6px;
}

ul.products li.product .loc-tag {
    padding: 4px 10px;
    font-size: 0.65rem;
}

/* Body karty */
.sim-card-body {
    padding: 25px 25px 15px;
    flex-grow: 1;
    /* Popycha footer w dÄ‚Ĺ‚Äąâ€š */
    display: flex;
    flex-direction: column;
}

ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: var(--color-black) !important;
    line-height: 1.2 !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

.sim-card-meta {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--color-steel);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Footer Karty (Cena + Przycisk) */
.sim-card-footer {
    padding: 0 25px 25px;
    border-top: 1px solid #f8fafc;
    background: #fff;
}

.sim-price-wrapper {
    padding: 15px 0;
}

ul.products li.product .price {
    display: block !important;
    font-family: var(--font-heading) !important;
    color: var(--color-magenta) !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

ul.products li.product .price ins {
    text-decoration: none;
}

ul.products li.product .price del {
    font-size: 1rem;
    opacity: 0.4;
    margin-right: 8px;
    font-weight: 500;
}

/* Przycisk CTA z IkonĂ„â€¦ */
ul.products li.product .button {
    width: 100% !important;
    height: 55px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--color-black) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    transition: all 0.4s !important;
    border: none !important;
    margin: 0 !important;
}

/* Ikona Koszyka w przycisku */
ul.products li.product .button::before {
    content: "\f174";
    /* Dashicon Cart */
    font-family: dashicons;
    margin-right: 10px;
    font-size: 1.1rem;
    font-weight: 400;
}

ul.products li.product .button:hover {
    background: var(--gradient-magenta) !important;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.3) !important;
    transform: scale(1.03);
}

/* Badge Promocji */
ul.products li.product .onsale {
    top: 15px;
    left: 15px;
    background: var(--gradient-magenta);
    padding: 6px 14px;
    font-size: 0.75rem;
    font-weight: 800;
    border-radius: 50px;
}

/* =========================================
   XX. SINGLE PRODUCT OVERHAUL (PREMIUM TECH)
   ========================================= */

/* 1. Remove standard gaps/borders if needed */
.woocommerce div.product {
    padding-top: 20px;
}

/* 2. Breadcrumbs (Okruszki) */
.simair-breadcrumbs {
    font-size: 0.85rem;
    color: var(--color-text);
    opacity: 0.7;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.simair-breadcrumbs a {
    color: var(--color-text);
    transition: color 0.3s;
}

.simair-breadcrumbs a:hover {
    color: var(--color-magenta);
}

.simair-crumb-sep {
    margin: 0 8px;
    color: var(--color-magenta);
}

/* 3. Product Title & Price */
.woocommerce div.product .product_title,
.simair-col-info .prod-heading {
    font-family: var(--font-heading);
    /* Outfit */
    font-weight: 800 !important;
    font-size: 2.5rem;
    margin-bottom: 10px;
    color: var(--color-black);
    line-height: 1.1;
}

.woocommerce div.product p.price,
.simair-col-info .prod-price-tag span {
    font-size: 1.8rem;
    color: var(--color-magenta);
    font-weight: 700;
    margin-bottom: 20px;
    display: block;
}

/* 4. Add to Cart Form (Flex Layout) */
.simair-custom-cart-form {
    display: flex !important;
    align-items: center;
    gap: 10px;
    /* Space between qty and button */
    flex-wrap: nowrap;
    /* Force inline */
    margin-bottom: 30px;
}

.qty-layout {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
}

/* Quantity input wrapper override */
.simair-qty-control {
    display: flex;
    align-items: center;
    background: #f1f5f9;
    border-radius: 8px;
    padding: 2px;
    border: 1px solid #cbd5e1;
    height: 50px;
    /* Match button height */
}

.simair-qty-control .qty-input {
    width: 50px;
    height: 100%;
    background: transparent;
    border: none;
    text-align: center;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--color-black);
    box-shadow: none !important;
    padding: 0;
}

.simair-qty-control .qty-btn {
    background: #fff;
    border: none;
    width: 30px;
    height: 100%;
    font-weight: 700;
    font-size: 1.2rem;
    color: var(--color-text);
    cursor: pointer;
    border-radius: 6px;
    transition: 0.2s;
}

.simair-qty-control .qty-btn:hover {
    background: var(--color-magenta);
    color: #fff;
}

/* Add to Cart Button Styling */
.simair-buy-btn {
    height: 50px;
    padding: 0 30px;
    margin-left: 0 !important;
    /* Reset default margins */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--gradient-magenta);
    color: #fff;
    border-radius: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px rgba(224, 10, 127, 0.3);
    flex-grow: 1;
    /* Expand on mobile */
    max-width: 400px;
    /* But don't go too crazy */
    border: none;
}

.simair-buy-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(224, 10, 127, 0.5);
    background: var(--gradient-magenta);
    /* Keep gradient */
    filter: brightness(1.1);
}

/* Icon in button */
.btn-cart-icon {
    margin-top: -2px;
    /* Slight alignment fix */
}

/* 5. Product Highlights (Cechy) */
.simair-product-highlights {
    margin-top: 30px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
}

.simair-highlight-item {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.simair-highlight-item:last-child {
    margin-bottom: 0;
}

.simair-highlight-item .sh-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(224, 10, 127, 0.1);
    color: var(--color-magenta);
    border-radius: 50%;
    flex-shrink: 0;
}

.simair-highlight-item .sh-text {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--color-black);
    line-height: 1.4;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .qty-layout {
        flex-direction: row;
        /* Keep row for button + qty */
        width: 100%;
    }

    .simair-buy-btn {
        width: auto;
        flex-grow: 1;
        font-size: 0.9rem;
        /* Slightly smaller text if needed */
        padding: 0 15px;
    }

    .simair-qty-control {
        min-width: 110px;
        /* Ensure space for controls */
    }
}

/* =========================================
   XX. FINAL FIXES (USER REQUEST)
   ========================================= */

/* OKRUSZKI: StrzaÄąâ€ški i Spacing */
.simair-breadcrumbs .simair-crumb-sep i {
    font-size: 0.8rem;
    line-height: 1;
    margin: 0 4px;
    /* Tighter spacing */
    vertical-align: middle;
    color: var(--color-magenta);
}

.simair-breadcrumbs {
    letter-spacing: 0px !important;
    /* Fix "rozstrzelone" */
    font-size: 0.8rem;
    font-weight: 500;
}

.simair-breadcrumbs a {
    text-decoration: none !important;
    /* Clean link */
    color: #475569;
    /* Slate 600 - distinct from black */
    transition: color 0.2s;
}

.simair-breadcrumbs a:hover {
    color: var(--color-magenta);
}

/* CENY: Fix - More Breathing Room */
.prod-price-tag,
.woocommerce div.product p.price {
    display: flex !important;
    align-items: center !important;
    /* Center vertically better */
    gap: 20px !important;
    /* Bigger gap */
    flex-wrap: wrap;
    color: var(--color-magenta) !important;
    line-height: 1.3;
    margin-bottom: 24px;
}

.prod-price-tag ins,
.woocommerce div.product p.price ins,
.prod-price-tag ins span,
.woocommerce div.product p.price ins span {
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
    /* Slightly bigger */
    color: var(--color-magenta) !important;
    background: transparent !important;
}

.prod-price-tag del,
.woocommerce div.product p.price del,
.prod-price-tag del span,
.woocommerce div.product p.price del span {
    color: #94a3b8 !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    opacity: 0.8;
    text-decoration: line-through;
    display: inline-block;
    padding-top: 4px;
    /* Align visually with big price */
}

/* GALLERY BADGE - Premium Style */
.simair-gallery-badge .onsale {
    background: linear-gradient(135deg, #e00a7f 0%, #db2777 100%) !important;
    color: #fff !important;
    padding: 8px 16px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px;
    border-radius: 6px !important;
    box-shadow: 0 4px 15px rgba(224, 10, 127, 0.4) !important;
    text-transform: uppercase;
    top: 20px;
    left: 20px;
    position: absolute;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
    z-index: 20;
}

/* =========================================
   XX. FINAL FIXES V3 (NOTICES & PRICES)
   ========================================= */

/* MESSAGE AREA (Notices) */
.simair-notices-area {
    margin-bottom: 20px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: #1e293b !important;
    color: #fff !important;
    border-top: 3px solid var(--color-magenta) !important;
    border-radius: 8px;
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 0.9rem;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    margin-left: auto;
    border-radius: 4px;
}

.woocommerce-message a.button:hover {
    background: var(--color-magenta) !important;
    border-color: var(--color-magenta) !important;
}

/* PRICES FIX (No Squeeze) */
.prod-price-tag,
.woocommerce div.product p.price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 15px !important;
    color: var(--color-magenta) !important;
    line-height: 1.2;
    margin-bottom: 24px;
    width: 100%;
}

.prod-price-tag ins,
.woocommerce div.product p.price ins,
p.price ins span {
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 2.2rem !important;
    color: var(--color-magenta) !important;
    background: transparent !important;
    order: 2;
    margin-left: 0 !important;
}

.prod-price-tag del,
.woocommerce div.product p.price del,
p.price del span {
    color: #0f172a !important;
    /* Almost Black */
    font-size: 1.5rem !important;
    /* Even Larger */
    font-weight: 700 !important;
    /* Extra Bold */
    opacity: 1 !important;
    /* Full 100% opacity */
    text-decoration: line-through;
    text-decoration-color: var(--color-magenta) !important;
    /* Pink strikethrough */
    text-decoration-thickness: 2px;
    order: 1;
    margin-right: 15px;
}

/* OKRUSZKI FIX */
.simair-breadcrumbs .simair-crumb-sep i {
    font-size: 0.8rem;
    margin: 0 6px;
    color: var(--color-magenta);
}

.simair-breadcrumbs {
    letter-spacing: 0px !important;
    font-size: 0.8rem;
    font-weight: 500;
}

/* HIDE DEFAULT LIGHTBOX TRIGGER (Magnifying Glass) */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

/* CURRENCY FIX - STRICT */
.woocommerce-Price-currencySymbol {
    display: inline-block !important;
    /* Try inline-block for transform stability, or check inline */
    display: inline !important;
    font-weight: normal !important;
    vertical-align: baseline !important;
    margin-left: 4px;
}

.price,
.amount {
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: baseline !important;
}

/* ENSURE MAIN IMAGE FILLS */
.woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* NUCLEAR PRICE FIX - FINAL FORCE */
.prod-price-tag del,
.woocommerce div.product p.price del,
p.price del span {
    color: #0f172a !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    text-decoration: line-through !important;
    text-decoration-color: #E00A7F !important;
    text-decoration-thickness: 3px !important;
    order: 1 !important;
    margin-right: 15px !important;
}



/* --- MANUAL GALLERY FIX (NUCLEAR OPTION) --- */
.simair-product-gallery-manual {
    position: relative;
    opacity: 1 !important;
    display: block;
}

.simair-product-gallery-manual .woocommerce-product-gallery__wrapper {
    margin: 0;
    padding: 0;
}

.simair-product-gallery-manual img {
    display: block;
    height: auto;
    width: 100%;
}

/* Custom Lightbox Overlay */
#simair-custom-lightbox {
    animation: fadeIn 0.2s ease-out;
    touch-action: none;
    /* Prevent browser zoom/scroll handling */
}

/* --- Manual Lightbox UI --- */
.simair-lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    z-index: 1000010;
    /* Higher than thumbs (1000002) */
    line-height: 1;
}

.simair-lightbox-prev,
.simair-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    border: none;
    color: #fff;
    font-size: 30px;
    padding: 10px 15px;
    cursor: pointer;
    z-index: 1000001;
    border-radius: 5px;
    transition: background 0.3s;
}

.simair-lightbox-prev:hover,
.simair-lightbox-next:hover {
    background: rgba(224, 10, 127, 0.8);
    /* Magenta Simair */
}

.simair-lightbox-prev {
    left: 20px;
}

.simair-lightbox-next {
    right: 20px;
}

.simair-lightbox-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #E00A7F;
    animation: spin 1s ease-in-out infinite;
    position: absolute;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Lightbox Thumbs */
.simair-lightbox-thumbs {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 1000002;
    background: rgba(0, 0, 0, 0.5);
    padding: 10px;
    border-radius: 10px;
    max-width: 90vw;
    overflow-x: auto;
}

.simair-lightbox-thumb {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    opacity: 0.6;
    transition: 0.2s;
    border-radius: 4px;
}

.simair-lightbox-thumb.active,
.simair-lightbox-thumb:hover {
    border-color: #E00A7F;
    opacity: 1;
}

/* --- FINAL UI REFINEMENTS (Mobile & Fonts) --- */

/* 1. Bold Currency Symbol */
.woocommerce-Price-currencySymbol {
    font-weight: 800 !important;
}

/* 2. Mobile Fixes */
@media (max-width: 768px) {

    /* Lightbox Thumbs - Full Strip */
    .simair-lightbox-thumbs {
        width: 100%;
        max-width: 100%;
        bottom: auto;
        /* Reset bottom */
        top: 0;
        /* Move to TOP */
        left: 0;
        transform: none;
        border-radius: 0;
        padding: 15px 10px;
        padding-right: 70px;
        /* Ensure Close Button (Top Right) doesn't cover last thumb */
        background: rgba(0, 0, 0, 0.85);
        justify-content: flex-start;
        /* Show scroll from start */
        gap: 8px;
    }

    .simair-lightbox-thumb {
        width: 55px;
        height: 55px;
        flex-shrink: 0;
        /* Never shrink */
    }

    /* Qty Control - Compact */
    .simair-qty-control {
        min-width: 0 !important;
        width: auto !important;
        flex: 0 0 auto !important;
        gap: 0;
        /* Remove gap between elements */
    }

    .simair-qty-control .qty-input {
        width: 35px !important;
        font-size: 1rem !important;
        padding: 0 !important;
    }

    .simair-qty-control .qty-btn {
        width: 30px !important;
        font-size: 1rem !important;
    }
}

/* =========================================
   XX. RELATED PRODUCTS STYLING
   ========================================= */

.simair-related-wrapper {
    margin-top: 80px;
    padding-top: 50px;
    border-top: 1px solid #e2e8f0;
}

.simair-related-heading {
    text-align: center;
    font-family: var(--font-heading, sans-serif);
    font-weight: 800;
    font-size: 2rem;
    color: #000000 !important;
    /* Force black */
    margin-bottom: 40px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block !important;
    visibility: visible !important;
    position: relative;
    z-index: 10;
}

/* Ensure grid matches main loop */
.simair-related-wrapper ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
}

.simair-related-wrapper ul.products li.product.simair-shop-card {
    width: 100% !important;
    /* Override flex-based width from main shop */
    margin: 0 !important;
}

.simair-related-wrapper ul.products::before,
.simair-related-wrapper ul.products::after {
    display: none !important;
    /* Fix for some flex/float clearfixes */
}

@media (max-width: 1200px) {
    .simair-related-wrapper ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 992px) {
    .simair-related-wrapper ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    .simair-related-wrapper ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================
   XX. VOUCHER WIDGET & LOCATION TILES
   ========================================= */

/* =========================================
   XX. VOUCHER WIDGET & LOCATION TILES
   ========================================= */

/* Fix Layout: Kontener - jeszcze niÄąÄ˝szy max-height */
.voucher-msg-area {
    margin-top: 15px;
    display: none;
    max-height: 180px;
    /* Jeszcze mniej miejsca w pionie */
    overflow-y: auto;
    padding-right: 5px;
    border-top: 1px solid #f1f5f9;
    padding-top: 10px;
}

/* Custom Scrollbar */
.voucher-msg-area::-webkit-scrollbar {
    width: 4px;
}

.voucher-msg-area::-webkit-scrollbar-track {
    background: #f1f5f9;
}

.voucher-msg-area::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.voucher-msg-area::-webkit-scrollbar-thumb:hover {
    background: var(--color-sky);
}

.voucher-alert {
    padding: 10px;
    /* Minimalny padding */
    border-radius: 8px;
    font-size: 0.85rem;
    line-height: 1.3;
    text-align: left;
    margin-bottom: 5px;
    border-left: 4px solid transparent;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.voucher-alert.error {
    background: #fee2e2;
    border-left-color: #ef4444;
    color: #b91c1c;
}

.voucher-alert.success {
    background: #dcfce7;
    border-left-color: #22c55e;
    color: #15803d;
}

.voucher-alert.warning {
    background: #fef9c3;
    border-left-color: #eab308;
    color: #a16207;
}

.voucher-alert.info {
    background: #ffffff;
    border-left-color: #e2e8f0;
    color: #334155;
}

/* --- TWO COLUMN LAYOUT (MODIFIED PROPORTIONS) --- */
.voucher-result-wrapper {
    display: flex;
    align-items: center;
    /* WyÄąâ€şrodkowanie w pionie */
    gap: 15px;
    justify-content: space-between;
}

.voucher-text-col {
    flex: 0 0 42%;
    /* Szersza kolumna tekstowa (zwiĂ„â„˘kszono z 38%) */
    min-width: 160px;
    font-size: 0.8rem;
}

.voucher-grid-col {
    flex: 1;
    /* Prawa strona zajmuje wiĂ„â„˘kszoÄąâ€şĂ„â€ˇ miejsca */
}

.voucher-alert strong {
    display: block;
    margin-bottom: 3px;
    font-weight: 700;
    font-size: 0.9rem;
}

.voucher-alert p {
    margin: 0;
    font-size: 0.8rem;
}

.contact-hint {
    margin-top: 5px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

/* --- LOCATION GRID --- */
.voucher-loc-grid {
    display: grid;
    /* Desktop: Dwie szerokie kolumny obok siebie */
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

/* --- MOBILE RESPONSIVENESS (< 768px) --- */
@media (max-width: 767px) {
    .voucher-result-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .voucher-text-col {
        flex: auto;
        min-width: 0;
        width: 100%;
        text-align: center;
    }

    .voucher-grid-col {
        flex: auto;
        width: 100%;
    }

    .voucher-loc-grid {
        grid-template-columns: 1fr !important;
    }

    .v-loc-card {
        padding: 8px;
    }

    .v-loc-contacts {
        justify-content: center;
    }
}

.v-loc-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.v-loc-card:hover {
    border-color: var(--color-sky);
    box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.1);
}

.v-loc-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--color-sky);
    transition: width 0.3s;
}

.v-loc-card:hover::before {
    width: 3px;
}

.v-loc-name {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.8rem;
    color: var(--color-black);
    margin-bottom: 2px;
    /* Minimalny odstĂ„â„˘p */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    /* Nazwa w jednej linii */
}

/* Compact Contacts Line */
.v-loc-contacts {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: var(--color-text);
    line-height: 1.2;
}

.v-loc-link-clean {
    color: var(--color-text);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
    border-bottom: 1px dashed #cbd5e1;
    /* Subtelne podkreÄąâ€şlenie */
}

.v-loc-link-clean:hover {
    color: var(--color-magenta);
    border-bottom-color: var(--color-magenta);
}

.v-sep {
    margin: 0 6px;
    color: #cbd5e1;
}

/* Clear Button in Input */
#voucher-clear-btn {
    transition: color 0.2s;
}

#voucher-clear-btn:hover {
    color: var(--color-magenta) !important;
}

/* Simair Booking Action Button */
.btn-simair-book {
    background: var(--gradient-sky);
    /* Zmieniono z --gradient-magenta na --gradient-sky */
    border: none;
    box-shadow: 0 4px 15px rgba(23, 179, 220, 0.3);
    /* CieÄąâ€ž pod kolor niebieski */
    white-space: nowrap;
    transition: all 0.3s ease;
}

.btn-simair-book:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(23, 179, 220, 0.5);
    background: var(--gradient-sky) !important;
    /* Wymuszenie niebieskiego */
    filter: brightness(1.1);
    /* Subtelne rozjaÄąâ€şnienie zamiast zmiany koloru */
}

@media (max-width: 767px) {
    .btn-simair-book {
        width: 100% !important;
        /* Na mobile przycisk na caÄąâ€šĂ„â€¦ szerokoÄąâ€şĂ„â€ˇ */
        margin-top: 5px;
    }

    /* Fix clipping on Mobile: Increase max-height for stacked tiles */
    .voucher-msg-area {
        max-height: 450px;
    }
}

/* =========================================
   LAYOUT V4: "COMPACT GALLERY & NATIVE SHOP" 
   ========================================= */

/* --- GALLERY COMPACT (4 cols) --- */
.sim-gallery-squares-compact {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* 4 cols = smaller items */
    gap: 15px;
}

.sq-item-compact {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
}

.sq-item-compact img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.sq-item-compact:hover img {
    transform: scale(1.1);
}

.sq-overlay-mini {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.sq-item-compact:hover .sq-overlay-mini {
    opacity: 1;
}

.sq-overlay-mini i {
    color: #fff;
    font-size: 1.5rem;
}

/* --- SPECS 4-COL (Existing, tweaked spacing) --- */
.sim-specs-panel {
    border-top: 1px solid #e2e8f0;
    padding-top: 25px;
    margin-top: 30px;
}

.specs-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.spec-item {
    display: flex;
    flex-direction: column;
}

.sp-lbl {
    font-size: 0.75rem;
    color: #94a3b8;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.sp-val {
    font-weight: 700;
    font-size: 1rem;
    color: #0f172a;
}

/* --- LOKALE (2-COL FIX) & BUTTONS --- */
.sim-loc-square {
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    padding: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
}

.sim-loc-square:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
    border-color: var(--color-sky);
}

.loc-header-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 15px;
}

.lh-icon i {
    font-size: 2rem;
    color: var(--color-sky);
}

.lh-text h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
}

.lh-text small {
    color: #64748b;
    font-size: 0.85rem;
}

.loc-body-compact {
    flex: 1;
    /* Pushes actions down */
    font-size: 0.9rem;
    color: #334155;
    margin-bottom: 20px;
}

.loc-body-compact div {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.loc-body-compact i {
    color: #94a3b8;
}

.loc-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Fix for shop-slide-btn inside card */
.btn-loc-fix.shop-slide-btn {
    flex: 1;
    text-align: center;
    justify-content: center;
    font-size: 0.8rem !important;
    padding: 10px 15px !important;
    white-space: nowrap;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center;
}

.btn-secondary-style {
    background: transparent !important;
    border: 1px solid var(--color-sky) !important;
    color: var(--color-sky) !important;
}

.btn-secondary-style:hover {
    background: var(--color-sky) !important;
    color: #fff !important;
}

/* --- LIGHTBOX V2 (Existing) --- */
.sim-lightbox-v2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.sim-lightbox-v2.active {
    opacity: 1;
    pointer-events: auto;
}

.lb-stage {
    max-width: 90vw;
    max-height: 85vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lb-img {
    max-width: 100%;
    max-height: 85vh;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    transition: opacity 0.3s;
    user-select: none;
}

.lb-controls button {
    position: absolute;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #fff;
    font-size: 2rem;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100001;
}

.lb-controls button:hover {
    background: rgba(255, 255, 255, 0.3);
}

.lb-close {
    top: 20px;
    right: 20px;
}

.lb-nav {
    top: 50%;
    transform: translateY(-50%);
}

.lb-prev {
    left: 20px;
}

.lb-next {
    right: 20px;
}

.lb-loader {
    position: absolute;
    color: #fff;
    display: none;
}


/* MOBILE RESPONSIVE adjustments */
@media (max-width: 992px) {
    .specs-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sim-gallery-squares-compact {
        grid-template-columns: repeat(3, 1fr);
        /* 3 cols on mobile */
    }

    .lb-nav {
        display: none;
    }

    .loc-actions {
        flex-direction: column;
    }

    .btn-loc-fix.shop-slide-btn {
        width: 100%;
    }
}



/* =========================================
   LAYOUT V3: "HUD & MOSAIC" 
   ========================================= */

/* --- GALLERY V2 --- */
.sim-gallery-grid-v2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 350px 200px;
    /* Taller main image */
    gap: 15px;
}

.sg-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    display: block;
}

.sg-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* First item spans full width or logic to control layout */
.sg-item.main-img {
    grid-column: 1 / -1;
    grid-row: 1;
}

.sg-item.sub-img {
    grid-row: 2;
}

.sg-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 2;
}

.sg-overlay i {
    color: #fff;
    font-size: 2rem;
    background: rgba(0, 0, 0, 0.5);
    padding: 10px;
    border-radius: 50%;
}

.sg-item:hover .sg-overlay {
    opacity: 1;
}

.sg-item:hover img {
    transform: scale(1.05);
}


/* --- SPECS HUD --- */
.sim-specs-hud {
    background: #0f172a;
    /* Dark Slate */
    border-left: 4px solid var(--color-magenta);
    padding: 25px;
    border-radius: 0 8px 8px 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    color: #fff;
    margin-top: 30px;
}

.hud-title {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
}

.hud-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 columns inside HUD */
    gap: 15px 30px;
}

.hud-item {
    display: flex;
    flex-direction: column;
}

.hud-lbl {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
}

.hud-val {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-sky);
    font-family: var(--font-heading);
}

/* --- LOCATION PILLS --- */
.sim-loc-pill {
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 15px 20px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s;
}

.sim-loc-pill:hover {
    border-color: var(--color-sky);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.sim-loc-pill i {
    font-size: 1.5rem;
    color: var(--color-sky);
}

.pill-info {
    flex: 1;
    line-height: 1.2;
}

.pill-info h5 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.pill-info small {
    color: #64748b;
}

.pill-btn {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-sky);
    text-decoration: none;
    border: 1px solid var(--color-sky);
    padding: 5px 12px;
    border-radius: 20px;
    transition: all 0.2s;
}

.pill-btn:hover {
    background: var(--color-sky);
    color: #fff;
}


/* --- LIGHTBOX OVERLAY --- */
.sim-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.sim-lightbox-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.sim-lb-content {
    max-width: 90%;
    max-height: 90%;
}

.sim-lb-img {
    max-width: 100%;
    max-height: 90vh;
    /* Viewport height limit */
    border-radius: 4px;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
}

.sim-close {
    position: absolute;
    top: 20px;
    right: 30px;
    background: none;
    border: none;
    color: #fff;
    font-size: 3rem;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}

/* --- MOBILE ADJ --- */
@media (max-width: 768px) {
    .sim-gallery-grid-v2 {
        grid-template-rows: 250px 150px;
    }

    .hud-grid {
        grid-template-columns: 1fr;
    }

    .sim-loc-pill {
        flex-direction: column;
        text-align: center;
        border-radius: 12px;
        padding: 20px;
    }
}


/* =========================================
   XX. SIMULATOR "SALES PAGE" PREMIUM STYLES
   ========================================= */

/* HERO LOCATION BADGE */
.sim-hero-avail {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 8px 16px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    margin-bottom: 20px;
    color: #fff;
    font-size: 0.9rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.sim-hero-avail .sha-icon i {
    color: var(--color-sky);
    font-size: 1.2rem;
    margin-right: 8px;
    vertical-align: middle;
}

.sim-hero-avail strong {
    color: var(--color-sky);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: 5px;
}

/* PREMIUM GALLERY GRID (MOSAIC) */
.sim-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 300px 300px;
    gap: 15px;
}

.sim-g-item {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.sim-g-item.sim-g-big {
    grid-column: 1 / span 2;
    /* Full width top */
    grid-row: 1;
}

.sim-g-item.sim-g-small {
    height: 100%;
    /* Fill assigned grid cell */
}

/* Overlay & Icon */
.sim-g-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s;
}

.sim-g-link {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    color: #fff;
    font-size: 3rem;
    opacity: 0;
    transition: all 0.3s;
    z-index: 2;
    text-decoration: none !important;
}

.sim-g-item:hover {
    transform: translateY(-5px);
}

.sim-g-item:hover::before {
    opacity: 1;
}

.sim-g-item:hover .sim-g-link {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}


/* TECH SPECS (DARK MODE) */
.bg-tech {
    background: #0f172a;
    /* Slate 900 */
    position: relative;
    overflow: hidden;
}

.bg-tech::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: radial-gradient(circle at 10% 20%, rgba(23, 179, 220, 0.1) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(224, 10, 127, 0.1) 0%, transparent 40%);
    pointer-events: none;
}

.sim-specs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.sim-spec-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 8px;
    transition: background 0.3s;
}

.sim-spec-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}

.ss-label {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 5px;
}

.ss-val {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-sky);
    font-family: var(--font-heading);
}

/* PREMIUM PRODUCT CARD */
.sim-product-card-premium {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s, box-shadow 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.1);
    /* Subtle outline */
}

.sim-product-card-premium:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

.sp-img-header {
    height: 180px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.sp-img-header.no-img {
    background: linear-gradient(135deg, #1e293b, #0f172a);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sp-img-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

.sp-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--gradient-magenta);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    box-shadow: 0 2px 10px rgba(224, 10, 127, 0.4);
    z-index: 2;
}

.sim-product-card-premium .sp-body {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    color: #0f172a;
}

.sim-product-card-premium .sp-title {
    font-size: 1.3rem;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.2;
}

.sp-price-row {
    margin-top: auto;
}

.sp-price-val {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--color-magenta);
}

.sim-product-card-premium .sp-footer {
    padding: 20px 25px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.btn-simair-book-premium {
    background: var(--gradient-sky);
    color: #fff !important;
    border: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(23, 179, 220, 0.3);
    transition: all 0.3s;
}

.btn-simair-book-premium:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(23, 179, 220, 0.5);
    filter: brightness(1.1);
}


/* LOCATION CARD PREMIUM */
.sim-loc-card-premium {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
    height: 100%;
    transition: all 0.3s;
}

.sim-loc-card-premium:hover {
    border-color: var(--color-sky);
    transform: translateY(-5px);
}

/* Data Table - GAP FIX */
.simair-data-table-section h3 {
    text-align: center;
    margin-bottom: 5px !important;
    /* Force small gap */
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
}

.sim-data-table-wrapper {
    margin-top: 0 !important;
    padding-top: 15px !important;
    /* Reduce top padding */
}

/* Large Icon styling - PREMIUM FIX REMOVED (Consolidated at end of file) */


.sim-icon-box:hover i {
    transform: scale(1.15) rotate(5deg) !important;
}

.sim-icon-box h4 {
    font-family: var(--font-heading) !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    margin-bottom: 15px !important;
    color: var(--color-black) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sim-icon-box p {
    font-size: 1rem !important;
    color: var(--color-steel) !important;
    line-height: 1.6 !important;
    margin: 0;
}

.slc-icon {
    font-size: 2.5rem;
    color: var(--color-sky);
    margin-bottom: 15px;
}

.slc-city {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.slc-address {
    color: #64748b;
    margin-bottom: 20px;
    min-height: 48px;
    /* Alignment */
}

.slc-btn {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid var(--color-sky);
    color: var(--color-sky);
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s;
    text-decoration: none;
}

.slc-btn:hover {
    background: var(--color-sky);
    color: #fff;
}


/* MOBILE MEDIA QUERIES */
@media (max-width: 992px) {
    .sim-gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .sim-g-item.sim-g-big {
        grid-column: auto;
        height: 250px;
    }

    .sim-g-item.sim-g-small {
        height: 200px;
    }

    .sim-specs-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   FIX ROUND 2: SIMULATOR PAGE VISUAL OVERHAUL 
   (New Layout, Gallery 4-col, Locations, Products)
   ========================================= */

/* 1. COMPACT SPACING */
.sim-simulator-page section.section-padding {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.sim-simulator-page section.sim-hero {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. SPECS GRID (IN 40% COLUMN) */
.specs-grid-2-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    background: #f8fafc;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    height: 100%;
    /* Fill column height */
    align-content: start;
}

.spec-item {
    display: flex;
    flex-direction: column;
}

.sp-lbl {
    font-size: 0.75rem;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 2px;
}

.sp-val {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-black);
    line-height: 1.3;
}

/* 3. GALLERY (4 COLUMNS FULL WIDTH) */
.sim-gallery-squares-4col {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 15px;
}

.sim-col-50 .sim-gallery-squares-4col {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.sim-col-33 .sim-gallery-squares-4col,
.sim-col-25 .sim-gallery-squares-4col {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.sq-item-compact {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.sq-item-compact img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}

.sq-item-compact:hover img {
    transform: scale(1.05);
}

/* 4. LOCATIONS (TILES WITH GAP) */
/* Bootstrap gx-5 gy-4 handles the gap, we just style the tile */
.sim-loc-square {
    height: 100%;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 30px;
    border-radius: 16px;
    /* Larger radius */
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

.sim-loc-square:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    border-color: var(--color-sky);
    transform: translateY(-4px);
}

.loc-header-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
}

.lh-icon {
    font-size: 1.8rem;
    /* Bigger icon */
    color: var(--color-magenta);
    background: rgba(224, 10, 127, 0.1);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.lh-text h4 {
    margin-bottom: 5px;
    font-size: 1.3rem;
}

.loc-body-compact div {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    color: #334155;
    font-weight: 500;
}

.loc-actions {
    margin-top: auto;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-loc-fix {
    padding: 10px 20px !important;
    font-size: 0.85rem !important;
    border-radius: 50px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

/* 5. PRODUCT CARDS (SHOP LOOK REPLICATION) */
.simair-shop-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 cards per row default */
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.simair-shop-grid .product {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 25px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.simair-shop-grid .product:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    /* Premium shadow */
    transform: translateY(-5px);
    border-color: #cbd5e1;
}

.simair-shop-grid .product img {
    margin: 0 auto 20px;
    height: 180px;
    /* Fixed height for uniformity */
    object-fit: contain;
    width: 100%;
    transition: 0.4s;
}

.simair-shop-grid .product:hover img {
    transform: scale(1.05);
}

.simair-shop-grid .woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    color: var(--color-black) !important;
    line-height: 1.3 !important;
}

.simair-shop-grid .price {
    margin-bottom: 20px !important;
    display: block !important;
    font-size: 1.25rem !important;
    color: var(--color-magenta) !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px;
}

.simair-shop-grid .price del {
    opacity: 0.4;
    font-weight: 500;
    margin-right: 8px;
    font-size: 0.8em;
    color: #94a3b8;
}

body .woocommerce ul.products.simair-shop-grid li.product .button,
ul.products.simair-shop-grid li.product .button {
    margin-top: auto;
    width: 100%;
    border-radius: 50px;
    background: #0f172a;
    color: #fff;
    padding: 10px 5px !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem !important;
    letter-spacing: 0.5px;
    transition: 0.3s;
    border: none;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.2);
    white-space: normal !important;
    line-height: 1.2 !important;
    text-align: center;
    word-break: break-word;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    gap: 4px;
}

body .woocommerce ul.products.simair-shop-grid li.product .button:hover,
ul.products.simair-shop-grid li.product .button:hover {
    background: var(--color-magenta);
    box-shadow: 0 8px 20px rgba(224, 10, 127, 0.4);
    transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .sim-gallery-squares-4col {
        grid-template-columns: repeat(2, 1fr);
        /* 2 Cols on Tablet */
    }

    .specs-grid-2-col {
        height: auto;
    }

    .simair-shop-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .simair-shop-grid {
        grid-template-columns: 1fr;
        /* 1 col mobile */
    }

    .sim-gallery-squares-4col {
        grid-template-columns: repeat(2, 1fr);
        /* Still 2 on mobile looks better than 1 big block */
        gap: 8px;
    }
}


/* =========================================
   FIX: SIMULATOR PAGE VISUAL OVERHAUL 
   (Spacing, Specs, Locations, Products)
   ========================================= */

/* 1. REDUCE SPACING */
.sim-simulator-page section.section-padding {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.sim-simulator-page section.sim-hero {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. TECHNICAL SPECS (GRID) */
.specs-grid-4 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    background: #f8fafc;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

@media (min-width: 992px) {
    .specs-grid-4 {
        grid-template-columns: repeat(2, 1fr);
        /* Keep 2 cols on desktop for better readability in 50% width */
    }
}

.spec-item {
    display: flex;
    flex-direction: column;
}

.sp-lbl {
    font-size: 0.8rem;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 2px;
}

.sp-val {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-black);
}

/* 3. LOCATIONS (TILES 50/50) */
/* Force flex behavior if bootstrap fails or custom overrides exist */
.sim-locations .row {
    display: flex;
    flex-wrap: wrap;
}

.sim-loc-square {
    height: 100%;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 25px;
    border-radius: 12px;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
}

.sim-loc-square:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-color: var(--color-sky);
    transform: translateY(-2px);
}

.loc-header-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
}

.lh-icon {
    font-size: 1.5rem;
    color: var(--color-magenta);
}

.lh-text h4 {
    margin-bottom: 5px;
    font-size: 1.2rem;
}

.loc-body-compact div {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.95rem;
    color: #334155;
    font-weight: 500;
}

.loc-body-compact i {
    color: var(--color-sky);
}

.loc-actions {
    margin-top: auto;
    /* Push buttons to bottom */
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-loc-fix {
    padding: 10px 20px !important;
    font-size: 0.85rem !important;
    width: auto !important;
}

.btn-secondary-style {
    background: transparent !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    box-shadow: none !important;
}

.btn-secondary-style:hover {
    color: var(--color-sky) !important;
    border-color: var(--color-sky) !important;
    background: #f8fafc !important;
}

/* 4. PRODUCT CARDS (CONSISTENCY FIX) */
.simair-shop-grid .product {
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.01);
}

.simair-shop-grid .product:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
    transform: translateY(-3px);
    border-color: #e2e8f0;
}

.simair-shop-grid .product img {
    margin: 0 auto 15px;
    max-height: 200px;
    object-fit: contain;
    width: auto;
}

.simair-shop-grid .woocommerce-loop-product__title {
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    color: var(--color-black) !important;
    font-family: var(--font-heading) !important;
}

.simair-shop-grid .price {
    margin-bottom: 15px !important;
    display: block !important;
    font-size: 1.1rem !important;
    color: var(--color-magenta) !important;
    font-weight: 700 !important;
}

.simair-shop-grid .price del {
    opacity: 0.5;
    font-weight: 400;
    margin-right: 5px;
    font-size: 0.9em;
}

body .woocommerce ul.products.simair-shop-grid li.product .button,
ul.products.simair-shop-grid li.product .button {
    margin-top: auto;
    width: 100%;
    border-radius: 30px;
    background: #0f172a;
    color: #fff;
    padding: 10px 5px !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem !important;
    transition: 0.3s;
    white-space: normal !important;
    line-height: 1.2 !important;
    text-align: center;
    word-break: break-word;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    gap: 4px;
}

body .woocommerce ul.products.simair-shop-grid li.product .button:hover,
ul.products.simair-shop-grid li.product .button:hover {
    background: var(--color-magenta);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(224, 10, 127, 0.3);
}

/* 5. GALLERY COMPACT */
.sim-gallery-squares-compact {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.sq-item-compact {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
}

.sq-item-compact img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}

.sq-item-compact:hover img {
    transform: scale(1.05);
}

.sq-overlay-mini {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    opacity: 0;
    transition: 0.3s;
}

.sq-item-compact:hover .sq-overlay-mini {
    opacity: 1;
}

/* 6. LIGHTBOX THUMBNAILS */
.lb-thumbs-strip {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    padding: 10px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    max-width: 90%;
    overflow-x: auto;
    z-index: 1001;
}

.lb-thumb {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    opacity: 0.6;
    transition: 0.2s;
}

.lb-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lb-thumb:hover,
.lb-thumb.active {
    opacity: 1;
    border-color: var(--color-magenta);
}

/* MOBILE FIXES */
@media(max-width: 991px) {

    .sim-locations .col-6,
    .sim-locations .col-lg-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* --- SIMULATOR PAGE REPAIRS (Custom Grid & Fixes) --- */

/* 1. FLEX LAYOUT 60/40 */
.sim-flex-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.sim-col-60 {
    width: 60%;
    padding: 0 15px;
}

.sim-col-40 {
    width: 40%;
    padding: 0 15px;
}

@media(max-width: 991px) {

    .sim-col-60,
    .sim-col-40 {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* 2. LOCATIONS GRID (GAP FIX) */
.sim-locations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

@media(max-width: 768px) {
    .sim-locations-grid {
        grid-template-columns: 1fr;
    }
}

/* 3. WRAPPER & GAP FIXES */
.sim-simulator-page .simair-main-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.sim-simulator-page section.sim-details {
    padding-top: 40px !important;
}

.sim-simulator-page section.section-padding {
    padding-bottom: 40px !important;
}

/* 4. CARNET HEADER */
.sim-section-header-center {
    text-align: center;
    margin-bottom: 40px;
}

/* 5. LOCATION TILE STYLES (Row Layout & SVG Icon) */
.sim-loc-square {
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 25px;
    border-radius: 12px;
    height: 100%;
    display: flex;
    flex-direction: row;
    /* Horizontal layout */
    align-items: center;
    justify-content: space-between;
    /* Separate content and buttons */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    transition: 0.3s;
    gap: 20px;
}

.sim-loc-square:hover {
    transform: translateY(-3px);
    border-color: #0ea5e9;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

.sim-loc-content {
    flex: 1;
    /* Take remaining space */
}

.loc-header-row {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    align-items: start;
}

/* Custom Pin Icon Style */
.lh-icon-svg {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(224, 10, 127, 0.1);
    border-radius: 50%;
    color: #e00a7f;
}

.lh-icon-svg svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.loc-body-compact {
    font-size: 0.95rem;
    color: #475569;
}

.loc-body-compact div {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Buttons on the right, stacked */
.loc-actions-right {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 170px;
}

.btn-loc-fix {
    border-radius: 50px !important;
    padding: 10px 0 !important;
    /* Vertical stack optimization */
    font-size: 0.85rem !important;
    display: flex !important;
    /* Flex to center icon/text */
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 !important;
    text-align: center;
    /* Stable Transition */
    transition: transform 0.4s ease, box-shadow 0.4s ease, background-position 0.6s ease !important;
    position: relative;
    overflow: hidden;

    /* Primary Pink Settings */
    background: #e00a7f !important;
    /* Safety Fallback */
    background-image: var(--gradient-magenta) !important;
    background-size: 200% auto !important;
    background-position: 0 0 !important;
    background-repeat: no-repeat !important;

    color: #fff !important;
    box-shadow: 0 4px 6px rgba(224, 10, 127, 0.2);
    border: none !important;
}

.sim-loc-square .btn-loc-fix:hover {
    background-position: 100% 0 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(224, 10, 127, 0.3);
    color: #fff !important;
}

/* Secondary Button Blue Style (Gradient) */
.btn-secondary-style {
    /* Blue Brand Settings */
    background: #0ea5e9 !important;
    /* Safety Fallback */
    background-image: var(--gradient-sky) !important;
    background-size: 200% auto !important;
    background-position: 0 0 !important;
    background-repeat: no-repeat !important;

    box-shadow: 0 4px 6px rgba(14, 165, 233, 0.2) !important;
    color: #fff !important;
}

.sim-loc-square .btn-secondary-style:hover {
    background-position: 100% 0 !important;
    box-shadow: 0 8px 15px rgba(14, 165, 233, 0.3) !important;
    transform: translateY(-2px);
    color: #fff !important;
    background-color: #0ea5e9 !important;
    /* Force Blue on Hover */
}

/* 6. TEXT & SPECS FIXES */
.sim-text-content {
    text-align: justify;
}

.specs-title {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #0f172a;
    border: none !important;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 25px;
}

/* Custom underline */
.specs-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: #e00a7f;
}

/* 7. MOBILE SPECIFIC FIXES (Stop Wobble & Add Padding) */
html,
body {
    overflow-x: hidden;
    /* 1) Prevent horizontal scroll/wobble */
    max-width: 100vw;
}

@media(max-width: 991px) {

    /* 2) Add padding to text content so it's not glued to edges */
    .sim-text-content {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Ensure rows don't cause overflow via negative margins */
    .sim-flex-row,
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* 3) Fix Location Tiles Overflow */
    .sim-locations-grid {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 5px !important;
        /* Minimal safety padding */
        box-sizing: border-box !important;
        grid-template-columns: 1fr !important;
        /* Force 1 column */
    }

    .sim-loc-square {
        flex-wrap: wrap;
        width: 100% !important;
        max-width: 100% !important;
        padding: 15px !important;
        /* Reduce padding for mobile */
        box-sizing: border-box !important;
    }

    .sim-loc-content {
        min-width: 100%;
        /* Force full width on wrap */
        margin-bottom: 15px;
        box-sizing: border-box !important;
    }

    .loc-actions-right {
        width: 100%;
        /* Full width buttons */
        min-width: 0;
        box-sizing: border-box !important;
    }
}


/* --- TEAM MODULE HERO (PREMIUM) --- */
.sim-team-hero {
    /* Styles are handled inline in template for robustness */
}

/* --- TEAM MODULE GRID --- */
.sim-team-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin-top: -80px;
    /* Pull grid up more */
    position: relative;
    z-index: 10;
    width: 100%;
    padding-bottom: 60px;
}

@media(max-width: 1100px) {
    .sim-team-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media(max-width: 600px) {
    .sim-team-grid {
        grid-template-columns: 1fr !important;
    }
}

/* --- PREMIUM CARD DESIGN (ALIVE) --- */
.sim-team-card {
    display: block;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    height: 100%;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.03);
}

.sim-team-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(14, 165, 233, 0.15);
    /* Soft Blue Shadow */
    border-color: rgba(14, 165, 233, 0.2);
}

/* Image Area - FULL COLOR */
.st-image-wrapper {
    width: 100%;
    height: 380px;
    position: relative;
    overflow: hidden;
    background: #f8fafc;
}

.st-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.8s ease;
}

.sim-team-card:hover .st-img {
    transform: scale(1.08);
    /* Gentle Zoom */
}

/* Minimal Overlay */
.st-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.5) 0%, transparent 40%);
    opacity: 0.6;
    transition: opacity 0.4s ease;
}

.sim-team-card:hover .st-overlay {
    opacity: 0.4;
}

.st-floating-badges {
    position: absolute;
    bottom: 15px;
    left: 15px;
    display: flex;
    gap: 6px;
    z-index: 5;
}

.st-badge {
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(4px);
}

.st-badge-waw {
    background: #e00a7f;
}

.st-badge-krk {
    background: #0ea5e9;
}

/* Content Area - Flex Layout */
.st-content {
    padding: 20px 25px;
    background: #fff;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* Space between text and icon */
    gap: 15px;
}

.st-info {
    flex: 1;
    /* Take remaining space */
    text-align: left;
}

.st-name {
    font-size: 1.35rem;
    font-weight: 800;
    margin-bottom: 4px;
    color: #0f172a;
    line-height: 1.2;
}

.st-position-row {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
}

.st-icon {
    width: 14px;
    height: 14px;
    color: #e00a7f;
}

.st-position-text {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Right Icon Circle */
.st-arrow-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #f1f5f9;
    /* Light Gray default */
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
    flex-shrink: 0;
    /* Do not shrink */
}

.st-arrow-circle svg {
    width: 20px;
    height: 20px;
    transition: transform 0.4s ease;
}

/* Hover Effects on Icon */
.sim-team-card:hover .st-arrow-circle {
    background: #0ea5e9;
    /* Blue on hover */
    color: #fff;
    box-shadow: 0 5px 15px rgba(14, 165, 233, 0.3);
}

.sim-team-card:hover .st-arrow-circle svg {
    transform: translateX(2px) rotate(-45deg);
    /* Slight movement + rotate like taking off/forward */
}


/* 3. SINGLE TEAM PAGE */
.sim-team-single-grid {
    display: grid;
    grid-template-columns: 40% 55%;
    gap: 5%;
    margin-top: 40px;
}

@media(max-width: 991px) {
    .sim-team-single-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.sim-ts-photo-frame {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.sim-ts-img {
    width: 100%;
    height: auto;
    display: block;
}

.sim-ts-name {
    font-size: 2.5rem;
    margin-bottom: 10px;
    line-height: 1.1;
}

.sim-ts-position {
    font-size: 1.2rem;
    color: #e00a7f;
    font-weight: 600;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.sim-divider-left {
    width: 60px;
    height: 3px;
    background: #cbd5e1;
    margin-bottom: 25px;
}

.sim-ts-locations {
    font-size: 1rem;
    color: #475569;
}

.sim-back-link {
    color: #64748b;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.sim-back-link:hover {
    color: #e00a7f;
}

/* --- TEAM MODULE FINAL (FILTERS PREMIUM) --- */
/* Filter Buttons */
.st-filter-btn {
    background: rgba(255, 255, 255, 0.05);
    /* Ultra subtle base */
    border: 1px solid rgba(255, 255, 255, 0.15);
    /* Thin glass border */
    color: rgba(255, 255, 255, 0.9);
    padding: 12px 30px;
    border-radius: 50px;
    /* Full Pills */
    font-size: 0.90rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    text-transform: uppercase;
    letter-spacing: 1px;
    backdrop-filter: blur(10px);
    /* Heavy Blur */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    outline: none;
}

.st-filter-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    color: #fff;
}

.st-filter-btn.active {
    background: linear-gradient(135deg, #e00a7f 0%, #0ea5e9 100%);
    /* Brand Gradient */
    color: #fff;
    border: 1px solid transparent;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.4);
    /* Colored Glow */
    transform: scale(1.05);
}

/* Grid Wrapper Fix */
.sim-team-item {
    height: 100%;
}

/* Grid Layout Override */
.sim-team-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin-top: -80px;
}

@media(max-width: 1100px) {
    .sim-team-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media(max-width: 600px) {
    .sim-team-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Card Updates (Flex + Color) */
.sim-team-card {
    display: block;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    transition: all 0.4s ease;
    border: 1px solid rgba(0, 0, 0, 0.03);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.sim-team-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(14, 165, 233, 0.15);
    border-color: rgba(14, 165, 233, 0.2);
}

/* Images - Full Color Default */
.st-image-wrapper {
    height: 380px;
    background: #f8fafc;
    position: relative;
    overflow: hidden;
}

.st-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
    filter: none;
}

.sim-team-card:hover .st-img {
    transform: scale(1.08);
}

/* Flex Content Layout */
.st-content {
    padding: 20px 25px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.st-info {
    flex: 1;
    text-align: left;
}

.st-name {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 4px;
}

.st-position-row {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
}

.st-icon {
    width: 14px;
    color: #e00a7f;
}

.st-position-text {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Arrow Circle */
.st-arrow-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
    flex-shrink: 0;
}

.st-arrow-circle svg {
    width: 20px;
    transition: transform 0.4s ease;
}

.sim-team-card:hover .st-arrow-circle {
    background: #0ea5e9;
    color: #fff;
}

.sim-team-card:hover .st-arrow-circle svg {
    transform: translateX(2px) rotate(-45deg);
}

/* --- SINGLE TEAM PAGE (CLEAN CORPORATE) --- */
.sim-team-single-hero {
    background-color: #0f172a;
    background: radial-gradient(circle at 50% 30%, #1e40af 0%, #020617 80%);
    padding-top: 380px;
    padding-bottom: 150px;
    position: relative;
    margin-top: -150px;
    overflow: hidden;
    text-align: center;
}

.sim-ts-back-btn {
    display: inline-block;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 1px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 8px 20px;
    border-radius: 30px;
    transition: all 0.3s ease;
}

.sim-ts-back-btn:hover {
    border-color: #fff;
    color: #fff;
}

.sim-ts-title {
    color: #fff;
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.sim-ts-subtitle {
    color: #0ea5e9;
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
}

.sim-single-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
    padding: 60px;
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 60px;
    align-items: start;
}

.sim-ts-photo-wrap {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
}

.sim-ts-locations-row {
    margin-top: 50px !important;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center !important;
    width: 100%;
}

.sim-ts-loc-tag {
    background: #f1f5f9;
    color: #475569;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.sim-text-content {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #334155;
    font-weight: 400;
}

/* Response for Mobile */
@media(max-width: 991px) {
    .sim-single-card {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 30px;
        text-align: center;
    }

    .sim-single-bio {
        text-align: left;
        /* Keep text readable */
    }

    .sim-team-single-hero {
        padding-top: 320px;
        /* Adjust for mobile header */
        padding-bottom: 100px;
    }

    .sim-ts-title {
        font-size: 2.5rem;
    }

    .sim-text-content {
        font-size: 1rem;
    }
}

/* --- BLOG MODULE PREMIUM --- */

/* 1. Blog Hero */
.sim-blog-hero,
.sim-blog-single-hero {
    background-color: #0f172a;
    background: radial-gradient(circle at 50% 30%, #1e40af 0%, #020617 80%);
    padding-top: 380px;
    padding-bottom: 200px;
    /* Deep spacing for overlap */
    position: relative;
    margin-top: -150px;
    overflow: hidden;
    text-align: center;
    color: #fff;
}

.sim-hero-subtitle {
    display: block;
    color: #0ea5e9;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
    font-size: 0.9rem;
}

.sim-hero-title,
.sim-single-title {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 25px;
    letter-spacing: -1px;
    color: #fff;
    line-height: 1.1;
}

.sim-hero-divider {
    height: 4px;
    width: 60px;
    background: linear-gradient(90deg, #e00a7f, #0ea5e9);
    margin: 0 auto 25px;
    border-radius: 2px;
}

.sim-hero-text {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
}

.sim-hero-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(to bottom, transparent, #fff);
    z-index: 5;
}

/* 2. Blog Grid Listing */
.sim-blog-wrapper {
    margin-top: -140px !important;
    /* Overlap Hero */
    position: relative;
    z-index: 10;
}

.sim-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}

.sim-blog-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
}

.sim-blog-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 60px rgba(14, 165, 233, 0.15);
}

.sim-blog-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.sim-blog-img-wrap {
    height: 240px;
    position: relative;
    overflow: hidden;
    background: #f1f5f9;
}

.sim-blog-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.sim-blog-card:hover .sim-blog-img {
    transform: scale(1.1);
}

.sim-blog-date {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.95);
    padding: 8px 12px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    line-height: 1;
}

.sim-blog-date .day {
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
}

.sim-blog-date .month {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #64748b;
}

.sim-blog-content {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.sim-blog-cats {
    color: #e00a7f;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.sim-blog-title {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #0f172a;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.sim-blog-card:hover .sim-blog-title {
    color: #0ea5e9;
}

.sim-blog-excerpt {
    font-size: 0.95rem;
    color: #64748b;
    margin-bottom: 20px;
    flex: 1;
}

.sim-read-more {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0ea5e9;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* 3. Pagination */
.sim-blog-pagination {
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 60px;
}

.sim-blog-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #64748b;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.sim-blog-pagination .page-numbers.current,
.sim-blog-pagination .page-numbers:hover {
    background: #0ea5e9;
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(14, 165, 233, 0.3);
}

/* 4. Single Post */
.sim-single-meta-top {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.sim-single-meta-top .sim-single-cat {
    color: #0ea5e9;
}

.sim-single-author {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.9);
}

.sim-single-post-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
    padding: 0;
    overflow: hidden;
    max-width: 100%;
    margin: 0 auto 60px;
}

.sim-single-feat-img img {
    width: 100%;
    height: auto;
    display: block;
}

.sim-blog-content-body {
    padding: 60px;
    font-size: 1.15rem;
    line-height: 1.8;
    color: #334155;
}

.sim-blog-content-body h2 {
    font-size: 1.8rem;
    margin-top: 40px;
    margin-bottom: 20px;
    color: #0f172a;
    font-weight: 800;
}

.sim-blog-content-body p {
    margin-bottom: 25px;
}

.sim-single-footer {
    padding: 20px 60px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.sim-post-navigation {
    display: flex;
    justify-content: space-between;
    padding: 30px 60px;
    border-top: 1px solid #e2e8f0;
}

.sim-post-navigation a {
    font-weight: 700;
    color: #0f172a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sim-post-navigation a:hover {
    color: #0ea5e9;
}

/* Mobile Blog */
@media(max-width: 991px) {
    .sim-blog-grid {
        grid-template-columns: 1fr;
    }

    .sim-blog-content-body {
        padding: 30px;
    }

    .sim-single-title {
        font-size: 2.2rem;
    }
}

/* 5. Blog Filters & Search */
.sim-blog-filters {
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
}

/* Search Form */
.sim-blog-search-form {
    position: relative;
    max-width: 500px;
    width: 100%;
}

.sim-blog-search-field {
    width: 100%;
    padding: 15px 50px 15px 25px;
    border-radius: 50px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
    font-size: 1rem;
    color: #334155;
    background: #fff;
    transition: all 0.3s ease;
    outline: none;
}

.sim-blog-search-field:focus {
    border-color: #0ea5e9;
    box-shadow: 0 10px 30px rgba(14, 165, 233, 0.15);
}

.sim-blog-search-submit {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #94a3b8;
    font-size: 1.2rem;
    transition: color 0.3s ease;
}

.sim-blog-search-submit:hover {
    color: #0ea5e9;
}

/* Categories Pills */
.sim-blog-cats-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.sim-cat-pill {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    border-radius: 30px;
    color: #64748b;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
}

.sim-cat-pill:hover,
.sim-cat-pill.active {
    background: #0ea5e9;
    color: #fff;
    border-color: #0ea5e9;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(14, 165, 233, 0.25);
}

@media(max-width: 768px) {
    .sim-blog-cats-list {
        overflow-x: auto;
        justify-content: flex-start;
        flex-wrap: nowrap;
        width: 100%;
        padding-bottom: 10px;
        /* Space for scrollbar */
        -webkit-overflow-scrolling: touch;
    }

    .sim-cat-pill {
        flex: 0 0 auto;
        /* No shrink */
    }
}

/* --- CONTACT PAGE STYLES (PREMIUM WOW) --- */
.sim-contact-page-wrapper {
    padding-top: 100px;
    padding-bottom: 100px;
    background: #f1f5f9;
}

/* HERO SECTION */
/* HERO SECTION */
.sim-contact-hero {
    position: relative;
    /* Height handled by padding now */
    background: #0f172a;
    /* Fallback */
    background-image: url('assets/images/header-bg.jpg');
    /* ZakÄąâ€šadajĂ„â€¦c ÄąÄ˝e taki plik istnieje, lub fallback */
    background-size: cover;
    background-position: center;
    /* display: flex; -> removed to allow padding to dictate height */
    text-align: center;
    color: #fff;
    overflow: hidden;
    margin-bottom: 0;
    overflow: hidden;
    /* Styles moved from inline to allow responsiveness */
    padding-top: 380px;
    padding-bottom: 160px;
    margin-top: -150px;
}

@media (max-width: 991px) {
    .sim-contact-hero {
        padding-top: 380px;
        /* Match Team page inline style exactly */
        padding-bottom: 100px;
        /* margin-top remains -150px to keep under header */
    }

    .sim-hero-title {
        font-size: 2.2rem !important;
        /* Scale down title */
        letter-spacing: 1px;
    }

    .sim-hero-subtitle {
        font-size: 1rem;
        padding: 0 20px;
    }

    .sim-contact-page-wrapper {
        padding-top: 60px;
        /* Reduce gap */
    }

    .sim-contact-top-grid,
    .sim-locations-grid {
        gap: 30px;
    }

    .sim-location-card-lg {
        padding: 25px;
        /* Smaller padding on mobile cards */
    }
}

.sim-contact-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(224, 10, 127, 0.4) 100%);
    z-index: 1;
}

.sim-contact-hero-content {
    position: relative;
    z-index: 2;
    animation: fadeInUp 1s ease-out;
}

.sim-hero-title {
    color: #fff !important;
    /* Force white */
    font-size: 3rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    line-height: 1.2;
}

.sim-hero-subtitle {
    font-size: 1.2rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.95);
    max-width: 700px;
    margin: 0 auto;
    text-transform: none;
    /* Ensure normal case */
    line-height: 1.6;
}

/* TOP GRID: Form & Info */
.sim-contact-top-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 100px;
    align-items: start;
}

@media (max-width: 991px) {
    .sim-contact-top-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.sim-section-title {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 40px;
    color: #0f172a;
    position: relative;
    padding-bottom: 15px;
    display: inline-block;
}

.sim-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--color-magenta), transparent);
    border-radius: 2px;
}

.text-center .sim-section-title::after {
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    background: var(--color-magenta);
}

/* Contact Form Styling - Premium */
.sim-contact-form-container {
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
}

.sim-contact-form-container form p {
    margin-bottom: 20px;
}

.sim-contact-form-container input:not([type="submit"]),
.sim-contact-form-container textarea {
    width: 100%;
    border: 2px solid #f1f5f9;
    background: #f8fafc;
    padding: 15px 20px;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 1rem;
    transition: all 0.3s ease;
}

.sim-contact-form-container input:not([type="submit"]):focus,
.sim-contact-form-container textarea:focus {
    border-color: var(--color-magenta);
    background: #fff;
    box-shadow: 0 10px 30px rgba(224, 10, 127, 0.1);
    outline: none;
}

.sim-contact-form-container input[type="submit"] {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: #fff;
    border: none;
    padding: 15px 40px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 50px;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.2);
    width: 100%;
    font-size: 1.1rem;
}

.sim-contact-form-container input[type="submit"]:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(224, 10, 127, 0.3);
    background: var(--color-magenta);
}

/* Company Info Card - Premium */
.sim-company-data-card {
    background: #fff;
    padding: 50px;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.sim-company-data-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 150px;
    background: linear-gradient(135deg, transparent 50%, rgba(224, 10, 127, 0.05) 50%);
    border-radius: 0 0 0 100%;
}

.sim-co-name {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 20px;
    color: #0f172a;
}

.sim-co-address {
    font-size: 1.2rem;
    margin-bottom: 30px;
    color: #475569;
    line-height: 1.6;
}

.sim-co-details {
    margin-bottom: 40px;
    padding-top: 30px;
    border-top: 1px dashed #e2e8f0;
}

.sim-co-row {
    margin-bottom: 12px;
    font-size: 1.05rem;
    color: #334155;
    display: flex;
    justify-content: space-between;
}

.sim-social-links {
    display: flex;
    gap: 15px;
}

/* Social Media Icons - New Button Style */
.sim-social-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #f1f5f9;
    color: #334155;
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    text-decoration: none;
}

.sim-social-icon-btn svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    transition: transform 0.3s ease;
}

.sim-social-icon-btn:hover {
    transform: translateY(-5px);
    color: #fff;
    box-shadow: 0 10px 20px rgba(224, 10, 127, 0.3);
    background: var(--color-magenta);
    /* Fallback */
}

.sim-social-icon-btn:hover svg {
    transform: scale(1.1);
}

/* Brand Colors on Hover */
.sim-social-icon-btn.social-facebook:hover {
    background: #1877F2;
    box-shadow: 0 10px 20px rgba(24, 119, 242, 0.4);
}

.sim-social-icon-btn.social-instagram:hover {
    background: #E4405F;
    box-shadow: 0 10px 20px rgba(228, 64, 95, 0.4);
}

.sim-social-icon-btn.social-tiktok:hover {
    background: #000000;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
}

.sim-social-icon-btn.social-youtube:hover {
    background: #FF0000;
    box-shadow: 0 10px 20px rgba(255, 0, 0, 0.4);
}

.sim-social-icon-btn.social-linkedin:hover {
    background: #0A66C2;
    box-shadow: 0 10px 20px rgba(10, 102, 194, 0.4);
}


/* LOCATIONS GRID - 50/50 Split */
.sim-locations-section {
    position: relative;
    padding-bottom: 50px;
}

.sim-locations-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* Forced 2 columns */
    gap: 50px;
}

@media (max-width: 991px) {
    .sim-locations-grid {
        grid-template-columns: 1fr;
    }
}

.sim-location-card-lg {
    background: #fff;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.02);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
    overflow: hidden;
    position: relative;
}

.sim-location-card-lg:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12);
}

.sim-location-card-lg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, var(--color-magenta), #ef4444);
}

.sim-loc-title {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 15px;
    color: #0f172a;
}

.sim-loc-address {
    font-size: 1.15rem;
    color: #64748b;
    margin-bottom: 25px;
}

.sim-loc-contact-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 30px;
}

.sim-loc-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #fff;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 99px;
    /* Pill shape */
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s;
}

.sim-loc-btn:hover {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.sim-loc-btn.btn-primary-map {
    background: #0f172a;
    color: #fff;
    border-color: #0f172a;
}

.sim-loc-btn.btn-primary-map:hover {
    background: var(--color-magenta);
    border-color: var(--color-magenta);
    box-shadow: 0 10px 20px rgba(224, 10, 127, 0.25);
}


.sim-loc-details-grid-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding-top: 30px;
    border-top: 1px solid #f1f5f9;
}

@media (max-width: 768px) {
    .sim-loc-details-grid-v2 {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

.sim-loc-box-hours h4,
.sim-loc-box-trans-badges h4,
.sim-loc-box-parking h4,
.sim-loc-box-trans-desc h4 {
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    color: #94a3b8;
}

/* Hours List - Vertical again for small box */
.sim-loc-box-hours ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sim-loc-box-hours li {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px dashed #e2e8f0;
    font-size: 0.95rem;
    color: #334155;
    max-width: 250px;
    /* Limit width */
}

.sim-loc-box-hours li:last-child {
    border-bottom: none;
}

.sim-trans-badges-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sim-no-data {
    color: #cbd5e1;
    font-style: italic;
    font-size: 0.9rem;
}

/* TRANSPORT ICONS WOW */
.sim-trans-group {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.sim-trans-icon {
    font-size: 1.5rem;
    margin-right: 12px;
    padding-top: 2px;
}

.sim-trans-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sim-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    background: #fff;
    border: 2px solid currentColor;
    border-radius: 8px;
    font-weight: 800;
    font-size: 0.9rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s;
}

.sim-badge:hover {
    transform: scale(1.1);
}

.sim-trans-desc,
.sim-parking-desc {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
    margin-top: 15px;
    background: #f8fafc;
    padding: 12px;
    border-radius: 8px;
}

/* Map Embed within Grid v2 */
.sim-loc-map-embed {
    grid-column: 1 / -1;
    /* Span full width (both columns) */
    margin-top: 0;
    /* Let grid gap handle spacing */
    margin-bottom: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    background: #e2e8f0;
}

.sim-loc-map-embed iframe {
    width: 100%;
    height: 300px;
    display: block;
    border: none;
}

/* --- UNIVERSAL PAGE TEMPLATE STYLES --- */

/* Hero Premium - TURBO REDESIGN */
.sim-univ-hero {
    position: relative;
    height: 80vh;
    /* Taller */
    min-height: 600px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #0f172a;
    /* Deep elegant blue/black */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    margin-top: -80px;
    /* Offset header */
    padding-top: 80px;
    overflow: hidden;
}

/* Gradient Overlay - Cinematic */
/* Gradient Overlay - Cinematic (Azores Style: Dark Top for Menu) - CUSTOM OVERRIDE */
.sim-univ-hero-overlay {
    position: absolute;
    inset: 0;
    /* Balanced: Dark but not solid paint. 0.9 opacity at top for elegance */
    background: linear-gradient(180deg,
            rgba(2, 18, 40, 0.9) 0%,
            rgba(2, 18, 40, 0.85) 35%,
            rgba(19, 109, 172, 0.6) 65%,
            rgba(23, 179, 220, 0.1) 100%);
    z-index: 1;
}

.sim-univ-hero-content {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
}

.sim-univ-title {
    font-family: var(--font-heading);
    /* Match Contact Page Inline Styles: 3rem, 800 weight, 1px spacing */
    font-size: 3rem;
    line-height: 1.2;
    /* Slightly increased for multiline breathing room */
    font-weight: 800;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    animation: fadeInUp 0.8s ease-out;
    position: relative;
    display: inline-block;
    width: 100%;
}

/* The "Cool Purple-Blue Line" - Matching Contact Page Gradient */
.sim-univ-title::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    /* Gradient: #e00a7f -> #0ea5e9 */
    background: linear-gradient(90deg, #e00a7f, #0ea5e9);
    margin: 15px auto 35px auto;
    /* 15px top margin for separation from text */
    border-radius: 2px;
}

.sim-univ-subtitle {
    font-family: var(--font-body);
    font-size: 1.2rem;
    /* Contact uses 1.2rem */
    font-weight: 300;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.95);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
    animation: fadeInUp 1s ease-out;
}

/* Responsive Hero */
@media (max-width: 768px) {
    .sim-univ-hero {
        height: 60vh;
        min-height: 450px;
        background-position: center top;
    }

    .sim-univ-title {
        font-size: 2rem;
        letter-spacing: 1px;
    }

    .sim-univ-subtitle {
        font-size: 1rem;
        padding: 0 15px;
    }
}

/* Base Sections */
.section-padding {
    padding: 80px 0;
}

.bg-light {
    background-color: #f9f9f9;
}

/* Data Table */
.sim-data-table-wrapper {
    overflow-x: auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    padding: 30px;
}

.sim-data-table {
    width: 100%;
    border-collapse: collapse;
}

.sim-data-table th,
.sim-data-table td {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.sim-data-table th {
    width: 30%;
    font-weight: 600;
    color: var(--sim-primary, #0056b3);
    background: #fafafa;
}

.sim-data-table tr:last-child td,
.sim-data-table tr:last-child th {
    border-bottom: none;
}

/* Wymuszenie 50% szerokoĹ›ci dla ostatniej (4) kolumny */
.sim-data-table th:nth-child(4),
.sim-data-table td:nth-child(4) {
    width: 50%;
}

/* RESTORED STRUCTURAL STYLES */

/* Icon Grid Structure */
.sim-icons-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* FAQ Structure & Styles */
.sim-faq-accordion {
    max-width: 800px;
    margin: 0 auto;
}

.sim-faq-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    margin-bottom: 15px;
    overflow: hidden;
}

.sim-faq-question {
    padding: 20px 25px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
}

.sim-faq-question:hover {
    background: #fafafa;
}

.sim-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #fdfdfd;
}

.sim-faq-answer p {
    padding: 0 25px 20px;
    color: #555;
    margin: 0;
}

.sim-faq-item.active .sim-faq-question {
    color: var(--sim-primary, #0056b3);
    background: #f8f8f8;
}

.sim-faq-item.active .sim-faq-question i {
    transform: rotate(180deg);
}

/* CTA Section Structure */
.sim-univ-cta {
    padding: 80px 0;
    position: relative;
    background: var(--sim-primary, #0056b3);
    color: #fff;
}

.sim-cta-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 2;
}

.sim-cta-text {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    max-width: 70%;
    color: #fff;
}

.btn-cta-action {
    background: #fff;
    color: var(--sim-primary, #0056b3);
    padding: 15px 40px;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    transition: transform 0.2s;
    text-decoration: none;
    display: inline-block;
}

.btn-cta-action:hover {
    transform: scale(1.05);
    background: #f0f0f0;
    color: var(--sim-primary, #0056b3);
}

/* Gallery Grid Structure */
.sim-gallery-squares-4col {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
}

.sim-col-50 .sim-gallery-squares-4col {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.sim-col-33 .sim-gallery-squares-4col,
.sim-col-25 .sim-gallery-squares-4col {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.sq-item-compact {
    position: relative;
    padding-bottom: 100%;
    overflow: hidden;
    cursor: pointer;
    border-radius: 4px;
}

.sq-item-compact img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.sq-item-compact:hover img {
    transform: scale(1.1);
}

.sq-overlay-mini {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sq-item-compact:hover .sq-overlay-mini {
    opacity: 1;
}

.sq-overlay-mini i {
    color: #fff;
    font-size: 2rem;
}

/* Responsive */
@media (max-width: 768px) {
    .sim-univ-title {
        font-size: 2.2rem;
    }

    .sim-univ-subtitle {
        font-size: 1.1rem;
    }

    .sim-icons-grid-3 {
        grid-template-columns: 1fr;
    }

    .sim-gallery-squares-4col {
        grid-template-columns: repeat(2, 1fr);
    }

    .sim-cta-flex {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .sim-cta-text {
        max-width: 100%;
        font-size: 1.5rem;
        text-align: center;
    }
}

/* --- FLEX BUILDER LAYOUT UTILITIES --- */
/* New structure: .container > .sim-row-flex > .sim-col-X */
.sim-row-flex {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    align-items: stretch;
}

[class*="sim-col-"] {
    position: relative;
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
}

.sim-col-padding {
    padding-top: 30px;
    padding-bottom: 30px;
}

.sim-col-100 {
    width: 100%;
}

.sim-col-66 {
    width: 66.6666%;
}

.sim-col-60 {
    width: 60%;
}

.sim-col-50 {
    width: 50%;
}

.sim-col-40 {
    width: 40%;
}

.sim-col-33 {
    width: 33.3333%;
}

/* Sidebar Gallery (2 columns by default) */
.sim-gallery-sidebar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 40px;
}

/* Ensure Hero is always 100% implicitly */
.sim-univ-hero.sim-col-100 {
    width: 100%;
    padding: 0;
}

/* Mobile Responsiveness: Stack everything */
@media (max-width: 991px) {

    .sim-col-66,
    .sim-col-60,
    .sim-col-50,
    .sim-col-40,
    .sim-col-33 {
        width: 100%;
    }

    .sim-row-flex {
        margin-left: 0;
        margin-right: 0;
    }

    [class*="sim-col-"] {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 30px;
        /* Gap between stacked items */
    }

    .sim-col-padding {
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

/* --- PREMIUM SECTION HEADERS (Cooler Look) --- */
.sim-premium-header {
    text-align: center;
    position: relative;
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-black);
    margin: 0 auto 40px auto;
    padding-bottom: 20px;
    max-width: 800px;
}

/* Gradient Underline Effect */
.sim-premium-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #e00a7f, #0ea5e9);
    /* Magenta to Cyan */
    border-radius: 4px;
    transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.sim-premium-header:hover::after {
    width: 120px;
    /* Interactive expand effect */
}

/* Category Header in Grid */
.sim-grid-cat-title {
    width: 100%;
    text-align: center;
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 30px;
    color: var(--color-steel);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Reduce Section Spacing Globally for Page Builder */
/* Targeting the section wrapper div itself */
.simair-builder-content>div {
    padding-top: 10px !important;
    padding-bottom: 15px !important;
}

.simair-builder-content .sim-row-flex {
    margin-bottom: 10px !important;
    /* Tighten internal rows */
}

/* Exception for Hero */
.simair-builder-content>div.sim-col-100:has(.sim-univ-hero) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Reduce specific gap for FAQ and Tables */
.sim-univ-faq,
.simair-data-table-section {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
}

/* FIX: OVERRIDE ALL SPACING ISSUES */
/* Start by resetting the big padding classes used in template-universal.php */
.section-padding,
.sim-col-padding {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* Even tighter for Data Tables and FAQ */
.sim-univ-faq.section-padding,
.sim-univ-faq.sim-col-padding,
.simair-data-table-section.section-padding,
.simair-data-table-section.sim-col-padding {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Fix Row Margins */
.sim-row-flex {
    margin-bottom: 0 !important;
}

/* FIX: INVISIBLE ICONS & OVERLAP & DASHICONS CONFLICT */
/* 1. RESTORE CONTAINER STYLES (Deleted by mistake) */
.sim-icon-box {
    text-align: center;
    padding: 40px 20px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.05);
    border: 1px solid #f1f5f9;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: visible !important;
}

.sim-icon-box:hover {
    transform: translateY(-12px) !important;
    box-shadow: 0 25px 50px rgba(104, 33, 95, 0.15) !important;
    border-color: rgba(224, 10, 127, 0.3) !important;
}

/* 2. SAFE ICON STYLING (No font forcing, just layout) */
.sim-icon-box i {
    display: block !important;
    /* Force block to prevent inline overlap issues */
    font-size: 4rem !important;
    /* Slightly bigger */
    font-weight: bold !important;
    /* Bold, but not 900 to avoid breaking Brands */
    /* DO NOT FORCE FONT FAMILY - Let the class decide (fa, fab, far, etc.) */
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto 35px auto !important;
    /* Center and push text down */
    /* SOLID COLOR FALLBACK */
    color: #e00a7f !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    transition: transform 0.3s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure pseudo-elements inherit correctly */
.sim-icon-box i::before {
    font-size: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
    display: block !important;
    /* Do not touch content property */
}

.sim-icon-box:hover i {
    transform: scale(1.15) rotate(5deg) !important;
    color: #af0a65 !important;
    /* Darker magenta on hover */
}

/* FIX: PREMIUM HEADERS */
.sim-premium-header {
    text-align: center;
    position: relative;
    font-family: var(--font-heading, "Michroma", sans-serif);
    font-size: 2rem;
    font-weight: 800;
    /* Extra Bold */
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #1f2937;
    margin: 30px auto 30px auto;
    padding-bottom: 15px;
    max-width: 800px;
    z-index: 10;
}

.sim-premium-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #e00a7f, #0ea5e9);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.sim-premium-header:hover::after {
    width: 120px;
}

.sim-grid-cat-title {
    width: 100%;
    text-align: center;
    font-family: var(--font-heading, "Michroma", sans-serif);
    font-size: 1.6rem;
    font-weight: 800;
    /* Matching weight with main header */
    margin-top: 10px;
    margin-bottom: 60px !important;
    /* Increased significantly to separate from products */
    color: #1f2937 !important;
    /* Force Dark Color to match other headers */
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* FIX: HERO SPACING ISSUES */
/* 1. Desktop: More space below Hero */
.sim-univ-hero {
    margin-bottom: 60px !important;
}

/* 2. Mobile: Push Hero down to avoid Header overlap */
@media (max-width: 992px) {
    .sim-univ-hero {
        padding-top: 150px !important;
        /* Huge top padding for mobile menu + spacing */
        margin-bottom: 30px !important;
    }
}

/* =========================================
   CTA UPGRADE STYLES
   ========================================= */

/* Subtitle */
.sim-cta-sub {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 10px;
    margin-bottom: 0;
    font-weight: 300;
}

/* Background Presets */
.sim-cta-bg-primary {
    background-color: #0F172A;
    background-image: linear-gradient(135deg, #0F172A 0%, #1e293b 100%);
}

.sim-cta-bg-gradient_blue {
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
}

.sim-cta-bg-gradient_magenta {
    background: linear-gradient(135deg, #db2777 0%, #be185d 100%);
}

.sim-cta-bg-dark_pattern {
    background-color: #0F172A;
    background-image:
        linear-gradient(rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.9)),
        repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 10px),
        repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 10px);
}

.sim-cta-bg-light_pattern {
    background-color: #f8fafc;
    background-image:
        linear-gradient(rgba(248, 250, 252, 0.8), rgba(248, 250, 252, 0.8)),
        radial-gradient(circle at 1px 1px, #cbd5e1 1px, transparent 0);
    background-size: 100% 100%, 20px 20px;
}

/* Adjust text color for light theme */
.sim-cta-bg-light_pattern .sim-cta-text {
    color: #1e293b;
}

.sim-cta-bg-light_pattern .sim-cta-sub {
    color: #475569;
}

.sim-cta-content {
    flex: 1;
    text-align: left;
}

/* Responsive adjustments for new layout */
@media (max-width: 768px) {
    .sim-cta-sub {
        text-align: center;
    }

    .sim-cta-content {
        text-align: center;
        width: 100%;
    }
}

/* --- FAQ STYLES (Premium) --- */
.sim-faq-item {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.sim-faq-item:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-color: #cbd5e1;
}

.sim-faq-question {
    padding: 20px;
    font-weight: 600;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #1e293b;
    background: #fff;
    transition: color 0.2s, background-color 0.2s;
    user-select: none;
}

.sim-faq-item.active .sim-faq-question {
    color: var(--c-primary, #0056b3);
    background: #f8fafc;
    border-bottom: 1px solid #f1f5f9;
}

.sim-faq-question i {
    font-size: 20px;
    color: #94a3b8;
    transition: transform 0.3s ease, color 0.3s;
}

.sim-faq-item.active .sim-faq-question i {
    transform: rotate(180deg);
    color: var(--c-primary, #0056b3);
}

.sim-faq-answer {
    display: block;
    /* Ensure it's not 'none' so transition works */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 20px;
    color: #475569;
    line-height: 1.6;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sim-faq-item.active .sim-faq-answer {
    max-height: 2000px;
    /* Reveal content */
    opacity: 1;
    padding-top: 20px;
    padding-bottom: 20px;
}

.sim-faq-answer p:last-child {
    margin-bottom: 0;
}

/* --- GALLERY SPACING FIX --- */
.sim-univ-gallery.sim-col-padding {
    padding-top: 0 !important;
    margin-top: -10px;
}

/* Specific fix for inner container in gallery */
.sim-univ-gallery .simair-main-wrapper {
    padding-top: 0 !important;
}

/* =========================================
   XX. FAQ MODULE (Accordion)
   ========================================= */

/* 1. Reduce top margin/padding for container */
.simair-faq-container {
    max-width: 900px;
    margin: -40px auto 0 auto;
    /* Radical reduction */
    padding: 0 0 20px 0;
}

.faq-category-group {
    margin-bottom: 60px;
}

.faq-category-title {
    font-size: 2rem;
    background: var(--gradient-magenta);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    margin-bottom: 30px;
    position: relative;
    padding-bottom: 15px;
}

.faq-category-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: var(--gradient-magenta);
    border-radius: 2px;
}

.faq-items {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-item {
    background: #ffffff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
    border: 1px solid #f1f5f9;
    transition: all 0.3s ease;
}

.faq-item:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
    border-color: #cbd5e1;
}

.faq-item.active {
    box-shadow: 0 15px 40px rgba(224, 10, 127, 0.1);
    border-color: rgba(224, 10, 127, 0.2);
}

.faq-question {
    padding: 25px 30px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    background: transparent;
    transition: background 0.3s;
}

.faq-item.active .faq-question {
    background: rgba(224, 10, 127, 0.03);
}

.faq-q-text {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--color-black);
    padding-right: 20px;
    line-height: 1.4;
    transition: color 0.3s;
}

.faq-item.active .faq-q-text {
    color: var(--color-magenta);
}

/* Icon Animation */
.faq-icon-wrapper {
    width: 24px;
    height: 24px;
    position: relative;
    flex-shrink: 0;
}

.faq-icon-line {
    position: absolute;
    background-color: var(--color-text);
    border-radius: 2px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.active .faq-icon-line {
    background-color: var(--color-magenta);
}

.line-h {
    width: 100%;
    height: 3px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.line-v {
    width: 3px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

/* Rotate Vertical line to horizontal on active */
.faq-item.active .line-v {
    transform: translateX(-50%) rotate(90deg);
    opacity: 0;
}

/* Method 2: Rotate entire wrapper */
.faq-item.active .faq-icon-wrapper {
    transform: rotate(180deg);
}

.faq-item.active .line-v {
    transform: translateX(-50%) scaleY(0);
}


.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: #fff;
    opacity: 0;
}

/* 2. Increase padding top for answer */
.faq-answer-inner {
    padding: 30px;
    /* changed from 0 30px 30px 30px to uniform 30px */
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.8;
}

.faq-answer-inner p:last-child {
    margin-bottom: 0;
}

/* FIXED EXPANSION RULE */
.faq-item.active .faq-answer {
    max-height: 1000px;
    opacity: 1;
}

/* 3. Mobile Responsiveness */
@media (max-width: 768px) {
    .simair-faq-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .faq-category-title {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

    .faq-question {
        padding: 15px 20px;
    }

    .faq-q-text {
        font-size: 1rem;
    }

    .faq-answer-inner {
        padding: 20px;
        font-size: 0.95rem;
    }
}

/* 4. Fix main wrapper padding for pages with FAQ */
.simair-main-wrapper:has(.simair-faq-container) {
    padding-top: 20px !important;
}

/* =========================================
   XX. MY ACCOUNT STYLES (REVISED GRID)
   ========================================= */

.simair-main-wrapper.simair-account-page {
    padding-top: 0;
    padding-bottom: 80px;
}

/* Main Layout - MOBILE FIRST Override */
.woocommerce-account .woocommerce {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* 
   --------------------------------------------------------------
   MOBILE MENU: FORCE GRID (NO SWIPER/SCROLL)
   --------------------------------------------------------------
*/
@media (max-width: 991px) {

    /* 1. EDGE TO EDGE (Negative Margins) */
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: auto !important;
        margin-left: -20px !important;
        margin-right: -20px !important;
        margin-bottom: 30px !important;
        float: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border-bottom: 1px solid #e2e8f0 !important;
        background: #f8fafc !important;

        /* Disable any potential scrolling/flex properties */
        overflow: visible !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        margin: 0 !important;
        border-right: 1px solid #e2e8f0 !important;
        border-bottom: 1px solid #e2e8f0 !important;
        background: transparent !important;
        list-style: none !important;
        padding: 0 !important;
        width: auto !important;
        /* Let grid handle width */
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(2n) {
        border-right: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 20px 10px !important;
        text-align: center !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        font-size: 11px !important;
        color: #64748b !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        gap: 8px !important;
        line-height: 1.2 !important;
        border: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        /* Remove pills */
        height: 100% !important;
        white-space: normal !important;
        /* Allow wrapping */
    }

    .woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
        background: #ffffff !important;
        color: #0f172a !important;
        box-shadow: inset 0 -4px 0 #E00A7F !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a:hover {
        background: #fff !important;
        color: #5b21b6 !important;
    }

    /* Icons */
    .woocommerce-account .woocommerce-MyAccount-navigation a::before {
        font-family: 'dashicons' !important;
        font-size: 24px !important;
        width: 24px !important;
        height: 24px !important;
        color: #94a3b8 !important;
        display: block !important;
        font-weight: normal !important;
        margin-bottom: 2px !important;
        margin-right: 0 !important;
        content: "\f110";
        /* Fallback */
    }

    .woocommerce-account .woocommerce-MyAccount-navigation .is-active a::before {
        color: #E00A7F !important;
    }

    /* Specific Icons mapping */
    .woocommerce-MyAccount-navigation-link--dashboard a::before {
        content: "\f226" !important;
    }

    .woocommerce-MyAccount-navigation-link--orders a::before {
        content: "\f174" !important;
    }

    .woocommerce-MyAccount-navigation-link--downloads a::before {
        content: "\f316" !important;
    }

    .woocommerce-MyAccount-navigation-link--edit-address a::before {
        content: "\f102" !important;
    }

    .woocommerce-MyAccount-navigation-link--edit-account a::before {
        content: "\f110" !important;
    }

    .woocommerce-MyAccount-navigation-link--payment-methods a::before {
        content: "\f178" !important;
    }

    .woocommerce-MyAccount-navigation-link--customer-logout a::before {
        content: "\f124" !important;
    }

    .woocommerce-MyAccount-navigation-link--support a::before {
        content: '\f488' !important;
    }

    /* Content Area padding on mobile */
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 0 15px !important;
    }

    /* 2. MOVE TO TOP (Reduce spacing) */
    .simair-account-page {
        padding-top: 0px !important;
        padding-bottom: 40px !important;
    }

    .sim-univ-hero {
        margin-bottom: 0px !important;
        padding-bottom: 20px !important;
    }
}

/* 
   --------------------------------------------------------------
   DESKTOP LAYOUT (min-width: 992px)
   --------------------------------------------------------------
*/
@media (min-width: 992px) {
    .woocommerce-account .woocommerce {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 40px;
        align-items: flex-start;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 280px;
        flex-shrink: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: block;
        grid-template-columns: none;
        gap: 0;
        overflow: visible;
        padding: 0;
        margin: 0;
        background: #fff;
        border-radius: 15px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
        border: 1px solid #f1f5f9;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        border-bottom: 1px solid #f1f5f9;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
        border-bottom: none;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 18px 25px;
        text-align: left;
        background: transparent;
        border: none;
        color: #64748b;
        font-weight: 700;
        font-family: var(--font-heading);
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        text-decoration: none;
        transition: all 0.3s;
        border-radius: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a:hover {
        background: #f8fafc;
        color: var(--color-magenta);
        padding-left: 30px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
        background: var(--gradient-magenta);
        color: #fff;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation .is-active a:hover {
        padding-left: 25px;
        /* No extra slide on active */
    }

    /* 3. DESKTOP ICONS (Ensure Visibility) */
    .woocommerce-account .woocommerce-MyAccount-navigation a::before {
        font-family: 'dashicons';
        /* Ensure font family is set */
        margin-right: 12px;
        font-size: 1.2rem;
        margin-bottom: 0;
        color: inherit;
        display: inline-block;
        /* Ensure it's not hidden */
    }

    .woocommerce-account .woocommerce-MyAccount-navigation .is-active a::before {
        color: #fff;
    }

    /* Re-map icons for Desktop explicitly if needed, but the mobile ones are inside media query, so we need global or repeated here */
    .woocommerce-MyAccount-navigation-link--dashboard a::before {
        content: "\f226";
    }

    .woocommerce-MyAccount-navigation-link--orders a::before {
        content: "\f174";
    }

    .woocommerce-MyAccount-navigation-link--downloads a::before {
        content: "\f316";
    }

    .woocommerce-MyAccount-navigation-link--edit-address a::before {
        content: "\f102";
    }

    .woocommerce-MyAccount-navigation-link--edit-account a::before {
        content: "\f110";
    }

    .woocommerce-MyAccount-navigation-link--payment-methods a::before {
        content: "\f178";
    }

    .woocommerce-MyAccount-navigation-link--customer-logout a::before {
        content: "\f124";
    }

    .woocommerce-MyAccount-navigation-link--support a::before {
        content: '\f488';
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        flex: 1;
        width: auto;
        padding: 0 40px !important;
    }
}

/* Welcome Message */
.woocommerce-MyAccount-content p {
    font-size: 1.05rem;
    color: #475569;
    line-height: 1.7;
}

/* Headings inside Account */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.sim-account-section-title {
    display: block !important;
    /* Force visibility */
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 800;
    /* Extra bold */
    color: var(--color-black);
    margin-top: 0 !important;
    /* Remove top margin */
    padding-top: 0 !important;
    /* Remove top padding */
    margin-bottom: 30px;
    padding-bottom: 0;
    border-bottom: none !important;
    /* Removed gray line */
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}

/* Small colorful line separator */
.woocommerce-MyAccount-content h2::after,
.woocommerce-MyAccount-content h3::after,
.sim-account-section-title::after {
    content: '';
    display: block;
    width: 60px;
    /* Small width */
    height: 4px;
    background: var(--gradient-magenta);
    /* Colorful */
    margin-top: 15px;
    border-radius: 2px;
}

/* Forms */
.woocommerce-form-row {
    margin-bottom: 20px;
}

.woocommerce-Input {
    background: #f8fafc;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 15px;
    width: 100%;
    color: var(--color-black);
    font-family: var(--font-heading);
    transition: all 0.3s;
}

.woocommerce-Input:focus {
    background: #fff;
    border-color: var(--color-magenta);
    outline: none;
    box-shadow: 0 0 0 4px rgba(224, 10, 127, 0.1);
}

.woocommerce-form-login label {
    font-weight: 600;
    color: var(--color-black);
    margin-bottom: 8px;
    display: block;
}

/* Buttons */
.woocommerce-Button.button {
    background: var(--gradient-magenta) !important;
    color: #fff !important;
    padding: 15px 35px !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: none !important;
    transition: all 0.3s !important;
    cursor: pointer;
}

.woocommerce-Button.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(224, 10, 127, 0.3);
}

/* =========================================
   XX. VISUAL BUG FIXES
   ========================================= */

/* 1. Preloader Logo Size Fix */
.sim-loader-logo-img {
    max-width: 200px !important;
    height: auto !important;
    object-fit: contain;
}

/* 2. Header Logo Anti-Squash */
.custom-logo {
    width: auto !important;
    max-width: 100%;
    /* Ensure height is respected */
    object-fit: contain;
}

/* Addresses */
.u-columns.woocommerce-Addresses {
    display: flex;
    gap: 20px;
}

.u-column1,
.u-column2 {
    width: 50%;
    background: #f8fafc;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.woocommerce-Address-title h3 {
    font-size: 1.4rem;
    margin-top: 0;
}

.woocommerce-Address a.edit {
    display: inline-block;
    margin-top: 10px;
    font-size: 0.9rem;
    color: var(--color-sky);
    font-weight: 600;
    text-decoration: underline;
}

/* Orders Table */
.woocommerce-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.woocommerce-orders-table th {
    background: #f1f5f9;
    padding: 15px;
    text-align: left;
    font-weight: 700;
    color: var(--color-black);
    font-family: var(--font-heading);
}

.woocommerce-orders-table td {
    padding: 15px;
    border-top: 1px solid #e2e8f0;
    color: #475569;
}

.woocommerce-orders-table__cell-order-actions .button {
    padding: 8px 15px !important;
    font-size: 0.8rem !important;
    background: transparent !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    box-shadow: none !important;
}

.woocommerce-orders-table__cell-order-actions .button:hover {
    border-color: var(--color-sky) !important;
    color: var(--color-sky) !important;
    background: #fff !important;
    transform: none !important;
}

/* Alerts / Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: #f0f9ff;
    border-top: 3px solid var(--color-sky);
    color: #0c4a6e;
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce-message::before,
.woocommerce-info::before {
    content: '\f15e';
    /* Dashicons info */
    font-family: dashicons;
    color: var(--color-sky);
}

.woocommerce-error {
    background: #fef2f2;
    border-top-color: #ef4444;
    color: #991b1b;
}

.woocommerce-error::before {
    color: #ef4444;
}

/* =========================================
   MOBILE ACCOUNT MENU (GRID LAYOUT)
   ========================================= */
@media (max-width: 991px) {
    .woocommerce-MyAccount-navigation {
        width: 100% !important;
        float: none !important;
        margin-bottom: 30px;
    }

    .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        border-bottom: 1px solid #e2e8f0;
        background: #f8fafc;
    }

    .woocommerce-MyAccount-navigation li {
        margin: 0 !important;
        border-right: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
        background: transparent;
        list-style: none !important;
        padding: 0 !important;
    }

    .woocommerce-MyAccount-navigation li:nth-child(2n) {
        border-right: none;
    }

    .woocommerce-MyAccount-navigation li a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px 10px;
        text-align: center;
        font-weight: 800;
        text-transform: uppercase;
        font-size: 11px;
        color: #64748b;
        text-decoration: none;
        transition: all 0.2s ease;
        gap: 8px;
        line-height: 1.2;
        border: none !important;
    }

    .woocommerce-MyAccount-navigation li.is-active a {
        background: #ffffff;
        color: #0f172a;
        box-shadow: inset 0 -4px 0 #E00A7F;
    }

    .woocommerce-MyAccount-navigation li a::before {
        font-family: 'dashicons';
        font-size: 24px;
        width: 24px;
        height: 24px;
        color: #94a3b8;
        display: block;
        font-weight: normal;
        margin-bottom: 2px;
        content: "\f110";
        /* Fallback */
    }

    .woocommerce-MyAccount-navigation li.is-active a::before {
        color: #E00A7F;
    }

    /* Specific Icons */
    .woocommerce-MyAccount-navigation-link--dashboard a::before {
        content: "\f226";
    }

    .woocommerce-MyAccount-navigation-link--orders a::before {
        content: "\f174";
    }

    .woocommerce-MyAccount-navigation-link--downloads a::before {
        content: "\f316";
    }

    .woocommerce-MyAccount-navigation-link--edit-address a::before {
        content: "\f102";
    }

    .woocommerce-MyAccount-navigation-link--edit-account a::before {
        content: "\f110";
    }

    .woocommerce-MyAccount-navigation-link--payment-methods a::before {
        content: "\f178";
    }

    .woocommerce-MyAccount-navigation-link--customer-logout a::before {
        content: "\f124";
    }
}

/* =========================================
   7. VARIABLE PRODUCT STYLING (ADD-ON)
   ========================================= */

/* Tabela wariantÄ‚Ĺ‚w */
table.variations {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

table.variations th {
    text-align: left;
    padding: 10px 0;
    width: 30%;
    /* Flexbox for perfect vertical centering */
    display: flex;
    align-items: center;
    height: 65px;
    /* height of Select (45px) + padding (10+10) */
}

table.variations th label {
    font-weight: 800;
    color: var(--color-black);
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    margin: 0;
    line-height: 1.2;
    /* Reset line height for text */
    display: inline-block;
    vertical-align: middle;
    /* Center label text within the line-height */
}

table.variations td {
    padding: 10px 0;
    vertical-align: middle;
}

/* Selecty wariantÄ‚Ĺ‚w */
table.variations select {
    width: 100%;
    height: 45px;
    padding: 0 15px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    background-color: #fff;
    font-size: 0.95rem;
    color: var(--color-black);
    font-weight: 600;
    outline: none;
    transition: border-color 0.3s;
}

table.variations select:focus {
    border-color: var(--color-magenta);
}

/* Przycisk "WyczyÄąâ€şĂ„â€ˇ" */
a.reset_variations {
    display: inline-block;
    margin-top: 5px;
    font-size: 0.75rem;
    color: var(--color-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--color-blue);
}

a.reset_variations:hover {
    color: var(--color-magenta);
    border-color: var(--color-magenta);
}

/* Cena wariantu */
.woocommerce-variation-price {
    margin-bottom: 20px;
    font-size: 1.6rem;
    color: var(--color-magenta);
    font-weight: 800;
}

.woocommerce-variation-availability {
    margin-bottom: 15px;
    font-size: 0.9rem;
    color: #475569;
}

/* Kontener dodawania do koszyka (Wrapper) */
.single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

/* IloÄąâ€şĂ„â€ˇ (Quantity) - dopasowanie do stylu Simair */
.single_variation_wrap .quantity {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    height: 50px;
    padding: 0 5px;
    margin-right: 0;
    /* Overwrite WC default */
}

/* Ukrycie standardowego inputa jeÄąâ€şli Simair JS nie zadziaÄąâ€ša, 
   ale zakÄąâ€šadamy ÄąÄ˝e simair_quantity_wrapper w functions.php dziaÄąâ€ša */
.single_variation_wrap .quantity input.qty {
    width: 50px;
    text-align: center;
    border: none;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--color-black);
    background: transparent;
    appearance: textfield;
    -moz-appearance: textfield;
}

.single_variation_wrap .quantity input.qty::-webkit-outer-spin-button,
.single_variation_wrap .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Przyciski +/- generowane przez JS/PHP Simair */
.simair-qty-wrapper {
    display: flex;
    align-items: center;
    height: 100%;
}

.qty-btn {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #f1f5f9;
    color: var(--color-black);
    border: none;
    font-weight: 700;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s;
}

.qty-btn:hover {
    background: var(--color-magenta);
    color: #fff;
}

/* Przycisk Dodaj do Koszyka */
.single_variation_wrap button.single_add_to_cart_button {
    flex-grow: 1;
    height: 50px;
    background: var(--gradient-magenta);
    color: #ffffff;
    border: none;
    border-radius: 50px;
    font-weight: 800;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 0 30px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-left: 0;
}

.single_variation_wrap button.single_add_to_cart_button:hover {
    background: linear-gradient(135deg, #ff2c9c 0%, #8a2be2 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(224, 10, 127, 0.3);
}

.single_variation_wrap button.single_add_to_cart_button::before {
    content: '\f174';
    /* Dashicon Cart */
    font-family: 'dashicons';
    font-size: 20px;
    margin-right: 5px;
}

.single_variation_wrap button.single_add_to_cart_button.disabled {
    background: var(--gradient-magenta);
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* =========================================
   XX. WOOCOMMERCE KASA - ZUPELNIE NOWY UKLAD BLOKOWY (BEZ TABEL)
   ========================================= */
.simair-order-review-container {
    width: 100%;
}

.simair-order-review-items {
    margin-bottom: 20px;
}

.simair-order-review-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #e2e8f0;
    gap: 20px;
}

.simair-order-review-item .product-name {
    flex: 1; /* MAXIMUM SPACE FOR PRODUCT NAME */
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-black, #1e293b);
}

.simair-order-review-item .product-total {
    flex: 0 0 auto;
    font-weight: 700;
    color: var(--color-magenta, #E00A7F);
    font-size: 1.1rem;
}

.simair-order-review-footer {
    border-top: 2px solid #f1f5f9;
    padding-top: 10px;
}

.simair-order-review-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px dashed #e2e8f0;
}

.simair-order-review-row:last-child {
    border-bottom: none;
}

.simair-order-review-row .row-label {
    flex: 0 0 35%; /* Labels (Metoda dostawy, Podsuma) get 35% */
    font-weight: 600;
    color: #475569;
    font-size: 0.9rem;
}

.simair-order-review-row .row-value {
    flex: 1; /* Values and Shipping radios get 65% */
    text-align: right;
}

/* Shipping row specifically */
.simair-order-review-row.shipping-row {
    align-items: flex-start; /* Options take vertical space */
}

.simair-order-review-row.shipping-row .row-value {
    text-align: left; /* Radio buttons to the left */
}

/* Shipping methods list */
.simair-order-review-row.shipping-row ul#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}

.simair-order-review-row.shipping-row ul#shipping_method li {
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
    word-break: break-word;
}

.simair-order-review-row.shipping-row ul#shipping_method li:last-child {
    margin-bottom: 0;
}

.simair-order-review-row.shipping-row ul#shipping_method li input[type="radio"] {
    margin-top: 4px; /* Align with first line of text */
}

/* Total Row */
.simair-order-review-row.total-row .row-label {
    font-size: 1.2rem;
    color: var(--color-black, #0f172a);
}

.simair-order-review-row.total-row .row-value {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--color-magenta, #E00A7F);
}

/* =========================================
   XX. WOOCOMMERCE THANK YOU PAGE & ORDER DETAILS
   ========================================= */

/* Kontener gĹ‚Ăłwny dla szczegĂłĹ‚Ăłw zamĂłwienia */
.woocommerce-order-details {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    border: 1px solid #f1f5f9;
}

.woocommerce-order-details h2.woocommerce-order-details__title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-black, #0f172a);
    margin-bottom: 20px;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Tabela szczegĂłĹ‚Ăłw */
.woocommerce-table--order-details,
.woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: collapse;
    border: none;
    margin-bottom: 0;
}

.woocommerce-table--order-details thead,
.woocommerce-table--order-downloads thead {
    background: #f8fafc;
    border-radius: 8px;
}

.woocommerce-table--order-details thead th,
.woocommerce-table--order-downloads thead th {
    padding: 15px;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    border: none;
}

.woocommerce-table--order-details tbody td,
.woocommerce-table--order-downloads tbody td {
    padding: 20px 15px;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}

.woocommerce-table--order-details tbody td.product-name {
    font-weight: 600;
    color: var(--color-black, #1e293b);
}

.woocommerce-table--order-details tbody td.product-name a {
    color: var(--color-sky, #0ea5e9);
    text-decoration: none;
}

.woocommerce-table--order-details tbody td.product-total {
    font-weight: 700;
    color: var(--color-magenta, #E00A7F);
    text-align: right;
}

.woocommerce-table--order-details tfoot th {
    padding: 15px 15px 15px 0;
    font-weight: 600;
    color: #64748b;
    text-align: right;
    border-bottom: 1px dashed #e2e8f0;
}

.woocommerce-table--order-details tfoot td {
    padding: 15px;
    font-weight: 700;
    color: var(--color-black, #0f172a);
    text-align: right;
    border-bottom: 1px dashed #e2e8f0;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none;
    font-size: 1.3rem;
}

.woocommerce-table--order-details tfoot tr:last-child td {
    color: var(--color-magenta, #E00A7F);
    font-weight: 800;
}

/* Dane klienta (Adres rozliczeniowy) */
.woocommerce-customer-details {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    border: 1px solid #f1f5f9;
}

.woocommerce-customer-details h2 {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-black, #0f172a);
    margin-bottom: 20px;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.woocommerce-customer-details address {
    font-style: normal;
    color: #475569;
    line-height: 1.6;
    font-size: 0.95rem;
    padding: 20px;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 4px solid var(--color-sky, #0ea5e9);
}

/* =========================================
   XXI. KARTA PRODUKTU - ODSTÄPY 
   ========================================= */

/* OdstÄ™p dla bloku z przyciskiem do koszyka i wariantami */
.simair-col-info .prod-add-to-cart-container {
    margin-top: 25px; /* odsuwa od ceny powyĹĽej */
    margin-bottom: 35px; /* odsuwa mocno od opisu poniĹĽej */
}

/* Opcjonalna linia oddzielajÄ…ca koszyk od opisu pod spodem widoku */
.simair-col-info .prod-desc-box {
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid #f1f5f9;
}

/* =========================================
   XXII. SIATKA PRODUKTĂ“W (BUILDER)
   ========================================= */

ul.products.simair-shop-grid {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important; /* Force 1 line */
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 0 20px 0 !important; /* Space for scrollbar */
    list-style: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    clear: both !important;
}

ul.products.simair-shop-grid::before,
ul.products.simair-shop-grid::after {
    display: none !important;
    content: none !important;
}

ul.products.simair-shop-grid::-webkit-scrollbar {
    height: 8px !important;
}
ul.products.simair-shop-grid::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
    border-radius: 4px !important;
}
ul.products.simair-shop-grid::-webkit-scrollbar-thumb {
    background: var(--color-sky, #0ea5e9) !important;
    border-radius: 4px !important;
}

ul.products.simair-shop-grid li.product,
ul.products.simair-shop-grid li.product.first,
ul.products.simair-shop-grid li.product.last {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 calc(20% - 16px) !important; /* Limit 5 in a row */
    max-width: calc(20% - 16px) !important;
    width: calc(20% - 16px) !important;
    min-width: calc(20% - 16px) !important;
    margin: 0 !important;
    clear: none !important;
    float: none !important;
}

@media (max-width: 1200px) {
    ul.products.simair-shop-grid li.product,
    ul.products.simair-shop-grid li.product.first,
    ul.products.simair-shop-grid li.product.last {
        flex: 0 0 calc(25% - 15px) !important;
        max-width: calc(25% - 15px) !important;
        width: calc(25% - 15px) !important;
        min-width: calc(25% - 15px) !important;
    }
}

@media (max-width: 992px) {
    ul.products.simair-shop-grid li.product,
    ul.products.simair-shop-grid li.product.first,
    ul.products.simair-shop-grid li.product.last {
        flex: 0 0 calc(33.333% - 14px) !important;
        max-width: calc(33.333% - 14px) !important;
        width: calc(33.333% - 14px) !important;
        min-width: calc(33.333% - 14px) !important;
    }
}

/* Mobile Scroll */
@media (max-width: 768px) {
    ul.products.simair-shop-grid {
        gap: 15px !important;
        scroll-snap-type: x mandatory !important;
        padding-bottom: 25px !important;
        scrollbar-width: none !important; /* Hide scrollbar Firefox */
    }
    
    ul.products.simair-shop-grid::-webkit-scrollbar {
        display: none !important; /* Hide scrollbar Chrome/Safari */
    }

    ul.products.simair-shop-grid li.product,
    ul.products.simair-shop-grid li.product.first,
    ul.products.simair-shop-grid li.product.last {
        flex: 0 0 75% !important; /* Show 1 full and part of next */
        max-width: 75% !important;
        width: 75% !important;
        min-width: 75% !important;
        scroll-snap-align: start !important;
    }
}

@media (max-width: 480px) {
    ul.products.simair-shop-grid li.product,
    ul.products.simair-shop-grid li.product.first,
    ul.products.simair-shop-grid li.product.last {
        flex: 0 0 85% !important;
        max-width: 85% !important;
        width: 85% !important;
        min-width: 85% !important;
    }
}

/* --- UNIVERSAL BUILDER: SPACING & MOBILE OVERRIDES --- */

/* Mobile (<= 768px) */
@media (max-width: 768px) {
    /* GrafikÄ™ blokuj na 100% z zachowaniem naturalnych proporcji */
    .sim-single-image-wrap img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* OgieĹ„ we wszystkie przerwy na mobile - TYLKO GĂ“RA/DĂ“Ĺ, ĹĽeby nie uciÄ…Ä‡ .container */
    .section-padding { padding-top: 25px !important; padding-bottom: 25px !important; }
    .section-padding-small { padding-top: 15px !important; padding-bottom: 15px !important; }
    .sim-col-padding { padding-top: 5px !important; padding-bottom: 5px !important; }
    
    .sim-univ-faq.sim-col-padding, 
    .simair-data-table-section.sim-col-padding,
    .sim-univ-gallery.sim-col-padding {
        margin-bottom: 5px !important;
    }
}

/* Desktop (> 768px) */
@media (min-width: 769px) {
    /* Ucinamy przerwy na desktopie, bo uĹĽytkownik uznaĹ‚ stare 80px i 40px za stanowczo za duĹĽe */
    .section-padding { padding-top: 35px !important; padding-bottom: 35px !important; }
    .section-padding-small { padding-top: 20px !important; padding-bottom: 20px !important; }
    .sim-col-padding { padding-top: 10px !important; padding-bottom: 10px !important; }
    
    .sim-univ-faq.sim-col-padding, 
    .simair-data-table-section.sim-col-padding,
    .sim-univ-gallery.sim-col-padding {
        margin-bottom: 10px !important;
    }

    /* Wyzerowanie marginesĂłw wewnÄ™trznych gĹ‚Ăłwnych sekcji TYLKO dla strony o ID 457 na DESKTOPIE */
    .page-id-457 .section-padding,
    .page-id-457 .section-padding-small,
    .page-id-457 .sim-col-padding,
    .postid-457 .section-padding,
    .postid-457 .section-padding-small,
    .postid-457 .sim-col-padding {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .page-id-457 .sim-univ-faq, 
    .page-id-457 .simair-data-table-section,
    .page-id-457 .sim-univ-gallery,
    .page-id-457 .sim-single-image-wrap,
    .postid-457 .sim-univ-faq, 
    .postid-457 .simair-data-table-section,
    .postid-457 .sim-univ-gallery,
    .postid-457 .sim-single-image-wrap {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Specjalne ĹĽyczenie: padding dla simair-main-wrapper TYLKO na podstronie o ID 457 */
body.page-id-457 .simair-main-wrapper,
body.postid-457 .simair-main-wrapper {
    padding-top: 15px !important;
    padding-bottom: 0 !important;
}

@media (max-width: 768px) {
    /* Wyzerowanie marginesĂłw wewnÄ™trznych gĹ‚Ăłwnych sekcji TYLKO dla strony o ID 457 na mobile */
    .page-id-457 .section-padding,
    .page-id-457 .section-padding-small,
    .page-id-457 .sim-col-padding,
    .postid-457 .section-padding,
    .postid-457 .section-padding-small,
    .postid-457 .sim-col-padding {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .page-id-457 .sim-univ-faq, 
    .page-id-457 .simair-data-table-section,
    .page-id-457 .sim-univ-gallery,
    .page-id-457 .sim-single-image-wrap,
    .postid-457 .sim-univ-faq, 
    .postid-457 .simair-data-table-section,
    .postid-457 .sim-univ-gallery,
    .postid-457 .sim-single-image-wrap {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* ==========================================================================
/* Hero section uses Universal Builder classes */

/* Adjust spacing between Hero and Content on PC */
@media (min-width: 992px) {
    .sim-about-page-main .sim-about-intro .simair-main-wrapper,
    .sim-about-page-main .simair-main-wrapper {
        padding-top: 30px !important;
    }
}

/* Intro & Counter */
.sim-about-intro-grid {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.sim-about-sidebar {
    order: 0; /* Mobile: Left col contains counter, so sidebar defaults after it */
    width: 100%;
}
.sim-about-left-col {
    order: -1;
    width: 100%;
}
@media (min-width: 992px) {
    .sim-about-intro-grid {
        display: grid;
        grid-template-columns: 1fr 2fr; /* 1/3 and 2/3 ratio */
        gap: 60px;
        align-items: start;
    }
    .sim-about-sidebar {
        order: 0; /* Reset order on desktop */
    }
    .sim-about-left-col {
        order: 0;
    }
}
.sim-live-counter-box.premium-counter {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255,255,255,0.1);
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    padding: 40px 30px;
    text-align: center;
}
/* Glowing orb inside */
.sim-live-counter-box::after {
    content: '';
    position: absolute;
    top: -50px; right: -50px;
    width: 150px; height: 150px;
    background: #38bdf8;
    filter: blur(80px);
    opacity: 0.3;
    z-index: 0;
}
.sim-live-counter-inner {
    position: relative;
    z-index: 1;
}
.counter-premium-icon svg {
    width: 70px; height: 70px; 
    margin-bottom: 25px;
    filter: drop-shadow(0 0 15px rgba(56, 189, 248, 0.5));
}
.counter-premium-title {
    font-size: 1.2rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 5px;
    font-weight: 600;
}
.counter-premium-date {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 25px;
    background: linear-gradient(to right, #ffffff, #cbd5e1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.counter-premium-divider {
    width: 60px;
    height: 3px;
    background: #0284c7;
    margin: 0 auto 25px;
    border-radius: 2px;
}
.counter-premium-context {
    font-size: 0.9rem;
    color: #64748b;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.counter-display {
    line-height: 1.2;
    margin-bottom: 0;
}
.counter-display .c-val {
    font-size: 3rem;
    font-weight: 800;
    color: #38bdf8;
    text-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
}
.counter-display .c-unit {
    font-size: 1.1rem;
    font-weight: 600;
    color: #f1f5f9;
    text-transform: lowercase;
}

/* Sidebar Setup */
.sim-about-sidebar {
    display: flex;
    flex-direction: column;
    gap: 40px;
    /* Optional sticky if description is long */
    position: sticky;
    top: 100px;
}

/* Timeline Container */
.sim-sidebar-timeline {
    width: 100%;
}
.sim-timeline {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 0;
}
/* Mobile Timeline (Line on the Left) */
.sim-timeline::before {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    left: 20px;
    width: 4px;
    background: #e0e0e0;
    border-radius: 2px;
}
.sim-timeline-row {
    position: relative;
    margin-bottom: 40px;
    padding-left: 60px;
    width: 100%;
}
.sim-timeline-row:last-child { margin-bottom: 0; }

.sim-timeline-dot {
    position: absolute;
    left: 14px;
    top: 25px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0ea5e9;
    border: 4px solid #fff;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.2);
    z-index: 2;
}
.sim-timeline-dot .dot-glow {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 30px; height: 30px;
    background: #38bdf8;
    border-radius: 50%;
    filter: blur(10px);
    opacity: 0.6;
    z-index: -1;
}
.sim-premium-sidebar-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: 20px;
    margin-bottom: 30px;
    display: inline-block;
    border-bottom: 3px solid #0284c7;
    padding-bottom: 10px;
}

.sim-timeline-content {
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.03);
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.sim-timeline-content:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.tl-date-badge {
    display: inline-block;
    background: #0073aa;
    color: #fff;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.sim-timeline-content .tl-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #111;
}
.sim-timeline-content .tl-desc {
    color: #555;
    line-height: 1.6;
    margin: 0;
}

/* Desktop Timeline Sidebar Alignment */
@media (min-width: 992px) {
    .sim-timeline-content::after {
        content: '';
        position: absolute;
        top: 20px;
        left: -12px;
        border-width: 12px 12px 12px 0;
        border-style: solid;
        border-color: transparent #fff transparent transparent;
    }
}

/* ==========================================================================
   UNIVERSAL BUILDER: LOCATIONS (ELEGANT STRIP)
   ========================================================================== */
.sim-univ-locations-wrapper {
    position: relative;
    z-index: 20;
    width: 100%;
}
.sim-availability-elegant-strip {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0;
    gap: 15px;
    height: 40px;
}
.sim-availability-elegant-strip .sim-availability-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--color-black);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.sim-availability-elegant-strip .sim-availability-badges {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sim-availability-elegant-strip .loc-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--color-white);
    background: var(--gradient-sky);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 16px;
    border-radius: 50px;
    box-shadow: 0 4px 10px rgba(19, 109, 172, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sim-availability-elegant-strip .loc-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(19, 109, 172, 0.3);
}
.sim-availability-elegant-strip .loc-badge svg {
    width: 14px !important;
    height: 14px !important;
    fill: var(--color-white);
}

@media (max-width: 768px) {
    .sim-availability-elegant-strip {
        justify-content: center;
        flex-direction: column;
        gap: 8px;
        height: auto;
        padding: 10px 0;
    }
}

/* =========================================================================
   SIMAIR CAREER MODULE (OgĹ‚oszenia o PracÄ™)
   ========================================================================= */

/* Hero Archives */
.sim-career-hero {
    border-bottom: 1px solid #e2e8f0;
}

/* Elegant List Listing (No Cards) */
.sim-career-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
}
.sim-career-list-item {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px -1px rgb(0 0 0 / 0.05), 0 1px 2px -1px rgb(0 0 0 / 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 30px;
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
    text-decoration: none !important;
}
.sim-career-list-item:hover {
    transform: translateX(5px);
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    border-color: #cbd5e1;
}
.scli-left {
    flex: 1;
}
.scli-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 6px 0;
    line-height: 1.2;
}
.scli-subtitle {
    font-size: 1rem;
    color: #64748b;
    font-weight: 500;
}
.scli-right {
    display: flex;
    align-items: center;
    gap: 30px;
}
.scli-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f8fafc;
    color: #0ea5e9;
    transition: all 0.3s ease;
}
.scli-arrow svg {
    width: 20px;
    height: 20px;
}
.sim-career-list-item:hover .scli-arrow {
    background: #0ea5e9;
    color: #fff;
}

/* Single Hero */
.sim-career-single-hero {
    background-color: #fff;
    padding-top: 200px;
    padding-bottom: 60px;
    position: relative;
    border-bottom: 1px solid #e2e8f0;
}
.sim-cs-back-btn {
    display: inline-block;
    color: #64748b;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1px;
    text-decoration: none !important;
    margin-bottom: 20px;
    transition: color 0.2s ease;
}
.sim-cs-back-btn:hover {
    color: #0ea5e9;
}
.sim-cs-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    margin-bottom: 10px;
}
.sim-cs-subtitle {
    font-size: 1.1rem;
    color: #64748b;
}

/* Single Content Grid */
.simair-career-main-wrapper {
    background: #f8fafc;
    padding: 60px 0 100px;
}
.sim-career-content-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start;
}

/* Sidebar / Summary Box */
.sc-summary-box {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    border: 1px solid #f1f5f9;
    position: sticky;
    top: 120px;
}
.sc-summary-box h4 {
    margin-top: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 24px;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 12px;
}
.sc-summary-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}
.sc-summary-item svg {
    width: 24px;
    height: 24px;
    color: #0ea5e9;
    flex-shrink: 0;
}
.sc-summary-item strong {
    display: block;
    color: #475569;
    font-size: 0.9rem;
    margin-bottom: 4px;
}
.sc-summary-item span {
    display: block;
    color: #0f172a;
    font-weight: 600;
    font-size: 1.05rem;
}
.sc-summary-apply {
    margin-top: 30px;
    text-align: center;
}
.btn-apply-now {
    display: inline-block;
    width: 100%;
    background: linear-gradient(135deg, #0ea5e9 0%, #3b82f6 100%);
    color: #fff;
    text-decoration: none !important;
    text-align: center;
    padding: 14px 20px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 1.05rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.4);
    margin-bottom: 12px;
}
.btn-apply-now:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.5);
    color: #fff;
}
.sc-summary-apply small {
    color: #94a3b8;
    display: block;
}

/* Article Left */
.sc-article-block {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05);
    margin-bottom: 30px;
}
.sc-the-content {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #334155;
}
.sc-the-content p {
    margin-bottom: 1em;
}
.sc-block-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 0;
    margin-bottom: 20px;
}
.sc-check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sc-check-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
    font-size: 1.05rem;
    color: #334155;
    line-height: 1.5;
}
.sc-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    margin-right: 12px;
    margin-top: 2px;
}
.sc-icon-blue {
    color: #3b82f6;
}
.sc-icon-pink {
    color: #e00a7f;
}
.sc-article-footer {
    text-align: justify;
    font-size: 0.85rem;
    color: #94a3b8;
    line-height: 1.5;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    .sim-career-content-grid {
        grid-template-columns: 1fr;
    }
    .sim-career-sidebar {
        order: -1;
    }
    .sc-summary-box {
        position: static;
        margin-bottom: 10px;
    }
    .sim-cs-title {
        font-size: 2rem;
    }
    .sim-career-list-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .scli-right {
        width: 100%;
        justify-content: space-between;
    }
}
@media (max-width: 768px) {
    .sc-article-block {
        padding: 24px;
    }
}

/* --- Simair Button Group Styles (Universal Template) --- */
.sim-univ-button-group .btn {
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.sim-univ-button-group .btn-secondary {
    background: #64748b;
    color: #fff;
    border: 1px solid #64748b;
}

.sim-univ-button-group .btn-secondary:hover {
    background: #475569;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(100, 116, 139, 0.4);
}

.sim-univ-button-group .btn-outline-primary {
    background: transparent;
    color: #2563eb;
    border: 2px solid #2563eb;
}

.sim-univ-button-group .btn-outline-primary:hover {
    background: #2563eb;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.sim-univ-button-group .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* =========================================
   XX. WOOCOMMERCE PAGINATION (PREMIUM)
   ========================================= */
.woocommerce-pagination {
    margin-top: 50px;
    margin-bottom: 50px;
    display: flex;
    justify-content: center;
    width: 100%;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none !important;
    padding: 0;
    margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    overflow: visible !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 45px !important;
    height: 45px !important;
    font-size: 1.1rem !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
    background-color: var(--color-white) !important;
    border-radius: 50% !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    text-decoration: none !important;
    padding: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--gradient-magenta) !important;
    color: var(--color-white) !important;
    transform: translateY(-3px) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 20px rgba(224, 10, 127, 0.25) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--gradient-sky) !important;
    color: var(--color-white) !important;
    border-color: transparent !important;
    box-shadow: 0 8px 15px rgba(23, 179, 220, 0.3) !important;
    cursor: default !important;
}

.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev {
    width: auto !important;
    padding: 0 20px !important;
    border-radius: 30px !important;
}

@media (max-width: 768px) {
    .woocommerce-pagination {
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .woocommerce nav.woocommerce-pagination ul {
        gap: 6px;
    }
    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span.current {
        width: 38px !important;
        height: 38px !important;
        font-size: 1rem !important;
    }
    .woocommerce nav.woocommerce-pagination ul li a.next,
    .woocommerce nav.woocommerce-pagination ul li a.prev {
        padding: 0 15px !important;
        border-radius: 30px !important;
    }
}

/* =========================================
   XX. WOOCOMMERCE SUB-CATEGORIES NAV
   ========================================= */
.simair-subcats-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
    align-items: center;
}

.shop-subcat-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 22px !important;
    font-size: 0.95rem !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    color: var(--color-blue) !important;
    background: transparent !important;
    border: 2px solid var(--color-sky) !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 0 4px 6px transparent !important;
}

.shop-subcat-pill:hover {
    background: var(--gradient-sky) !important;
    color: var(--color-white) !important;
    border-color: transparent !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 15px rgba(23, 179, 220, 0.3) !important;
}

@media (max-width: 768px) {
    .simair-subcats-wrapper {
        gap: 8px;
        margin-bottom: 20px;
        justify-content: center;
    }
    
    .shop-subcat-pill {
        padding: 8px 16px !important;
        font-size: 0.85rem !important;
        border-width: 1.5px !important;
    }
}

/* =========================================
   XX. WOOCOMMERCE BREADCRUMBS (SINGLE PRODUCT)
   ========================================= */
.simair-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.simair-crumb-sep {
    margin: 0 4px !important; /* Zmniejszony odstÄ™p z lewej i prawej */
    display: inline-flex;
    align-items: center;
    color: #94a3b8; /* Lekko stonowany kolor strzaĹ‚ki */
}

.simair-crumb-sep i {
    font-size: 14px !important;
    width: 14px;
    height: 14px;
    line-height: 1;
}

/* =========================================
   XX. CARNET BUTTON (SIMULATOR PAGE)
   ========================================= */
a.shop-slide-btn.btn-carnet-style {
    background: transparent !important;
    border: 2px solid var(--color-sky, #17b3dc) !important;
    color: var(--color-sky, #17b3dc) !important;
    box-shadow: none !important;
}

a.shop-slide-btn.btn-carnet-style:hover {
    background: var(--color-sky, #17b3dc) !important;
    color: #fff !important;
    border-color: var(--color-sky, #17b3dc) !important;
}

/* --- FIX KOSZYK 2.0: Zdublowane minusy i przycisk ZASTOSUJ --- */
.simair-qty-control .quantity .minus,
.simair-qty-control .quantity .plus,
.simair-qty-control .quantity input[type="button"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
}

.woocommerce .cart-coupon-box button.sim-btn-vouch.button,
.woocommerce-page .cart-coupon-box button.sim-btn-vouch.button {
    background: var(--color-black) !important;
    color: #fff !important;
    border: none !important;
    height: 55px !important;
    padding: 0 35px !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    transition: 0.3s !important;
    cursor: pointer !important;
    line-height: normal !important;
}

.woocommerce .cart-coupon-box button.sim-btn-vouch.button:hover,
.woocommerce-page .cart-coupon-box button.sim-btn-vouch.button:hover {
    background: var(--color-magenta) !important;
    color: #fff !important;
    transform: translateY(-3px) !important;
}

/* =========================================================================
   Moje Konto - Karty Zamówień (SimAir)
   ========================================================================= */
.simair-orders-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 20px;
}
.simair-order-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.03);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}
.simair-order-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--gradient-magenta);
    opacity: 0;
    transition: 0.4s ease;
}
.simair-order-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}
.simair-order-card:hover::before {
    opacity: 1;
}
.order-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px dashed #f1f5f9;
    padding-bottom: 20px;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 15px;
}
.order-number-box {
    display: flex;
    align-items: center;
    gap: 15px;
}
.order-badge-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(23,179,220,0.1) 0%, rgba(19,109,172,0.1) 100%);
    color: var(--color-sky, #17B3DC);
    font-size: 1.3rem;
}
.order-number {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-black);
    letter-spacing: -0.5px;
}

/* Badge System */
.order-status {
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.simair-order-status-completed { background: #dcfce7; color: #166534; }
.simair-order-status-processing { background: #dbeafe; color: #1e40af; }
.simair-order-status-on-hold { background: #fef9c3; color: #854d0e; }
.simair-order-status-pending { background: #ffedd5; color: #9a3412; }
.simair-order-status-cancelled { background: #fee2e2; color: #991b1b; }
.simair-order-status-refunded { background: #f1f5f9; color: #475569; }
.simair-order-status-failed { background: #fecdd3; color: #9f1239; }

.order-card-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}
.order-detail-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.detail-label {
    font-size: 0.85rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    font-family: var(--font-heading);
}
.detail-value {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--color-black);
}
.order-total-price {
    font-weight: 800;
    color: var(--color-magenta);
    font-size: 1.4rem;
    font-family: var(--font-heading);
}
.order-card-footer {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    padding-top: 25px;
    border-top: 2px dashed #f1f5f9;
}

.simair-order-card .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 14px;
    letter-spacing: 1px;
}
.sim-btn-view {
    background: var(--gradient-sky) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 8px 20px rgba(23, 179, 220, 0.3);
}
.sim-btn-view:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(23, 179, 220, 0.5);
}
.sim-btn-action, .sim-btn-pay {
    background: var(--gradient-magenta) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 8px 20px rgba(224, 10, 127, 0.3);
}
.sim-btn-action:hover, .sim-btn-pay:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(224, 10, 127, 0.5);
}
.sim-btn-cancel {
    background-color: transparent !important;
    border: 2px solid #ef4444 !important;
    color: #ef4444 !important;
}
.sim-btn-cancel:hover {
    background-color: #ef4444 !important;
    color: #fff !important;
}
.simair-no-orders-msg {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    border-left: 6px solid var(--color-sky, #0ea5e9);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}
.sim-btn-paginate {
    border-radius: 50px !important;
    padding: 12px 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

@media (max-width: 768px) {
    .order-card-body {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .order-card-footer {
        flex-direction: column;
        gap: 15px;
    }
    .simair-order-card .button {
        width: 100%;
    }
    .order-number {
        font-size: 1.2rem;
    }
    .simair-order-card {
        padding: 20px;
    }
}

/* =========================================================================
   Moje Konto - Szczegóły Zamówienia (Widok "ZOBACZ")
   ========================================================================= */
.woocommerce-order-details {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.03);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    margin-top: 20px;
}
.woocommerce-order-details__title {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--color-black);
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #f1f5f9;
}
.woocommerce-table--order-details {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
    border: none !important;
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    padding: 20px 15px;
    border-bottom: 1px solid #f1f5f9;
    background: transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: var(--color-text);
}
.woocommerce-table--order-details thead th {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-black);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    border-bottom: 2px solid #e2e8f0;
}
.woocommerce-table--order-details tbody td.product-name {
    font-weight: 600;
    color: var(--color-black);
}
.woocommerce-table--order-details tbody td.product-name a {
    color: var(--color-black);
    text-decoration: none;
    transition: color 0.3s;
}
.woocommerce-table--order-details tbody td.product-name a:hover {
    color: var(--color-sky);
}
.woocommerce-table--order-details tbody td.product-total {
    font-weight: 700;
    color: var(--color-magenta);
}
.woocommerce-table--order-details tfoot th {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-black);
    text-align: left;
}
.woocommerce-table--order-details tfoot td {
    font-weight: 700;
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none;
    font-size: 1.2rem;
    color: var(--color-magenta);
}

/* Klient & Adresy */
.woocommerce-customer-details {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.03);
    border-radius: 20px;
    padding: 30px 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}
.woocommerce-customer-details h2 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-black);
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #f1f5f9;
}
.woocommerce-customer-details address {
    font-style: normal;
    line-height: 1.8;
    color: var(--color-text);
    padding: 15px 25px;
    background: #f8fafc;
    border-radius: 12px;
    border-left: 4px solid var(--color-sky);
}
.woocommerce-order-details .order-again .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    background: var(--gradient-magenta) !important;
    color: #fff !important;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 8px 20px rgba(224, 10, 127, 0.3);
    border: none;
    transition: all 0.3s;
    margin-top: 20px;
}
.woocommerce-order-details .order-again .button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(224, 10, 127, 0.5);
}

@media (max-width: 768px) {
    .woocommerce-order-details,
    .woocommerce-customer-details {
        padding: 20px;
    }
    .woocommerce-table--order-details th,
    .woocommerce-table--order-details td {
        display: block;
        width: 100%;
        text-align: left;
        padding: 10px 5px !important;
    }
    .woocommerce-table--order-details thead {
        display: none;
    }
    .woocommerce-table--order-details tbody tr {
        display: block;
        border-bottom: 2px dashed #e2e8f0;
        padding: 15px 0;
    }
    .woocommerce-table--order-details tbody td {
        border-bottom: none !important;
    }
    .woocommerce-table--order-details tbody td.product-total {
        padding-top: 5px !important;
    }
    .woocommerce-table--order-details tfoot tr {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #f1f5f9;
        padding: 10px 0;
    }
}

/* =========================================================================
   Moje Konto - Adresy i Formularze (SimAir)
   ========================================================================= */
.woocommerce-EditAccountForm.edit-account {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.03);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    margin-top: 20px;
}
.woocommerce-EditAccountForm.edit-account fieldset {
    border: 2px solid #f1f5f9;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 20px 10px 20px;
    margin-top: 50px;
}
.woocommerce-EditAccountForm.edit-account fieldset legend {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--color-black);
    padding: 0 15px;
    background: #ffffff;
    border: none;
    margin-bottom: 15px;
}

body .woocommerce form .woocommerce-address-fields .form-row,
body .woocommerce form.woocommerce-EditAccountForm.edit-account .form-row {
    margin-bottom: 25px !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}
body .woocommerce form .woocommerce-address-fields label,
body .woocommerce form.woocommerce-EditAccountForm.edit-account label {
    display: block !important;
    font-family: var(--font-heading) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--color-black) !important;
    margin-bottom: 8px !important;
}
body .woocommerce form .woocommerce-address-fields input.input-text,
body .woocommerce form .woocommerce-address-fields select,
body .woocommerce form .woocommerce-address-fields textarea,
body .woocommerce form.woocommerce-EditAccountForm.edit-account input.input-text,
body .woocommerce form.woocommerce-EditAccountForm.edit-account select,
body .woocommerce form.woocommerce-EditAccountForm.edit-account textarea {
    width: 100% !important;
    padding: 15px 20px !important;
    background: #f8fafc !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 12px !important;
    color: var(--color-text) !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    font-family: var(--font-body) !important;
    box-sizing: border-box !important;
    height: auto !important;
    box-shadow: none !important;
    line-height: normal !important;
}
body .woocommerce form .woocommerce-address-fields input.input-text:focus,
body .woocommerce form .woocommerce-address-fields select:focus,
body .woocommerce form .woocommerce-address-fields textarea:focus,
body .woocommerce form.woocommerce-EditAccountForm.edit-account input.input-text:focus,
body .woocommerce form.woocommerce-EditAccountForm.edit-account select:focus,
body .woocommerce form.woocommerce-EditAccountForm.edit-account textarea:focus {
    background: #ffffff !important;
    border-color: var(--color-sky) !important;
    box-shadow: 0 0 0 4px rgba(23, 179, 220, 0.1) !important;
    outline: none !important;
}
body .woocommerce form .woocommerce-address-fields .select2-container--default .select2-selection--single,
body .woocommerce form.woocommerce-EditAccountForm.edit-account .select2-container--default .select2-selection--single {
    height: 54px !important;
    padding: 12px 20px !important;
    background: #f8fafc !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
}
body .woocommerce form .woocommerce-address-fields .select2-container--default .select2-selection--single:focus,
body .woocommerce form.woocommerce-EditAccountForm.edit-account .select2-container--default .select2-selection--single:focus {
    border-color: var(--color-sky) !important;
}

.woocommerce-address-fields button[type="submit"].button,
.woocommerce-EditAccountForm.edit-account button[type="submit"].button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    background: var(--gradient-magenta) !important;
    color: #fff !important;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    box-shadow: 0 10px 25px rgba(224, 10, 127, 0.3);
    border: none;
    transition: all 0.3s ease;
    margin-top: 15px;
    font-size: 1.1rem;
    width: auto;
}
.woocommerce-address-fields button[type="submit"].button:hover,
.woocommerce-EditAccountForm.edit-account button[type="submit"].button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(224, 10, 127, 0.5);
}

@media (max-width: 768px) {
    .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
    .woocommerce-address-fields,
    .woocommerce-EditAccountForm.edit-account {
        padding: 25px;
    }
    .woocommerce-address-fields button[type="submit"].button,
    .woocommerce-EditAccountForm.edit-account button[type="submit"].button {
        width: 100%;
    }
}

/* =========================================================================
   Globalne - Ceny Promocyjne i Odznaka "Sale"
   ========================================================================= */
.woocommerce ul.products li.product,
.simair-shop-card,
.product {
    position: relative;
}

.woocommerce ul.products li.product .onsale,
.onsale {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    background: var(--gradient-magenta) !important;
    color: #ffffff !important;
    padding: 6px 14px !important;
    border-radius: 50px !important;
    font-family: var(--font-heading) !important;
    font-weight: 800 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    z-index: 10 !important;
    box-shadow: 0 4px 15px rgba(224, 10, 127, 0.4) !important;
    margin: 0 !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1 !important;
    display: inline-block !important;
}

/* Przekreślenie ceny (Stara Cena) - wymuszony strikethrough na <bdi> i <span> */
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del span,
.woocommerce ul.products li.product .price del bdi,
.woocommerce div.product p.price del,
.woocommerce div.product p.price del span,
.woocommerce div.product p.price del bdi,
.price del,
.price del span,
.price del bdi,
.price > .woocommerce-Price-amount:first-of-type:not(:last-of-type),
.price > .woocommerce-Price-amount:first-of-type:not(:last-of-type) span,
.price > .woocommerce-Price-amount:first-of-type:not(:last-of-type) bdi {
    text-decoration: line-through !important;
    opacity: 1 !important;
    font-size: 1em !important; /* Idealny "ciut" mniejszy od nowej, ale nie mikroskopijny */
    color: #4a5568 !important; /* Wyraźniejszy, ciemny szary */
    margin-right: 6px !important;
    font-weight: 700 !important;
}

/* Aktualna cena promiocyjna (Nowa Cena) */
.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.price ins {
    text-decoration: none !important;
    color: var(--color-magenta) !important;
    font-weight: 800 !important;
}

/* Footer Social Icons Customization */
.footer-social-icons { display: flex; flex-wrap: wrap; gap: 10px; }
.simair-social-link { flex: 0 0 calc(33.333% - 10px); display: flex; align-items: center; gap: 8px; text-decoration: none; }
.simair-social-link svg { width: 16px; height: 16px; }

/* My Account Login and Register Form Styles */
.simair-login-register-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin: 60px auto;
    max-width: 1000px;
    padding: 0 20px;
}
.simair-login-card, .simair-register-card {
    flex: 1 1 400px;
    background: var(--color-white);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.simair-login-card:hover, .simair-register-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
}
.simair-login-card h2, .simair-register-card h2 {
    font-size: 1.8rem;
    margin-bottom: 25px;
    text-align: center;
    color: var(--color-black);
    font-weight: 800;
    letter-spacing: -0.02em;
}
.woocommerce-form-row {
    margin-bottom: 20px;
}
.woocommerce-form-row label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-text);
}
.simair-input {
    width: 100%;
    padding: 14px 18px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: var(--color-black);
    font-size: 1rem;
    outline: none;
    transition: all 0.3s ease;
    font-family: var(--font-body);
}
.simair-input:focus {
    border-color: var(--color-sky);
    box-shadow: 0 0 0 4px rgba(23, 179, 220, 0.15);
    background: #fff;
}
.submit-row {
    margin-top: auto;
    text-align: center;
    padding-top: 10px;
}
.simair-btn {
    width: 100%;
    padding: 14px 20px;
    background: var(--gradient-sky);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: var(--font-heading);
    box-shadow: 0 4px 15px rgba(23, 179, 220, 0.25);
    letter-spacing: 0.5px;
}
.simair-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(23, 179, 220, 0.4);
    color: #fff;
}
.simair-btn.login-btn {
    background: var(--gradient-magenta);
    box-shadow: 0 4px 15px rgba(224, 10, 127, 0.25);
}
.simair-btn.login-btn:hover {
    box-shadow: 0 6px 22px rgba(224, 10, 127, 0.4);
}
.login-actions-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    margin-bottom: 25px;
    color: var(--color-text);
}
.login-actions-row label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 500;
    margin: 0;
}
.login-actions-row .lost_password a {
    color: var(--color-sky);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}
.login-actions-row .lost_password a:hover {
    color: var(--color-blue);
}
.password-info {
    font-size: 0.9rem;
    color: #64748b;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
}
@media (max-width: 768px) {
    .simair-login-register-container {
        flex-direction: column;
        gap: 30px;
        margin: 40px auto;
    }
    .simair-login-card, .simair-register-card {
        padding: 30px 20px;
    }
}
