/* ── DESIGN 1:1 z desktop.jsx / mobile.jsx ── */
[x-cloak] {
    display: none !important;
}

/* === FONTS === */
#header,
body {
    font-family: "Geist", "Inter", system-ui, sans-serif;
    color: #1a2332;
}

h1,
h2,
h3 {
    font-family: "DM Serif Display", Georgia, serif;
}

/* === BODY BACKGROUND === */
/* Białe tło strony. Beżowe (#E8E1D4) idzie na ramki kart żeby były WIDOCZNE
   na białym (#FAF7F2 jest za blisko #FFFFFF — invisible). #FAF7F2 zostaje
   jako delikatny fill (hero placeholder, photo bg, accent hover). */
body {
    background-color: #ffffff;
}

/* === PREVENT HORIZONTAL PAGE OVERFLOW === */
/* używamy overflow-x: clip zamiast hidden — hidden łamałby position: sticky w descendantach */
html,
body {
    overflow-x: clip;
    max-width: 100%;
}

/* === BEŻOWE RAMKI KART — Czempion design tokens ═════════════════════════════
   Cards na białym tle potrzebują widocznego borderu żeby się definiowały.
   Token: #E8E1D4 (warm beige outline) — widoczny ale nie agresywny.
   Override slate-alpha borderów (rgba(26,35,50,0.08-0.15)) które ginęły na
   białym. Hover-state na kartach interaktywnych — accent border #B8764A.

   Selektory pokrywają:
    - Hyva native .card / .card-interactive (PLP product cards, etc.)
    - Custom theme cards (.wishlist-card, .acct-info__card, .acct-addr__card,
      .anp / account-nav, czempion-filters, .pdp-recommended__card, .group)
    - Hyva default Magento_Customer (.box-billing-*, .box-shipping-*)
    - PLP product photo wrapper (.czmp-card-image)
   ═══════════════════════════════════════════════════════════════════════════ */
/* Wymuszamy PEŁNY border (border-width + style + color), nie tylko color —
   część komponentów ma "border: none" w defaultach (np. Hyva .card-interactive),
   sam border-color by się nie pokazał. Tu daje 1px solid beż na 100%. */
.card,
.card-interactive,
.product-item-info,
.czmp-card-image,
.czempion-filters,
.czempion-filters > [role="group"],
.acct-info__card,
.acct-addr__card,
.anp,
.wishlist-card,
.pdp-recommended__card,
.homepage-product-card,
.box-address-billing,
.box-billing-address,
.box-address-shipping,
.box-shipping-address,
.account-account .box,
.customer-account .box,
.wishlist-empty,
.checkout-cart-index .cart.table-wrapper,
.checkout-cart-index .cart-summary,
.customer-account-login .block,
.customer-account-create .block,
.blog-index-index .post-holder,
.blog-category-view .post-holder,
.account .table-wrapper,
.customer-account .table-wrapper,
.account .sidebar .nav.items,
.customer-account .sidebar .nav.items {
    border: 1px solid #e8e1d4 !important;
}

/* Homepage product cards (sekcje "Promocje tygodnia", "Polecamy" itp.) —
   border + hover state. .homepage-product-card to nasz marker class na
   funkcji _homepage_product_card() w homepage.phtml. */
.homepage-product-card {
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease !important;
}
.homepage-product-card:hover {
    border-color: #b8764a !important;
    box-shadow: 0 4px 16px rgba(184, 118, 74, 0.08) !important;
}

/* PDP qty stepper — zachowuje own border, tylko color → beż */
.pdp-actions .field.qty,
.pdp-actions .control.qty {
    border-color: #e8e1d4 !important;
}

/* Hover na kartach interaktywnych (PLP, wishlist) — accent border */
.card-interactive:hover,
.wishlist-card:hover,
.pdp-recommended__card:hover {
    border-color: #b8764a !important;
}

/* Subtelny shadow przy hover dla głębi (replaces flat border-darken) */
.card-interactive:hover,
.wishlist-card:hover {
    box-shadow: 0 4px 16px rgba(184, 118, 74, 0.08) !important;
}

/* Tabele konta klienta + koszyka — dividers też w beżu zamiast slate-alpha */
.account table tbody tr td,
.customer-account table tbody tr td,
.checkout-cart-index .cart.item td,
.cms-page-view .page-content td,
.cms-page-view .std td {
    border-bottom-color: #e8e1d4 !important;
}

/* Borders na navigation items (account-nav) — beż jako separator */
.account .sidebar .nav.items .item a,
.customer-account .sidebar .nav.items .item a {
    border-bottom-color: #e8e1d4 !important;
}

/* === STAR RATING na PDP — wyświetlanie + hover === */
.product-reviews-summary .rating-result span::before,
.rating-result span::before {
    color: #b8764a !important;
}

/* DOM order: 5,4,3,2,1. Wyświetlanie odwrócone → 1,2,3,4,5 wizualnie */
.czempion-rating-display {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 2px;
}
.czempion-rating-star {
    display: inline-flex;
    cursor: pointer;
    padding: 2px;
}
.czempion-rating-star svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #b8764a;
    transition: fill 0.15s ease;
    opacity: 0.5;
}
.czempion-rating-display--sm .czempion-rating-star svg {
    width: 16px;
    height: 16px;
}

/* Wypełnij gwiazdki według data-filled (gdy nie ma hover) */
.czempion-rating-display:not(:hover)[data-filled="1"]
    .czempion-rating-star[data-pos="1"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="2"]
    .czempion-rating-star[data-pos="1"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="2"]
    .czempion-rating-star[data-pos="2"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="3"]
    .czempion-rating-star[data-pos="1"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="3"]
    .czempion-rating-star[data-pos="2"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="3"]
    .czempion-rating-star[data-pos="3"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="4"]
    .czempion-rating-star[data-pos="1"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="4"]
    .czempion-rating-star[data-pos="2"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="4"]
    .czempion-rating-star[data-pos="3"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="4"]
    .czempion-rating-star[data-pos="4"]
    svg,
.czempion-rating-display:not(:hover)[data-filled="5"]
    .czempion-rating-star
    svg {
    fill: #b8764a;
    opacity: 1;
}

/* Hover — wypełnia hoverowaną i wszystkie po niej w DOM (= 1..N wizualnie) */
.czempion-rating-display .czempion-rating-star:hover svg,
.czempion-rating-display
    .czempion-rating-star:hover
    ~ .czempion-rating-star
    svg {
    fill: #b8764a;
    opacity: 1;
}

