/*
 * SEART B2B Lifting
 * Custom styles loaded after Smartwave Porto.
 */

/* =========================================================
   DESIGN TOKENS
   ========================================================= */

:root {
    --seart-bg: #F7F6F1;
    --seart-surface: #FFFFFF;

    --seart-text: #252622;
    --seart-text-muted: #686961;

    --seart-olive: #74775C;
    --seart-olive-hover: #5F6249;

    --seart-beige: #E8E4D8;
    --seart-border: #D8D5CC;

    --seart-footer: #252A28;
    --seart-footer-text: #F2F1EC;

    --seart-success: #5D7F39;
    --seart-warning: #B28542;
    --seart-error: #A85145;
	
	--seart-footer-muted: #C8C9C3;
	--seart-accent-soft: #C4BA82;
}
/* =========================================================
   BASE / GLOBAL
   ========================================================= */

html,
body {
    background-color: var(--seart-bg);
    color: var(--seart-text);
}

body {
    color: var(--seart-text);
}

.page-wrapper {
    color: var(--seart-text);
}


/* =========================================================
   TYPOGRAPHY / LINKS
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--seart-text);
}

a {
    color: var(--seart-text);
}

a:hover,
a:focus {
    color: var(--seart-olive-hover);
}


/* =========================================================
   PRIMARY BUTTONS
   ========================================================= */

.action.primary,
.action-primary,
button.action.primary,
button.primary,
input.action.primary {
    background-color: var(--seart-olive) !important;
    border-color: var(--seart-olive) !important;
    color: #fff !important;
}

.action.primary:hover,
.action.primary:focus,
.action-primary:hover,
.action-primary:focus,
button.action.primary:hover,
button.action.primary:focus,
button.primary:hover,
button.primary:focus,
input.action.primary:hover,
input.action.primary:focus {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}


/* =========================================================
   FORM ELEMENTS
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select {
    border-color: var(--seart-border);
    color: var(--seart-text);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: var(--seart-olive-hover);
}


/* =========================================================
   BASIC BORDERS
   ========================================================= */

fieldset,
.table-wrapper,
.cart.table-wrapper {
    border-color: var(--seart-border);
}

/* =========================================================
   HEADER / TOP LINKS
   ========================================================= */

.page-header a,
.page-header .action,
.header.links a {
    color: var(--seart-text);
}

.page-header a:hover,
.page-header a:focus,
.header.links a:hover,
.header.links a:focus {
    color: var(--seart-olive);
}


/* =========================================================
   MAIN NAVIGATION
   ========================================================= */

.navigation,
.sections.nav-sections {
    background: var(--seart-beige);
}

.navigation .level0 > .level-top {
    color: var(--seart-text) !important;
}

.navigation .level0 > .level-top:hover,
.navigation .level0.active > .level-top,
.navigation .level0.has-active > .level-top {
    color: var(--seart-olive) !important;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

.breadcrumbs {
    color: var(--seart-text-muted);
}

.breadcrumbs a {
    color: var(--seart-text-muted) !important;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus {
    color: var(--seart-olive) !important;
}


/* =========================================================
   SEARCH
   ========================================================= */

.block-search input {
    border-color: var(--seart-border);
    color: var(--seart-text);
}

.block-search input:focus {
    border-color: var(--seart-olive-hover);
}

.block-search .action.search {
    color: var(--seart-text-muted);
}

.block-search .action.search:hover {
    color: var(--seart-olive);
}


/* =========================================================
   MINICART
   ========================================================= */

.minicart-wrapper .action.showcart {
    color: var(--seart-text);
}

.minicart-wrapper .action.showcart:hover {
    color: var(--seart-olive);
}

.minicart-wrapper .action.showcart .counter.qty {
    background: var(--seart-olive) !important;
    color: #fff;
}


/* =========================================================
   CATEGORY TOOLBAR
   ========================================================= */

.toolbar .sorter-action,
.toolbar a {
    color: var(--seart-olive);
}

.toolbar .sorter-action:hover,
.toolbar a:hover {
    color: var(--seart-olive-hover);
}

/* =========================================================
   PORTO HEADER TYPE 1
   ========================================================= */

/* Top bar */
.page-header.type1 {
    background-color: var(--seart-surface) !important;
    border-top-color: var(--seart-border) !important;
}

.page-header.type1 > .panel.wrapper {
    background-color: var(--seart-bg) !important;
    color: var(--seart-text-muted) !important;
}

.page-header.type1 .panel.header .switcher {
    border-left-color: var(--seart-border) !important;
    color: var(--seart-text-muted) !important;
}

.page-header.type1 .panel.header .switcher,
.page-header.type1 .panel.header .switcher a,
.page-header.type1 .panel.header .header.links > li,
.page-header.type1 .panel.header .header.links > li > a,
.page-header.type1 .panel.header .header.links > li > span {
    color: var(--seart-text-muted) !important;
}

.page-header.type1 .panel.header .switcher a:hover,
.page-header.type1 .panel.header .header.links > li > a:hover,
.page-header.type1 .panel.header .header.links > li > a:focus {
    color: var(--seart-olive) !important;
}


/* Main header */
.page-header.type1 .header.content {
    background-color: var(--seart-surface) !important;
}


/* Search */
.page-header.type1 .block-search input {
    background-color: #fff !important;
    border-color: var(--seart-border) !important;
    color: var(--seart-text) !important;
}

.page-header.type1 .block-search input:focus {
    border-color: var(--seart-olive) !important;
}

.page-header.type1 .block-search .action.search {
    border-left-color: var(--seart-border) !important;
}

.page-header.type1 .block-search .action.search:before,
.page-header.type1 .block-search .action.search:hover:before,
.page-header.type1 .block-search .action.search:focus:before {
    color: var(--seart-text-muted) !important;
}


/* Cart */
.page-header.type1 .minicart-wrapper .action.showcart,
.page-header.type1 .minicart-wrapper .action.showcart:hover {
    color: var(--seart-text) !important;
}

.page-header.type1 .minicart-wrapper .action.showcart:before,
.page-header.type1 .minicart-wrapper .action.showcart.active:before,
.page-header.type1 .minicart-wrapper .action.showcart:hover:before,
.page-header.type1 .minicart-wrapper .action.showcart:active:before {
    color: var(--seart-text) !important;
}

.page-header.type1 .minicart-wrapper .action.showcart .counter.qty {
    background-color: var(--seart-olive) !important;
    color: #fff !important;
}


/* =========================================================
   PORTO TYPE 1 — MAIN MENU
   ========================================================= */

@media (min-width: 768px) {
    .page-header.type1 .nav-sections,
    .page-header.type1 .navigation {
        background-color: #fff !important;
    }

    .page-header.type1 .navigation > ul {
        background-color: #fff !important;
        border-top: 1px solid var(--seart-border) !important;
        border-bottom: 1px solid var(--seart-border) !important;
        border-radius: 2px !important;
    }

    .page-header.type1 .navigation li.level0,
    .page-header.type1 .navigation li.level0 > .level-top,
    .page-header.type1 .navigation li.level0 > .level-top:focus,
    .page-header.type1 .navigation li.level0 > .level-top:hover {
        color: var(--seart-text) !important;
        background-color: transparent !important;
    }

    .page-header.type1 .navigation li.level0.active,
    .page-header.type1 .navigation li.level0.has-active,
    .page-header.type1 .navigation li.level0:hover,
    .page-header.type1 .navigation li.level0.parent:hover {
        color: var(--seart-olive) !important;
        background-color: transparent !important;
    }

    .page-header.type1 .navigation li.level0.active > .level-top,
    .page-header.type1 .navigation li.level0.has-active > .level-top,
    .page-header.type1 .navigation li.level0:hover > .level-top {
        color: var(--seart-olive) !important;
        background-color: transparent !important;
    }

    .page-header.type1 .navigation .level0 .submenu,
    .page-header.type1 .sw-megamenu.navigation .level0 .submenu {
        background-color: #fff !important;
        border-color: var(--seart-border) !important;
        border-top-color: var(--seart-border) !important;
    }

    .page-header.type1 .navigation .level0 .submenu a {
        color: var(--seart-text-muted) !important;
    }

    .page-header.type1 .navigation .level0 .submenu a:hover,
    .page-header.type1 .navigation .level0 .submenu a:focus,
    .page-header.type1 .navigation .level0 .submenu .active > a {
        color: var(--seart-olive) !important;
    }
}


/* Mobile menu */
@media (max-width: 767px) {
    .page-header.type1 .navigation a,
    .page-header.type1 .nav-sections .header.links a {
        color: var(--seart-text) !important;
    }

    .page-header.type1 .navigation a:hover,
    .page-header.type1 .navigation a:focus,
    .page-header.type1 .nav-sections .header.links a:hover {
        color: var(--seart-olive) !important;
    }

    .page-header.type1 .nav-sections-item-title.active,
    .page-header.type1 .nav-sections-item-title.active > a {
        background-color: transparent !important;
        color: var(--seart-olive) !important;
    }
}


/* Porto theme utility classes */
.theme-color {
    color: var(--seart-olive) !important;
}

.theme-hover-color:hover {
    color: var(--seart-olive-hover) !important;
}

.theme-bg-color {
    background-color: var(--seart-olive) !important;
}

.theme-hover-bg-color:hover {
    background-color: var(--seart-olive-hover) !important;
}

.theme-border-color {
    border-color: var(--seart-olive) !important;
}

/* =========================================================
   BREADCRUMBS
   ========================================================= */

.page-wrapper > .breadcrumbs {
    background-color: var(--seart-beige) !important;
    color: var(--seart-text-muted) !important;
}

.page-wrapper > .breadcrumbs a,
.page-wrapper > .breadcrumbs a:visited,
.page-wrapper > .breadcrumbs a:focus {
    color: var(--seart-text-muted) !important;
}

.page-wrapper > .breadcrumbs a:hover {
    color: var(--seart-olive) !important;
}

.breadcrumbs .item:not(:last-child):after {
    color: var(--seart-olive) !important;
}


/* =========================================================
   TOOLBAR / SORT
   ========================================================= */

.sorter-action:before,
.sorter-action:hover:before {
    color: var(--seart-olive) !important;
}


/* =========================================================
   PRICE SLIDER
   ========================================================= */

#ln_slider_price.ui-slider-horizontal {
    background: var(--seart-border) !important;
}

#ln_slider_price .ui-slider-handle {
    background: var(--seart-olive) !important;
    color: var(--seart-olive) !important;
    border-color: var(--seart-olive) !important;
}

