/* ==============================================================================
 * BENTO PRODUCT STYLES - ZŁOTY STANDARD
 * ==============================================================================
 * Plik: bento-product.css
 * Opis: Style specyficzne dla strony pojedynczego produktu (Karta produktu).
 * SPIS TREŚCI:
 * 1. STRONA PRODUKTU — Breadcrumb, Layout, Tytuł, Cena
 * 2. STRONA PRODUKTU — Warianty, Koszyk, Zdjęcia
 * 3. STRONA PRODUKTU — Responsive (@media ≤991px)
 * ============================================================================== */

/*    6. STRONA PRODUKTU — Breadcrumb, Layout, Tytuł, Cena */
/* ============================================================ */

/* [SUGESTIA] Przenieść do kategorii: Komponenty > Strona produktu > Breadcrumb */

#product .breadcrumb {
    background: transparent;               /* Brak tła — breadcrumb pływa na tle strony */
    padding: 0 0 var(--btx-gap-md) 0;    /* 16px odstęp od dołu przed pierwszym kafelkiem */
    margin: 0;                             /* Reset marginesów Bootstrap */
}

#product .breadcrumb ol {
    display: flex;                         /* Elementy breadcrumb w jednym wierszu */
    flex-wrap: wrap;                       /* Zawijanie na małych ekranach */
    list-style: none;                      /* Brak punktorów */
    padding: 0;                            /* Reset paddingu listy */
    margin: 0;                             /* Reset marginesu listy */
    gap: 8px;                              /* Odstęp między elementami ścieżki */
}

#product .breadcrumb li,
#product .breadcrumb li a,
#product .breadcrumb li span {
    font-size: 12px;
    color: #a1a1aa !important;
    font-weight: 500;
    text-decoration: none;
    transition: color var(--btx-transition-fast);
}

#product .breadcrumb li a:hover {
    color: var(--btx-color-primary);      /* Niebieski kolor linku breadcrumb przy hover */
}

#product .breadcrumb li:not(:last-child)::after {
    content: "/";                          /* Separator "/" między elementami ścieżki */
    margin-left: 8px;                      /* Odstęp przed separatorem */
    color: var(--btx-text-muted);         /* Wygaszony kolor separatora */
}

#product .container {
    max-width: var(--btx-container-width);
    width: 100%;
    padding: var(--btx-page-padding);
}

/* Breadcrumb nad gridem */
#product .btx-standalone-breadcrumb {
    padding-top: 8px;
    margin-bottom: 12px;
    padding-left: 32px;
}

#product .btx-standalone-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

#product .btx-standalone-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 4px;
    align-items: center;
}

#product .btx-standalone-breadcrumb li,
#product .btx-standalone-breadcrumb li a,
#product .btx-standalone-breadcrumb li span {
    font-size: 12px;
    color: #a1a1aa !important;
    font-weight: 500;
    text-decoration: none;
}

#product .btx-standalone-breadcrumb li:not(:last-child)::after {
    content: "\00B7";
    margin-left: 4px;
    color: var(--btx-text-muted);
}

#product .btx-bento-grid {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: var(--btx-gap-lg);
    align-items: start;
    margin-bottom: 60px;
}

/* Desktop: kolumny jako flex containers */
#product .btx-col-left {
    display: flex;
    flex-direction: column;
    gap: var(--btx-gap-lg);
    min-width: 0;
}

#product .btx-col-right {
    display: flex;
    flex-direction: column;
    gap: var(--btx-gap-lg);
    min-width: 0;
    position: sticky;
    top: 24px;
}


#product .btx-product-title {
    font-size: var(--btx-text-2xl);       /* 28px — duży, wyróżniający tytuł */
    font-weight: 800;                      /* Extra bold */
    color: var(--btx-text-primary);       /* Ciemny kolor */
    margin-bottom: var(--btx-gap-sm);     /* 10px odstęp pod tytułem */
    letter-spacing: -0.02em;              /* Lekkie zagęszczenie liter — efekt premium */
}

