/* =========================================================
   SINGLE PRODUCT — GŁÓWNY UKŁAD
   ========================================================= */

   .eb-product-page {
    background: #faf8f5;
    color: #302c29;
}

.eb-product-breadcrumb {
    border-bottom: 1px solid #ebe6e1;
    background: #faf8f5;
}

.eb-product-breadcrumb .container {
    padding-top: 14px;
    padding-bottom: 14px;
}

.eb-product-breadcrumb .woocommerce-breadcrumb {
    margin: 0;
    color: #817b76;
    font-size: 12px;
    line-height: 1.5;
}

.eb-product-breadcrumb .woocommerce-breadcrumb a {
    color: #817b76;
    text-decoration: none;
}

.eb-product-breadcrumb .woocommerce-breadcrumb a:hover {
    color: #ed8555;
}

.eb-breadcrumb-separator {
    display: inline-block;
    margin: 0 8px;
    color: #b5afa9;
}

.eb-product-main {
    padding-top: 64px;
}

.eb-product-page div.product {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(380px, 0.95fr);
    column-gap: clamp(36px, 6vw, 86px);
    row-gap: 0;
    margin: 0;
}

/* Usunięcie standardowych floatów WooCommerce. */
.eb-product-page div.product
.woocommerce-product-gallery {
    float: none;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    margin: 0;
}

.eb-product-page div.product
.summary {
    float: none;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    margin: 0;
}

.eb-product-page div.product
.woocommerce-tabs,
.eb-product-page div.product
.related,
.eb-product-page div.product
.up-sells {
    clear: both;
    grid-column: 1 / -1;
    width: 100%;
}


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

.eb-product-page
.woocommerce-product-gallery {
    position: relative;
    min-width: 0;
}

.eb-product-page
.woocommerce-product-gallery__wrapper {
    margin: 0;
}

.eb-product-page
.woocommerce-product-gallery__image {
    overflow: hidden;
    border-radius: 18px;
    background: #f1ede8;
}

.eb-product-page
.woocommerce-product-gallery__image a {
    display: block;
}

.eb-product-page
.woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.eb-product-page
.woocommerce-product-gallery
.flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 0;
    margin: 14px 0 0;
    list-style: none;
}

.eb-product-page
.woocommerce-product-gallery
.flex-control-thumbs li {
    float: none;
    width: auto;
}

.eb-product-page
.woocommerce-product-gallery
.flex-control-thumbs img {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1;
    border: 2px solid transparent;
    border-radius: 10px;
    object-fit: cover;
    opacity: 0.72;
    cursor: pointer;
}

.eb-product-page
.woocommerce-product-gallery
.flex-control-thumbs img.flex-active {
    border-color: #ed8555;
    opacity: 1;
}

.eb-product-page
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger {
    top: 16px;
    right: 16px;
    z-index: 10;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
}


/* =========================================================
   PLAKIETKI NA ZDJĘCIU
   ========================================================= */

.eb-product-media-badges {
    z-index: 5;
    display: flex;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    justify-content: space-between;
    margin: 16px;
    pointer-events: none;
}

.eb-product-badge {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

.eb-product-badge--primary {
    background: #ed8555;
    color: #fff;
}

.eb-product-badge--sale {
    background: #e94f55;
    color: #fff;
}


/* =========================================================
   PRAWA KOLUMNA
   ========================================================= */

.eb-product-page .summary {
    padding-top: 2px;
}

.eb-product-summary-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.eb-product-summary-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    background: #fff0e8;
    color: #e78051;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
}

.eb-product-page
.summary
.product_title {
    max-width: 680px;
    margin: 0;
    color: #302c29;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -0.035em;
}

.eb-product-subtitle {
    margin: 14px 0 0;
    color: #766f69;
    font-size: 15px;
    line-height: 1.5;
}


/* =========================================================
   OCENY
   ========================================================= */

.eb-product-page
.woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0 0;
}

.eb-product-page
.woocommerce-product-rating
.star-rating {
    margin: 0;
    color: #ed8555;
}

.eb-product-page
.woocommerce-review-link {
    color: #817a75;
    font-size: 13px;
    text-decoration: none;
}

.eb-product-page
.woocommerce-review-link:hover {
    color: #ed8555;
}


/* =========================================================
   KRÓTKI OPIS
   ========================================================= */