/* =========================================================
   CUSTOMER / LOGIN / ACCOUNT FORMS
   ========================================================= */

.login-container,
.form.password.reset,
.form.send.confirmation,
.form.password.forget,
.form.create.account,
.form.form-edit-account,
.form-address-edit,
.form-newsletter-manage {
    border-top-color: var(--seart-olive) !important;
}

/* Tytuł strony, np. "Logowanie" */
.customer-account-login .page-main > .page-title-wrapper .page-title,
.customer-account-create .page-main > .page-title-wrapper .page-title,
.customer-account-forgotpassword .page-main > .page-title-wrapper .page-title {
    color: var(--seart-text) !important;
}

/* Nagłówki/legendy formularzy */
.customer-account-login .fieldset > .legend,
.customer-account-create .fieldset > .legend,
.form.password.reset .fieldset > .legend,
.form.password.forget .fieldset > .legend {
    color: var(--seart-text) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: var(--seart-olive-hover) !important;
    box-shadow: 0 0 0 1px var(--seart-olive-hover) !important;
}

/* =========================================================
   FOOTER
   Zgodnie z WDROZENIE_MAGENTO.md
   ========================================================= */

.footer-top,
.footer-middle,
.footer-middle.footer-middle-2,
.footer-bottom {
    background-color: var(--seart-footer) !important;
}


/* Nagłówki: Informacje / Strefa klienta / Kontakt */
.footer-middle .block-title,
.footer-middle .block-title strong,
.footer-middle h1,
.footer-middle h2,
.footer-middle h3,
.footer-middle h4,
.footer-middle h5,
.footer-middle h6 {
    color: var(--seart-footer-text) !important;
}


/* Tekst pomocniczy */
.footer-middle,
.footer-middle p,
.footer-middle li,
.footer-middle span {
    color: var(--seart-footer-muted);
}


/* Linki */
.footer-middle a,
.footer-middle a:visited,
.footer-bottom a,
.footer-bottom a:visited {
    color: var(--seart-footer-text) !important;
    text-decoration: none;
}


/* Hover zgodnie z wytycznymi: czysty biały */
.footer-middle a:hover,
.footer-middle a:focus,
.footer-bottom a:hover,
.footer-bottom a:focus {
    color: #FFFFFF !important;
}


/* =========================================================
   FOOTER ICONS / ARROWS
   ========================================================= */

.footer-middle [class^="porto-icon-"].theme-color,
.footer-middle [class*=" porto-icon-"].theme-color,
.footer-middle ul.links li [class^="porto-icon-"],
.footer-middle ul.links li [class*=" porto-icon-"] {
    color: var(--seart-accent-soft) !important;
}


/* Dolna linia */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.28) !important;
}


/* Dolny tekst / copyright */
.footer-bottom,
.footer-bottom address,
.footer-bottom .custom-block {
    color: var(--seart-footer-muted) !important;
}

/* =========================================================
   COLOR AUDIT — PORTO #99CA3C OVERRIDES
   Based on WDROZENIE_MAGENTO.md palette.
   ========================================================= */

/* Layered navigation / filters */
.filter-options-title:after {
    background-color: #fff !important;
    border-color: var(--seart-border) !important;
    color: var(--seart-text-muted) !important;
}

.filter-options-title:hover:after {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}

/* Footer vertical spacing from specification */
.footer-middle ul.links li {
    margin-bottom: 10px;
}

.footer-middle ul.links li:last-child {
    margin-bottom: 0;
}

/* Generic Porto utility / action classes still generated with #99CA3C */
.action-accept,
.action-primary.action-accept,
body .action-primary.action-accept,
.btn-primary,
.btn-default {
    background-color: var(--seart-olive) !important;
    border-color: var(--seart-olive) !important;
    color: #fff !important;
}