/* === STAR RATING w formularzu recenzji — pure CSS === */
.czempion-stars {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
}
.czempion-stars input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.czempion-stars label {
    cursor: pointer;
    padding: 2px;
    margin: 0;
    display: inline-flex;
}
.czempion-stars label svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: #b8764a;
    transition: fill 0.15s ease;
}

/* Checked — zawsze widoczny (JS nadpisuje inline style dla precyzji) */
.czempion-stars input:checked ~ label svg {
    fill: #b8764a;
}

/* Hover CSS — fallback */
.czempion-stars label:hover svg,
.czempion-stars label:hover ~ label svg {
    fill: #b8764a;
}

/* Focus dla accessibility */
.czempion-stars input:focus-visible + label svg {
    outline: 2px solid #1a2332;
    outline-offset: 2px;
    border-radius: 4px;
}

/* === BTN-PRIMARY OVERRIDE — zawsze granat, nigdy zielony === */
.btn-primary,
button.btn-primary,
a.btn-primary,
input[type="submit"].btn-primary,
#product-addtocart-button,
button#product-addtocart-button {
    background-color: #1a2332 !important;
    border-color: #1a2332 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
.btn-primary:hover,
button.btn-primary:hover,
#product-addtocart-button:hover,
button#product-addtocart-button:hover {
    background-color: #0f1620 !important;
    border-color: #0f1620 !important;
}
#product-addtocart-button span,
#product-addtocart-button svg {
    color: #ffffff !important;
}

/* === HEADER SEARCH — strip ElasticSuite container styles, zachowaj input padding === */
#header #elasticsuite-search-container,
#header #elasticsuite-search-container > div {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

#header .minisearch,
#header .minisearch form {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
}

/* Autocomplete dropdown — białe tło, nie przezroczyste */
#header #search_autocomplete,
#header .search-autocomplete {
    background: #ffffff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 24px rgba(26, 35, 50, 0.12) !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Input — tylko resetujemy border/bg, ZOSTAWIAMY padding żeby był klikalny */
#header .minisearch input[type="text"],
#header .minisearch input[type="search"],
#header input#search {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 100%;
    font-size: 14px;
    color: #1a2332;
    font-family: "Geist", system-ui, sans-serif;
    outline: none !important;
    height: 44px;
    padding: 0 8px !important;
    line-height: 44px;
}

#header .minisearch input::placeholder,
#header input#search::placeholder {
    color: rgba(26, 35, 50, 0.4);
}

/* Hide search submit button — ikona jest w wrapperze */
#header .minisearch .action.search {
    display: none;
}

/* ElasticSuite autocomplete dropdown */
#header .search-autocomplete,
#header #search_autocomplete {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
    background: white;
    border: 1px solid rgba(26, 35, 50, 0.12);
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(26, 35, 50, 0.12);
}

/* === NAVIGATION — Snowdog Menu → styl z MainNav design === */
.navigation,
.page-header .navigation,
nav.navigation {
    background-color: #faf7f2;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1);
}

/* Desktop menu wrapper height */
.snowdog-topmenu-desktop,
.hyva-topmenu-desktop {
    background-color: #faf7f2;
}

/* Nav links z designu: px-3.5 py-2 text-[13px] font-medium text-[#1A2332]/75 */
.snowdog-menu-link,
.snowdog-topmenu-desktop a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(26, 35, 50, 0.75) !important;
    padding: 8px 14px !important;
    transition: color 0.15s !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0 !important;
}

.snowdog-menu-link:hover,
.snowdog-topmenu-desktop a:hover,
.snowdog-topmenu-desktop .group:hover > a {
    color: #1a2332 !important;
}

/* Dropdown panel */
.snowdog-topmenu-desktop .w-full .py-12 {
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    background: white;
}

/* === PRODUCT CARDS — reset starych nadpisań === */
/* Stary design używał flex row z padding/border-radius — nowy card sam to obsługuje.
   UWAGA: ZOSTAWIAMY border (1px solid #E8E1D4) — wcześniej tu było "border: none !important"
   co usuwało ramki kart całkowicie. Beżowy border wraca jako część nowego designu
   (białe tło + beżowe ramki definiują karty). */
.catalog-category-view .product-item,
.products-grid .product-item {
    display: block !important;
    border: 1px solid #e8e1d4 !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    margin-bottom: 0 !important;
    position: static !important;
    overflow: hidden !important;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease !important;
}
.catalog-category-view .product-item:hover,
.products-grid .product-item:hover {
    border-color: #b8764a !important;
    box-shadow: 0 4px 16px rgba(184, 118, 74, 0.08) !important;
}

.catalog-category-view .product-item .product-info,
.catalog-category-view .product-item .product.photo {
    flex: unset !important;
    margin: 0 !important;
    flex-shrink: unset !important;
}

/* Price w kartach produktów */
.products-grid .price-box {
    display: block !important;
    text-align: left !important;
}

.page-products .price-box {
    display: block !important;
    text-align: left !important;
}

.products-grid .price-box .price-label {
    display: none;
}

.products-grid .price-box .special-price .price {
    color: #c8321c !important;
    font-weight: 600 !important;
}

.products-grid .price-box .old-price .price {
    color: rgba(26, 35, 50, 0.4) !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

/* ── Promocja: cena finalna / „Już od" + stara cena OBOK SIEBIE (flex), nowa
   na czerwono, stara przekreślona. Ujawniamy też ukrytą sly-old-price.
   Zakres przez :has() — TYLKO gdy istnieje stara cena (promocja), więc zwykłe
   ceny (bez promocji) zostają bez zmian. ── */
.price-box.price-final_price:has(.sly-old-price),
.price-box.price-final_price:has(.old-price:not(.no-display)) {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
}
.price-box .sly-old-price.no-display {
    display: inline-block !important;
}
.price-box.price-final_price:has(.sly-old-price) .normal-price .price,
.price-box.price-final_price:has(.old-price:not(.no-display)) .normal-price .price,
.price-box.price-final_price:has(.sly-old-price) .special-price .price,
.price-box.price-final_price:has(.old-price:not(.no-display)) .special-price .price {
    color: #c8321c !important;
    font-weight: 600 !important;
}
.price-box .sly-old-price .price {
    color: rgba(26, 35, 50, 0.45) !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    font-size: 0.82em !important;
}
/* Bez etykiet ceny („Już od", „Cena regularna", „Promocja") — same kwoty. */
.price-box .price-label {
    display: none !important;
}

/* Ratings na PLP */
/* Gwiazdki poziomo — wszędzie */
.rating-summary,
.rating-summary span[role="img"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2px !important;
    flex-wrap: nowrap !important;
}
.rating-summary svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    min-width: 14px;
}
.catalog-product-view .rating-summary svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
}