.eb-product-page
.woocommerce-product-details__short-description {
    max-width: 650px;
    margin-top: 26px;
    color: #706a65;
    font-size: 15px;
    line-height: 1.7;
}

.eb-product-page
.woocommerce-product-details__short-description
p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   ATRYBUTY/KAPSUŁKI
   ========================================================= */

.eb-product-attributes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.eb-product-attribute {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 10px;
    background: #eee9e3;
    color: #5e5853;
    font-size: 11px;
    line-height: 1.2;
}

.eb-product-attribute-label {
    color: #8a837d;
}

.eb-product-attribute strong {
    color: #4a4541;
    font-weight: 600;
}


/* =========================================================
   PANEL ZAKUPU
   ========================================================= */

.eb-product-purchase-box {
    margin-top: 28px;
    padding: 24px;
    border: 1px solid #e9e4df;
    border-radius: 18px;
    background: #fff;
}

.eb-product-price-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.eb-product-price .price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0;
    color: #302c29;
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
}

.eb-product-price .price ins {
    order: -1;
    color: #302c29;
    text-decoration: none;
}

.eb-product-price .price del {
    color: #9a938d;
    font-size: 15px;
    font-weight: 400;
    opacity: 1;
}

.eb-product-savings {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #fff0f0;
    color: #e96868;
    font-size: 10px;
    font-weight: 600;
    max-width: max-content;
}


/* =========================================================
   KOSZYK I ILOŚĆ
   ========================================================= */

.eb-product-cart form.cart {
    margin: 0;
}

.eb-product-cart form.cart:not(.variations_form) {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.eb-product-page
.quantity {
    display: grid !important;
    grid-template-columns: 34px minmax(30px, 1fr) 34px;
    width: 110px;
    min-height: 48px;
    overflow: hidden;
    border: 1px solid #e6e1dc;
    border-radius: 13px;
    background: #fff;
}

.eb-product-page
.quantity
.qty {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #403b37;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    appearance: textfield;
    box-shadow: none;
}

.eb-product-page
.quantity
.qty::-webkit-inner-spin-button,
.eb-product-page
.quantity
.qty::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

.eb-quantity-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #544e49;
    font-size: 18px;
    cursor: pointer;
}

.eb-quantity-button:hover {
    background: #f7f4f1;
    color: #ed8555;
}

.eb-product-page
.single_add_to_cart_button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 24px;
    border: 0;
    border-radius: 13px;
    background: #ed8353;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

.eb-product-page
.single_add_to_cart_button:hover {
    background: #ed8353;
    color: #fff;
    opacity: 0.9;
    transform: translateY(-1px);
}

.eb-product-page
.single_add_to_cart_button.disabled,
.eb-product-page
.single_add_to_cart_button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
    transform: none;
}


/* =========================================================
   PRODUKT WARIANTOWY
   ========================================================= */

.eb-product-page
.variations_form.cart {
    display: block;
}

.eb-product-page
.variations {
    width: 100%;
    margin: 0 0 16px;
}

.eb-product-page
.variations tr {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 12px;
    align-items: center;
    margin-bottom: 12px;
}

.eb-product-page
.variations th,
.eb-product-page
.variations td {
    display: block;
    padding: 0;
}

.eb-product-page
.variations label {
    color: #4d4844;
    font-size: 13px;
    font-weight: 600;
}

.eb-product-page
.variations select {
    width: 100%;
    min-height: 46px;
    padding: 10px 38px 10px 14px;
    border: 1px solid #e1dcd7;
    border-radius: 11px;
    background-color: #fff;
}

.eb-product-page
.reset_variations {
    display: inline-block;
    margin-top: 8px;
    color: #ed8353;
    font-size: 12px;
}

.eb-product-page
.single_variation_wrap {
    margin-top: 16px;
}

.eb-product-page
.woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
}


/* =========================================================
   WISHLIST I NAJNIŻSZA CENA
   ========================================================= */

.eb-product-wishlist {
    margin-top: 14px;
}