.action-accept:hover,
.action-accept:focus,
.action-primary.action-accept:hover,
.action-primary.action-accept:focus,
.btn-primary:hover,
.btn-primary:focus,
.btn-default:hover,
.btn-default:focus {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}

/* Porto applies theme color to every button hover */
button:hover,
button:focus {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}

/* Content links generated by Porto with the old theme color */
.page-main a:hover,
.page-main a:focus,
.page-main a:active {
    color: var(--seart-olive-hover) !important;
}

.page-main a:visited {
    color: var(--seart-text) !important;
}

.product-item-info .product.name a:hover {
    color: var(--seart-olive-hover) !important;
}

.nav-toggle:before,
.block-search .label:before {
    color: var(--seart-text) !important;
}

.nav-toggle:hover:before,
.nav-toggle:focus:before,
.block-search .label:hover:before,
.block-search .label:focus:before {
    color: var(--seart-olive-hover) !important;
}

/* Page titles / form legends must not inherit old brand green */
.page-main > .page-title-wrapper .page-title,
.account .page-main .page-title-wrapper .page-title,
[class^="sales-guest-"] .page-main .page-title-wrapper .page-title,
.sales-guest-view .page-main .page-title-wrapper .page-title,
.fieldset > .legend {
    color: var(--seart-text) !important;
}

/* Prices: bright green is removed from the role of price color */
.product-options-bottom .price-box .price-container .price,
.product-info-price .price-box .price-container .price,
.product-info-main .product-info-price .price-wrapper .price,
.table.grouped .price-box .price,
.cart.table-wrapper .col.subtotal .price {
    color: var(--seart-text) !important;
}

/* Product tabs / active navigation */
.product.data.items > .item.title.active > .switch,
.product.data.items > .item.title.active > .switch:focus,
.product.data.items > .item.title.active > .switch:hover,
.filterproducts-tab .data.items > .item.title[aria-expanded="true"] a.switch,
.block-collapsible-nav .item.current a,
.block-collapsible-nav .item.current strong {
    color: var(--seart-olive) !important;
}

.product.info.detailed.vertical .product.data.items > .item.title.active > .switch,
.product.info.detailed.vertical .product.data.items > .item.title.active > .switch:focus,
.product.info.detailed.vertical .product.data.items > .item.title.active > .switch:hover {
    border-left-color: var(--seart-olive) !important;
}

/* Toolbar view modes and pagination */
.modes-mode.active,
.pages strong.page {
    background-color: var(--seart-olive) !important;
    border-color: var(--seart-olive) !important;
    color: #fff !important;
}

.modes-mode:hover,
.pages .action:hover,
.pages a.page:hover {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}

.pages a.page {
    color: var(--seart-text) !important;
}

/* Product gallery / swatches */
.fotorama__nav .fotorama__thumb-border,
.swatch-option.selected {
    border-color: var(--seart-olive) !important;
}

.swatch-option.image:not(.disabled):hover,
.swatch-option.color:not(.disabled):hover,
.swatch-option:not(.disabled):hover {
    border-color: var(--seart-olive-hover) !important;
}

/* =========================================================
   PRODUCT LISTING - PRIMARY CTA
   Logged in and guest states use the same CTA styling.
   Default: olive; hover/focus: dark olive.
   ========================================================= */

/* Guest: "Zobacz więcej"; logged in: "Dodaj do koszyka" / "Sprawdź warianty" */
.products-grid .show-more-button-not-logged button.action,
.products-grid .show-more-button-not-logged .action,
.sprawdz-warianty,
.products-grid .product-item-actions .actions-primary .tocart,
.products-grid .product-item-actions .action.primary,
.products-grid.products.grid.flex-grid .product-item-details .product-item-actions .tocart,
.products-grid.divider-line .product-item-details .product-item-actions .tocart {
    background-color: var(--seart-olive) !important;
    border-color: var(--seart-olive) !important;
    color: #fff !important;
}

.products-grid .show-more-button-not-logged button.action:hover,
.products-grid .show-more-button-not-logged button.action:focus,
.products-grid .show-more-button-not-logged .action:hover,
.products-grid .show-more-button-not-logged .action:focus,
.sprawdz-warianty:hover,
.sprawdz-warianty:focus,
.products-grid .product-item-actions .actions-primary .tocart:hover,
.products-grid .product-item-actions .actions-primary .tocart:focus,
.products-grid .product-item-actions .action.primary:hover,
.products-grid .product-item-actions .action.primary:focus,
.products-grid.products.grid.flex-grid .product-item-details .product-item-actions .tocart:hover,
.products-grid.products.grid.flex-grid .product-item-details .product-item-actions .tocart:focus,
.products-grid.divider-line .product-item-details .product-item-actions .tocart:hover,
.products-grid.divider-line .product-item-details .product-item-actions .tocart:focus {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}

/* Secondary listing / quick-view actions explicitly themed by Porto */
.products-grid .product-item-details .product-item-actions .actions-secondary:hover,
.product-item-info.type3 .product-item-photo .product-item-inner .product-item-actions > .action.tocompare:hover,
.product-item-info.type5 .product-item-photo .product-item-inner .product-item-actions > .action.tocompare:hover,
.product-item-info.type6 .product-item-photo .product-item-inner .product-item-actions > .action.tocompare:hover,
.product-item-info.type7 .product-item-inner .product-item-actions > .action:hover,
.product-item-info.type9 .product-item-inner .product-item-actions > .action:hover,
.products-grid .product-item .product-item-info:hover .weltpixel-quickview.weltpixel_quickview_button_v2 {
    background-color: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
}

/* Custom hard-coded grouped product colors */
.grouped-product-specyfication,
.specyfication-popup-header span {
    color: var(--seart-olive) !important;
}

/* Minicart / authentication panels generated with theme border */
.minicart-wrapper .block-minicart,
.authentication-dropdown,
.block-header-customer-login {
    border-top-color: var(--seart-olive) !important;
}

.minicart-wrapper .block-minicart:before,
.block-header-customer-login:before {
    border-bottom-color: var(--seart-olive) !important;
}

/* Minicart icons */
.minicart-items .action.edit:before,
.minicart-items .action.delete:before,
.modal-custom .action-close:before,
.modal-popup .action-close:before,
.modal-slide .action-close:before {
    color: var(--seart-text-muted) !important;
}

.minicart-items .action.edit:hover:before,
.minicart-items .action.delete:hover:before,
.modal-custom .action-close:hover:before,
.modal-popup .action-close:hover:before,
.modal-slide .action-close:hover:before {
    color: var(--seart-olive-hover) !important;
}

/* Checkout / customer navigation old theme-color states */
.opc-progress-bar-item._complete > span,
.checkout-payment-method .payment-option-title .action-toggle,
.checkout-payment-method .payment-option-title .action-toggle:after,
.opc-block-shipping-information .shipping-information-title .action-edit:before {
    color: var(--seart-olive) !important;
}

.block-collapsible-nav .item a:hover,
.block-collapsible-nav .item a:active,
.block-collapsible-nav .item a:focus,
.action-auth-toggle:hover,
.opc-wrapper .edit-address-link:hover,
.checkout-agreements-block .action-show:hover {
    color: var(--seart-olive-hover) !important;
}