/* PageBuilder na PDP — pełna szerokość, bez przycinania */
.catalog-product-view .pdp-description,
.catalog-product-view .pdp-description * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.catalog-product-view .pdp-description .pagebuilder-column-group,
.catalog-product-view .pdp-description .pagebuilder-column-line {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}
.catalog-product-view .pdp-description .pagebuilder-column {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
.catalog-product-view .pdp-description p {
    text-align: left !important;
    max-width: 100%;
}
.catalog-product-view .pdp-description img {
    max-width: 100%;
    height: auto;
}
/* Tabela atrybutów na PDP */
.catalog-product-view .data.table.additional-attributes {
    max-width: 100%;
    overflow-x: auto;
}

/* ── PDP Buy-box styling ── */
.pdp-price .price-final_price,
.pdp-price .price-box {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}
.pdp-price .price-final_price .price-label,
.pdp-price .normal-price .price-label {
    display: none;
}
.pdp-price .special-price .price,
.pdp-price .price-final_price .special-price .price {
    color: #c8321c !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
.pdp-price .price-final_price > .price-wrapper .price,
.pdp-price .normal-price .price {
    color: #1a2332 !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
.pdp-price .old-price .price {
    color: rgba(26, 35, 50, 0.4) !important;
    text-decoration: line-through !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}
.pdp-price .old-price .price-label {
    display: none !important;
}

/* PDP Add to cart button — zielony (jak w designie) */
.catalog-product-view button.action.tocart,
.catalog-product-view button.action.primary.tocart,
.catalog-product-view .pdp-actions button[data-addto="cart"],
.catalog-product-view .pdp-actions button.btn-primary {
    background-color: #0e7c4a !important;
    color: #ffffff !important;
    height: 56px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 0 20px !important;
    border: none !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: background-color 0.15s !important;
}
.catalog-product-view button.action.tocart:hover,
.catalog-product-view .pdp-actions button[data-addto="cart"]:hover {
    background-color: #0a6038 !important;
}
.catalog-product-view button.action.tocart::before {
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h2l2.5 11h11'/%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='17' cy='20' r='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.catalog-product-view button.action.tocart .pdp-cart-total {
    font-size: 12px;
    font-weight: 600;
    opacity: 0.9;
    display: block;
}

/* PDP Quantity stepper */
.catalog-product-view .pdp-actions .field.qty,
.catalog-product-view .pdp-actions .control.qty {
    display: flex;
    align-items: center;
    height: 56px;
    border: 1px solid rgba(26, 35, 50, 0.15);
    border-radius: 6px;
    background: white;
    padding: 0 4px;
}
.catalog-product-view .pdp-actions input[type="number"] {
    border: none !important;
    background: transparent !important;
    width: 44px !important;
    height: 56px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a2332 !important;
}

/* Omnibus — najniższa cena 30 dni */
.pdp-omnibus {
    font-size: 11px;
    color: rgba(26, 35, 50, 0.55);
}
.pdp-omnibus * {
    font-size: 11px !important;
    color: rgba(26, 35, 50, 0.55) !important;
}

/* ── PLP Toolbar — sort bar z designu ── */
/* === TOOLBAR SORT === */
.czempion-toolbar-sort {
    display: flex;
    align-items: center;
}

/* Cały grid toolbar → flatten do flex */
.czempion-toolbar-sort .toolbar.toolbar-products {
    display: flex !important;
    align-items: center !important;
    grid-template-columns: none !important;
    background: white !important;
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    height: 36px !important;
    padding: 0 10px !important;
    gap: 0 !important;
    width: auto !important;
}

/* Ukryj Filtruj i block-title — mamy własny button */
.czempion-toolbar-sort #filter-toggle-button,
.czempion-toolbar-sort .block-title,
.czempion-toolbar-sort script {
    display: none !important;
}

/* Sorter wrapper — usuń col-span i grid */
.czempion-toolbar-sort .toolbar-sorter {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    grid-column: unset !important;
    order: unset !important;
    col-span: unset !important;
}

/* Label — ukryj domyślny tekst "Sortuj według", dodaj własny */
.czempion-toolbar-sort .toolbar-sorter label {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    gap: 4px;
    font-size: 0 !important; /* ukryj tekst Magento */
    white-space: nowrap;
}
.czempion-toolbar-sort .toolbar-sorter label::before {
    content: "Sortuj:";
    font-size: 12px !important;
    color: rgba(26, 35, 50, 0.55);
    white-space: nowrap;
}

/* Select */
.czempion-toolbar-sort .sorter-options {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1a2332 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    -webkit-appearance: auto;
    appearance: auto;
    width: auto !important;
    min-width: 0 !important;
}

/* Ukryj strzałkę kierunku */
.czempion-toolbar-sort .sorter-action {
    display: none !important;
}

/* === MINICART BADGE — amber z designu === */
#menu-cart-icon .bg-primary {
    background-color: #b8764a !important;
}

/* === KONTA icon — navy === */
#customer-menu svg,
#header .customer-menu-trigger svg {
    color: rgba(26, 35, 50, 0.7) !important;
    stroke: rgba(26, 35, 50, 0.7) !important;
}

/* === CHECKOUT === */
.estimate-shipping-form {
    display: none;
}

.field.choice:has(#assistance_allowed_checkbox),
div[x-data*="initAllowShippingAssistence"] {
    display: none !important;
}
#assistance_allowed_checkbox,
label[for="assistance_allowed_checkbox"],
[aria-labelledby="assistance_allowed_checkbox_tooltip"] {
    display: none !important;
}

/* === COOKIE BAR === */
#am-cookie-bar {
    position: fixed !important;
    z-index: 99999;
}

.bg-ambar-background {
    background-color: white;
    max-width: 90vw;
    z-index: 9999999;
    justify-content: center !important;
}

/* === BLOG === */
.blog-post-view .columns {
    max-width: 100%;
}
.blog-post-view .columns .post-featured-image img {
    object-fit: cover;
    max-height: 50vh;
    width: 100%;
    display: block;
}
.blog-post-view .columns .post-featured-image {
    position: relative;
    width: 100%;
}
.blog-post-view .columns .post-featured-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: none;
    z-index: 1;
}
.blog-post-view .columns .post-featured-image .post-data-wrap {
    position: absolute;
    top: 10px;
    left: 10px;
    color: white;
    z-index: 9;
}
.blog-post-view .columns .post-description {
    border-radius: 25px !important;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    margin-bottom: 50px;
    margin-top: -90px;
    position: relative;
    z-index: 15;
}
.blog-post-view .columns .post-featured-image h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
    color: #fff;
    z-index: 16;
}
.blog-post-view .container.text-3xl {
    display: none;
}