.eb-product-wishlist a,
.eb-product-wishlist button {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid #e5e0dc;
    border-radius: 12px;
    background: #fff;
    color: #625c57;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.eb-product-wishlist a:hover,
.eb-product-wishlist button:hover {
    border-color: #ed8353;
    color: #ed8353;
}

.eb-product-lowest-price {
    margin: 18px 0 0;
    color: #99918a;
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
}

.eb-product-lowest-price strong {
    color: inherit;
    font-weight: 500;
}


/* =========================================================
   ZAKŁADKI
   ========================================================= */

.eb-product-page
.woocommerce-tabs {
    margin-top: 64px;
    padding-top: 0;
    border-top: 1px solid #e9e4df;
}

.eb-product-page
.woocommerce-tabs
ul.tabs {
    display: flex;
    gap: clamp(24px, 4vw, 52px);
    overflow-x: auto;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #e8e3de;
    list-style: none;
}

.eb-product-page
.woocommerce-tabs
ul.tabs::before,
.eb-product-page
.woocommerce-tabs
ul.tabs::after {
    display: none;
}

.eb-product-page
.woocommerce-tabs
ul.tabs
li {
    position: relative;
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.eb-product-page
.woocommerce-tabs
ul.tabs
li::before,
.eb-product-page
.woocommerce-tabs
ul.tabs
li::after {
    display: none;
}

.eb-product-page
.woocommerce-tabs
ul.tabs
li a {
    display: block;
    padding: 20px 0 16px;
    color: #746e69;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.eb-product-page
.woocommerce-tabs
ul.tabs
li.active a {
    color: #ed8353;
}

.eb-product-page
.woocommerce-tabs
ul.tabs
li.active::after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    border: 0;
    background: #ed8353;
    content: "";
}

.eb-product-page
.woocommerce-Tabs-panel {
    max-width: 100%;
    margin: 0;
    color: #706a65;
    font-size: 15px;
    line-height: 1.75;
}

.eb-product-page
.woocommerce-Tabs-panel > h2:first-child {
    display: none;
}

.eb-product-page
.woocommerce-Tabs-panel h2 {
    margin: 0 0 20px;
    color: #302c29;
    font-size: 26px;
    font-weight: 500;
}

.eb-product-page
.woocommerce-Tabs-panel h3 {
    margin: 34px 0 18px;
    color: #302c29;
    font-size: 18px;
    font-weight: 600;
}

.eb-product-page
.woocommerce-Tabs-panel ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 36px;
    padding: 0;
    margin: 24px 0;
    list-style: none;
}

.eb-product-page
.woocommerce-Tabs-panel li {
    position: relative;
    padding-left: 26px;
}

.eb-product-page
.woocommerce-Tabs-panel li::before {
    position: absolute;
    top: 4px;
    left: 0;
    display: flex;
    width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
    border: 1px solid #91bd92;
    border-radius: 50%;
    color: #79a97b;
    content: "✓";
    font-size: 10px;
    font-weight: 700;
}


/* =========================================================
   PRODUKTY POWIĄZANE
   ========================================================= */

.eb-product-page
.related.products,
.eb-product-page
.up-sells.products {
    position: relative;
    z-index: 1;
    padding: 64px 0 80px;
    margin: 0;
}

.eb-product-page
.related.products::before,
.eb-product-page
.up-sells.products::before {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #fff;
    content: "";
}

.eb-product-page
.related.products > h2,
.eb-product-page
.up-sells.products > h2 {
    margin: 0 0 30px;
    color: #302c29;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 500;
    letter-spacing: -0.025em;
}

.eb-product-page
.related.products
ul.products,
.eb-product-page
.up-sells.products
ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
}

.eb-product-page
.related.products
ul.products::before,
.eb-product-page
.related.products
ul.products::after,
.eb-product-page
.up-sells.products
ul.products::before,
.eb-product-page
.up-sells.products
ul.products::after {
    display: none;
}

.eb-product-page
.related.products
ul.products
li.product,
.eb-product-page
.up-sells.products
ul.products
li.product {
    float: none;
    width: auto;
    margin: 0;
}


/* =========================================================
   KOMUNIKATY
   ========================================================= */

.eb-product-page
.woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}