/* Contact icons */
.contact-index-index .page-main .contact-info [class^="porto-icon-"],
.contact-index-index .page-main .contact-info [class*=" porto-icon-"] {
    background-color: var(--seart-olive) !important;
    color: #fff !important;
}

/* Mobile filter toggle */
.filter-toggle.active {
    background-color: var(--seart-olive) !important;
    border-color: var(--seart-olive) !important;
}

/* Quantity controls */
.qty.field .qty-changer > a:hover {
    color: var(--seart-olive-hover) !important;
}

/* Theme-colored decorative components, if present */
.owl-theme .owl-dots .owl-dot.active span {
    background-color: var(--seart-olive) !important;
}

.owl-theme .owl-dots .owl-dot:hover span {
    background-color: var(--seart-olive-hover) !important;
}

.footer-ribbon {
    background-color: var(--seart-footer) !important;
}

.sw-dailydeal,
.catalog-product-view .sw-dailydeal .number-wrapper {
    background-color: var(--seart-olive) !important;
}

/* Keep functional green only for semantic status/success */
.stock.available,
.message.success,
.message-success {
    color: var(--seart-success) !important;
}

/* =========================================================
   PRODUCT PAGE / GALLERY
   ========================================================= */

/* Ikony galerii / zoom / fullscreen */
.fotorama .fotorama-sprite,
.fotorama .fotorama__fullscreen-icon,
.fotorama .fotorama__thumb__arr,
.fotorama .fotorama__arr .fotorama__arr__arr,
.fotorama__fullscreen .fotorama .fotorama__zoom-in,
.fotorama__fullscreen .fotorama .fotorama__zoom-out {
    color: var(--seart-olive) !important;
}

/* Hover/focus kontrolek galerii */
.fotorama .fotorama__fullscreen-icon:hover,
.fotorama .fotorama__fullscreen-icon:focus,
.fotorama__fullscreen .fotorama .fotorama__zoom-in:hover,
.fotorama__fullscreen .fotorama .fotorama__zoom-out:hover {
    color: var(--seart-olive-hover) !important;
}


/* =========================================================
   PRODUCT TABS
   ========================================================= */

.product.data.items > .item.title.active > .switch,
.product.data.items > .item.title.active > .switch:focus,
.product.data.items > .item.title.active > .switch:hover {
    color: var(--seart-olive) !important;
    border-top-color: var(--seart-olive) !important;
}

/* jeśli karta jest w układzie vertical */
.product.info.detailed.vertical
.product.data.items > .item.title.active > .switch,
.product.info.detailed.vertical
.product.data.items > .item.title.active > .switch:focus,
.product.info.detailed.vertical
.product.data.items > .item.title.active > .switch:hover {
    border-left-color: var(--seart-olive) !important;
}

.fotorama__nav .fotorama__thumb-border {
    border-color: var(--seart-olive) !important;
}

/* =========================================================
   PREV / NEXT PRODUCT POPUP
   ========================================================= */

.prev-next-products .product-nav .product-pop {
    border-top-color: var(--seart-olive) !important;
}

.prev-next-products .product-nav .product-pop:before {
    border-bottom-color: var(--seart-olive) !important;
}

/* =========================================================
   PRODUCT TABS / BORDERS
   ========================================================= */

@media (min-width: 768px) {

    /* Kontener treści zakładki */
    .product.data.items > .item.content {
        border-color: var(--seart-border) !important;
    }

    /* Nieaktywne zakładki */
    .product.data.items > .item.title > .switch {
        border-color: var(--seart-border) !important;
    }

    /* Aktywna zakładka */
    .product.data.items > .item.title.active > .switch,
    .product.data.items > .item.title.active > .switch:focus,
    .product.data.items > .item.title.active > .switch:hover {
        border-top-color: var(--seart-olive) !important;
        color: var(--seart-olive) !important;
    }
}

/* =========================================================
   PRODUCT TABS - prevent content flash before JS init
   ========================================================= */

.catalog-product-view
.product.info.detailed
.product.data.items > .item.content:not([aria-hidden]) {
    display: none !important;
}

/* =========================================================
   GROUPED PRODUCT - EMPTY REVIEW/PREVIEW WRAPPER
   ========================================================= */

/*
 * Wrapper contains #newsPreview, which is hidden by default.
 * Keep it available for JS, but do not render a white bar while empty/hidden.
 */
.table-wrapper.grouped .product-info-review-box {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.table-wrapper.grouped .product-info-review-box #newsPreview[style*="display:none"],
.table-wrapper.grouped .product-info-review-box #newsPreview[style*="display: none"] {
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   HEADER CONTENT ALIGNMENT
   ========================================================= */

/*
 * Keep logo, search and cart on the same centered content grid as Porto's
 * navigation/page content instead of forcing a wider 1440px header box.
 */
@media (min-width: 768px) {
    .page-header.type1 .header.content {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   TYPOGRAPHY + HEADER / MENU DIMENSIONS
   Zgodnie z WDROZENIE_MAGENTO.md
   ========================================================= */

/*
 * WAŻNE:
 * Nie zmieniamy font-size na elemencie html.
 * Porto/Magento używa rem w wielu komponentach i zmiana skali root
 * powiększałaby m.in. przyciski, breadcrumb i nagłówki formularzy.
 */
body {
    font-family: "Poppins", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

/* Small metadata */
.product-info-main .product-info-stock-sku,
.product-info-main .product.attribute.sku,
.product-item .price-box .price-label,
.product-item .stock,
.product-item .product-reviews-summary {
    font-size: 13px;
    line-height: 1.4;
}

/* Footer typography */
.footer-middle,
.footer-bottom {
    font-size: 14px;
    line-height: 1.5;
}


/* Desktop header / menu dimensions */
@media (min-width: 768px) {

    /* Top bar: spec 36–38 px -> 37 px */
    .page-header.type1 > .panel.wrapper {
        min-height: 37px !important;
        height: 37px !important;
    }

    .page-header.type1 > .panel.wrapper .panel.header {
        min-height: 37px;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .page-header.type1 .panel.header .switcher,
    .page-header.type1 .panel.header .switcher a,
    .page-header.type1 .panel.header .header.links > li,
    .page-header.type1 .panel.header .header.links > li > a,
    .page-header.type1 .panel.header .header.links > li > span {
        font-size: 12px;
        line-height: 37px;
    }


    /* Main header: spec 105–115 px -> 110 px */
    .page-header.type1 .header.content {
        min-height: 110px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        box-sizing: border-box;
    }

    /* Logo: spec about 165–180 px -> 175 px */
    .page-header.type1 .logo {
        width: 175px;
        max-width: 175px;
        margin-top: 27px;
        margin-bottom: 27px;
    }

    .page-header.type1 .logo img {
        display: block;
        width: 175px;
        max-width: 100%;
        max-height: none;
        height: auto;
    }


    /* Search: spec 50–52 px -> 52 px */
    .page-header.type1 .block-search input {
        height: 52px !important;
        border-radius: 3px !important;
        padding-top: 0;
        padding-bottom: 0;
        line-height: 52px;
    }

    .page-header.type1 .block-search .action.search {
        height: 52px !important;
        line-height: 52px !important;
        min-width: 52px;
    }

    .page-header.type1 .block-search .action.search:before {
        line-height: 52px !important;
    }


    /* Main menu: spec 50–54 px -> 52 px */
    .page-header.type1 .navigation > ul {
        min-height: 52px;
    }

    .page-header.type1 .navigation .level0 > .level-top {
        min-height: 52px;
        line-height: 52px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        font-size: 14px;
        font-weight: 500;
    }

    .page-header.type1 .navigation li.level0.parent > a:after {
        line-height: 52px !important;
    }

    /* Dropdown typography must not inherit 52px line-height */
    .page-header.type1 .navigation .level0 .submenu a {
        font-size: 14px;
        font-weight: 400;
        line-height: 1.4;
    }


    /* Sticky menu shadow from specification */
    .page-header.type1.sticky-header .nav-sections {
        box-shadow: 0 8px 24px rgba(37, 38, 34, 0.10);
    }
}

/* =========================================================
   HOMEPAGE HERO
   Zgodnie z WDROZENIE_MAGENTO.md
   ========================================================= */

/*
 * Expected CMS structure:
 * <section class="seart-home-hero">
 *   <div class="seart-home-hero__media">...</div>
 *   <div class="seart-home-hero__overlay"></div>
 *   <div class="seart-home-hero__content">...</div>
 * </section>
 */

.seart-home-hero {
    position: relative;
    overflow: hidden;
    width: calc(100% - 30px);
    max-width: 1280px;
    aspect-ratio: 2.5 / 1;
    background: #E8E4D8;
    border-radius: 4px;
    margin: 0 auto 40px;
}

.seart-home-hero picture,
.seart-home-hero__media,
.seart-home-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.seart-home-hero__media {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.seart-home-hero__media img {
    object-fit: cover;
    object-position: center center;
}

.seart-home-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            90deg,
            rgba(37, 38, 34, 0.62) 0%,
            rgba(37, 38, 34, 0.46) 34%,
            rgba(37, 38, 34, 0.16) 62%,
            rgba(37, 38, 34, 0.00) 100%
        );
}

.seart-home-hero__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 56px 72px;
    box-sizing: border-box;
}

.seart-home-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: 0 0 18px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #FFFFFF;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.seart-home-hero__title {
    max-width: 620px;
    margin: 0 0 18px;
    color: #FFFFFF;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 600;
}

.seart-home-hero__text {
    max-width: 560px;
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.96);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 400;
}

.seart-home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.seart-home-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid var(--seart-olive);
    border-radius: 3px;
    background: var(--seart-olive);
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.seart-home-hero__cta:hover,
.seart-home-hero__cta:focus {
    background: var(--seart-olive-hover);
    border-color: var(--seart-olive-hover);
    color: #FFFFFF !important;
}

.seart-home-hero__cta--ghost {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.45);
}