#product .current-price span.price {
    font-size: var(--btx-text-hero);      /* 40px — dominująca cena produktu */
    font-weight: 900;                      /* Najgrubszy możliwy — cena jako główny akcent */
    color: var(--btx-color-warning);      /* Kolor ceny zgodny z kartami produktów */
    letter-spacing: -0.02em;              /* Zagęszczenie liter dla dużego fontu */
}


/* ============================================================
   6a. STRONA PRODUKTU — Warianty, Koszyk, Zdjęcia
   ============================================================ */

/* [SUGESTIA] Przenieść do kategorii: Komponenty > Strona produktu > Warianty i koszyk */

#product .product-variants {
    margin-bottom: var(--btx-gap-lg);     /* 24px odstęp pod sekcją wariantów */
}

#product .product-variants input[type="radio"],
#product .product-variants .input-radio,
#product .product-variants .custom-radio {
    position: absolute;                    /* Wyjęty z flow — niewidoczny, ale dostępny dla :checked */
    opacity: 0;                            /* Transparentny */
    width: 0;                              /* Brak wymiarów */
    height: 0;                             /* Brak wymiarów */
    pointer-events: none;                  /* Nie przechwytuje kliknięć (klik idzie na label) */
    display: none;                         /* Dodatkowe ukrycie — label steruje wyglądem */
}

#product .product-variants .color {
    margin-right: 8px;                     /* Odstęp między próbką koloru a etykietą */
    border-radius: 50%;                    /* Okrągła próbka koloru */
    border: 1px solid var(--btx-border-color); /* Delikatna ramka próbki */
}

#product .product-variants-item {
    margin-bottom: var(--btx-gap-md);     /* 16px odstęp między grupami wariantów */
    display: block;                        /* Block — pełna szerokość */
}

#product .product-variants label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 20px;
    height: 44px;
    background: var(--btx-bg-tile);
    border-radius: var(--btx-radius-pill);
    border: 1px solid var(--btx-border-color);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--btx-text-secondary);
    cursor: pointer;
    transition: all var(--btx-transition-fast);
    margin-right: 0;
    margin-bottom: 0;
    box-sizing: border-box;
}

#product .product-variants label::before,
#product .product-variants label::after {
    display: none !important;
    content: none !important;
}

#product .product-variants label .radio-label,
#product .product-variants label span {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

#product .product-variants label:has(input[type="radio"]:checked) {
    background: var(--btx-color-primary);
    border-color: var(--btx-color-primary);
    color: #ffffff;
    font-weight: 700;
}

#product .product-variants label:has(input[type="radio"]:checked) .radio-label,
#product .product-variants label:has(input[type="radio"]:checked) span {
    color: #ffffff !important;
}

@media (hover: hover) {
    #product .product-variants label:hover {
        background: var(--btx-bg-input);
        border-color: var(--btx-text-secondary);
        color: var(--btx-text-primary);
    }
}

#product .product-add-to-cart {
    margin-top: var(--btx-gap-lg);        /* 24px odstęp nad sekcją dodania do koszyka */
    width: 100%;                           /* Pełna szerokość panelu */
}

#product .product-quantity {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--btx-gap-md);
    margin-bottom: var(--btx-gap-lg);
    width: 100%;
}

#product .qty {
    flex: 0 0 auto;                        /* Spinner nie rośnie ani nie kurczy się — stały rozmiar */
    margin: 0;                             /* Reset marginesów */
}

#product .add {
    flex: 1 1 auto;
    margin: 0;
    display: block;
}

#product .product-quantity .control-label {
    display: none;                         /* Ukrywa etykietę "Ilość" (zastąpiona przez UX Bento) */
}

#product .btx-btn-primary.add-to-cart .material-icons {
    font-size: 18px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
}