.eb-product-page
.woocommerce-message,
.eb-product-page
.woocommerce-error,
.eb-product-page
.woocommerce-info {
    margin: 0 0 28px;
    border-radius: 12px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1023px) {
    .eb-product-main {
        padding-top: 40px;
    }

    .eb-product-page div.product {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 0.9fr);
        column-gap: 34px;
    }

    .eb-product-page
    .summary
    .product_title {
        font-size: 36px;
    }

    .eb-product-purchase-box {
        padding: 20px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
    .eb-product-main {
        padding-top: 24px;
    }

    .eb-product-page div.product {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        column-gap: 0;
    }

    .eb-product-page div.product
    .woocommerce-product-gallery {
        grid-column: 1;
        grid-row: 1;
    }

    .eb-product-media-badges {
        grid-column: 1;
        grid-row: 1;
        margin: 12px;
    }

    .eb-product-page div.product
    .summary {
        grid-column: 1;
        grid-row: 2;
        padding-top: 28px;
    }

    .eb-product-page
    .summary
    .product_title {
        font-size: 34px;
    }

    .eb-product-page
    .woocommerce-product-details__short-description {
        font-size: 14px;
    }

    .eb-product-purchase-box {
        margin-top: 24px;
        padding: 18px;
    }

    .eb-product-price .price {
        font-size: 32px;
    }

    .eb-product-page
    .woocommerce-tabs {
        margin-top: 44px;
    }

    .eb-product-page
    .woocommerce-tabs
    ul.tabs {
        gap: 26px;
    }

    .eb-product-page
    .woocommerce-Tabs-panel {
        padding: 34px 0 48px;
    }

    .eb-product-page
    .woocommerce-Tabs-panel ul {
        grid-template-columns: 1fr;
    }

    .eb-product-page
    .related.products
    ul.products,
    .eb-product-page
    .up-sells.products
    ul.products {
        grid-template-columns: 1fr;
    }

    .eb-product-page
    .related.products,
    .eb-product-page
    .up-sells.products {
        padding: 48px 0 60px;
    }
}


/* =========================================================
   BARDZO MAŁE EKRANY
   ========================================================= */

@media (max-width: 480px) {
    .eb-product-cart
    form.cart:not(.variations_form),
    .eb-product-page
    .woocommerce-variation-add-to-cart {
        grid-template-columns: 1fr;
    }

    .eb-product-page
    .quantity {
        width: 100%;
    }

    .eb-product-attributes {
        align-items: flex-start;
    }

    .eb-product-attribute {
        max-width: 100%;
    }
}



