/*
 Theme Name:   Shoptimizer Child
 Theme URI:    https://www.commercegurus.com/product/shoptimizer/
 Description:  Motyw potomny dla Shoptimizer
 Author:       Twój Nazwa / CommerceGurus
 Template:     shoptimizer
 Version:      1.0.9
*/

:root {
    --wampol-ink: #202326;
    --wampol-muted: #66717a;
    --wampol-line: #d9e0e5;
    --wampol-surface: #f5f7f8;
    --wampol-blue: #219fdd;
    --wampol-yellow: #f6a820;
}

/* Katalog producenta: bez elementów zakupowych w nagłówku. */
.site-header-cart,
.shoptimizer-mini-cart-wrap,
.woocommerce div.product p.price,
.woocommerce ul.products li.product .price,
.polskie-shipping-notice,
.polski-shipping-notice,
.product-widget,
.call-back-feature,
.shoptimizer-modal[data-shoptimizermodal-id="callBack"] {
    display: none !important;
}

/* Oferta i kategorie produktowe mają pełną szerokość. */
.woocommerce-shop #secondary,
.tax-product_cat #secondary,
.tax-product_tag #secondary,
.woocommerce-shop .widget-area,
.tax-product_cat .widget-area,
.tax-product_tag .widget-area {
    display: none !important;
}

.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.woocommerce-shop .content-area,
.tax-product_cat .content-area,
.tax-product_tag .content-area {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-shop .shoptimizer-sorting,
.tax-product_cat .shoptimizer-sorting,
.tax-product_tag .shoptimizer-sorting,
.woocommerce-shop .mobile-filter,
.tax-product_cat .mobile-filter,
.tax-product_tag .mobile-filter {
    display: none !important;
}

.woocommerce-products-header {
    margin: 24px 0 30px;
}

.woocommerce-products-header__title.page-title {
    margin: 0;
    color: var(--wampol-ink);
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Główne kategorie oferty. */
.wampol-offer-intro {
    margin: 0 0 52px;
}

.wampol-offer-intro__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--wampol-blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.wampol-offer-intro h2 {
    max-width: 820px;
    margin: 0;
    color: var(--wampol-ink);
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.wampol-offer-intro__lead {
    max-width: 820px;
    margin: 14px 0 28px;
    color: var(--wampol-muted);
    font-size: 16px;
    line-height: 1.65;
}

.wampol-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--wampol-line);
    background: var(--wampol-line);
}

/* Zdjęcie w dwóch wolnych polach ostatniego rzędu oferty. */
.wampol-category-grid::after {
    content: "";
    display: block;
    grid-column: 3 / 5;
    grid-row: 4;
    min-height: 172px;
    background: url("/wp-content/uploads/2026/09/battery_2.jpg") center center / cover no-repeat;
}

@media (max-width: 1050px) {
    .wampol-category-grid::after {
        display: none;
    }
}

.wampol-category-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    min-height: 172px;
    padding: 22px;
    color: var(--wampol-ink) !important;
    background: #fff;
    text-decoration: none !important;
    transition: background-color 160ms ease, transform 160ms ease;
}

.wampol-category-card:hover,
.wampol-category-card:focus-visible {
    z-index: 2;
    background: var(--wampol-surface);
}

.wampol-category-card__index {
    color: var(--wampol-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.wampol-category-card__body {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.wampol-category-card__body strong {
    font-size: 15px;
    line-height: 1.3;
}

.wampol-category-card__body > span {
    display: -webkit-box;
    overflow: hidden;
    color: var(--wampol-muted);
    font-size: 13px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.wampol-category-card__arrow {
    align-self: end;
    color: var(--wampol-ink);
    font-size: 21px;
    transition: transform 160ms ease;
}

.wampol-category-card:hover .wampol-category-card__arrow,
.wampol-category-card:focus-visible .wampol-category-card__arrow {
    transform: translateX(4px);
}

.wampol-products-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 44px 0 24px;
    color: var(--wampol-ink);
    font-size: 22px;
    font-weight: 700;
}

.wampol-products-heading::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--wampol-line);
}

.wampol-products-heading span::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-top: 8px;
    background: var(--wampol-yellow);
}