/* === PAGEBUILDER === */
[data-content-type="slide"]
    .pagebuilder-slide-wrapper
    [data-element="content"] {
    overflow: hidden;
}
.pagebuilder-poster-content p {
    font-size: 12px;
}
.pagebuilder-poster-content h3 {
    font-size: 16px;
}
.category-additional-description h2 {
    padding: 20px 0;
}
.product-main-full-width #description img {
    margin: 0 auto;
}
.product-main-full-width #description h2,
.product-main-full-width #description h3,
.product-main-full-width #description h4,
.product-main-full-width #description h5,
.product-main-full-width #description h6 {
    text-align: center;
}

/* === PDP PRICE === */
.catalog-product-view .price-final_price .special-price {
    color: #c8321c;
}
.catalog-product-view .price-final_price .old-price .price-label {
    text-decoration: line-through;
    color: #9ca3af;
}

/* === MISC === */
.copyright {
    display: none;
}
.page-products .category-image {
    display: none;
}
.page-products .columns {
    display: block !important;
}
.catalog-product-view #add-to-wishlist {
    display: none;
}

/* === MOBILE / RESPONSIVE === */
@media (max-width: 767px) {
    .minisearch input[type="text"] {
        font-size: 16px;
    }

    /* Footer — większy odstęp między sekcjami */
    .footer-grid-mobile {
        row-gap: 3rem;
        column-gap: 1rem;
    }
    .czempion-footer-cols {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
}

@media (min-width: 768px) {
    /* Footer desktop */
    .footer-grid-mobile {
        grid-template-columns: repeat(6, 1fr);
        gap: 1.25rem;
    }
    .czempion-footer-cols {
        display: grid;
        grid-template-columns: 1.6fr 1fr 1fr 1fr;
        gap: 3rem;
        align-items: start;
    }

    /* Blog post — usuń overlap contentu na mobile */
    .blog-post-view .columns .post-description {
        margin-top: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 16px !important;
        margin-bottom: 24px !important;
    }
    .blog-post-view .columns .post-featured-image img {
        max-height: 45vw;
    }
    .blog-post-view .columns .post-featured-image h1 {
        font-size: 1.4rem !important;
        line-height: 1.3 !important;
        padding: 12px !important;
        width: 100%;
        text-align: center;
    }

    /* Breadcrumb — mniejszy font i zawijanie */
    .breadcrumbs,
    .breadcrumb {
        font-size: 11px !important;
        padding: 8px 16px !important;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    /* Ogólne kontenery stron na mobile */
    .page-main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .columns .column.main {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Listy blogów — karty */
    .post-list-wrapper .post-holder {
        margin-bottom: 16px !important;
    }
    .post-list-wrapper .post-featured-image img {
        max-height: 50vw;
        object-fit: cover;
        width: 100%;
    }

    /* Kategorie — filtry i toolbar na mobile */
    .toolbar-products {
        padding: 8px 0 !important;
    }
    .toolbar-products .toolbar-amount {
        font-size: 11px !important;
    }

    /* Tabele na mobile — scroll zamiast overflow */
    table {
        display: block;
        overflow-x: auto;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .catalog-category-view .sidebar-main {
        position: sticky;
        top: 1px;
    }
    #filters-content {
        display: none;
        position: absolute;
        left: 0;
        width: 400px;
        min-height: 100vh;
        background-color: white;
        z-index: 9999;
        padding: 0 30px 0 10px;
    }
    .mobile-menu-search {
        display: none !important;
    }
    #mobile-menu-button,
    #menu-search-icon {
        display: none !important;
    }
}

@media (max-width: 1023px) {
    .hyva-topmenu-desktop {
        display: none !important;
    }
}
@media (min-width: 1024px) {
    .snowdog-topmenu-mobile {
        display: none !important;
    }
}

/* Filter animations */
#filters-content,
[role="region"] {
    transition:
        transform 0.6s ease,
        opacity 0.6s ease;
}
.filters-overlay {
    transition: opacity 0.4s ease;
}
#header,
.navigation,
.border-container-lighter,
#search {
    transition:
        background-color 0.5s ease,
        border-color 0.5s ease;
}

/* Brand carousel */
.brand-carousel-widget {
    margin: 20px 0;
}
.brand-carousel-container {
    position: relative;
}
.brand-slide {
    text-align: center;
    padding: 15px;
}
.brand-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease;
}
.brand-link:hover {
    transform: translateY(-5px);
}
.brand-logo-container {
    width: 120px;
    height: 80px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border-radius: 8px;
    padding: 10px;
}
.brand-logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.brand-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin: 0;
}

.glider-prev,
.glider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #1a2332;
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: background-color 0.3s ease;
}
.glider-prev:hover,
.glider-next:hover {
    background: #0f1620;
}
.glider-prev {
    left: -20px;
}
.glider-next {
    right: -20px;
}
.glider-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.glider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ccc;
    border: none;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.glider-dot.active {
    background: #1a2332;
}

/* Glider carousel product widget */
.glider-contain.widget-product-carousel .price-box {
    display: flex !important;
    gap: 8px;
    align-items: center;
    justify-content: center;
}
.glider-contain.widget-product-carousel .price-label {
    display: none !important;
}
.glider-contain.widget-product-carousel .special-price {
    color: #c8321c !important;
    font-weight: bold !important;
}
.glider-contain.widget-product-carousel .old-price {
    color: rgba(26, 35, 50, 0.4) !important;
    text-decoration: line-through !important;
    font-size: 0.875em !important;
}

/* Checkboxy — normalny rozmiar z accent-color */
input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: #1a2332 !important;
    cursor: pointer !important;
}

/* ============================================================
   GLOBALNE STYLE PODSTRON — Czempion Design
   Pokrywa: CMS pages, konto klienta, blog, kategorie, etc.
   ============================================================ */

/* ── GLOBALNY KONTENER — wszystkie podstrony ── */
.page-layout-1column .page-main,
.page-layout-2columns-left .page-main,
.page-layout-2columns-right .page-main {
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}
/* Kategoria + PDP: jedyne źródło bocznego paddingu to .page-main (24px), jak na
   homepage. Zerujemy zagnieżdżone paddingi .columns/.column.main, żeby treść nie
   była węższa niż header/footer (wcześniej double padding: page-main + columns + 16px). */
.catalog-category-view .columns,
.catalog-product-view .columns,
.catalog-category-view .columns .column.main,
.catalog-product-view .columns .column.main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
@media (max-width: 767px) {
    .page-layout-1column .page-main,
    .page-layout-2columns-left .page-main {
        padding: 0 16px 0px !important;
    }
}