/* =========================================================
   SINGLE PRODUCT — POPRAWKI KOŃCOWE
   Umieść na końcu pliku CSS.
   ========================================================= */

   body.single-product .eb-product-main > .container,
   body.single-product .eb-product-breadcrumb > .container {
       width: min(calc(100% - 48px), 1240px);
       max-width: none;
       margin-right: auto;
       margin-left: auto;
   }
   
   /* Główna siatka. */
   body.single-product .eb-product-page div.product {
       display: grid;
       grid-template-columns:
           minmax(0, 1.08fr)
           minmax(420px, 0.92fr) ;
       gap: 32px ;
       align-items: start;
       width: 100% ;
       max-width: none ;
   }
   
   /* Nadpisanie standardowych szerokości WooCommerce. */
   body.single-product .eb-product-page div.product div.images,
   body.single-product .eb-product-page div.product
   .woocommerce-product-gallery {
       float: none !important;
       grid-column: 1;
       grid-row: 1;
       width: 100% !important;
       max-width: none !important;
       margin: 0 !important;
   }
   
   body.single-product .eb-product-page div.product div.summary,
   body.single-product .eb-product-page div.product
   .summary.entry-summary {
       float: none !important;
       grid-column: 2;
       grid-row: 1;
       width: 100% !important;
       max-width: none !important;
       margin: 0 !important;
       padding: 0 !important;
   }

   @media (max-width:800px) {
    body.single-product .eb-product-page div.product {
        gap: 0;
        display: flex;
        flex-direction: column;
    }

    body.single-product .eb-product-page div.product div.summary, body.single-product .eb-product-page div.product .summary.entry-summary {
        margin-top: 16px !important;
    }
   }
   
   /* =========================================================
      GALERIA
      ========================================================= */
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery {
       position: relative;
       overflow: visible;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery .flex-viewport {
       height: auto !important;
       overflow: hidden !important;
       border-radius: 18px;
       background: #eee9e4;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery__image {
       overflow: hidden;
       border-radius: 18px;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery__image a {
       display: block;
       width: 100%;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery__image img:not(.zoomImg) {
       display: block;
       width: 100% !important;
       height: clamp(380px, 37vw, 520px) !important;
       max-height: none !important;
       object-fit: cover;
       object-position: center;
   }
   
   /* Miniatury. */
   body.single-product .eb-product-page
   .woocommerce-product-gallery ol.flex-control-thumbs {
       display: flex !important;
       gap: 12px;
       align-items: center;
       padding: 0 !important;
       margin: 12px 0 0 !important;
       list-style: none;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery
   .flex-control-thumbs li {
       float: none !important;
       flex: 0 0 64px;
       width: 64px !important;
       margin: 0 !important;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery
   .flex-control-thumbs img {
       display: block;
       width: 64px !important;
       height: 64px !important;
       border: 2px solid transparent;
       border-radius: 9px;
       object-fit: cover;
       opacity: 0.7;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-gallery
   .flex-control-thumbs img.flex-active {
       border-color: #e88b5f;
       opacity: 1;
   }
   
   /* Zoom. */
   body.single-product .eb-product-page
   .woocommerce-product-gallery__trigger {
       top: 16px !important;
       right: 16px !important;
       z-index: 30;
   }
   
   /* Plakietki na galerii. */
   body.single-product .eb-product-page
   .eb-product-media-badges {
       z-index: 20;
       gap: 10px;
       display: flex;
       align-self: start;
       justify-content: space-between;
       margin: 16px 72px 16px 16px;
       pointer-events: none;
   }
   
   /* =========================================================
      PRAWA KOLUMNA
      ========================================================= */
   
   body.single-product .eb-product-page
   .summary .product_title {
       display: block !important;
       max-width: 720px;
       margin: 10px 0 0 !important;
       color: #302c29;
       font-size: clamp(38px, 3.6vw, 56px) !important;
       font-weight: 500 !important;
       line-height: 1.04 !important;
       letter-spacing: -0.035em;
       text-transform: none;
   }
   
   body.single-product .eb-product-page
   .eb-product-summary-badges {
       margin-bottom: 14px;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-details__short-description {
       max-width: 620px;
       margin: 20px 0 0 !important;
       color: #706a65;
       font-size: 15px;
       line-height: 1.7;
   }
   
   body.single-product .eb-product-page
   .woocommerce-product-details__short-description p {
       margin: 0;
   }
   
   body.single-product .eb-product-page
   .eb-product-attributes {
       margin-top: 22px;
   }
   
   /* =========================================================
      PANEL CENY
      ========================================================= */
   
   body.single-product .eb-product-page
   .eb-product-purchase-box {
       width: 100%;
       max-width: none;
       margin-top: 28px;
       padding: 26px;
       border: 1px solid #e9e4df;
       border-radius: 18px;
       background: #fff;
       box-sizing: border-box;
   }
   
   body.single-product .eb-product-page
   .eb-product-price-row {
       display: flex;
       flex-direction: column;
       gap: 10px 12px;
       margin-bottom: 20px;
   }
   
   /*
    * Wtyczka Omnibus umieszcza komunikat wewnątrz
    * .eb-product-price. display: contents pozwala ustawić
    * cenę, rabat i komunikat w osobnych wierszach siatki.
    */
   body.single-product .eb-product-page
   .eb-product-price {
       display: contents;
   }
   
   body.single-product .eb-product-page
   .eb-product-price .price {
       grid-column: 1;
       grid-row: 1;
       margin: 0 !important;
       color: #302c29;
       font-size: 36px !important;
       font-weight: 600;
       line-height: 1;
   }
   
   body.single-product .eb-product-page
   .eb-product-savings {
       gap: 4px;
   }
   
   body.single-product .eb-product-page
   .eb-product-price .iworks-omnibus {
       grid-column: 1 / -1;
       grid-row: 2;
       max-width: 100%;
       margin: 0 !important;
       color: #88817b;
       font-size: 11px;
       line-height: 1.5;
   }
   
   body.single-product .eb-product-page
   .eb-product-price > p:empty {
       display: none;
   }
   
   /* =========================================================
      FORMULARZ KOSZYKA
      ========================================================= */
   
   body.single-product .eb-product-page
   .eb-product-cart form.cart {
       width: 100%;
       margin: 0 !important;
   }
   
   /* Produkt sprzedawany pojedynczo. */
   body.single-product .eb-product-page
   .product.sold-individually .quantity {
       display: none !important;
   }
   
   body.single-product .eb-product-page
   .product.sold-individually
   .eb-product-cart form.cart {
       grid-template-columns: 1fr !important;
   }
   
   body.single-product .eb-product-page
   .single_add_to_cart_button {
        width: max-content;
        margin: 0 !important;
        border-radius: 30px;
        background: #e98a5e !important;
        font-size: 14px !important;
        display: inline-flex;
   }
   
   /* =========================================================
      ZAKŁADKI
      ========================================================= */
   
   body.single-product .eb-product-page
   .woocommerce-tabs {
       grid-column: 1 / -1;
       width: 100% !important;
       margin-top: 22px !important;
       border: 0;
   }
   
   body.single-product .eb-product-page
   .woocommerce-tabs ul.tabs {
       display: flex !important;
       gap: 46px;
       width: 100% !important;
       padding: 0 !important;
       margin: 0 !important;
       border-bottom: 1px solid #e6e1dc;
   }
   
   body.single-product .eb-product-page
   .woocommerce-tabs ul.tabs li {
       padding: 0 !important;
       margin: 0 !important;
       border: 0 !important;
       background: transparent !important;
   }
   
   body.single-product .eb-product-page
   .woocommerce-tabs ul.tabs li a {
       padding: 20px 0 17px !important;
       font-size: 14px;
       font-weight: 500;
   }
   
   body.single-product .eb-product-page
   .woocommerce-tabs
   .woocommerce-Tabs-panel {
       min-height: 170px;
       color: #706a65;
       font-size: 15px;
       line-height: 1.75;
   }
   
   body.single-product .eb-product-page
   .woocommerce-tabs
   .woocommerce-Tabs-panel > h2:first-child {
       display: none !important;
   }
   
   /* Tabela atrybutów w zakładce „Co zawiera”. */
   body.single-product .eb-product-page
   table.woocommerce-product-attributes {
       width: 100%;
       max-width: 680px;
       border: 0;
   }
   
   body.single-product .eb-product-page
   table.woocommerce-product-attributes th,
   body.single-product .eb-product-page
   table.woocommerce-product-attributes td {
       padding: 12px 14px;
       border-bottom: 1px solid #eee9e4;
       background: transparent;
       text-align: left;
   }
   

   /* =========================================================
   PRODUKTY POWIĄZANE — FINALNY WYGLĄD
   ========================================================= */

body.single-product .eb-product-page .related.products {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;

    width: 100%;
    max-width: 1180px;

    padding: 64px 0 80px !important;
    margin: 0 auto !important;
}

body.single-product .eb-product-page .related.products::before {
    position: absolute;
    z-index: -1;

    top: 0;
    bottom: 0;
    left: 50%;

    width: 100vw;

    transform: translateX(-50%);

    background: #fff;

    content: "";
}

/* Nagłówek sekcji. */
body.single-product .eb-product-page
.related.products > h2 {
    margin: 0 0 30px !important;

    color: #302c29;

    font-size: clamp(30px, 2.5vw, 38px) !important;
    font-weight: 500 !important;
    line-height: 1.15;

    letter-spacing: -0.03em;
    text-transform: none !important;
}

/* Grid produktów. */
body.single-product .eb-product-page
.related.products ul.products {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;

    align-items: stretch;

    padding: 0 !important;
    margin: 0 !important;

    list-style: none;
}

body.single-product .eb-product-page
.related.products ul.products::before,
body.single-product .eb-product-page
.related.products ul.products::after {
    display: none !important;
}

/* Karta produktu. */
body.single-product .eb-product-page
.related.products ul.products li.product {
    position: relative;

    float: none !important;

    display: flex;
    flex-direction: column;

    width: auto !important;
    min-width: 0;
    min-height: 365px !important;

    overflow: hidden;

    padding: 0 !important;
    margin: 0 !important;

    border: 1px solid #e8e2dc;
    border-radius: 16px;

    background: #fff;

    box-shadow:
        0 4px 16px rgba(48, 44, 41, 0.035);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

body.single-product .eb-product-page
.related.products ul.products li.product:hover {
    transform: translateY(-4px);

    border-color: #dcd2ca;

    box-shadow:
        0 16px 38px rgba(48, 44, 41, 0.1);
}

/* Cały środek karty. */
body.single-product .eb-product-page
.related.products .woocommerce-LoopProduct-link {
    display: flex !important;
    flex: 1;
    flex-direction: column;

    width: 100%;
    height: 100%;

    color: inherit;
    text-decoration: none !important;
}

/* =========================================================
   ZDJĘCIE
   ========================================================= */

body.single-product .eb-product-page
.related.products li.product img {
    display: block;

    width: 100% !important;
    height: 220px !important;

    padding: 0;
    margin: 0 !important;

    border-radius: 0 !important;

    background: #f5f1ed;

    object-fit: cover;
    object-position: center;

    transition: transform 350ms ease;
}

body.single-product .eb-product-page
.related.products li.product:hover img {
    transform: scale(1.025);
}

/* Placeholder WooCommerce. */
body.single-product .eb-product-page
.related.products li.product img.woocommerce-placeholder {
    height: 220px !important;

    padding: 62px !important;

    background: #f5f1ed;

    object-fit: contain;

    opacity: 0.55;
    filter: grayscale(1);

    box-sizing: border-box;
}

/* =========================================================
   ETYKIETA PROMOCJI
   ========================================================= */

body.single-product .eb-product-page
.related.products li.product .onsale {
    position: absolute !important;
    z-index: 5;

    top: 14px !important;
    right: 14px !important;
    bottom: auto !important;
    left: auto !important;

    display: inline-flex;

    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;

    align-items: center;
    justify-content: center;

    padding: 7px 12px !important;
    margin: 0 !important;

    border: 0;
    border-radius: 999px;

    background: #eb575d !important;
    color: #fff !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

/* =========================================================
   KATEGORIA
   ========================================================= */

body.single-product .eb-product-page
.related.products .eb-related-product-category {
    align-self: flex-start;

    padding: 5px 10px;
    margin: 16px 18px 8px;

    border-radius: 999px;

    background: #f1ece6;
    color: #817a74;

    font-size: 10px;
    font-weight: 500;
    line-height: 1;
}

/* =========================================================
   TYTUŁ
   ========================================================= */

body.single-product .eb-product-page
.related.products .woocommerce-loop-product__title {
    display: flex;
    padding: 0;
    margin: 17px 17px 0;
    color: #302c29;
    letter-spacing: -0.015em;
    text-transform: none !important;
}

body.single-product .eb-product-page
.related.products
.eb-related-product-category
+ .woocommerce-loop-product__title {
    padding-top: 0 !important;
}

body.single-product .eb-product-page
.related.products li.product:hover
.woocommerce-loop-product__title {
    color: #d97549;
}

/* =========================================================
   CENA
   ========================================================= */

body.single-product .eb-product-page
.related.products li.product .price {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;

    gap: 7px;

    padding: 8px 18px 0 !important;
    margin: 0 !important;

    color: #e88152 !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3;

    text-align: left !important;
}

body.single-product .eb-product-page
.related.products li.product .price ins {
    order: -1;

    color: #e88152 !important;

    font-weight: 600;
    text-decoration: none;
}

body.single-product .eb-product-page
.related.products li.product .price del {
    color: #aaa29b !important;

    font-size: 12px;
    font-weight: 400;

    opacity: 1;
}

/* Produkt bez ceny. */
body.single-product .eb-product-page
.related.products .eb-related-no-price {
    display: block;

    padding: 8px 18px 0;

    color: #918983;

    font-size: 12px;
    line-height: 1.4;

    text-align: left;
}

/* =========================================================
   LINK ZOBACZ
   ========================================================= */

body.single-product .eb-product-page
.related.products .woocommerce-LoopProduct-link::after {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 16px 18px 18px;
    margin: 10px 16px;

    color: #fff;

    content: "Zobacz  →";

    font-size: 12px;
    font-weight: 500;
    line-height: 1;

    text-align: left;

    transition:
        color 180ms ease,
        padding-right 180ms ease;
        max-width: max-content;
        border-radius: 30px;
        background: #e88152;
}

body.single-product .eb-product-page
.related.products li.product:hover
.woocommerce-LoopProduct-link::after {
    padding-right: 15px;

    color: #fff;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1023px) {
    body.single-product .eb-product-page
    .related.products {
        max-width: 820px;
    }

    body.single-product .eb-product-page
    .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {
    body.single-product .eb-product-page
    .related.products {
        max-width: none;

        padding: 48px 0 60px !important;
    }

    body.single-product .eb-product-page
    .related.products > h2 {
        margin-bottom: 24px !important;

        font-size: 29px !important;
    }

    body.single-product .eb-product-page
    .related.products ul.products {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    body.single-product .eb-product-page
    .related.products ul.products li.product {
        min-height: 0 !important;
    }

    body.single-product .eb-product-page
    .related.products li.product img,
    body.single-product .eb-product-page
    .related.products li.product img.woocommerce-placeholder {
        height: 230px !important;
    }
}

body.tax-offer_kind
.search-filter-field input[type="checkbox"]:checked + span {
    color: #302c29;
    font-weight: 600;
}