/* Równa, czytelna siatka produktów. */
.woocommerce-shop ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px 24px;
    margin: 0 !important;
}

.woocommerce-shop ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

.woocommerce-shop ul.products li.product .woocommerce-image__wrapper,
.tax-product_cat ul.products li.product .woocommerce-image__wrapper,
.tax-product_tag ul.products li.product .woocommerce-image__wrapper {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 0;
    background: #fff;
}

.woocommerce-shop ul.products li.product .woocommerce-image__wrapper > a,
.tax-product_cat ul.products li.product .woocommerce-image__wrapper > a,
.tax-product_tag ul.products li.product .woocommerce-image__wrapper > a,
.woocommerce-shop ul.products li.product .shoptimizer-plp-carousel-container,
.tax-product_cat ul.products li.product .shoptimizer-plp-carousel-container,
.tax-product_tag ul.products li.product .shoptimizer-plp-carousel-container,
.woocommerce-shop ul.products li.product .shoptimizer-plp-image-wrapper,
.tax-product_cat ul.products li.product .shoptimizer-plp-image-wrapper,
.tax-product_tag ul.products li.product .shoptimizer-plp-image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: transparent !important;
}

.woocommerce-shop ul.products li.product .woocommerce-image__wrapper img,
.tax-product_cat ul.products li.product .woocommerce-image__wrapper img,
.tax-product_tag ul.products li.product .woocommerce-image__wrapper img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none;
    padding: 0;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: transparent !important;
}