/* ── TYTUŁY STRON ── */
.page-title-wrapper .page-title,
.page-title-wrapper h1,
h1.page-title {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    color: #1a2332 !important;
    line-height: 1.2 !important;
    margin-bottom: 24px !important;
}

/* ── BREADCRUMBS ── */
.breadcrumbs {
    background: transparent !important;
    padding: 12px 0 !important;
    font-size: 11px !important;
    color: rgba(26, 35, 50, 0.55) !important;
}
.breadcrumbs a {
    color: rgba(26, 35, 50, 0.55) !important;
    text-decoration: none !important;
}
.breadcrumbs a:hover {
    color: #1a2332 !important;
}
.breadcrumbs .delimiter {
    margin: 0 6px !important;
}

/* ── PAGE MAIN CONTAINER ── */
.page-main {
    background-color: #ffffff !important;
    font-family: "Geist", "Inter", system-ui, sans-serif !important;
}
.column.main {
    color: #1a2332 !important;
}

/* ── CMS PAGES — treść edytorialna ── */
.cms-page-view .page-main,
.cms-page-view .page-main-full-width {
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 0 0 48px !important;
    box-sizing: border-box !important;
}
.cms-page-view .column.main {
    background: #ffffff !important;
    border: 1px solid rgba(26, 35, 50, 0.08) !important;
    border-radius: 6px !important;
    padding: 40px 24px !important;
    margin-top: 8px !important;
    box-sizing: border-box !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
/* Homepage — wszystkie wrappery bez paddingu (sekcje maja wlasne mx-auto max-w px-6) */
.cms-index-index .page-main,
.cms-index-index .page-main-full-width,
.cms-index-index .columns {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cms-index-index .column.main {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* PageBuilder content na CMS pages */
.cms-page-view [data-content-type="row"],
.cms-page-view [data-content-type="column-group"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
.cms-page-view [data-content-type="text"],
.cms-page-view [data-content-type="html"] {
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: rgba(26, 35, 50, 0.78) !important;
}
@media (max-width: 767px) {
    .cms-page-view .column.main {
        padding: 24px 16px !important;
    }
}
.cms-page-view .page-content,
.cms-page-view .std {
    max-width: 900px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
.cms-page-view .page-content h1,
.cms-page-view .page-content h2,
.cms-page-view .page-content h3,
.cms-page-view .page-content h4,
.cms-page-view .std h1,
.cms-page-view .std h2,
.cms-page-view .std h3,
.cms-page-view .std h4 {
    font-family: "DM Serif Display", Georgia, serif !important;
    color: #1a2332 !important;
    margin-top: 28px !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}
.cms-page-view .page-content h2,
.cms-page-view .std h2 {
    font-size: 22px !important;
}
.cms-page-view .page-content h3,
.cms-page-view .std h3 {
    font-size: 17px !important;
}

.cms-page-view .page-content p,
.cms-page-view .std p {
    line-height: 1.75 !important;
    color: rgba(26, 35, 50, 0.78) !important;
    margin-bottom: 14px !important;
    font-size: 14px !important;
}
.cms-page-view .page-content a,
.cms-page-view .std a {
    color: #b8764a !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
.cms-page-view .page-content ul,
.cms-page-view .page-content ol,
.cms-page-view .std ul,
.cms-page-view .std ol {
    padding-left: 24px !important;
    color: rgba(26, 35, 50, 0.78) !important;
    line-height: 1.75 !important;
    margin-bottom: 14px !important;
    font-size: 14px !important;
}
.cms-page-view .page-content li,
.cms-page-view .std li {
    margin-bottom: 6px !important;
}
.cms-page-view .page-content strong,
.cms-page-view .std strong {
    color: #1a2332 !important;
    font-weight: 600 !important;
}
.cms-page-view .page-content table,
.cms-page-view .std table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
    display: table !important;
    overflow-x: auto !important;
}
.cms-page-view .page-content th,
.cms-page-view .std th {
    background: #1a2332 !important;
    color: #fff !important;
    padding: 10px 14px !important;
    text-align: left !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}
.cms-page-view .page-content td,
.cms-page-view .std td {
    padding: 10px 14px !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.08) !important;
    color: rgba(26, 35, 50, 0.78) !important;
}
.cms-page-view .page-content tr:nth-child(even) td,
.cms-page-view .std tr:nth-child(even) td {
    background: rgba(26, 35, 50, 0.02) !important;
}

/* ── KONTO KLIENTA ── */
.customer-account .page-title-wrapper,
.account .page-title-wrapper {
    border-bottom: 1px solid rgba(26, 35, 50, 0.1) !important;
    padding-bottom: 16px !important;
    margin-bottom: 24px !important;
}
/* Sidebar nawigacja konta */
.account .sidebar .block-title strong,
.customer-account .sidebar .block-title strong {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 16px !important;
    color: #1a2332 !important;
}
.account .sidebar .nav.items,
.customer-account .sidebar .nav.items {
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
}
.account .sidebar .nav.items .item a,
.customer-account .sidebar .nav.items .item a {
    display: block !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    color: rgba(26, 35, 50, 0.7) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.06) !important;
    transition: all 0.15s ease !important;
}
.account .sidebar .nav.items .item a:hover,
.customer-account .sidebar .nav.items .item a:hover {
    background: rgba(26, 35, 50, 0.03) !important;
    color: #1a2332 !important;
}
.account .sidebar .nav.items .item.current a,
.customer-account .sidebar .nav.items .item.current a,
.account .sidebar .nav.items .item.current strong,
.customer-account .sidebar .nav.items .item.current strong {
    background: #1a2332 !important;
    color: #fff !important;
    font-weight: 600 !important;
}
/* Tabele zamówień/konta */
.account .table-wrapper,
.customer-account .table-wrapper {
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
.account table thead th,
.customer-account table thead th {
    background: #1a2332 !important;
    color: #fff !important;
    font-family: "Geist", "Inter", system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 12px 16px !important;
}
.account table tbody tr:nth-child(even),
.customer-account table tbody tr:nth-child(even) {
    background: rgba(26, 35, 50, 0.02) !important;
}
.account table tbody td,
.customer-account table tbody td {
    padding: 12px 16px !important;
    font-size: 13px !important;
    color: #1a2332 !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.06) !important;
}
/* Formularze konta */
.account .fieldset .legend,
.customer-account .fieldset .legend {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 18px !important;
    color: #1a2332 !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1) !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}
.account .field label,
.customer-account .field label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: rgba(26, 35, 50, 0.6) !important;
}
.account .input-text,
.customer-account .input-text,
.account .form-input,
.customer-account .form-input {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    color: #1a2332 !important;
    background: #fff !important;
}
.account .input-text:focus,
.customer-account .input-text:focus {
    border-color: #1a2332 !important;
    outline: none !important;
    box-shadow: none !important;
}
/* Box informacyjny w koncie */
.account .box,
.customer-account .box {
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 20px !important;
}
.account .box-title,
.customer-account .box-title {
    font-weight: 600 !important;
    color: #1a2332 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block !important;
}
/* Akcje konta */
.account .action,
.customer-account .action {
    color: #b8764a !important;
    font-size: 12px !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.account .actions-toolbar .action.primary,
.customer-account .actions-toolbar .action.primary {
    background: #1a2332 !important;
    color: #fff !important;
    border-color: #1a2332 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* ── WISHLIST ── */
.wishlist-index-index .product-item-name a {
    color: #1a2332 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.wishlist-index-index .price {
    color: #1a2332 !important;
}
.wishlist-index-index .price-box .special-price .price {
    color: #c8321c !important;
}

/* ── BLOG LISTING (Magefan) ── */
.blog-index-index .post-list-wrapper,
.blog-category-view .post-list-wrapper {
    max-width: 1360px;
    margin: 0 auto;
}
.blog-index-index .post-item-link,
.blog-category-view .post-item-link {
    color: #1a2332 !important;
    text-decoration: none !important;
}
.blog-index-index .post-description,
.blog-category-view .post-description {
    color: rgba(26, 35, 50, 0.7) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.blog-index-index .post-title,
.blog-category-view .post-title {
    font-family: "DM Serif Display", Georgia, serif !important;
    color: #1a2332 !important;
}
.blog-index-index .read-more a,
.blog-category-view .read-more a {
    color: #b8764a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* ── STRONA LOGOWANIA / REJESTRACJI ── */
.customer-account-login .block-title,
.customer-account-create .block-title {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 22px !important;
    color: #1a2332 !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}
.customer-account-login .block,
.customer-account-create .block {
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 28px !important;
}
.customer-account-login .field label,
.customer-account-create .field label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: rgba(26, 35, 50, 0.6) !important;
}
.customer-account-login .input-text,
.customer-account-create .input-text {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    color: #1a2332 !important;
}

/* ── KONTAKT ── */
.contact-index-index .column.main {
    padding: 24px 0 !important;
}
.contact-index-index .input-text,
.contact-index-index textarea {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    color: #1a2332 !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
}
.contact-index-index .input-text:focus,
.contact-index-index textarea:focus {
    border-color: #1a2332 !important;
    box-shadow: none !important;
    outline: none !important;
}
.contact-index-index label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: rgba(26, 35, 50, 0.6) !important;
    margin-bottom: 4px !important;
    display: block !important;
}
.contact-index-index .field {
    margin-bottom: 16px !important;
}
.contact-index-index .fieldset {
    padding: 0 !important;
    border: none !important;
}
.contact-index-index .actions-toolbar {
    margin-top: 20px !important;
}
.contact-index-index .field.choice {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.contact-index-index .field.choice input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    accent-color: #1a2332 !important;
}
.contact-index-index .field.choice label {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: rgba(26, 35, 50, 0.75) !important;
    margin-bottom: 0 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
}

/* ── WIADOMOŚCI / ALERTY ── */
.message.success,
div.message.success {
    background: rgba(26, 35, 50, 0.05) !important;
    border-left: 3px solid #1a2332 !important;
    color: #1a2332 !important;
    border-radius: 0 4px 4px 0 !important;
    padding: 12px 16px !important;
}
.message.error,
div.message.error {
    background: rgba(200, 50, 28, 0.06) !important;
    border-left: 3px solid #c8321c !important;
    color: #c8321c !important;
    border-radius: 0 4px 4px 0 !important;
}
.message.warning,
div.message.warning {
    background: rgba(184, 118, 74, 0.08) !important;
    border-left: 3px solid #b8764a !important;
    color: #1a2332 !important;
    border-radius: 0 4px 4px 0 !important;
}
.message.notice,
div.message.notice {
    background: rgba(26, 35, 50, 0.04) !important;
    border-left: 3px solid rgba(26, 35, 50, 0.3) !important;
    color: rgba(26, 35, 50, 0.7) !important;
    border-radius: 0 4px 4px 0 !important;
}

/* ── PAGINACJA ── */
.pages .action.previous,
.pages .action.next,
.pages .item .page {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    color: rgba(26, 35, 50, 0.7) !important;
    background: #fff !important;
    font-size: 12px !important;
    min-width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.pages .item.current .page,
.pages .item .page:hover {
    background: #1a2332 !important;
    border-color: #1a2332 !important;
    color: #fff !important;
}

/* ── NEWSLETTER STRONA ── */
.newsletter-manage-index .block-title strong {
    font-family: "DM Serif Display", Georgia, serif !important;
    color: #1a2332 !important;
}

/* ── SEARCH RESULTS ── */
.catalogsearch-result-index .page-title-wrapper .page-title {
    font-size: 26px !important;
}
.catalogsearch-result-index .search.found {
    font-size: 13px !important;
    color: rgba(26, 35, 50, 0.6) !important;
    margin-bottom: 16px !important;
}

/* ── KOSZYK ── */
.checkout-cart-index .page-title {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 32px !important;
    color: #1a2332 !important;
}
/* Linki produktów w koszyku — granat, nie amber */
.checkout-cart-index .product-item-name a,
.checkout-cart-index .product-item-details a,
.checkout-cart-index td.col.item a,
.checkout-cart-index .cart.item a {
    color: #1a2332 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.checkout-cart-index .product-item-name a:hover,
.checkout-cart-index td.col.item a:hover {
    color: #b8764a !important;
    text-decoration: underline !important;
}
/* Tabela koszyka */
.checkout-cart-index .cart.table-wrapper {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
.checkout-cart-index .cart thead tr th {
    background: #1a2332 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 12px 16px !important;
    border: none !important;
}
.checkout-cart-index .cart.item td {
    padding: 16px !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.08) !important;
    vertical-align: middle !important;
}
/* Opcje produktu (Kolor, Rozmiar) */
.checkout-cart-index .item-options dt {
    font-weight: 600 !important;
    color: rgba(26, 35, 50, 0.65) !important;
    font-size: 12px !important;
    display: inline !important;
}
.checkout-cart-index .item-options dd {
    color: #1a2332 !important;
    font-size: 12px !important;
    display: inline !important;
    margin: 0 8px 0 2px !important;
}
/* Ceny */
.checkout-cart-index .col.price .price,
.checkout-cart-index .col.subtotal .price {
    font-weight: 600 !important;
    color: #1a2332 !important;
    font-size: 14px !important;
}
/* Input ilości */
.checkout-cart-index .input-text.qty {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    text-align: center !important;
    width: 56px !important;
    padding: 2px 4px !important;
    color: #1a2332 !important;
}
/* Przyciski akcji w tabeli */
.checkout-cart-index .action.action-edit,
.checkout-cart-index .action.action-delete {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    color: rgba(26, 35, 50, 0.6) !important;
    padding: 6px !important;
    transition: all 0.15s ease !important;
}
.checkout-cart-index .action.action-edit:hover {
    border-color: #1a2332 !important;
    color: #1a2332 !important;
}
.checkout-cart-index .action.action-delete:hover {
    border-color: #c8321c !important;
    color: #c8321c !important;
}
/* Wyczyść / Aktualizuj buttons */
.checkout-cart-index .action.clear,
.checkout-cart-index .action.update {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.2) !important;
    border-radius: 4px !important;
    color: #1a2332 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 10px 20px !important;
}
.checkout-cart-index .action.clear:hover,
.checkout-cart-index .action.update:hover {
    border-color: #1a2332 !important;
    background: rgba(26, 35, 50, 0.04) !important;
}
/* Sidebar Podsumowanie */
.checkout-cart-index .cart-summary {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    padding: 24px !important;
}
.checkout-cart-index .cart-summary .summary.title {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 20px !important;
    color: #1a2332 !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
    display: block !important;
}
/* Totals */
.checkout-cart-index .totals .mark {
    font-size: 13px !important;
    color: rgba(26, 35, 50, 0.65) !important;
}
.checkout-cart-index .totals .amount .price {
    font-weight: 600 !important;
    color: #1a2332 !important;
}
.checkout-cart-index .grand.totals .mark,
.checkout-cart-index .grand.totals .amount .price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a2332 !important;
}
/* Przejdź do kasy button */
.checkout-cart-index .action.checkout.primary,
.checkout-cart-index .action.checkout.primary span {
    background: #1a2332 !important;
    border-color: #1a2332 !important;
    color: #fff !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
.checkout-cart-index .action.checkout.primary {
    width: 100% !important;
    padding: 14px !important;
    margin-top: 8px !important;
    display: block !important;
    text-align: center !important;
}
.checkout-cart-index .action.checkout.primary:hover,
.checkout-cart-index .action.checkout.primary:hover span {
    background: #0f1620 !important;
    color: #fff !important;
}
.checkout-cart-index .cart-summary {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    padding: 24px !important;
}
.checkout-cart-index .cart-summary .summary.title {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 18px !important;
    color: #1a2332 !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
    display: block !important;
}
.checkout-cart-index #shopping-cart-table th {
    background: #1a2332 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 12px 16px !important;
}
.checkout-cart-index .cart.item td {
    padding: 16px !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.08) !important;
    vertical-align: middle !important;
}
/* Wszystkie linki w koszyku — granat */
.checkout-cart-index .column.main a,
.checkout-cart-index .product-item-name a,
.checkout-cart-index strong.product-item-name a,
.checkout-cart-index td.col.item a {
    color: #1a2332 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}
.checkout-cart-index .column.main a:hover {
    color: #b8764a !important;
    text-decoration: underline !important;
}
.checkout-cart-index .price {
    color: #1a2332 !important;
    font-weight: 600 !important;
}
/* Obraz produktu w koszyku */
.checkout-cart-index .product-image-container,
.checkout-cart-index .product-image-wrapper {
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #f7f4ee !important;
}
/* Linia produktu */
.checkout-cart-index .cart.item {
    background: #fff !important;
}
/* Kontener koszyka */
.checkout-cart-index .cart-container {
    gap: 24px !important;
}
.checkout-cart-index .actions-toolbar .continue {
    color: #b8764a !important;
    font-size: 13px !important;
}
/* Discount code input */
.checkout-cart-index .discount .field .control input {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px 0 0 4px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    color: #1a2332 !important;
}
.checkout-cart-index .discount .actions-toolbar .action.apply {
    background: #1a2332 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 4px 4px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    cursor: pointer !important;
}

/* ── BLOG LISTING ── */
.blog-index-index .sidebar,
.blog-category-view .sidebar {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    padding: 20px !important;
}
.blog-index-index .block-title strong,
.blog-category-view .block-title strong {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 16px !important;
    color: #1a2332 !important;
}
.blog-index-index .post-holder,
.blog-category-view .post-holder {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.08) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-bottom: 24px !important;
    transition: box-shadow 0.2s ease !important;
}
.blog-index-index .post-holder:hover,
.blog-category-view .post-holder:hover {
    box-shadow: 0 4px 16px rgba(26, 35, 50, 0.1) !important;
}
.blog-index-index .post-info-wrapper,
.blog-category-view .post-info-wrapper {
    padding: 20px !important;
}
.blog-index-index .post-title a,
.blog-category-view .post-title a {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 20px !important;
    color: #1a2332 !important;
    text-decoration: none !important;
}
.blog-index-index .post-title a:hover,
.blog-category-view .post-title a:hover {
    color: #b8764a !important;
}
.blog-index-index .post-description,
.blog-category-view .post-description {
    color: rgba(26, 35, 50, 0.7) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
}
.blog-index-index .post-date,
.blog-category-view .post-date {
    font-size: 11px !important;
    color: rgba(26, 35, 50, 0.45) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}
.blog-index-index .action.primary,
.blog-category-view .action.primary {
    font-size: 12px !important;
}

/* ── BLOG POST ── */
.blog-post-view .page-title-wrapper h1 {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 32px !important;
    color: #1a2332 !important;
    line-height: 1.25 !important;
}

/* ── MAPA STRONY ── */
.htmlsitemap-index-index .column.main {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.htmlsitemap-index-index .sitemap-item-type {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.08) !important;
    border-radius: 6px !important;
    padding: 24px 28px !important;
    margin-bottom: 20px !important;
}
.htmlsitemap-index-index .sitemap-item-type > h2,
.htmlsitemap-index-index h2 {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: #1a2332 !important;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1) !important;
    padding-bottom: 10px !important;
    margin: 0 0 16px !important;
}
.htmlsitemap-index-index a,
.htmlsitemap-index-index .sitemap-item a,
.htmlsitemap-index-index .sitemap-item-type a {
    color: rgba(26, 35, 50, 0.7) !important;
    font-size: 13px !important;
    text-decoration: none !important;
}
.htmlsitemap-index-index a:hover,
.htmlsitemap-index-index .sitemap-item a:hover {
    color: #1a2332 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
/* Kategorie — wcięcia */
.htmlsitemap-index-index .widget.block-categories ul li a {
    color: rgba(26, 35, 50, 0.7) !important;
    font-size: 13px !important;
}
/* Wyszukiwarka */
.htmlsitemap-index-index input[type="text"],
.htmlsitemap-index-index input[type="search"] {
    border: 1px solid rgba(26, 35, 50, 0.15) !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #1a2332 !important;
    background: #fff !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}
.htmlsitemap-index-index input:focus {
    border-color: #1a2332 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ── LISTA ŻYCZEŃ ── */
.wishlist-index-index .column.main {
    background: transparent !important;
}
.wishlist-index-index .product-item {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    padding: 16px !important;
}
.wishlist-index-index .product-item-name a {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a2332 !important;
    text-decoration: none !important;
}

/* ── NEWSLETTER STRONA ── */
.newsletter-manage-index .column.main {
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    padding: 32px !important;
    max-width: 600px !important;
}
.newsletter-manage-index .block-title strong {
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 22px !important;
    color: #1a2332 !important;
    display: block !important;
    margin-bottom: 16px !important;
}

/* ── KONTO — SIDEBAR 2-COLUMN LAYOUT ── */
.account .columns,
.customer-account .columns {
    display: flex !important;
    gap: 32px !important;
    align-items: flex-start !important;
}
.account .sidebar-main,
.customer-account .sidebar-main {
    flex-shrink: 0 !important;
    width: 220px !important;
}
.account .column.main,
.customer-account .column.main {
    flex: 1 !important;
    min-width: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(26, 35, 50, 0.1) !important;
    border-radius: 4px !important;
    padding: 28px 32px !important;
}
@media (max-width: 767px) {
    .account .columns,
    .customer-account .columns {
        flex-direction: column !important;
    }
    .account .sidebar-main,
    .customer-account .sidebar-main {
        width: 100% !important;
    }
    .account .column.main,
    .customer-account .column.main {
        padding: 20px !important;
    }
}

/* ── LINKI GLOBALNE ── */
.page-main a:not([class]),
.column.main a:not([class]) {
    color: #b8764a !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.page-main a:not([class]):hover,
.column.main a:not([class]):hover {
    color: #1a2332 !important;
}

/* Category slider — tylko mobile/tablet, ukryty na desktop (lg = 1024px) */
@media (min-width: 1024px) {
    .category-slider-mobile {
        display: none !important;
    }
}

/* Cart — ukryj duplikat ceny, ujednolicone ikonki edytuj/usun */
.checkout-cart-index .col.price {
    display: none !important;
}
.checkout-cart-index .item-actions .btn,
.checkout-cart-index .action.action-edit,
.checkout-cart-index .action.action-delete {
    color: rgba(26, 35, 50, 0.55) !important;
    stroke: rgba(26, 35, 50, 0.55) !important;
    background: transparent !important;
    border: none !important;
    padding: 6px !important;
    border-radius: 4px !important;
    transition:
        color 0.15s,
        background 0.15s !important;
}
.checkout-cart-index .item-actions .btn:hover,
.checkout-cart-index .action.action-edit:hover {
    color: #1a2332 !important;
    background: rgba(26, 35, 50, 0.06) !important;
}
.checkout-cart-index .item-actions .btn:last-child:hover,
.checkout-cart-index .action.action-delete:hover {
    color: #c8321c !important;
    background: rgba(200, 50, 28, 0.06) !important;
}
.checkout-cart-index .item-actions svg,
.checkout-cart-index .action.action-edit svg,
.checkout-cart-index .action.action-delete svg {
    stroke: currentColor !important;
}

/* Cart — ukryj cene jednostkowa (pierwsza w price-box), zostaw tylko subtotal */
.checkout-cart-index .price-box .text-fg-secondary {
    display: none !important;
}

/* Cart checkout button — bialy tekst */
.checkout-cart-index #checkout-link-button,
.checkout-cart-index a.btn-checkout,
.checkout-cart-index .btn-checkout {
    background: #1a2332 !important;
    color: #ffffff !important;
    border: 1px solid #1a2332 !important;
    border-radius: 4px !important;
    padding: 14px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}
.checkout-cart-index #checkout-link-button:hover,
.checkout-cart-index a.btn-checkout:hover,
.checkout-cart-index .btn-checkout:hover {
    background: #0f1620 !important;
    color: #ffffff !important;
}

/* Snowdog mega-menu dropdown - układ kolumnowy (masonry) — brak dziur, ciasno upakowane */
.snowdog-topmenu-desktop ul.container,
.snowdog-topmenu-desktop > div > div > ul {
    display: block !important;
    column-count: 5 !important;
    column-gap: 32px !important;
    padding: 20px 24px !important;
    max-width: 1360px !important;
    margin: 0 auto !important;
}
.snowdog-topmenu-desktop ul.container > li,
.snowdog-topmenu-desktop > div > div > ul > li {
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 14px !important;
    width: 100% !important;
    display: block !important;
}
@media (max-width: 1199px) {
    .snowdog-topmenu-desktop ul.container,
    .snowdog-topmenu-desktop > div > div > ul {
        column-count: 4 !important;
    }
}
@media (max-width: 1023px) {
    .snowdog-topmenu-desktop ul.container,
    .snowdog-topmenu-desktop > div > div > ul {
        column-count: 3 !important;
    }
}
@media (max-width: 767px) {
    .snowdog-topmenu-desktop ul.container,
    .snowdog-topmenu-desktop > div > div > ul {
        column-count: 2 !important;
    }
}
/* Tytuł kategorii w dropdownie */
.snowdog-topmenu-desktop .custom-submenu-template > .group > a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a2332 !important;
    padding: 0 !important;
    text-decoration: none !important;
}
.snowdog-topmenu-desktop .custom-submenu-template > .group > a:hover {
    color: #b8764a !important;
}
/* Podpunkty (kolekcje pod brand) */
.snowdog-topmenu-desktop .custom-submenu-template ul {
    margin-left: 0 !important;
    margin-top: 4px !important;
}
.snowdog-topmenu-desktop .custom-submenu-template ul a {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: rgba(26, 35, 50, 0.55) !important;
    padding: 1px 0 !important;
    line-height: 1.4 !important;
}
.snowdog-topmenu-desktop .custom-submenu-template ul a:hover {
    color: #1a2332 !important;
}

/* Schowaj Snowdog desktop menu - mamy wlasny czempion-mainnav */
.snowdog-topmenu-desktop,
nav.snowdog-topmenu-desktop {
    display: none !important;
}
/* Czempion mainnav (linki w pasku nawigacji) */
.czempion-mainnav a {
    text-decoration: none !important;
    transition: color 0.15s;
}
.czempion-mainnav a:hover {
    color: #b8764a !important;
}