#product .btn-primary.add-to-cart,
#product .btx-btn-primary.add-to-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 48px !important;
    border-radius: var(--btx-radius-pill) !important;
    background: var(--btx-color-primary) !important;
    color: var(--btx-text-on-primary) !important;
    font-weight: 800 !important;
    font-size: var(--btx-text-sm) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    border: none !important;
    width: 100% !important;
    transition: background var(--btx-transition-fast) !important;
}

#product .btn-primary.add-to-cart:hover,
#product .btx-btn-primary.add-to-cart:hover {
    background: var(--btx-color-primary-hover);
}

.js-qv-mask.mask.scroll,
.js-qv-mask,
.mask.scroll {
    margin: 0 !important;
    width: 100% !important;
    max-height: none !important;
}

.product-images {
    display: flex;
    flex-direction: row;
    gap: var(--btx-gap-md);
    overflow-x: auto;
    padding: 16px !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.product-images::-webkit-scrollbar {
    display: none;                         /* Ukrycie scrollbara (Chrome, Safari) */
}

.product-images img {
    border-radius: var(--btx-radius-lg);  /* Zaokrąglenie miniaturek (14px) */
    border: var(--btx-border-width-active) solid transparent; /* Transparentna ramka — widoczna po zaznaczeniu */
    cursor: pointer;                       /* Kursor wyboru miniaturki */
    transition: border-color var(--btx-transition-fast); /* Animacja podświetlenia ramki */
}

.product-images img.selected {
    border-color: var(--btx-color-primary); /* Niebieska ramka aktywnej miniaturki */
}


/* ============================================================
   6b. STRONA PRODUKTU — Responsive (@media ≤991px)
   ============================================================ */

/* [SUGESTIA] Przenieść do kategorii: Responsywność (Media Queries) > Strona produktu */

@media (max-width: 991px) {
    #product button.add-to-cart i.material-icons,
    #product .add-to-cart i.material-icons {
        display: none !important;
        width: 0 !important;
        overflow: hidden !important;
    }
    /* Klip poziomego wylewania nałożony na WEWNĘTRZNY wrapper, nie na <body id="product">.
       Gdy overflow trafia na body (root scroller), iOS Safari przestaje chować pasek
       adresu przy scrollu i safe-area wypełnia się pełnym tłem (statyczne kremowe pasy).
       Przeniesienie na #main przywraca natywny scroller → chrome chowa się jak na innych stronach. */
    #product #main {
        overflow-x: hidden !important;
        width: 100% !important;
    }
    #product .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }
    #product .btx-bento-grid {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        box-sizing: border-box !important;
        gap: var(--btx-gap-md);
    }
    /* Breadcrumb — ukryty na mobile */
    #product .btx-standalone-breadcrumb {
        display: none !important;
    }
    /* Badge media — absolute z powrotem, tile-media dostaje padding-top na badge */
    #product .btx-tile-media {
        padding-top: 16px !important;
    }
    #product .btx-tile-media .btx-badge-media {
        position: absolute !important;
        top: 16px !important;
        left: 16px !important;
    }
    /* Badge pozostałych kafelków — w flow na mobile */
    #product .btx-tile:not(.btx-tile-media) .btx-pill.btx-footer-badge {
        position: static !important;
        display: inline-flex !important;
        margin-bottom: 12px !important;
    }
    #product .btx-tile-buybox,
    #product .btx-tile-features,
    #product .btx-tile-description {
        padding-top: var(--btx-tile-padding) !important;
    }

    /* Wrappery kolumn transparentne — kafelki stają się bezpośrednimi dziećmi gridu */
    #product .btx-col-left,
    #product .btx-col-right {
        display: contents !important;
    }
    /* Jedna kolumna, flex direction column */
    #product .btx-bento-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--btx-gap-md) !important;
    }
    /* Kolejność: zdjęcie → buybox → opis → specyfikacja → trust */
    #product .btx-col-media       { order: 1 !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    #product .btx-col-buybox      { order: 2 !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; position: static !important; }
    #product .btx-col-description { order: 3 !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    #product .btx-col-features    { order: 4 !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    #product .btx-col-trust       { order: 5 !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    #product .btx-tile {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    #product .product-quantity {
        flex-direction: row;
        align-items: center;
    }
    /* Opis — elementy z admina */
    .product-description img,
    .product-description table,
    .product-description iframe,
    .product-description video {
        max-width: 100% !important;
        height: auto !important;
    }
    .product-description table {
        display: block !important;
        overflow-x: auto !important;
    }
    .product-cover {
        max-height: 70vw !important;
    }
}