.woocommerce-shop .woocommerce-loop-product__title,
.tax-product_cat .woocommerce-loop-product__title,
.tax-product_tag .woocommerce-loop-product__title {
    margin-top: 4px;
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.woocommerce-shop .product__categories,
.tax-product_cat .product__categories,
.tax-product_tag .product__categories {
    margin-bottom: 7px !important;
    color: var(--wampol-muted);
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wampol-inquiry-button {
    border: 1px solid var(--wampol-ink) !important;
    border-radius: 5px !important;
    color: var(--wampol-ink) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.wampol-inquiry-button:hover,
.wampol-inquiry-button:focus-visible {
    color: #fff !important;
    border-color: var(--wampol-ink) !important;
    background: var(--wampol-ink) !important;
}

/* Czytelne wyszukiwanie produktów. */
.woocommerce-product-search .search-field {
    border-color: #e1e6e9 !important;
}

.woocommerce-product-search .search-field::placeholder {
    color: #7b858d;
}

/* Typografia WAMPOL: stabilny sans-serif zamiast serifowego fallbacku Shoptimizera. */
body,
button,
input,
select,
textarea,
.site-header,
.site-footer,
.woocommerce,
.wampol-offer-intro,
.wampol-category-card,
.wampol-inquiry-button {
    font-family: Inter, "Segoe UI", sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.woocommerce-products-header__title,
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a,
.wampol-category-card__body strong,
.wampol-products-heading span,
.below-content .widget-title,
.below-content .gamma,
.site-footer .widget-title,
.site-footer .gamma {
    font-family: Inter, "Segoe UI", sans-serif !important;
}

/* Spójna typografia w głównym menu i elementach tekstowych Elementora na stronie głównej. */
.main-navigation,
.main-navigation a,
.main-navigation span,
.elementor-7105 .elementor-heading-title,
.elementor-7105 .elementor-widget-text-editor,
.elementor-7105 .elementor-widget-text-editor p,
.elementor-7105 .elementor-button,
.elementor-7105 .elementor-button-text,
.elementor-7105 .image-feature .wp-caption-text,
.elementor-7105 .image-feature .wp-caption-text strong,
.elementor-7105 .image-feature .wp-caption-text em,
.elementor-7105 .image-feature .wp-caption-text span {
    font-family: Inter, "Segoe UI", sans-serif !important;
}

/* Strona główna: usunięcie jednoznacznych sekcji demonstracyjnych Shoptimizera. */
.home .elementor-element-e0ee2b2,
.home .elementor-element-63412b4,
.home .elementor-element-141eed01,
.home .elementor-element-6d1398fb,
.home .elementor-element-3945546a,
.home .elementor-element-196a5a08,
.home .elementor-element-56fe7973,
.home .elementor-element-13626177,
.home .elementor-element-dc4a89b {
    display: none !important;
}

/* Nowy hero WAMPOL przed treścią Elementora. */
.wampol-home-hero {
    min-height: 560px;
    box-sizing: border-box;
    padding: 34px 24px 48px;
    background-color: #f5f7f8;
    background-image:
        linear-gradient(90deg, rgba(8, 22, 32, 0.78) 0%, rgba(8, 22, 32, 0.62) 48%, rgba(8, 22, 32, 0.38) 100%),
        url("/wp-content/uploads/2026/09/naglowek_wampol_nowa.jpg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 1px solid var(--wampol-line);
}

.wampol-home-hero__inner {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.wampol-home-hero__eyebrow {
    margin-bottom: 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wampol-home-hero h1 {
    max-width: 900px;
    margin: 0 0 22px;
    color: #fff;
    font-family: Inter, "Segoe UI", sans-serif !important;
    font-size: clamp(38px, 5vw, 66px);
    font-weight: 750;
    line-height: 1.04;
    letter-spacing: -0.035em;
}

.wampol-home-hero p {
    max-width: 820px;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 18px;
    line-height: 1.65;
}

.wampol-home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.wampol-home-hero__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    font-family: Inter, "Segoe UI", sans-serif !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.wampol-home-hero__primary {
    color: #fff !important;
    background: var(--wampol-blue);
}

.wampol-home-hero__primary:hover {
    color: #fff !important;
    background: #168bc3;
}

.wampol-home-hero__secondary {
    color: #fff !important;
    background: rgba(8, 22, 32, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.78);
}

.wampol-home-hero__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 38px;
    padding: 0;
    border: 0;
}

.wampol-home-hero__facts span {
    color: #fff;
    font-size: 13px;
    font-weight: 650;
}

/* Zachowujemy rząd realnych produktów, ale nadajemy mu właściwy nagłówek. */
.home .elementor-element-54823e33 .elementor-heading-title {
    font-size: 0 !important;
}

.home .elementor-element-54823e33 .elementor-heading-title::after {
    content: "Wybrane produkty WAMPOL";
    display: block;
    font-family: Inter, "Segoe UI", sans-serif !important;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
}

@media (max-width: 1050px) {
    .wampol-category-grid,
    .woocommerce-shop ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wampol-home-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .wampol-category-grid,
    .woocommerce-shop ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products {
        grid-template-columns: 1fr;
    }

    .wampol-category-card {
        min-height: 0;
        padding: 18px;
    }

    .wampol-offer-intro {
        margin-bottom: 36px;
    }
}

/* Jednolita typografia treści i wszystkich stron Elementora. */
body,
.site-content,
.site-content p,
.site-content li,
.site-content input,
.site-content button,
.elementor,
.elementor .elementor-widget-container,
.elementor .elementor-heading-title,
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-text-editor li,
.elementor .elementor-button,
.elementor .elementor-button-text,
.wampol-home-hero,
.wampol-home-hero p,
.wampol-home-hero__lead,
.wampol-home-hero__facts,
.wampol-home-hero__facts span,
.term-description,
.term-description p,
.woocommerce-products-header__description,
.woocommerce-products-header__description p,
.wampol-category-card__body,
.wampol-category-card__body span {
    font-family: "Segoe UI", Tahoma, sans-serif !important;
}

/* Karty katalogowe: spokojny układ i dyskretny odnośnik do zapytania. */
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column;
    border: 1px solid #e6eaed;
    background: #fff;
    box-shadow: none !important;
}

.woocommerce ul.products li.product .woocommerce-image__wrapper {
    border: 0 !important;
    border-bottom: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-card__header {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 16px 16px 18px;
}

.woocommerce ul.products li.product .wampol-inquiry-button {
    align-self: flex-start;
    width: auto !important;
    min-height: 0;
    margin-top: auto !important;
    padding: 10px 0 2px !important;
    border: 0 !important;
    border-bottom: 2px solid var(--wampol-blue) !important;
    border-radius: 0 !important;
    color: #166f9d !important;
    background: transparent !important;
    line-height: 1.25 !important;
}

.woocommerce ul.products li.product .wampol-inquiry-button:hover,
.woocommerce ul.products li.product .wampol-inquiry-button:focus-visible {
    color: var(--wampol-ink) !important;
    border-bottom-color: var(--wampol-yellow) !important;
    background: transparent !important;
}

.single-product .wampol-catalog-inquiry .wampol-inquiry-button {
    padding: 12px 20px !important;
    border: 1px solid var(--wampol-ink) !important;
    border-radius: 4px !important;
    color: #fff !important;
    background: var(--wampol-ink) !important;
}

/* Twarda korekta siatki: Shoptimizer nie może ściskać kart do pionowych pasków. */
body ul.products,
body .columns-4 ul.products,
body .elementor-widget-woocommerce-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    columns: auto !important;
    column-count: auto !important;
    gap: 32px 24px !important;
    width: 100% !important;
}

/* Motyw ustawia .columns-4 jako CSS columns także na kontenerze WooCommerce. */
body .columns-4 {
    columns: auto !important;
    column-count: auto !important;
}

body ul.products::before,
body ul.products::after {
    display: none !important;
    content: none !important;
}

body ul.products li.product,
body ul.products.columns-4 li.product,
body .columns-4 ul.products li.product {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
}

@media (max-width: 900px) {
    body ul.products,
    body .columns-4 ul.products,
    body .elementor-widget-woocommerce-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body ul.products,
    body .columns-4 ul.products,
    body .elementor-widget-woocommerce-products ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Boczne dane firmy zamiast domyślnego panelu Meta. */
.wampol-company-sidebar__widget {
    margin: 0;
    padding: 0;
}

.wampol-company-sidebar .widget-title {
    margin: 0 0 20px;
    color: var(--wampol-ink);
    font-family: "Segoe UI", Tahoma, sans-serif !important;
    font-size: 20px;
    line-height: 1.25;
}

.wampol-company-sidebar__content {
    color: var(--wampol-muted);
    font-family: "Segoe UI", Tahoma, sans-serif !important;
    font-size: 14px;
    line-height: 1.55;
}

.wampol-company-sidebar__content p {
    margin: 0 0 18px;
}

.wampol-company-sidebar__content strong {
    color: var(--wampol-ink);
    font-weight: 700;
}

.wampol-company-sidebar__content a {
    color: var(--wampol-blue);
    text-decoration: none;
}

.wampol-company-sidebar__content a:hover {
    text-decoration: underline;
}

/* Strona O firmie: pozostawiamy treść bez dodatkowych etykiet nagłówkowych. */
body.page-id-7271 .entry-header {
    display: none;
}

.wampol-company-sidebar__widget .widget-title {
    display: none !important;
}

/* Domyślne logo pozostaje w oryginalnym kwadratowym rozmiarze. */
.woocommerce-product-gallery img[src*="wampol_logo_sqr.jpg"] {
    width: 430px !important;
    height: 430px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Przycisk prowadzący do pełnej listy produktów. */
.wampol-products-cta {
    display: flex;
    justify-content: center;
    margin: 38px 0 12px;
    text-align: center;
}

.wampol-products-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 4px;
    color: #fff !important;
    background: var(--wampol-blue);
    font-family: "Segoe UI", Tahoma, sans-serif !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background-color 160ms ease;
}

.wampol-products-cta a:hover,
.wampol-products-cta a:focus-visible {
    color: #fff !important;
    background: #168bc3;
}