.seart-home-hero__cta--ghost:hover,
.seart-home-hero__cta--ghost:focus {
    background: rgba(255, 255, 255, 0.20);
    border-color: rgba(255, 255, 255, 0.70);
}

@media (max-width: 1024px) {
    .seart-home-hero {
        aspect-ratio: auto;
        min-height: 500px;
    }

    .seart-home-hero__content {
        min-height: 500px;
        height: auto;
        padding: 48px 44px;
    }

    .seart-home-hero__title {
        font-size: 40px;
    }

    .seart-home-hero__text {
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .seart-home-hero {
        width: calc(100% - 30px);
        min-height: 480px;
        margin: 0 auto 28px;
        border-radius: 4px;
    }

    .seart-home-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(37, 38, 34, 0.20) 0%,
                rgba(37, 38, 34, 0.52) 44%,
                rgba(37, 38, 34, 0.78) 100%
            );
    }

    .seart-home-hero__content {
        min-height: 480px;
        justify-content: flex-end;
        padding: 28px 20px 24px;
    }

    .seart-home-hero__eyebrow {
        margin-bottom: 14px;
        font-size: 12px;
    }

    .seart-home-hero__title {
        max-width: none;
        margin-bottom: 14px;
        font-size: 32px;
        line-height: 1.12;
    }

    .seart-home-hero__text {
        max-width: none;
        margin-bottom: 22px;
        font-size: 16px;
        line-height: 1.5;
    }

    .seart-home-hero__actions {
        width: 100%;
        gap: 10px;
    }

    .seart-home-hero__cta {
        width: 100%;
        min-height: 46px;
        font-size: 15px;
    }
}

@media (max-width: 390px) {
    .seart-home-hero__title {
        font-size: 28px;
    }

    .seart-home-hero__text {
        font-size: 15px;
    }
}

/* =========================================================
   HOMEPAGE - FEATURED CATEGORIES
   Zgodnie z WDROZENIE_MAGENTO.md
   ========================================================= */

.seart-featured-categories {
    width: calc(100% - 30px);
    max-width: 1280px;
    margin: 0 auto 56px;
}

.seart-featured-categories__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.seart-featured-categories__title {
    margin: 0;
    color: var(--seart-text);
    font-size: 36px;
    line-height: 1.15;
    font-weight: 600;
}

.seart-featured-categories__all {
    flex: 0 0 auto;
    color: var(--seart-text-muted) !important;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: color .2s ease;
}

.seart-featured-categories__all:hover,
.seart-featured-categories__all:focus {
    color: var(--seart-olive-hover) !important;
}

.seart-featured-categories__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.seart-category-card {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 4px;
    background: var(--seart-beige);
    text-decoration: none !important;
}

.seart-category-card picture,
.seart-category-card__media,
.seart-category-card__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.seart-category-card__media {
    position: absolute;
    inset: 0;
}

.seart-category-card__media img {
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition: transform 380ms ease;
}

.seart-category-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 60px;
    background: rgba(37, 38, 34, 0.72);
    pointer-events: none;
}

.seart-category-card__label {
    position: absolute;
    z-index: 2;
    left: 16px;
    right: 16px;
    bottom: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: #FFFFFF;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
}

.seart-category-card__arrow {
    flex: 0 0 auto;
    font-size: 22px;
    line-height: 1;
    transition: transform .2s ease;
}

.seart-category-card:hover .seart-category-card__media img,
.seart-category-card:focus .seart-category-card__media img {
    transform: scale(1.025);
}

.seart-category-card:hover .seart-category-card__arrow,
.seart-category-card:focus .seart-category-card__arrow {
    transform: translateX(3px);
}

.seart-category-card:focus-visible {
    outline: 2px solid var(--seart-olive-hover);
    outline-offset: 3px;
}

@media (max-width: 1024px) {
    .seart-featured-categories__title {
        font-size: 32px;
    }

    .seart-featured-categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}

@media (max-width: 767px) {
    .seart-featured-categories {
        margin-bottom: 40px;
    }

    .seart-featured-categories__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 18px;
    }

    .seart-featured-categories__title {
        font-size: 28px;
    }

    .seart-featured-categories__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .seart-category-card__label {
        left: 18px;
        right: 18px;
        bottom: 17px;
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .seart-category-card::after {
        height: 56px;
    }
}

/* =========================================================
   HOMEPAGE - BENEFITS / "WIĘCEJ NIŻ DOSTĘP DO PRODUKTÓW"
   Zgodnie z WDROZENIE_MAGENTO.md
   ========================================================= */