/* ============================================================ */

/* ============================================================
   PRODUCT PAGE — UI improvements
   ============================================================ */


/* Tytuł — zmniejszony */
#product .btx-product-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
}

/* Kafel trust — ukryj jeśli pusty */
.btx-tile-trust:not(:has(*:not(:empty))) {
    display: none !important;
}



/* Customization — textarea */
.btx-customization-inner textarea.product-message {
    width: 100% !important;
    min-height: 120px !important;
    border: 1px solid var(--btx-border-color) !important;
    border-radius: var(--btx-radius-xl) !important;

    padding: 14px 16px !important;
    margin-bottom: 0 !important; /* Reset domyślnych marginesów textarea */
    font-size: 14px !important;
    color: var(--btx-text-primary) !important;
    background: var(--btx-bg-input) !important;
    resize: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.btx-customization-inner textarea.product-message:focus {
    border-color: var(--btx-neutral-400) !important;
    box-shadow: none !important;
}

/* Customization — small hint */
.btx-customization-inner small {
    font-size: 11px !important;
    color: #c4c4c8 !important;
    display: block !important;
    text-align: left !important; /* Przesunięte na lewo, tak jak label */
    margin-top: 4px !important; /* Przysunięte bliżej inputa */
    padding-left: 12px !important; /* Zrównane z labelem i zawartością pigułki */
    float: none !important; /* Nadpisanie .float-xs-right z TPL */
}

/* File upload — nowa struktura custom-file (Bento pill style) */
.custom-file {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: var(--btx-bg-input) !important;
    border: 1px solid var(--btx-border-color) !important;
    border-radius: var(--btx-radius-pill) !important;
    height: 48px !important;
    padding: 0 130px 0 16px !important;
    margin-top: 0 !important; /* Reset marginesów z domyślnego Bootstrapa */
    margin-bottom: 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Bezpieczne ukrycie natywnego inputa z zachowaniem klikalności na całej pigułce */
.custom-file .file-input {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
}

/* Tekst z nazwą pliku */
.custom-file .js-file-name {
    font-size: var(--btx-text-body) !important;
    color: var(--btx-text-secondary) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    font-weight: 500 !important;
}

/* Przycisk wewnątrz pigułki (stylizacja ciemna z podglądu) */
.custom-file button,
.custom-file .btx-btn-secondary {
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    border-radius: var(--btx-radius-pill) !important;
    background: var(--btx-text-primary) !important;
    color: #fff !important;
    border: none !important;
    padding: 0 16px !important;
    margin: 0 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    pointer-events: none !important; /* Przepuszcza klik na nałożony input file */
    box-sizing: border-box !important;
    line-height: 1 !important;
}

/* Customization — lista itemów */
.btx-customization-inner ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

/* Customization — save button */
.btx-btn-save-custom {
    width: 100% !important;          /* Pełna szerokość kolumny */
    height: 48px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-radius: var(--btx-radius-pill) !important;
    margin-bottom: 8px !important;
}

/* Wrapper przycisku ZAPISZ — minimalny odstęp nad */
.btx-customization-inner .clearfix:has(> .btx-btn-save-custom) {
    margin-top: 0 !important;
}

/* Warianty — reguła przeniesiona wyżej, ten blok usunięty */


/* Features grid */
.btx-features-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin-top: 12px !important;
}

.btx-feature-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--btx-border-light) !important;
    font-size: 13px !important;
}

.btx-feature-item:last-child {
    border-bottom: none !important;
}

.btx-feature-name {
    color: var(--btx-text-secondary) !important;
    font-weight: 500 !important;
}

.btx-feature-value {
    color: var(--btx-text-primary) !important;
    font-weight: 600 !important;
    text-align: right !important;
}

/* Label tag (Specyfikacja, Szczegóły) */
.btx-label-tag {
    display: inline-flex !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #c4c4c8 !important;
    margin-bottom: 4px !important;
}

/* Description tile */
.btx-tile-description .product-description {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--btx-text-secondary) !important;
}

.btx-tile-description .product-description h2,
.btx-tile-description .product-description h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--btx-text-primary) !important;
    margin: 20px 0 8px !important;
}

.btx-tile-description .product-description table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 16px 0 !important;
    font-size: 13px !important;
}

.btx-tile-description .product-description td,
.btx-tile-description .product-description th {
    padding: 10px 12px !important;
    border: 1px solid var(--btx-border-light) !important;
}

.btx-tile-description .product-description tr:nth-child(even) td {
    background: var(--btx-bg-input) !important;
}

/* Reference */
#product .btx-product-reference {
    font-size: 11px !important;
    color: #c4c4c8 !important;
    margin-bottom: 12px !important;
}

/* ============================================================
   GALERIA PRODUKTU
   ============================================================ */

.btx-tile-media {
    padding: 0 !important;
    overflow: visible !important;
    position: relative !important;
}

.btx-tile-media .btx-badge-media {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 2 !important;
    margin: 0 !important;
}

.images-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding-top: 24px !important;
}

.product-cover {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    max-height: 520px !important;
    overflow: hidden !important;
    border-radius: var(--btx-radius-2xl) var(--btx-radius-2xl) 0 0 !important;
    background: var(--btx-bg-input) !important;
}

.btx-no-image-placeholder {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.btx-no-image-placeholder .material-icons {
    font-size: 48px !important;
    color: #c4c4c8 !important;
}

.product-cover img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

.product-cover .layer {
    display: none !important;
}

/* Miniaturki */
.js-qv-mask {
    padding: 12px 16px !important;
    border-top: 1px solid var(--btx-border-light) !important;
}

.product-images {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 4px 0 !important;
    scrollbar-width: none !important;
}

.product-images::-webkit-scrollbar { display: none !important; }

.product-images {
    justify-content: flex-start !important;
}

.product-images .thumb-container {
    flex: 0 0 72px !important;
}

.product-images .thumb {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    border-radius: var(--btx-radius-lg) !important;
    border: 1px solid var(--btx-border-color) !important;
    background: var(--btx-bg-tile) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease !important;
    display: block !important;
}

.product-images .thumb.selected,
.product-images .thumb:hover {
    border-width: 1px !important;
    border-color: var(--btx-text-primary) !important;
}

/* ============================================================
   WYRÓWNANIE KAFELKÓW — top alignment
   ============================================================ */

#product .btx-bento-grid {
    align-items: start !important;
}

/* ============================================================
   BREADCRUMBS — styl
   ============================================================ */

.btx-breadcrumb-wrapper {
    margin-bottom: 16px !important;
}

#product .breadcrumb li {
    display: inline-flex !important;
    align-items: center !important;
}

#product .breadcrumb li:last-child a {
    color: var(--btx-text-primary) !important;
    font-weight: 600 !important;
    pointer-events: none !important;
}

/* ============================================================
   BREADCRUMB — w kafelku, z kropkami
   ============================================================ */

.btx-tile-breadcrumb {
    padding: 12px 20px !important;
}