.seart-benefits {
    width: 100%;
    margin: 0;
    padding: 48px 0 44px;
    background: var(--seart-bg);
}

.seart-benefits__inner {
    width: calc(100% - 30px);
    max-width: 1280px;
    margin: 0 auto;
}

.seart-benefits__header {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}

.seart-benefits__title {
    position: relative;
    margin: 0 0 16px;
    padding-bottom: 16px;
    color: var(--seart-text);
    font-size: 36px;
    line-height: 1.15;
    font-weight: 500;
}

.seart-benefits__title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 54px;
    height: 2px;
    background: var(--seart-olive);
    transform: translateX(-50%);
}

.seart-benefits__intro {
    margin: 0;
    color: var(--seart-text-muted);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
}

.seart-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.seart-benefit {
    position: relative;
    min-width: 0;
    padding: 0 30px;
    text-align: center;
}

.seart-benefit + .seart-benefit {
    border-left: 1px solid var(--seart-border);
}

.seart-benefit__icon {
    display: block;
    width: 78px;
    height: 78px;
    margin: 0 auto 18px;
    object-fit: contain;
}

.seart-benefit__title {
    position: relative;
    margin: 0;
    padding-bottom: 16px;
    color: var(--seart-text);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 600;
}

.seart-benefit__title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 36px;
    height: 1px;
    background: var(--seart-accent-soft);
    transform: translateX(-50%);
}


/* Tablet: 2 x 2 */
@media (max-width: 1024px) {
    .seart-benefits {
        padding: 42px 0 38px;
    }

    .seart-benefits__title {
        font-size: 32px;
    }

    .seart-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 34px;
    }

    .seart-benefit {
        padding: 0 24px;
    }

    .seart-benefit:nth-child(3) {
        border-left: 0;
    }

    .seart-benefit:nth-child(n+3) {
        padding-top: 30px;
        border-top: 1px solid var(--seart-border);
    }
}