.btx-tile-breadcrumb .breadcrumb {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.btx-tile-breadcrumb .breadcrumb ol {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    align-items: center !important;
}

.btx-tile-breadcrumb .breadcrumb li:not(:last-child)::after {
    content: "\00B7" !important;
    margin: 0 6px !important;
    color: #c4c4c8 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* usuń poprzedni separator z ukośnikiem */
#product .breadcrumb li:not(:last-child)::after {
    content: "\00B7" !important;
    margin: 0 6px !important;
}

.btx-tile-breadcrumb .breadcrumb li:last-child a {
    color: var(--btx-text-primary) !important;
    font-weight: 600 !important;
    pointer-events: none !important;
}

/* Breadcrumb wewnątrz kafelka galerii */
.btx-tile-media .btx-tile-breadcrumb {
    padding: 14px 20px 0 !important;
}

.btx-tile-media .btx-tile-breadcrumb .breadcrumb {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.btx-tile-media .btx-tile-breadcrumb ol {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center !important;
    gap: 0 !important;
}

.btx-tile-media .btx-tile-breadcrumb li:not(:last-child)::after {
    content: "\00B7" !important;
    margin: 0 6px !important;
    color: #c4c4c8 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.btx-tile-media .btx-tile-breadcrumb li a,
.btx-tile-media .btx-tile-breadcrumb li span {
    font-size: 11px !important;
    color: var(--btx-text-secondary) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.btx-tile-media .btx-tile-breadcrumb li:last-child a {
    color: var(--btx-text-primary) !important;
    font-weight: 600 !important;
    pointer-events: none !important;
}

/* Wyrównanie obu kafelków od góry */
#product .btx-bento-grid {
    align-items: start !important;
}


/* Badge pill na kafelkach produktu */
.btx-tile-features,
.btx-tile-description {
    padding-top: calc(var(--btx-tile-padding) + 36px) !important;
    position: relative !important;
}

.btx-tile-features .btx-pill.btx-footer-badge,
.btx-tile-description .btx-pill.btx-footer-badge {
    position: absolute !important;
    top: var(--btx-tile-padding) !important;
    left: var(--btx-tile-padding) !important;
    margin: 0 !important;
}

/* Badge pill na buyboxie */
.btx-tile-buybox {
    padding-top: calc(var(--btx-tile-padding) + 36px) !important;
    position: relative !important;
}

.btx-tile-buybox .btx-pill.btx-footer-badge {
    position: absolute !important;
    top: var(--btx-tile-padding) !important;
    left: var(--btx-tile-padding) !important;
    margin: 0 !important;
}

/* ============================================================
   BUYBOX — ceny, inputy, etykiety
   ============================================================ */

/* Cena aktualna */
#product .current-price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    margin-bottom: 16px !important;
}

#product .current-price span.price {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: var(--btx-color-warning) !important;
    line-height: 1 !important;
}

/* Cena przekreślona (stara) */
#product .current-price .regular-price {
    font-size: 13px !important;
    color: var(--btx-text-tertiary) !important;
    text-decoration: line-through !important;
    font-weight: 500 !important;
    order: -1 !important;
}

/* Etykiety inputów customizacji — do lewej */
.btx-customization-inner label,
.btx-custom-content label {
    text-align: left !important;
    display: block !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--btx-text-secondary) !important;
    margin-bottom: 2px !important; /* Przysunięte blisko inputa */
    padding-left: 12px !important; /* Lewy margines zgodny z formularzami Bento */
}


/* ============================================================
   QUANTITY STEPPER — wzorzec z btx-qty-stepper (uikit)
   ============================================================ */

#product .product-quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}

/* .qty — tylko wrapper, bez tła */
#product .qty {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Kapsuła — .input-group w selektorze bije Bootstrap */
#product .input-group.bootstrap-touchspin,
#product .bootstrap-touchspin {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border-radius: var(--btx-radius-pill) !important;
    border: 1px solid var(--btx-border-color) !important;
    height: 48px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
    padding: 0 !important;
    gap: 0 !important;
    width: auto !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box !important;
}

/* Przyciski − i + */
#product .qty button.bootstrap-touchspin-down,
#product .qty button.bootstrap-touchspin-up,
#product .input-group-btn button,
#product .bootstrap-touchspin .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 3px !important;
    border-radius: 50% !important;
    border: none !important;
    background: var(--btx-bg-input) !important;
    color: var(--btx-text-secondary) !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    transition: all var(--btx-transition-fast) !important;
    padding: 0 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
}

@media (hover: hover) {
    #product .qty button.bootstrap-touchspin-down:hover,
    #product .qty button.bootstrap-touchspin-up:hover,
    #product .input-group-btn button:hover,
    #product .bootstrap-touchspin .btn:hover {
        background: var(--btx-border-color) !important;
        color: var(--btx-color-primary) !important;
    }
}

/* Input ilości */
#quantity_wanted {
    width: 40px !important;
    height: 42px !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    border-radius: var(--btx-radius-md) !important;
    font-size: var(--btx-text-md) !important;
    font-weight: 700 !important;
    color: var(--btx-text-primary) !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    padding: 0 !important;
    line-height: 42px !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

#quantity_wanted::-webkit-inner-spin-button,
#quantity_wanted::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Kolejność: − input + */
#quantity_wanted {
    order: 0 !important;
}

#product .qty button.bootstrap-touchspin-down,
#product .input-group-btn:first-child button {
    order: -1 !important;
}

#product .qty button.bootstrap-touchspin-up,
#product .input-group-btn:last-child button {
    order: 1 !important;
}

/* input-group-btn wrapper — reset Bootstrap */
#product .input-group-btn {
    display: contents !important;
}

#product .add {
    flex: 1 1 auto !important;
}

/* Textarea personalizacji */
#product textarea.product-message {
    border-radius: 16px !important;
    border: 1px solid var(--btx-border-color) !important;
    background: var(--btx-bg-input) !important;
    padding: 14px 16px !important;
    width: 100% !important;
    resize: none !important;
    font-size: 14px !important;
    color: var(--btx-text-primary) !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    min-height: 120px !important;
}

#product textarea.product-message:focus {
    border-color: var(--btx-neutral-400) !important;
}

@media (max-width: 991px) {
    /* Stepper — węższy na mobile, wysokość jak button (48px) */
    #product .input-group.bootstrap-touchspin,
    #product .bootstrap-touchspin {
        height: 48px !important;
        margin-left: 1px !important;
    }
    #product .qty button.bootstrap-touchspin-down,
    #product .qty button.bootstrap-touchspin-up,
    #product .input-group-btn button,
    #product .bootstrap-touchspin .btn {
        width: 38px !important;
        height: 38px !important;
        margin: 0 4px !important;
        font-size: 14px !important;
    }
    #quantity_wanted {
        width: 28px !important;
        height: 38px !important;
        line-height: 38px !important;
        font-size: 13px !important;
    }
}


/* ============================================================
   SEKCJA AKCESORIÓW / PODOBNE PRODUKTY
   ============================================================ */

#product .btx-accessories-section {
    margin-top: 60px;
    margin-bottom: 60px;
}

#product .btx-section-title {
    font-size: var(--btx-text-lg);
    font-weight: 700;
    color: var(--btx-text-primary);
    margin-bottom: var(--btx-gap-lg);
}

/* Grid dla sekcji akcesoriów */
#product .btx-accessories-section .btx-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#product .btx-accessories-section .btx-products-grid > div,
#product .btx-accessories-section .btx-products-grid > article {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

@media (min-width: 576px) {
    #product .btx-accessories-section .btx-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 992px) {
    #product .btx-accessories-section .btx-products-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: var(--btx-gap-md) !important;
    }
}