/* Phone: 1 column */
@media (max-width: 767px) {
    .seart-benefits {
        padding: 36px 0 34px;
    }

    .seart-benefits__header {
        margin-bottom: 28px;
    }

    .seart-benefits__title {
        font-size: 28px;
    }

    .seart-benefits__intro {
        font-size: 14px;
    }

    .seart-benefits__grid {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .seart-benefit {
        padding: 26px 12px;
        border-left: 0 !important;
        border-top: 1px solid var(--seart-border);
    }

    .seart-benefit:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .seart-benefit__icon {
        width: 74px;
        height: 74px;
        margin-bottom: 14px;
    }

    .seart-benefit__title {
        font-size: 16px;
    }
}

/* Benefits cards are links to the existing "Dlaczego warto" page */
a.seart-benefit {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: inherit !important;
    text-decoration: none !important;
}

a.seart-benefit:hover,
a.seart-benefit:focus {
    color: inherit !important;
    text-decoration: none !important;
}

a.seart-benefit:hover .seart-benefit__title,
a.seart-benefit:focus-visible .seart-benefit__title {
    color: var(--seart-olive-hover) !important;
}

a.seart-benefit:focus {
    outline: none;
}

a.seart-benefit:focus-visible {
    outline: none;
}

a.seart-benefit:focus-visible .seart-benefit__title {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

/* Stabilizacja layoutu sekcji benefits względem styli Porto */
.seart-benefits__grid > a.seart-benefit {
    float: none !important;
    width: auto !important;
}

.seart-benefits__grid > a.seart-benefit .seart-benefit__icon {
    float: none !important;
    flex: 0 0 auto;
    margin-left: auto !important;
    margin-right: auto !important;
}

.seart-benefits__grid > a.seart-benefit .seart-benefit__title {
    display: block;
    width: 100%;
    text-align: center;
}

/* =========================================================
   FOOTER - FINAL LIFTING
   Dolny pasek + dopracowanie istniejących kolumn
   ========================================================= */

.footer-middle {
    padding-top: 44px !important;
    padding-bottom: 38px !important;
}

.footer-middle .block-title,
.footer-middle .block-title strong,
.footer-middle h3,
.footer-middle h4 {
    margin-bottom: 18px;
    color: var(--seart-footer-text) !important;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    text-transform: uppercase;
}

.footer-middle ul {
    margin: 0;
    padding: 0;
}

.footer-middle li {
    margin-bottom: 10px;
    line-height: 1.5;
}

.footer-middle li:last-child {
    margin-bottom: 0;
}

.footer-middle a {
    transition: color 180ms ease;
}

.footer-bottom {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.footer-bottom .container {
    border-top: 1px solid rgba(255, 255, 255, 0.28);
}

.seart-footer-signature {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    min-height: 72px;
    color: var(--seart-footer-muted);
    font-size: 12px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.seart-footer-signature__brand,
.seart-footer-signature__claim {
    display: flex;
    align-items: center;
}

.seart-footer-signature__brand {
    flex: 0 0 auto;
    color: var(--seart-footer-text);
}

.seart-footer-signature__brand-main {
    color: var(--seart-footer-text);
}

.seart-footer-signature__brand-sub {
    color: var(--seart-footer-muted);
}

.seart-footer-signature__divider {
    display: block;
    width: 1px;
    height: 16px;
    margin: 0 16px;
    background: rgba(255, 255, 255, 0.32);
}

.seart-footer-signature__claim {
    flex: 1 1 auto;
    justify-content: flex-end;
    gap: 22px;
    color: var(--seart-footer-muted);
    text-align: right;
}

.seart-footer-signature__claim-line {
    display: block;
    flex: 0 0 58px;
    width: 58px;
    height: 1px;
    background: var(--seart-accent-soft);
}

.footer-middle [class^="porto-icon-"],
.footer-middle [class*=" porto-icon-"],
.footer-middle .theme-color {
    color: var(--seart-accent-soft) !important;
}

@media (max-width: 767px) {
    .footer-middle {
        padding-top: 34px !important;
        padding-bottom: 28px !important;
    }

    .seart-footer-signature {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 14px;
        min-height: 94px;
        padding: 18px 0;
        font-size: 11px;
    }

    .seart-footer-signature__claim {
        width: 100%;
        justify-content: flex-start;
        text-align: left;
    }

    .seart-footer-signature__claim-line {
        flex-basis: 42px;
        width: 42px;
    }
}

/* =========================================================
   PRODUCT PAGE - PARTNER MATERIALS / MAGEPLAZA ATTACHMENTS
   ========================================================= */

.catalog-product-view .seart-partner-materials {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    width: 100%;
    margin: 34px 0 38px;
    padding: 26px 32px;
    background: var(--seart-bg);
    border: 1px solid var(--seart-border);
    border-radius: 4px;
}

.catalog-product-view .seart-partner-materials__intro {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.catalog-product-view .seart-partner-materials__folder {
    display: flex;
    flex: 0 0 66px;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    color: var(--seart-olive);
}

.catalog-product-view .seart-partner-materials__folder svg {
    display: block;
    width: 62px;
    height: 62px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-product-view .seart-partner-materials__copy {
    min-width: 0;
}

.catalog-product-view .seart-partner-materials__title {
    margin: 0 0 7px;
    color: var(--seart-text);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 600;
}

.catalog-product-view .seart-partner-materials__description {
    margin: 0;
    color: var(--seart-text-muted);
    font-size: 14px;
    line-height: 1.5;
}

.catalog-product-view .seart-partner-materials__actions {
    flex: 0 1 430px;
    min-width: 300px;
}

.catalog-product-view .seart-partner-materials__actions-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.catalog-product-view .seart-partner-materials__action-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
}

.catalog-product-view .seart-partner-materials__button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 11px;
    width: 100%;
    min-height: 52px;
    padding: 12px 20px;
    background: var(--seart-olive) !important;
    border: 1px solid var(--seart-olive) !important;
    border-radius: 3px;
    color: #fff !important;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-align: center;
    text-decoration: none !important;
    transition:
        background-color 180ms ease,
        border-color 180ms ease;
}

.catalog-product-view a.seart-partner-materials__button:hover,
.catalog-product-view a.seart-partner-materials__button:focus {
    background: var(--seart-olive-hover) !important;
    border-color: var(--seart-olive-hover) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.catalog-product-view a.seart-partner-materials__button:focus-visible {
    outline: 2px solid var(--seart-olive-hover);
    outline-offset: 3px;
}

.catalog-product-view .seart-partner-materials__button.is-disabled {
    cursor: not-allowed;
    opacity: 0.58;
}

.catalog-product-view .seart-partner-materials__button-icon {
    display: inline-flex;
    flex: 0 0 18px;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
}

.catalog-product-view .seart-partner-materials__button-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-product-view .seart-partner-materials__meta {
    display: block;
    color: var(--seart-text-muted);
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

.catalog-product-view .seart-partner-materials__restricted {
    color: var(--seart-text-muted);
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

/*
 * The original Mageplaza inline template is replaced in the child theme,
 * but neutralize old wrappers/styles in case another layout location is enabled.
 */
.catalog-product-view .seart-partner-materials .mp-attachment-tab,
.catalog-product-view .seart-partner-materials .mp-attachment-container {
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .catalog-product-view .seart-partner-materials {
        gap: 26px;
        padding: 24px 26px;
    }

    .catalog-product-view .seart-partner-materials__actions {
        flex-basis: 380px;
    }
}

@media (max-width: 767px) {
    .catalog-product-view .seart-partner-materials {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        margin: 28px 0 30px;
        padding: 24px 20px;
    }

    .catalog-product-view .seart-partner-materials__intro {
        align-items: flex-start;
        gap: 17px;
    }

    .catalog-product-view .seart-partner-materials__folder {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
    }

    .catalog-product-view .seart-partner-materials__folder svg {
        width: 50px;
        height: 50px;
    }

    .catalog-product-view .seart-partner-materials__title {
        font-size: 19px;
    }

    .catalog-product-view .seart-partner-materials__description {
        font-size: 13px;
    }

    .catalog-product-view .seart-partner-materials__actions {
        flex: none;
        min-width: 0;
        width: 100%;
    }

    .catalog-product-view .seart-partner-materials__button {
        min-height: 50px;
        padding-left: 16px;
        padding-right: 16px;
        font-size: 11px;
    }
}

/* =========================================================
   HEADER TYPE 1 - TOP BAR VERTICAL ALIGNMENT
   Waluta / język / linki konta
   ========================================================= */

@media (min-width: 768px) {

    .page-header.type1 > .panel.wrapper {
        min-height: 38px !important;
        height: 38px !important;
    }

    .page-header.type1 > .panel.wrapper > .panel.header {
        display: flex !important;
        align-items: center !important;
        min-height: 38px !important;
        height: 38px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        box-sizing: border-box;
    }

    /* Waluta + język */
    .page-header.type1 .panel.header > .switcher {
        display: flex !important;
        align-items: center !important;
        align-self: stretch;
        height: 38px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .page-header.type1 .panel.header .switcher .switcher-options,
    .page-header.type1 .panel.header .switcher .switcher-trigger {
        display: flex !important;
        align-items: center !important;
        height: 100%;
        margin: 0 !important;
    }

    .page-header.type1 .panel.header .switcher .switcher-trigger > strong,
    .page-header.type1 .panel.header .switcher .switcher-trigger > strong > span {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        line-height: 1.2 !important;
    }

    .page-header.type1 .panel.header .switcher-language .switcher-trigger img {
        display: inline-block;
        flex: 0 0 auto;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        margin-right: 7px;
        vertical-align: middle;
    }

    /* Prawa część: Sprzedaż hurtowa / kontakt / logowanie / konto */
    .page-header.type1 .panel.header > .header.links {
        display: flex !important;
        align-items: stretch !important;
        align-self: stretch;
        height: 38px !important;
        margin: 0 0 0 auto !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .page-header.type1 .panel.header > .header.links > li:not(.hide) {
        display: flex !important;
        align-items: center !important;
        height: 38px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1.2 !important;
    }

    .page-header.type1 .panel.header > .header.links > li:not(.hide) > a,
    .page-header.type1 .panel.header > .header.links > li:not(.hide) > span {
        display: flex !important;
        align-items: center !important;
        height: 100%;
        line-height: 1.2 !important;
    }

    /* Elementy oznaczone przez Magento/Porto jako ukryte mają pozostać ukryte. */
    .page-header.type1 .panel.header > .header.links > li.hide {
        display: none !important;
    }

    /* Nie pozwalamy wcześniejszej regule line-height:37px przesuwać tekstu */
    .page-header.type1 .panel.header .switcher,
    .page-header.type1 .panel.header .switcher a,
    .page-header.type1 .panel.header .header.links > li:not(.hide),
    .page-header.type1 .panel.header .header.links > li:not(.hide) > a,
    .page-header.type1 .panel.header .header.links > li:not(.hide) > span {
        line-height: 1.2 !important;
    }
}

/* =========================================================
   HEADER TYPE 1 - TOP BAR ORDER FIX
   Waluta i język pozostają po lewej; zmieniamy wyłącznie
   pionowe wyrównanie elementów.
   ========================================================= */

@media (min-width: 768px) {

    .page-header.type1 > .panel.wrapper > .panel.header {
        flex-direction: row !important;
    }

    .page-header.type1 .panel.header > .switcher {
        float: none !important;
    }

    .page-header.type1 .panel.header > .switcher-currency {
        order: 1 !important;
        margin-left: 0 !important;
    }

    .page-header.type1 .panel.header > .switcher-language {
        order: 2 !important;
    }

    .page-header.type1 .panel.header > .header.links {
        order: 3 !important;
        float: none !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    /*
     * Skip-link pozostaje funkcjonalny dla klawiatury,
     * ale nie bierze udziału w wizualnym układzie topbara.
     */
    .page-header.type1 .panel.header > .action.skip.contentarea {
        order: 0 !important;
    }
}

/* =========================================================
   PRODUCT PAGE - TYPOGRAPHY ALIGNMENT WITH CLIENT MOCK-UP
   Scope: product view only. Do not change global/root font size.
   ========================================================= */

/* Main product title */
.catalog-product-view .product-info-main .page-title-wrapper .page-title,
.catalog-product-view .product-info-main .page-title {
    font-size: 30px !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em;
}

/* Product metadata: SKU / lead time / helper information */
.catalog-product-view .product-info-main .product-info-stock-sku,
.catalog-product-view .product-info-main .product.attribute.sku,
.catalog-product-view .product-info-main .product.attribute.sku .type,
.catalog-product-view .product-info-main .product.attribute.sku .value {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Tabs */
.catalog-product-view .product.data.items > .item.title > .switch {
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

.catalog-product-view .product.data.items > .item.title.active > .switch {
    font-weight: 500 !important;
}

/* Tab content: keep the product-information area lighter than the global 16px body */
.catalog-product-view .product.info.detailed .product.data.items > .item.content {
    font-size: 14px;
    line-height: 1.5;
}

/* Technical specification table */
.catalog-product-view #product-attribute-specs-table,
.catalog-product-view .additional-attributes-wrapper .data.table.additional {
    width: auto;
    min-width: 410px;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.catalog-product-view #product-attribute-specs-table th,
.catalog-product-view #product-attribute-specs-table td,
.catalog-product-view .additional-attributes-wrapper .data.table.additional th,
.catalog-product-view .additional-attributes-wrapper .data.table.additional td {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.catalog-product-view #product-attribute-specs-table th,
.catalog-product-view .additional-attributes-wrapper .data.table.additional th {
    font-weight: 600 !important;
}

/* Headings inside the detailed-information panel, e.g. "SPECYFIKACJA TECHNICZNA" */
.catalog-product-view .product.info.detailed .item.content h2,
.catalog-product-view .product.info.detailed .item.content h3,
.catalog-product-view .product.info.detailed .item.content h4 {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
}

/* Grouped product table - proportions from the supplied grouped-product mock-up */
.catalog-product-view .table-wrapper.grouped table.grouped thead th,
.catalog-product-view .table-wrapper.grouped .table.grouped thead th {
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

.catalog-product-view .table-wrapper.grouped table.grouped tbody td,
.catalog-product-view .table-wrapper.grouped .table.grouped tbody td {
    font-size: 12px;
    line-height: 1.4;
}

.catalog-product-view .table-wrapper.grouped .product-item-name,
.catalog-product-view .table-wrapper.grouped .product-item-name a {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.catalog-product-view .table-wrapper.grouped .price-box .price {
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

.catalog-product-view .table-wrapper.grouped .old-price .price {
    font-size: 12px !important;
    font-weight: 400 !important;
}

/* Partner materials: title in the mock-up is slightly smaller than v20-v23 */
.catalog-product-view .seart-partner-materials__title {
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

.catalog-product-view .seart-partner-materials__description {
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.catalog-product-view .seart-partner-materials__button {
    font-size: 12px !important;
}

.catalog-product-view .seart-partner-materials__meta {
    font-size: 12px !important;
}

/* Mobile */
@media (max-width: 767px) {
    .catalog-product-view .product-info-main .page-title-wrapper .page-title,
    .catalog-product-view .product-info-main .page-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    .catalog-product-view #product-attribute-specs-table,
    .catalog-product-view .additional-attributes-wrapper .data.table.additional {
        min-width: 0;
        width: 100%;
    }

    .catalog-product-view #product-attribute-specs-table th,
    .catalog-product-view #product-attribute-specs-table td,
    .catalog-product-view .additional-attributes-wrapper .data.table.additional th,
    .catalog-product-view .additional-attributes-wrapper .data.table.additional td {
        font-size: 13px !important;
    }

    .catalog-product-view .seart-partner-materials__title {
        font-size: 19px !important;
    }
}

/* =========================================================
   PRODUCT PAGE - TECHNICAL SPECIFICATION EXACT MARKUP FIX
   Actual markup:
   #additional
   .technical-specification-header
   #product-attribute-specs-table.additional-attributes
   .product-specifications-label / .product-specifications-value
   ========================================================= */

body.catalog-product-view #additional .technical-specification-header {
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-transform: uppercase;
}

body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes {
    width: auto !important;
    min-width: 410px;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
.technical-specification-table-row
.product-specifications-label,
body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
.technical-specification-table-row
.product-specifications-value {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
.technical-specification-table-row
.product-specifications-label {
    font-weight: 600 !important;
}

body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
.technical-specification-table-row
.product-specifications-value {
    font-weight: 400 !important;
}

body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
.technical-specification-table-row > th,
body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
.technical-specification-table-row > td {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

@media (max-width: 767px) {
    body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.catalog-product-view #additional .technical-specification-header {
        font-size: 14px !important;
    }

    body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
    .technical-specification-table-row
    .product-specifications-label,
    body.catalog-product-view #additional #product-attribute-specs-table.additional-attributes
    .technical-specification-table-row
    .product-specifications-value {
        font-size: 13px !important;
    }
}

/* =========================================================
   PRODUCT PAGE - PARTNER MATERIALS BUTTON TYPOGRAPHY
   Mock-up: white label/icon on olive button, compact 12px text.
   ========================================================= */

body.catalog-product-view a.seart-partner-materials__button,
body.catalog-product-view a.seart-partner-materials__button:visited,
body.catalog-product-view a.seart-partner-materials__button span {
    color: #FFFFFF !important;
}

body.catalog-product-view a.seart-partner-materials__button {
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
}

body.catalog-product-view a.seart-partner-materials__button
.seart-partner-materials__button-icon,
body.catalog-product-view a.seart-partner-materials__button
.seart-partner-materials__button-icon svg,
body.catalog-product-view a.seart-partner-materials__button
.seart-partner-materials__button-icon svg path {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;
}

body.catalog-product-view a.seart-partner-materials__button:hover,
body.catalog-product-view a.seart-partner-materials__button:focus,
body.catalog-product-view a.seart-partner-materials__button:hover span,
body.catalog-product-view a.seart-partner-materials__button:focus span {
    color: #FFFFFF !important;
}

/* =========================================================
   PRODUCT PAGE - TAB TYPOGRAPHY REGRESSION FIX
   Restore the lighter active-tab label from the earlier version.
   ========================================================= */

body.catalog-product-view .product.data.items > .item.title > .switch,
body.catalog-product-view .product.data.items > .item.title.active > .switch,
body.catalog-product-view .product.data.items > .item.title.active > .switch:hover,
body.catalog-product-view .product.data.items > .item.title.active > .switch:focus {
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

/* =========================================================
   PRODUCT PAGE - TAB LABEL VERTICAL POSITION
   Move the tab label slightly lower without changing tab height/borders.
   ========================================================= */

body.catalog-product-view .product.data.items > .item.title > .switch {
    position: relative;
    top: 2px;
}

/* =========================================================
   PRODUCT PAGE - TAB LABEL VERTICAL POSITION v2
   Previous 2px shift was not enough; move label 5px down.
   ========================================================= */

body.catalog-product-view .product.data.items > .item.title > .switch {
    top: 5px !important;
}

/* =========================================================
   PRODUCT PAGE - TAB LABEL VERTICAL POSITION v3
   Keep the tab/border in place and move ONLY the text.
   Screenshot comparison: desired text is ~6px lower.
   ========================================================= */

body.catalog-product-view .product.data.items > .item.title > .switch {
    top: 0 !important;
}

body.catalog-product-view .product.data.items > .item.title > .switch > span {
    position: relative !important;
    top: 6px !important;
}

