    .product-rating-box .btn.btn-small.btn-primary,
    .product-rating-box .btn.btn-small.btn-primary * {
      color: #fff !important;
      text-decoration: none !important;
    }

    .product-inpost-widget-under-cart {
      display: block;
      width: 100%;
      clear: both;
      margin-top: 12px;
      margin-bottom: 10px;
    }

    .product-inpost-widget-under-cart:empty {
      display: none;
    }

    .product-inpost-widget-under-cart > * {
      max-width: 100%;
    }

    /* ONSHOP v10: social share na karcie produktu zajmuje cenne miejsce,
       szczególnie na mobile. Zostawiamy kod modułu nietknięty, ale ukrywamy
       stary blok Facebook/Twitter/Pinterest. W przyszłości można go zastąpić
       pojedynczym natywnym przyciskiem Udostępnij. */
    #main .social-sharing {
      display: none !important;
    }

    /* ONSHOP v10: produkt niedostępny nie pokazuje pozornego CTA ani ilości,
       ale zachowuje czytelny komunikat „brak na stanie”. Nie ukrywamy całego
       .product-quantity, bo właśnie w nim PrestaShop renderuje #product-availability. */
    #add-to-cart-or-refresh.onshop-out-of-stock-form .product-add-to-cart > .control-label,
    #add-to-cart-or-refresh.onshop-out-of-stock-form .product-add-to-cart .product-quantity .qty,
    #add-to-cart-or-refresh.onshop-out-of-stock-form .product-add-to-cart .product-quantity .add {
      display: none !important;
    }

    #add-to-cart-or-refresh.onshop-out-of-stock-form .product-add-to-cart .product-quantity {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      clear: both !important;
    }

    #add-to-cart-or-refresh.onshop-out-of-stock-form #product-availability {
      display: block !important;
      float: none !important;
      width: 100% !important;
      margin: 2px 0 2px !important;
      padding: 0 !important;
      clear: both !important;
    }

    /* ONSHOP v11: niezależny komunikat o braku stanu.
       Nie opieramy jego widoczności na położeniu #product-availability w starym
       partialu motywu, bo ten element może znajdować się w ukrywanym wrapperze. */
    .onshop-stock-status {
      display: none;
      align-items: center;
      gap: 9px;
      width: 100%;
      max-width: 420px;
      margin: 10px 0 0;
      color: #3f3f3f;
      font-weight: 600;
      line-height: 1.35;
      box-sizing: border-box;
    }

    .onshop-stock-status.is-visible {
      display: flex;
    }

    .onshop-stock-status-icon {
      position: relative;
      flex: 0 0 22px;
      width: 22px;
      height: 22px;
      border: 2px solid #ff9b68;
      border-radius: 50%;
      box-sizing: border-box;
    }

    .onshop-stock-status-icon::after {
      content: "";
      position: absolute;
      left: 2px;
      right: 2px;
      top: 8px;
      height: 2px;
      background: #ff9b68;
      transform: rotate(-45deg);
      transform-origin: center;
    }

    /* ONSHOP v7: powiadomienie o dostępności należy do strefy zakupowej,
       nie do boxu recenzji. JS poniżej przenosi istniejący blok ps_emailalerts
       bez ingerowania w jego AJAX ani logikę modułu. */
    .onshop-mailalert-purchase-slot {
      /* v8: slot zajmuje cały wiersz, żeby kolejne elementy (reassurance)
         nie mogły opływać formularza po jego prawej stronie. */
      display: block;
      width: 100%;
      max-width: none;
      clear: both;
      margin: 14px 0 16px;
      box-sizing: border-box;
    }

    .onshop-mailalert-purchase-slot::after {
      content: "";
      display: block;
      clear: both;
    }

    .onshop-mailalert-purchase-slot:empty {
      display: none;
    }

    .onshop-mailalert-purchase-slot #onshop-product-mailalert {
      display: block !important;
      width: 100% !important;
      max-width: 420px !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 12px 14px !important;
      box-sizing: border-box !important;
      border: 1px solid #e6e6e6 !important;
      border-radius: 3px !important;
      background: #fafafa !important;
      box-shadow: none !important;
    }

    .onshop-mailalert-purchase-slot #onshop-product-mailalert .js-mailalert {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      text-align: left !important;
      box-sizing: border-box !important;
    }

    .onshop-mailalert-purchase-slot #onshop-product-mailalert .form-control {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .onshop-mailalert-purchase-slot #onshop-product-mailalert .js-mailalert-add {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin: 8px 0 0 !important;
      padding-left: 12px !important;
      padding-right: 12px !important;
      box-sizing: border-box !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
      line-height: 1.25 !important;
      text-align: center !important;
    }

    .onshop-mailalert-purchase-slot #onshop-product-mailalert .gdpr_consent_wrapper,
    .onshop-mailalert-purchase-slot #onshop-product-mailalert .js-mailalert-alerts,
    .onshop-mailalert-purchase-slot #onshop-product-mailalert .alert {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }


    /* v8: osobny pełnoszeroki kontener na politykę prywatności / dostawę / zwroty.
       Dzięki temu elementy z displayReassurance zawsze zaczynają się POD
       formularzem powiadomienia, a nie obok niego. */
    .onshop-product-reassurance-after-mailalert {
      display: block;
      width: 100%;
      clear: both;
      box-sizing: border-box;
    }

    .onshop-product-reassurance-after-mailalert::before,
    .onshop-product-reassurance-after-mailalert::after {
      content: "";
      display: table;
      clear: both;
    }

    /* Wyśrodkowanie całej sekcji produktów powiązanych: nagłówka i kart. */
    .product-accessories {
      width: 100% !important;
    }

    /* Nagłówek korzysta dokładnie z klas motywu: .linia_tytul > .tytuly,
       tak samo jak „Inne produkty w tej samej kategorii”. */
    .product-accessories > .linia_tytul {
      width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      margin-bottom: 16px !important;
      text-align: center !important;
    }

    .product-accessories .products {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: stretch !important;
      width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .product-accessories .products > .product-miniature,
    .product-accessories .products > article.product-miniature,
    .product-accessories .products > .js-product-miniature {
      float: none !important;
    }


    /* ONSHOP 2026: pełnoszerokie zakładki produktu - wersja dopracowana wizualnie. */
    .onshop-product-full-tabs {
      display: block;
      width: 100%;
      clear: both;
      margin-top: 34px;
      padding-top: 0;
      position: relative !important;
      z-index: 50 !important;
      pointer-events: auto !important;
    }

    .onshop-product-full-tabs > .tabs {
      width: 100%;
      max-width: none;
      margin: 0;
      background: #fff;
      border: 1px solid #e8e8e8;
      border-radius: 4px;
      box-sizing: border-box;
      overflow: hidden;
      position: relative !important;
      pointer-events: auto !important;
    }

    .onshop-product-full-tabs .nav-tabs {
      display: flex !important;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: 0;
      width: 100%;
      margin: 0 !important;
      padding: 0 18px !important;
      min-height: 58px;
      background: #fafafa;
      border: 0 !important;
      border-bottom: 1px solid #e8e8e8 !important;
      box-sizing: border-box;
      position: relative !important;
      z-index: 51 !important;
      pointer-events: auto !important;
    }

    .onshop-product-full-tabs .nav-tabs .nav-item {
      float: none !important;
      margin: 0 4px !important;
      position: relative !important;
      z-index: 51 !important;
      pointer-events: auto !important;
    }

    .onshop-product-full-tabs .nav-tabs .nav-link {
      display: block !important;
      margin: 0 !important;
      padding: 19px 26px 16px !important;
      color: #606060 !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      font-weight: 600;
      line-height: 1.25;
      text-decoration: none !important;
      cursor: pointer !important;
      position: relative !important;
      z-index: 52 !important;
      pointer-events: auto !important;
      transition: color .18s ease, background-color .18s ease;
    }

    .onshop-product-full-tabs .nav-tabs .nav-link:hover {
      color: #009a93 !important;
      background: rgba(0, 154, 147, .035) !important;
    }

    .onshop-product-full-tabs .nav-tabs .nav-link:after {
      content: "";
      position: absolute;
      left: 24px;
      right: 24px;
      bottom: 0;
      height: 3px;
      background: transparent;
      border-radius: 3px 3px 0 0;
    }

    .onshop-product-full-tabs .nav-tabs .nav-link.active {
      color: #009a93 !important;
      background: #fff !important;
    }

    .onshop-product-full-tabs .nav-tabs .nav-link.active:after {
      background: #009a93;
    }

    .onshop-product-full-tabs .tab-content {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 24px 28px 30px;
      background: #fff;
      box-sizing: border-box;
    }

    .onshop-product-full-tabs .tab-pane {
      width: 100%;
      max-width: none;
      margin: 0;
      box-sizing: border-box;
    }

    /* Długie opisy są łatwiejsze do czytania, gdy tekst nie ciągnie się od krawędzi do krawędzi. */
    .onshop-product-full-tabs #description .product-description {
      max-width: 1240px;
      margin: 0 auto;
      line-height: 1.62;
    }

    .onshop-product-full-tabs #description .product-description p {
      margin-bottom: 10px;
    }

    .onshop-product-full-tabs #description .product-description h2,
    .onshop-product-full-tabs #description .product-description h3,
    .onshop-product-full-tabs #description .product-description h4 {
      margin-top: 16px;
      margin-bottom: 6px;
      color: #009a93 !important;
      line-height: 1.35;
    }

    /* Specyfikacja - ograniczamy szerokość do komfortowego obszaru i centrujemy tabelę. */
    .onshop-product-full-tabs #product-details {
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
    }

    .onshop-product-full-tabs #product-details .product-features {
      margin: 0;
    }

    .onshop-product-full-tabs #product-details .data-sheet {
      margin-bottom: 0;
    }

    .onshop-product-full-tabs #product-details .data-sheet dt,
    .onshop-product-full-tabs #product-details .data-sheet dd {
      padding-top: 9px;
      padding-bottom: 9px;
    }

    /* Opinie na pełną szerokość, ale z czytelną maksymalną długością wiersza. */
    .onshop-product-full-tabs #product_comments_block_tab {
      width: 100%;
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
    }

    /* Nie dopuszczamy, żeby stare style motywu przykrywały zakładki. */
    .onshop-product-full-tabs,
    .onshop-product-full-tabs > .tabs,
    .onshop-product-full-tabs .nav-tabs,
    .onshop-product-full-tabs .nav-item,
    .onshop-product-full-tabs .nav-link {
      pointer-events: auto !important;
    }

    /* Wyraźne oddzielenie sekcji rekomendacji od zamkniętego bloku zakładek. */
    .product-accessories {
      margin-top: 44px;
    }

    @media (max-width: 991px) {
      .onshop-product-full-tabs .nav-tabs .nav-link {
        padding-left: 18px !important;
        padding-right: 18px !important;
      }

      .onshop-product-full-tabs .tab-content {
        padding: 20px 20px 24px;
      }

      .product-accessories {
        margin-top: 38px;
      }
    }

    @media (max-width: 767px) {
      .onshop-mailalert-purchase-slot {
        max-width: 100%;
        margin-top: 12px;
        margin-bottom: 14px;
      }

      .onshop-stock-status {
        max-width: 100%;
        margin-top: 8px;
        font-size: 15px;
      }

      .onshop-mailalert-purchase-slot #onshop-product-mailalert {
        max-width: 100% !important;
        padding: 11px 12px !important;
      }

      .onshop-product-full-tabs {
        margin-top: 20px;
      }

      .onshop-product-full-tabs > .tabs {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
      }

      .onshop-product-full-tabs .nav-tabs {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0 8px !important;
        min-height: 52px;
      }

      .onshop-product-full-tabs .nav-tabs .nav-item {
        flex: 0 0 auto;
        margin: 0 !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-link {
        white-space: nowrap;
        padding: 17px 15px 14px !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-link:after {
        left: 14px;
        right: 14px;
      }

      .onshop-product-full-tabs .tab-content {
        padding: 18px 14px 22px;
      }

      .product-accessories {
        margin-top: 30px;
      }

      .product-accessories > .linia_tytul {
        margin-bottom: 12px !important;
      }

      /* ONSHOP v10: mobilne zakładki w jednym zwartym rzędzie. Motyw ustawia
         miejscami flex-direction:column, dlatego kierunek wymuszamy jawnie. */
      .onshop-product-full-tabs .nav-tabs {
        flex-direction: row !important;
        justify-content: center !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
      }

      .onshop-product-full-tabs .nav-tabs::-webkit-scrollbar {
        display: none;
      }

      .onshop-product-full-tabs .nav-tabs .nav-item {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-link {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 14px 10px 12px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        text-align: center !important;
        white-space: nowrap !important;
        outline: 0 !important;
        box-shadow: none !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-link:focus,
      .onshop-product-full-tabs .nav-tabs .nav-link:active {
        outline: 0 !important;
        box-shadow: none !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-link:after {
        left: 7px;
        right: 7px;
        height: 3px;
      }

      /* ONSHOP v11: fallback odporny na stare reguły motywu.
         Na mobile używamy jednego nierozwijanego wiersza inline-block zamiast
         polegać wyłącznie na flexie, który Electroshop miejscami nadpisuje. */
      .onshop-product-full-tabs .nav-tabs {
        display: block !important;
        width: 100% !important;
        white-space: nowrap !important;
        text-align: center !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 6px !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-item {
        display: inline-block !important;
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        vertical-align: middle !important;
      }

      .onshop-product-full-tabs .nav-tabs .nav-link {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 13px 7px 11px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
      }

      /* Mniejszy nagłówek produktów polecanych na telefonie. */
      .product-accessories > .linia_tytul .tytuly,
      .product-accessories .linia_tytul .tytuly {
        font-size: 18px !important;
        line-height: 1.25 !important;
      }

      /* Zwarty widget ocen obok tytułu produktu. Na telefonie nie potrzebujemy
         drugiego dużego nagłówka „Reviews / Recenzje”. */
      .product-rating-box {
        width: 100% !important;
        max-width: 100% !important;
        margin: 6px 0 16px !important;
      }

      .product-rating-box .total-rating-items-block-footer.card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "rating add" !important;
        align-items: center !important;
        gap: 8px 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 10px 0 12px !important;
        border: 0 !important;
        border-bottom: 1px solid #e8e8e8 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
      }

      .product-rating-box .total-rating-items-block-footer.card > .clearfix.row {
        display: contents !important;
      }

      .product-rating-box .total-rating-items-block-footer.card > .clearfix.row > .col-md-6:first-child {
        display: none !important;
      }

      .product-rating-box .total-rating-items-block-footer.card .addcomment {
        grid-area: add !important;
        float: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
      }

      .product-rating-box .total-rating-items-block-footer.card > div:not(.clearfix) {
        grid-area: rating !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }

      .product-rating-box .ratingStars {
        display: inline-flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 1px !important;
        white-space: nowrap !important;
      }

      .product-rating-box .ratingStars img {
        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;
        object-fit: contain !important;
      }

      .product-rating-box .ratingValue {
        font-size: 14px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
      }

      .product-rating-box .btn.btn-small.btn-primary {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
      }

      /* Opis na telefonie: lżejszy rytm czytania i jeden spójny kolor marki. */
      .onshop-product-full-tabs #description .product-description {
        font-size: 14px !important;
        line-height: 1.55 !important;
      }

      .onshop-product-full-tabs #description .product-description p,
      .onshop-product-full-tabs #description .product-description li {
        font-size: 14px !important;
        line-height: 1.55 !important;
      }

      .onshop-product-full-tabs #description .product-description h2,
      .onshop-product-full-tabs #description .product-description h3,
      .onshop-product-full-tabs #description .product-description h4 {
        margin-top: 14px !important;
        margin-bottom: 5px !important;
        color: #009a93 !important;
        font-size: 17px !important;
        line-height: 1.3 !important;
      }

      /* Część starych opisów ma kolor nagłówków zapisany inline w <span>.
         Nadpisujemy tylko typowe warianty czystego niebieskiego, nie wszystkie
         kolory treści, żeby nie zniszczyć np. czerwonych ostrzeżeń/promocji. */
      .onshop-product-full-tabs #description .product-description [style*="#0000ff"],
      .onshop-product-full-tabs #description .product-description [style*="#0000FF"],
      .onshop-product-full-tabs #description .product-description [style*="rgb(0, 0, 255)"],
      .onshop-product-full-tabs #description .product-description [style*="color: blue"],
      .onshop-product-full-tabs #description .product-description [style*="color:blue"] {
        color: #009a93 !important;
      }
    }

    /* ONSHOP v12 — finalny polish mobile.
       1) Zakładki są bezwzględnie w jednym wierszu (bez zawijania przez stare reguły Electroshop).
       2) Polski przycisk „Dodaj recenzję” nie koliduje już z oceną na 390 px.
       3) Nagłówek produktów polecanych jest bardziej kompaktowy na małych ekranach. */
    @media (max-width: 767px) {
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: max-content !important;
        grid-template-rows: 1fr !important;
        justify-content: center !important;
        align-items: stretch !important;
        flex-direction: initial !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 6px !important;
        gap: 0 !important;
        white-space: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs::-webkit-scrollbar {
        display: none !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:first-child,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:last-child {
        display: block !important;
        grid-row: 1 !important;
        float: none !important;
        flex: none !important;
        flex-basis: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link {
        display: block !important;
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 13px 8px 11px !important;
        font-size: 12.5px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
      }
    }

    @media (max-width: 420px) {
      /* PL „DODAJ RECENZJĘ” jest dłuższe od EN. Zmniejszamy oba elementy
         równomiernie, aby ocena + CTA nadal mieściły się w jednym rzędzie. */
      #main .product-rating-box .total-rating-items-block-footer.card {
        grid-template-columns: minmax(0, max-content) max-content !important;
        grid-template-areas: "rating add" !important;
        justify-content: space-between !important;
        align-items: center !important;
        column-gap: 6px !important;
        padding: 8px 0 10px !important;
      }

      #main .product-rating-box .total-rating-items-block-footer.card > div:not(.clearfix) {
        gap: 4px !important;
        min-width: 0 !important;
      }

      #main .product-rating-box .ratingStars {
        gap: 0 !important;
      }

      #main .product-rating-box .ratingStars img {
        width: 17px !important;
        height: 17px !important;
        max-width: 17px !important;
      }

      #main .product-rating-box .ratingValue {
        font-size: 12.5px !important;
        line-height: 1.15 !important;
      }

      #main .product-rating-box .total-rating-items-block-footer.card .addcomment {
        min-width: 0 !important;
        max-width: none !important;
      }

      #main .product-rating-box .btn.btn-small.btn-primary {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 7px 8px !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
      }

      #main .product-accessories > .linia_tytul {
        width: 100% !important;
        max-width: none !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
      }

      #main .product-accessories > .linia_tytul .tytuly,
      #main .product-accessories .linia_tytul .tytuly {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 16px !important;
        line-height: 1.2 !important;
        text-align: center !important;
      }
    }


    /* ONSHOP v13 — małe telefony (360–380 px): poprawki skrajnych przypadków.
       - PL: dłuższy przycisk „Dodaj recenzję” dostaje osobny wiersz, aby nie nachodził na ocenę.
       - Zakładki na bardzo wąskich ekranach zawsze mieszczą się w 3 równych kolumnach.
       - Etykieta rabatu/„Zaoszczędź” nie może wychodzić poza ekran przy dłuższych kwotach. */
    @media (max-width: 380px) {
      /* 3 zakładki zawsze widoczne bez ucinania pierwszej/ostatniej. */
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        grid-auto-columns: initial !important;
        justify-content: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 2px !important;
        overflow-x: hidden !important;
        white-space: normal !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:first-child,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:last-child {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 12px 3px 10px !important;
        font-size: 11.2px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link:after {
        left: 5px !important;
        right: 5px !important;
      }

      /* Rabat na mobile: nie wciskamy długiej etykiety obok ceny. */
      #main .product-prices .discount,
      #main .product-prices .discount-amount,
      #main .product-prices .discount-percentage,
      #main .current-price .discount,
      #main .current-price .discount-amount,
      #main .current-price .discount-percentage {
        display: table !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 6px 0 0 !important;
        padding: 5px 9px !important;
        box-sizing: border-box !important;
        font-size: 12.5px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
      }
    }

    /* Polski CTA recenzji jest wyraźnie dłuższy od EN.
       Na 360–380 px dajemy mu własny wiersz zamiast sztucznie zmniejszać tekst. */
    @media (max-width: 380px) {
      html[lang^="pl"] #main .product-rating-box .total-rating-items-block-footer.card {
        grid-template-columns: 1fr !important;
        grid-template-areas:
          "rating"
          "add" !important;
        justify-content: stretch !important;
        align-items: center !important;
        row-gap: 8px !important;
        column-gap: 0 !important;
      }

      html[lang^="pl"] #main .product-rating-box .total-rating-items-block-footer.card > div:not(.clearfix) {
        width: 100% !important;
        justify-content: flex-start !important;
      }

      html[lang^="pl"] #main .product-rating-box .total-rating-items-block-footer.card .addcomment {
        width: 100% !important;
        text-align: right !important;
        justify-self: stretch !important;
      }

      html[lang^="pl"] #main .product-rating-box .btn.btn-small.btn-primary {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        padding: 8px 11px !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
      }
    }

    /* Bardzo wąskie urządzenia: także EN dostaje bezpieczny układ 2-wierszowy. */
    @media (max-width: 340px) {
      #main .product-rating-box .total-rating-items-block-footer.card {
        grid-template-columns: 1fr !important;
        grid-template-areas:
          "rating"
          "add" !important;
        row-gap: 8px !important;
      }

      #main .product-rating-box .total-rating-items-block-footer.card .addcomment {
        width: 100% !important;
        text-align: right !important;
        justify-self: stretch !important;
      }
    }


    /* ONSHOP v16 — najmniejsze ekrany / telefony.
       Ustalenie po testach v15:
       - trzy zakładki mają równe 1/3 szerokości,
       - pozostają w jednym rzędzie,
       - dłuższa nazwa (np. Product Details) może zawinąć się w swoim polu,
       - bez układu 2 + 1 i bez poziomego wypychania strony. */
    @media (max-width: 575px) {
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        grid-auto-flow: row !important;
        grid-auto-columns: initial !important;
        justify-content: stretch !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 6px !important;
        gap: 0 !important;
        white-space: normal !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:first-child,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:last-child,
      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item:nth-child(3) {
        display: block !important;
        grid-column: auto !important;
        grid-row: 1 !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-self: stretch !important;
        white-space: normal !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 12px 8px 10px !important;
        font-size: 12.5px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link:after {
        left: 7px !important;
        right: 7px !important;
      }
    }


    /* ONSHOP v18 — premiumowa specyfikacja na telefonach.
       Po teście 576 px rozszerzamy układ kartowy z 575 do 639 px.
       Od 640 px wraca wcześniejszy układ dwukolumnowy.
       Wygląd kart pozostaje bez zmian.
       
       ONSHOP v16 — premiumowa specyfikacja na telefonach.
       Po testach v15 rozszerzamy sprawdzony układ kartowy z 390 px do 575 px,
       żeby także 414 px nie wracało do zbyt ciasnych dwóch kolumn. */
    @media (max-width: 639px) {
      #main .onshop-product-full-tabs #product-details,
      #main .onshop-product-full-tabs #product-details .product-features {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs #product-details .product-features .h6,
      #main .onshop-product-full-tabs #product-details .product-features > p {
        margin: 0 0 12px !important;
        padding: 0 2px !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        text-align: left !important;
      }

      #main .onshop-product-full-tabs #product-details .data-sheet {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
      }

      #main .onshop-product-full-tabs #product-details .data-sheet dt,
      #main .onshop-product-full-tabs #product-details .data-sheet dd,
      #main .onshop-product-full-tabs #product-details .data-sheet .name,
      #main .onshop-product-full-tabs #product-details .data-sheet .value {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        hyphens: none !important;
      }

      #main .onshop-product-full-tabs #product-details .data-sheet dt,
      #main .onshop-product-full-tabs #product-details .data-sheet .name {
        margin: 10px 0 0 !important;
        padding: 9px 12px 4px !important;
        border: 1px solid #e6e6e6 !important;
        border-bottom: 0 !important;
        border-radius: 4px 4px 0 0 !important;
        background: #f5f5f5 !important;
        color: #707070 !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
      }

      #main .onshop-product-full-tabs #product-details .data-sheet dd,
      #main .onshop-product-full-tabs #product-details .data-sheet .value {
        margin: 0 0 8px !important;
        padding: 4px 12px 10px !important;
        border: 1px solid #e6e6e6 !important;
        border-top: 0 !important;
        border-radius: 0 0 4px 4px !important;
        background: #fff !important;
        color: #3f3f3f !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
      }

      #main .onshop-product-full-tabs #product-details .data-sheet dt:first-child,
      #main .onshop-product-full-tabs #product-details .data-sheet .name:first-child {
        margin-top: 0 !important;
      }
    }

  

    /* ONSHOP v17 — korekta polskich zakładek 360/390 px.
       Po testach v16: "Specyfikacja" i "Komentarze" były zbyt szerokie
       na najmniejszych ekranach. Zmieniamy wyłącznie PL i tylko <=390 px.
       Specyfikacja kartowa oraz widoki EN pozostają bez zmian. */
    @media (max-width: 390px) {
      html[lang^="pl"] #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link {
        padding-left: 2px !important;
        padding-right: 2px !important;
        font-size: 11px !important;
        letter-spacing: -0.15px !important;
      }
    }

    /* 360 px: minimalnie ciaśniejszy tekst, żeby trzy polskie nazwy
       mieściły się bez stykania i bez przebudowy układu. */
    @media (max-width: 370px) {
      html[lang^="pl"] #main .onshop-product-full-tabs > .tabs > ul.nav.nav-tabs > li.nav-item > a.nav-link {
        font-size: 10.5px !important;
        letter-spacing: -0.2px !important;
      }
    }
  

    /* ONSHOP v21 — usuwa zbędny poziomy separator przechodzący przez środek
       sekcji opinii. Źródło zdiagnozowane testem w DevTools:
       .product-accessories > .linia_tytul::after
       Sekcja .product-accessories jest rodzeństwem #main (po jego zamknięciu),
       dlatego selektor z #main z v20 nie mógł zadziałać.
       Zachowujemy sam nagłówek „Może Ci się spodobać również” i produkty
       powiązane; wyłączamy wyłącznie pseudo-element rysujący linię. */
    body .product-accessories > .linia_tytul::after {
      display: none !important;
      content: none !important;
      width: 0 !important;
      height: 0 !important;
      background: none !important;
      border: 0 !important;
    }
  

    /* ==========================================================================
       ONSHOP v22 — PREMIUM PRODUCT V1
       Bezpieczny lifting strefy zakupowej, wyłącznie desktop >= 992 px.
       Nie dotyka galerii, pełnoszerokich zakładek, specyfikacji, opinii ani
       przetestowanych breakpointów mobile/tablet.
       ========================================================================== */
    @media (min-width: 992px) {
      /* Jedna spójna, lekka karta zamiast wielu wizualnie równorzędnych modułów. */
      #main .onshop-product-buy-column {
        padding: 22px 26px 24px !important;
        border: 1px solid #e6ebee !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 8px 28px rgba(33, 47, 61, .055) !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column > .h1,
      #main .onshop-product-buy-column h1.h1 {
        margin-top: 0 !important;
        margin-bottom: 5px !important;
        line-height: 1.18 !important;
        letter-spacing: .01em !important;
      }

      /* Rating: wykorzystujemy układ, który sprawdził się już na mobile,
         ale na desktopie robimy go spokojniejszym i bardziej eleganckim. */
      #main .onshop-product-buy-column .product-rating-box {
        width: 100% !important;
        max-width: 680px !important;
        margin: 4px 0 14px !important;
      }

      #main .onshop-product-buy-column .product-rating-box .total-rating-items-block-footer.card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "rating add" !important;
        align-items: center !important;
        gap: 10px 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 9px 0 12px !important;
        border: 0 !important;
        border-bottom: 1px solid #e8ecee !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-rating-box .total-rating-items-block-footer.card > .clearfix.row {
        display: contents !important;
      }

      #main .onshop-product-buy-column .product-rating-box .total-rating-items-block-footer.card > .clearfix.row > .col-md-6:first-child {
        display: none !important;
      }

      #main .onshop-product-buy-column .product-rating-box .total-rating-items-block-footer.card > div:not(.clearfix) {
        grid-area: rating !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }

      #main .onshop-product-buy-column .product-rating-box .ratingStars {
        display: inline-flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 1px !important;
        white-space: nowrap !important;
      }

      #main .onshop-product-buy-column .product-rating-box .ratingStars img {
        width: 21px !important;
        height: 21px !important;
        max-width: 21px !important;
        object-fit: contain !important;
      }

      #main .onshop-product-buy-column .product-rating-box .ratingValue {
        font-size: 13px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
      }

      #main .onshop-product-buy-column .product-rating-box .total-rating-items-block-footer.card .addcomment {
        grid-area: add !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
      }

      /* "Dodaj recenzję" staje się akcją pomocniczą, a nie konkurencją dla koszyka. */
      #main .onshop-product-buy-column .product-rating-box .btn.btn-small.btn-primary,
      #main .onshop-product-buy-column .product-rating-box .btn.btn-small.btn-primary * {
        color: #008f89 !important;
        background: #fff !important;
        border-color: #009a93 !important;
        text-decoration: none !important;
      }

      #main .onshop-product-buy-column .product-rating-box .btn.btn-small.btn-primary {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 7px 11px !important;
        border: 1px solid #009a93 !important;
        border-radius: 5px !important;
        font-size: 11px !important;
        line-height: 1.15 !important;
        box-shadow: none !important;
        white-space: nowrap !important;
      }

      #main .onshop-product-buy-column .product-rating-box .btn.btn-small.btn-primary:hover,
      #main .onshop-product-buy-column .product-rating-box .btn.btn-small.btn-primary:focus {
        color: #fff !important;
        background: #009a93 !important;
      }

      /* Cena: wyraźniejsza hierarchia, ale bez zmiany danych i logiki rabatu. */
      #main .onshop-product-buy-column .product-prices {
        width: 100% !important;
        max-width: 680px !important;
        margin: 15px 0 12px !important;
      }

      #main .onshop-product-buy-column .product-prices .product-discount,
      #main .onshop-product-buy-column .product-prices .regular-price {
        color: #9a9fa3 !important;
      }

      #main .onshop-product-buy-column .product-prices .regular-price {
        font-size: 13px !important;
        line-height: 1.2 !important;
      }

      #main .onshop-product-buy-column .product-prices .current-price {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 7px 10px !important;
        margin-top: 3px !important;
      }

      #main .onshop-product-buy-column .product-prices .current-price [itemprop="price"],
      #main .onshop-product-buy-column .product-prices .current-price > span:first-child {
        color: #009a93 !important;
        font-size: 29px !important;
        font-weight: 700 !important;
        line-height: 1.08 !important;
      }

      #main .onshop-product-buy-column .product-prices .discount,
      #main .onshop-product-buy-column .product-prices .discount-amount,
      #main .onshop-product-buy-column .product-prices .discount-percentage,
      #main .onshop-product-buy-column .current-price .discount,
      #main .onshop-product-buy-column .current-price .discount-amount,
      #main .onshop-product-buy-column .current-price .discount-percentage {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 5px 9px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
      }

      #main .onshop-product-buy-column .product-prices .tax-shipping-delivery-label {
        margin-top: 5px !important;
        color: #777f84 !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
      }

      /* Ograniczamy szerokość strefy decyzji zakupowej; dzięki temu elementy
         nie "rozlewają się" po całej prawej kolumnie. */
      #main .onshop-product-buy-column .product-information {
        width: 100% !important;
        max-width: 680px !important;
      }

      #main .onshop-product-buy-column [id^="product-description-short-"] {
        margin: 8px 0 14px !important;
        padding: 0 0 13px !important;
        border-bottom: 1px solid #eef1f2 !important;
        color: #363b3e !important;
        font-size: 13.5px !important;
        line-height: 1.45 !important;
      }

      #main .onshop-product-buy-column [id^="product-description-short-"] p:last-child,
      #main .onshop-product-buy-column [id^="product-description-short-"] ul:last-child {
        margin-bottom: 0 !important;
      }

      /* Najważniejsza zmiana sprzedażowa: ilość + CTA jako jeden mocny wiersz. */
      #main .onshop-product-buy-column .product-add-to-cart {
        margin-top: 0 !important;
        padding-top: 2px !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart > .control-label {
        margin-bottom: 7px !important;
        color: #4d5357 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity {
        display: flex !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 560px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty {
        float: none !important;
        flex: 0 0 92px !important;
        width: 92px !important;
        min-width: 92px !important;
        margin: 0 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty input,
      #main .onshop-product-buy-column .product-add-to-cart #quantity_wanted {
        height: 48px !important;
        min-height: 48px !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .add {
        float: none !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 22px !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        letter-spacing: .015em !important;
        box-shadow: 0 5px 14px rgba(0, 154, 147, .16) !important;
        transition: transform .15s ease, box-shadow .15s ease !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart:hover,
      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart:focus {
        transform: translateY(-1px);
        box-shadow: 0 7px 18px rgba(0, 154, 147, .22) !important;
      }


      #main .onshop-product-buy-column .onshop-stock-status,
      #main .onshop-product-buy-column .onshop-mailalert-purchase-slot {
        max-width: 560px !important;
      }

      /* Informacje bezpieczeństwa/dostawy/zwrotu są nadal widoczne,
         ale dostają własną spokojną sekcję pod zakupem. */
      #main .onshop-product-buy-column .onshop-product-reassurance-after-mailalert {
        width: 100% !important;
        max-width: 560px !important;
        margin-top: 12px !important;
        padding-top: 11px !important;
        border-top: 1px solid #edf0f1 !important;
      }

      #main .onshop-product-buy-column .onshop-product-reassurance-after-mailalert #block-reassurance {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }

      #main .onshop-product-buy-column .onshop-product-reassurance-after-mailalert #block-reassurance ul {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }

      #main .onshop-product-buy-column .onshop-product-reassurance-after-mailalert #block-reassurance li {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v23 — PREMIUM PRODUCT V1.1
       Korekta po teście v22:
       - pełny tekst "DODAJ DO KOSZYKA",
       - Ilość + CTA w jednym stabilnym wierszu,
       - InPost zawsze w osobnym wierszu POD CTA,
       - spokojniejsze odstępy w strefie zakupu.
       Tylko desktop >= 992 px; mobile/tablet bez zmian.
       ========================================================================== */
    @media (min-width: 992px) {
      /* Motyw / moduł InPost może ustawiać elementy tej części jako flex/float.
         Normalizujemy wyłącznie strefę zakupową, aby widget nie mógł wejść obok CTA. */
      #main .onshop-product-buy-column .product-actions,
      #main .onshop-product-buy-column #add-to-cart-or-refresh,
      #main .onshop-product-buy-column .product-add-to-cart {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 560px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart {
        margin: 0 !important;
        padding: 3px 0 0 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart > .control-label {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 0 7px !important;
      }

      /* Stabilny układ: kompaktowa ilość + reszta szerokości dla głównego CTA. */
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        align-items: stretch !important;
        column-gap: 10px !important;
        row-gap: 0 !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 560px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty {
        grid-column: 1 !important;
        float: none !important;
        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .add {
        grid-column: 2 !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty input,
      #main .onshop-product-buy-column .product-add-to-cart #quantity_wanted {
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 18px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 14px !important;
        line-height: 1.15 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart i,
      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart .material-icons {
        flex: 0 0 auto !important;
        margin-right: 8px !important;
      }


      /* Termin wysyłki i reassurance zaczynają się już po zamkniętej strefie CTA/InPost. */
      #main .onshop-product-buy-column .onshop-stock-status,
      #main .onshop-product-buy-column .onshop-mailalert-purchase-slot,
      #main .onshop-product-buy-column .onshop-product-reassurance-after-mailalert {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 560px !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-buy-column .onshop-product-reassurance-after-mailalert {
        margin-top: 12px !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v24 — InPost z powrotem w oryginalnym wyglądzie
       Zachowujemy premiumowy układ Ilość + CTA z v23.
       Widget InPost nie jest już stylowany przez Premium V1/V1.1.
       Jedyna reguła poniżej mówi gridowi, aby istniejący widget zajął pełny
       następny wiersz; jego wygląd, wysokość i wnętrze pozostają oryginalne.
       ========================================================================== */
    @media (min-width: 992px) {
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity > .product-inpost-widget-under-cart {
        grid-column: 1 / -1 !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v25 — premiumowe dopracowanie pola ilości
       - InPost zostaje w oryginalnej postaci (bez zmian wizualnych),
       - poprawa estetyki i czytelności kontrolki ilości,
       - mocniejszy, bardziej premium układ wiersza Ilość + CTA.
       ========================================================================== */
    @media (min-width: 992px) {
      #main .onshop-product-buy-column .product-add-to-cart > .control-label {
        margin: 0 0 8px !important;
        color: #7a8388 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        column-gap: 12px !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty {
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group.bootstrap-touchspin {
        display: flex !important;
        align-items: stretch !important;
        width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        border: 1px solid #d9e3e7 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        background: #ffffff !important;
        box-shadow: 0 3px 10px rgba(22, 42, 56, .06) !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin .input-group-btn-vertical {
        display: flex !important;
        flex-direction: column !important;
        justify-content: stretch !important;
        align-items: stretch !important;
        flex: 0 0 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        border-left: 1px solid #e7eef1 !important;
        background: #f7fbfc !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 50% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #6f7a80 !important;
        box-shadow: none !important;
        line-height: 1 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn + .btn,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button + button,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down {
        border-top: 1px solid #e7eef1 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn:hover,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button:hover,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up:hover,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down:hover {
        background: #eef8f8 !important;
        color: #009a93 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical i,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .input-group-btn-vertical .material-icons,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up i,
      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down i {
        font-size: 12px !important;
        line-height: 1 !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .qty input,
      #main .onshop-product-buy-column .product-add-to-cart #quantity_wanted {
        width: 100% !important;
        max-width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        color: #243036 !important;
        text-align: center !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 48px !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .product-quantity .add {
        align-self: stretch !important;
      }

      #main .onshop-product-buy-column .product-add-to-cart .add-to-cart {
        min-height: 50px !important;
        border-radius: 10px !important;
        padding: 0 24px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        box-shadow: 0 7px 18px rgba(0, 154, 147, .18) !important;
      }
    }

  

    /* ==========================================================================
       ONSHOP v26 — MOBILE PREMIUM POLISH
       Dopracowanie wyłącznie telefonów <=575 px po testach 390 px.
       Desktop Premium v25, InPost i logika produktu pozostają bez zmian.
       ========================================================================== */
    @media (max-width: 575px) {
      /* Tytuł: nadal mocny, ale mniej przytłaczający na telefonie. */
      #main .product-mar .col-md-13 > h1.h1,
      #main .product-mar .col-md-13 > .h1,
      #main h1.h1 {
        margin-top: 14px !important;
        margin-bottom: 8px !important;
        font-size: 27px !important;
        line-height: 1.12 !important;
        letter-spacing: .01em !important;
      }

      /* Rating zachowujemy w jednym rzędzie na 390–575 px, ale dajemy mu więcej oddechu. */
      #main .product-rating-box {
        margin-top: 4px !important;
        margin-bottom: 12px !important;
      }

      #main .product-rating-box .total-rating-items-block-footer.card {
        padding-top: 8px !important;
        padding-bottom: 10px !important;
      }

      /* Cena i badge rabatu: nieco lżejsza hierarchia na małym ekranie. */
      #main .product-prices .current-price,
      #main .current-price {
        align-items: flex-start !important;
      }

      #main .product-prices .discount,
      #main .product-prices .discount-amount,
      #main .product-prices .discount-percentage,
      #main .current-price .discount,
      #main .current-price .discount-amount,
      #main .current-price .discount-percentage {
        max-width: 100% !important;
        padding: 5px 9px !important;
        border-radius: 6px !important;
        font-size: 11.5px !important;
        line-height: 1.15 !important;
      }

      /* Ilość + CTA: na mobile także jeden spójny wiersz.
         InPost pozostaje pełnym, osobnym wierszem poniżej. */
      #main .product-add-to-cart .product-quantity {
        display: grid !important;
        grid-template-columns: 88px minmax(0, 1fr) !important;
        align-items: stretch !important;
        column-gap: 10px !important;
        row-gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
      }

      #main .product-add-to-cart .product-quantity .qty {
        grid-column: 1 !important;
        grid-row: 1 !important;
        float: none !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        margin: 0 !important;
      }

      #main .product-add-to-cart .product-quantity .add {
        grid-column: 2 !important;
        grid-row: 1 !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
      }

      #main .product-add-to-cart .product-quantity .qty .input-group,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin,
      #main .product-add-to-cart .product-quantity .qty .input-group.bootstrap-touchspin {
        display: flex !important;
        align-items: stretch !important;
        width: 88px !important;
        height: 52px !important;
        min-height: 52px !important;
        border: 1px solid #d8e2e6 !important;
        border-radius: 9px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: 0 3px 10px rgba(22, 42, 56, .06) !important;
        box-sizing: border-box !important;
      }

      #main .product-add-to-cart .product-quantity .qty input,
      #main .product-add-to-cart #quantity_wanted {
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 7px !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        color: #273238 !important;
        text-align: center !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 50px !important;
        box-sizing: border-box !important;
      }

      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin .input-group-btn-vertical {
        display: flex !important;
        flex: 0 0 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        border-left: 1px solid #e6edef !important;
        background: #f7fafb !important;
      }

      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 50% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #6d777c !important;
        box-shadow: none !important;
        line-height: 1 !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn + .btn,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button + button {
        border-top: 1px solid #e6edef !important;
      }

      #main .product-add-to-cart .add-to-cart {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        border-radius: 9px !important;
        font-size: 14px !important;
        line-height: 1.12 !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
      }

      #main .product-add-to-cart .product-quantity > .product-inpost-widget-under-cart {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 4px !important;
      }

      /* Nie zmieniamy wnętrza widgetu InPost; tylko pozwalamy mu zająć pełny wiersz. */
      #main .product-add-to-cart .product-quantity > .product-inpost-widget-under-cart > * {
        max-width: 100% !important;
      }

      /* Opis: więcej realnej szerokości i lżejsza typografia.
         To rozwiązuje efekt bardzo wąskiej kolumny widoczny na 390 px. */
      #main .onshop-product-full-tabs .tab-content {
        padding: 16px 8px 20px !important;
      }

      #main .onshop-product-full-tabs .tab-pane,
      #main .onshop-product-full-tabs #description,
      #main .onshop-product-full-tabs #description .product-description {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs #description .product-description,
      #main .onshop-product-full-tabs #description .product-description p,
      #main .onshop-product-full-tabs #description .product-description li {
        font-size: 13px !important;
        line-height: 1.5 !important;
      }

      #main .onshop-product-full-tabs #description .product-description p {
        margin-bottom: 9px !important;
      }

      #main .onshop-product-full-tabs #description .product-description h2,
      #main .onshop-product-full-tabs #description .product-description h3,
      #main .onshop-product-full-tabs #description .product-description h4 {
        margin-top: 13px !important;
        margin-bottom: 5px !important;
        font-size: 16px !important;
        line-height: 1.28 !important;
      }

      /* Reassurance i wysyłka: nieco ciaśniejsze, aby nie rozciągać góry strony. */
      #main .onshop-mailalert-purchase-slot,
      #main .onshop-stock-status {
        margin-top: 10px !important;
        margin-bottom: 12px !important;
      }

      #main .onshop-product-reassurance-after-mailalert {
        margin-top: 14px !important;
      }
    }

    /* Na 390 i wężej jeszcze minimalnie redukujemy H1 oraz CTA recenzji,
       bez zmiany układu zakładek v17. */
    @media (max-width: 390px) {
      #main .product-mar .col-md-13 > h1.h1,
      #main .product-mar .col-md-13 > .h1,
      #main h1.h1 {
        font-size: 25px !important;
        line-height: 1.1 !important;
      }

      #main .product-rating-box .btn.btn-small.btn-primary {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 10px !important;
      }

      #main .product-add-to-cart .product-quantity {
        grid-template-columns: 84px minmax(0, 1fr) !important;
        column-gap: 8px !important;
      }

      #main .product-add-to-cart .product-quantity .qty,
      #main .product-add-to-cart .product-quantity .qty .input-group,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin,
      #main .product-add-to-cart .product-quantity .qty .input-group.bootstrap-touchspin {
        width: 84px !important;
        min-width: 84px !important;
        max-width: 84px !important;
      }

      #main .product-add-to-cart .add-to-cart {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 13px !important;
      }
    }

  

    /* ==========================================================================
       ONSHOP v27 — MOBILE QUANTITY STEPPER
       Naprawa regresji v26: przyciski zmiany ilości były niewidoczne.
       Na telefonach wykorzystujemy istniejące przyciski Bootstrap TouchSpin,
       ale układamy je poziomo jako:  −   1   +
       Dzięki temu zachowujemy natywną logikę PrestaShop bez dodatkowego JS.
       Desktop >=576 px pozostaje bez zmian.
       ========================================================================== */
    @media (max-width: 575px) {
      #main .product-add-to-cart .product-quantity {
        grid-template-columns: 116px minmax(0, 1fr) !important;
        column-gap: 10px !important;
      }

      #main .product-add-to-cart .product-quantity .qty {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
      }

      #main .product-add-to-cart .product-quantity .qty .input-group,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin,
      #main .product-add-to-cart .product-quantity .qty .input-group.bootstrap-touchspin {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        height: 52px !important;
        min-height: 52px !important;
        padding: 0 !important;
        border: 1px solid #d8e2e6 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: 0 3px 10px rgba(22, 42, 56, .06) !important;
        box-sizing: border-box !important;
      }

      /* Spłaszczamy pionowy wrapper TouchSpin, aby oba istniejące przyciski
         mogły stać się elementami tego samego poziomego flexa. */
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin .input-group-btn-vertical {
        display: contents !important;
      }

      #main .product-add-to-cart .product-quantity .qty input,
      #main .product-add-to-cart #quantity_wanted {
        order: 2 !important;
        flex: 1 1 auto !important;
        width: 46px !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 3px !important;
        border: 0 !important;
        border-left: 1px solid #e6edef !important;
        border-right: 1px solid #e6edef !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        color: #273238 !important;
        text-align: center !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 50px !important;
        -moz-appearance: textfield !important;
        box-sizing: border-box !important;
      }

      #main .product-add-to-cart #quantity_wanted::-webkit-outer-spin-button,
      #main .product-add-to-cart #quantity_wanted::-webkit-inner-spin-button {
        margin: 0 !important;
        -webkit-appearance: none !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #f7fafb !important;
        color: #5c696f !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 1 !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down {
        order: 1 !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up {
        order: 3 !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down::before {
        content: "−" !important;
        display: block !important;
        color: #46545a !important;
        font-size: 22px !important;
        font-family: Arial, sans-serif !important;
        font-weight: 400 !important;
        line-height: 1 !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up::before {
        content: "+" !important;
        display: block !important;
        color: #46545a !important;
        font-size: 21px !important;
        font-family: Arial, sans-serif !important;
        font-weight: 400 !important;
        line-height: 1 !important;
      }

      /* Ukrywamy stare ikonki strzałek, ale nie same przyciski ani ich eventy. */
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down > *,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up > * {
        display: none !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down:hover,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up:hover,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down:focus,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up:focus {
        background: #eef8f8 !important;
        outline: none !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down:active,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up:active {
        background: #e2f3f2 !important;
      }
    }

    @media (max-width: 390px) {
      #main .product-add-to-cart .product-quantity {
        grid-template-columns: 112px minmax(0, 1fr) !important;
        column-gap: 8px !important;
      }

      #main .product-add-to-cart .product-quantity .qty,
      #main .product-add-to-cart .product-quantity .qty .input-group,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin,
      #main .product-add-to-cart .product-quantity .qty .input-group.bootstrap-touchspin {
        width: 112px !important;
        min-width: 112px !important;
        max-width: 112px !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button {
        flex-basis: 32px !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
      }
    }

  

    /* ==========================================================================
       ONSHOP v28 — MOBILE 360 CTA + STOCK NOTICE
       Korekta po testach v27:
       1) <=370 px: pełny tekst "DODAJ DO KOSZYKA" bez ucinania.
       2) <=575 px: komunikat dostępności / "Ostatnie sztuki..." zawsze
          w pełnym osobnym wierszu pod Ilość + CTA.
       Nie zmieniamy działania steppera, InPost ani desktopu.
       ========================================================================== */

    /* Komunikat dostępności nie może zajmować wyłącznie kolumny CTA. */
    @media (max-width: 575px) {
      #main .product-add-to-cart .product-quantity #product-availability,
      #main .product-add-to-cart .product-quantity .product-availability {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
      }

      #main .product-add-to-cart .product-quantity #product-availability .product-available,
      #main .product-add-to-cart .product-quantity #product-availability .product-last-items,
      #main .product-add-to-cart .product-quantity #product-availability span {
        max-width: 100% !important;
      }
    }

    /* Najmniejsze telefony: dajemy CTA więcej miejsca kosztem steppera.
       Sam stepper nadal zachowuje pełne − / 1 / + i natywną logikę TouchSpin. */
    @media (max-width: 370px) {
      #main .product-add-to-cart .product-quantity {
        grid-template-columns: 98px minmax(0, 1fr) !important;
        column-gap: 6px !important;
      }

      #main .product-add-to-cart .product-quantity .qty,
      #main .product-add-to-cart .product-quantity .qty .input-group,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin,
      #main .product-add-to-cart .product-quantity .qty .input-group.bootstrap-touchspin {
        width: 98px !important;
        min-width: 98px !important;
        max-width: 98px !important;
      }

      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-down,
      #main .product-add-to-cart .product-quantity .qty .bootstrap-touchspin-up,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > .btn,
      #main .product-add-to-cart .product-quantity .qty .input-group-btn-vertical > button {
        flex-basis: 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
      }

      #main .product-add-to-cart .product-quantity .qty input,
      #main .product-add-to-cart #quantity_wanted {
        font-size: 16px !important;
        padding-left: 1px !important;
        padding-right: 1px !important;
      }

      #main .product-add-to-cart .add-to-cart {
        min-width: 0 !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        font-size: 11.5px !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
      }

      #main .product-add-to-cart .add-to-cart i,
      #main .product-add-to-cart .add-to-cart .material-icons {
        margin-right: 5px !important;
        font-size: 19px !important;
        flex: 0 0 auto !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v29 — MOBILE STOCK NOTICE FULL ROW
       Finalna korekta komunikatu typu „Ostatnie sztuki w magazynie”.
       Na mobile wrapper .add staje się przezroczysty dla CSS Grid, dzięki czemu:
       - stepper pozostaje w kolumnie 1,
       - CTA pozostaje w kolumnie 2,
       - #product-availability może zająć pełny osobny wiersz pod nimi.
       InPost, logika koszyka i desktop pozostają bez zmian.
       ========================================================================== */
    @media (max-width: 575px) {
      /* W motywie availability może siedzieć wewnątrz .add.
         display: contents pozwala jego dzieciom uczestniczyć bezpośrednio
         w gridzie .product-quantity bez zmiany HTML ani logiki PrestaShop. */
      #main .product-add-to-cart .product-quantity > .add {
        display: contents !important;
      }

      #main .product-add-to-cart .product-quantity > .qty {
        grid-column: 1 !important;
        grid-row: 1 !important;
      }

      #main .product-add-to-cart .product-quantity > .add > .add-to-cart,
      #main .product-add-to-cart .product-quantity > .add-to-cart {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
      }

      /* Niezależnie od tego, czy availability jest bezpośrednim dzieckiem
         product-quantity, czy znajduje się w .add, ma być pełnym drugim wierszem. */
      #main .product-add-to-cart .product-quantity #product-availability,
      #main .product-add-to-cart .product-quantity .product-availability {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        float: none !important;
        clear: both !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        position: static !important;
        box-sizing: border-box !important;
        text-align: left !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
      }

      #main .product-add-to-cart .product-quantity #product-availability > *,
      #main .product-add-to-cart .product-quantity .product-availability > * {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }

      #main .product-add-to-cart .product-quantity #product-availability .product-last-items,
      #main .product-add-to-cart .product-quantity #product-availability .product-available,
      #main .product-add-to-cart .product-quantity #product-availability span {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        line-height: 1.25 !important;
      }

      /* Ikona ostrzeżenia ma pozostać kompaktowa i wyrównana z tekstem. */
      #main .product-add-to-cart .product-quantity #product-availability i,
      #main .product-add-to-cart .product-quantity #product-availability .material-icons {
        flex: 0 0 auto !important;
        margin: 0 !important;
        font-size: 22px !important;
        line-height: 1 !important;
      }

      /* InPost nadal jest kolejnym pełnym wierszem po komunikacie. */
      #main .product-add-to-cart .product-quantity > .product-inpost-widget-under-cart {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v30 — MOBILE DESCRIPTION POLISH
       Ostatni polish zakładki "Opis / Description" na telefonach.
       Zakres celowo bardzo wąski:
       - tylko #description,
       - tylko <=575 px,
       - bez zmian Specyfikacji, Komentarzy, zakupu, InPost i desktopu.
       ========================================================================== */
    @media (max-width: 575px) {
      /* Odzyskujemy kilka pikseli po bokach bez zmiany szerokości całych zakładek.
         Dzięki temu Specyfikacja i Komentarze pozostają dokładnie jak w v29. */
      #main .onshop-product-full-tabs #description {
        width: calc(100% + 12px) !important;
        max-width: none !important;
        margin-left: -6px !important;
        margin-right: -6px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs #description .product-description {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 2px !important;
        box-sizing: border-box !important;
        color: #535a5e !important;
        font-size: 13.5px !important;
        font-weight: 400 !important;
        line-height: 1.55 !important;
        text-align: left !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
      }

      /* Stare opisy z edytora często mają dodatkowy wrapper div/section
         z własną szerokością lub marginesem. Normalizujemy tylko bezpośrednie
         wrappery opisu, bez dotykania elementów innych zakładek. */
      #main .onshop-product-full-tabs #description .product-description > div,
      #main .onshop-product-full-tabs #description .product-description > section,
      #main .onshop-product-full-tabs #description .product-description > article {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
      }

      #main .onshop-product-full-tabs #description .product-description p,
      #main .onshop-product-full-tabs #description .product-description li {
        max-width: 100% !important;
        color: inherit !important;
        font-size: 13.5px !important;
        font-weight: 400 !important;
        line-height: 1.55 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
      }

      #main .onshop-product-full-tabs #description .product-description p {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
      }

      #main .onshop-product-full-tabs #description .product-description ul,
      #main .onshop-product-full-tabs #description .product-description ol {
        max-width: 100% !important;
        margin-top: 5px !important;
        margin-bottom: 9px !important;
        padding-left: 18px !important;
      }

      /* Zachowujemy wyróżnienia <strong>/<b>; odchudzamy tylko tekst bazowy. */
      #main .onshop-product-full-tabs #description .product-description strong,
      #main .onshop-product-full-tabs #description .product-description b {
        font-weight: 700 !important;
      }

      #main .onshop-product-full-tabs #description .product-description h2,
      #main .onshop-product-full-tabs #description .product-description h3,
      #main .onshop-product-full-tabs #description .product-description h4 {
        max-width: 100% !important;
        margin-top: 12px !important;
        margin-bottom: 4px !important;
        font-size: 15.5px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
      }

      /* Multimedia w opisie nigdy nie może wypchnąć strony na boki. */
      #main .onshop-product-full-tabs #description .product-description img,
      #main .onshop-product-full-tabs #description .product-description video,
      #main .onshop-product-full-tabs #description .product-description iframe {
        max-width: 100% !important;
        height: auto;
      }
    }

    /* Na 360 px nie zmniejszamy już tekstu bardziej.
       Jedynie odzyskujemy jeszcze 4 px szerokości, bo to tam łamanie było
       najbardziej widoczne podczas testów v26-v29. */
    @media (max-width: 370px) {
      #main .onshop-product-full-tabs #description {
        width: calc(100% + 16px) !important;
        margin-left: -8px !important;
        margin-right: -8px !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v35 — ACCESSORIES FINAL / COMPACT BOTTOM
       Cel: połączyć zalety starej i nowej wersji.
       - desktop: większy fokus na zdjęciu produktu, ale bez „napompowanej” wysokości kart,
       - mobile: elegancki poziomy rail z prawie pełną kartą i czytelnym sygnałem, że można przesuwać,
       - badge nie może być obcięty,
       - sekcja działa wyłącznie w .product-accessories.
       ========================================================================== */

    body .product-accessories {
      width: 100% !important;
      margin-top: 38px !important;
      padding: 0 16px 10px !important;
      box-sizing: border-box !important;
      overflow: visible !important;
    }

    body .product-accessories > .linia_tytul {
      width: 100% !important;
      max-width: 1260px !important;
      margin: 0 auto 18px !important;
      padding: 0 8px !important;
      box-sizing: border-box !important;
      text-align: center !important;
    }

    body .product-accessories > .linia_tytul .tytuly,
    body .product-accessories .linia_tytul .tytuly {
      color: #30373b !important;
      font-size: 19px !important;
      font-weight: 700 !important;
      line-height: 1.22 !important;
      letter-spacing: .015em !important;
      text-align: center !important;
    }

    body .product-accessories .products,
    body .product-accessories .products > .product-miniature,
    body .product-accessories .products > article.product-miniature,
    body .product-accessories .products > .js-product-miniature,
    body .product-accessories .product-miniature,
    body .product-accessories .product-miniature .thumbnail-container {
      overflow: visible !important;
      box-sizing: border-box !important;
    }

    body .product-accessories .products > .product-miniature,
    body .product-accessories .products > article.product-miniature,
    body .product-accessories .products > .js-product-miniature {
      float: none !important;
      margin: 0 !important;
      padding: 0 !important;
      min-width: 0 !important;
    }

    body .product-accessories .product-miniature .thumbnail-container {
      position: relative !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      background: #fff !important;
      border: 1px solid #e4e9ec !important;
      border-radius: 12px !important;
      box-shadow: 0 5px 18px rgba(28,45,58,.055) !important;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
    }

    body .product-accessories .product-miniature .thumbnail,
    body .product-accessories .product-miniature .product-thumbnail {
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      height: auto !important;
      margin: 0 !important;
      padding: 12px 10px 8px !important;
      overflow: hidden !important;
      background: #fff !important;
      border-radius: 11px 11px 0 0 !important;
      box-sizing: border-box !important;
    }

    body .product-accessories .product-miniature .product-thumbnail picture {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      height: 100% !important;
    }

    body .product-accessories .product-miniature .product-thumbnail img {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      max-width: 100% !important;
      max-height: 100% !important;
      margin: 0 auto !important;
      object-fit: contain !important;
      object-position: center !important;
      transform-origin: center center !important;
    }

    body .product-accessories .product-miniature .product-description {
      position: relative !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;
      display: flex !important;
      flex: 1 1 auto !important;
      flex-direction: column !important;
      align-items: center !important;
      width: 100% !important;
      min-height: 130px !important;
      margin: 0 !important;
      padding: 13px 14px 15px !important;
      background: #fff !important;
      border-top: 1px solid #f0f2f3 !important;
      border-radius: 0 0 11px 11px !important;
      box-shadow: none !important;
      text-align: center !important;
      box-sizing: border-box !important;
    }

    body .product-accessories .product-miniature .product-title {
      width: 100% !important;
      min-height: 42px !important;
      margin: 0 0 8px !important;
      padding: 0 !important;
      text-align: center !important;
    }

    body .product-accessories .product-miniature .product-title a {
      display: -webkit-box !important;
      overflow: hidden !important;
      color: #30373b !important;
      font-size: 13.8px !important;
      font-weight: 600 !important;
      line-height: 1.32 !important;
      text-align: center !important;
      text-decoration: none !important;
      -webkit-box-orient: vertical !important;
      -webkit-line-clamp: 2 !important;
    }

    body .product-accessories .product-miniature .product-list-reviews,
    body .product-accessories .product-miniature [class*="product-list-reviews"] {
      width: 100% !important;
      margin: 0 auto 3px !important;
      text-align: center !important;
    }

    body .product-accessories .product-miniature .comments-nb,
    body .product-accessories .product-miniature [class*="comments-nb"] {
      color: #9aa1a5 !important;
      font-size: 10.5px !important;
      line-height: 1.2 !important;
    }

    body .product-accessories .product-miniature .product-price-and-shipping {
      display: flex !important;
      align-items: baseline !important;
      justify-content: center !important;
      flex-wrap: wrap !important;
      gap: 4px 7px !important;
      width: 100% !important;
      margin: auto 0 0 !important;
      padding-top: 7px !important;
      text-align: center !important;
    }

    body .product-accessories .product-miniature .regular-price {
      color: #a1a8ac !important;
      font-size: 10.5px !important;
      font-weight: 500 !important;
      line-height: 1.2 !important;
    }

    body .product-accessories .product-miniature .price {
      color: #252c30 !important;
      font-size: 18px !important;
      font-weight: 700 !important;
      line-height: 1.15 !important;
      white-space: nowrap !important;
    }

    body .product-accessories .product-miniature .discount-percentage {
      margin: 0 !important;
      padding: 3px 6px !important;
      border-radius: 999px !important;
      font-size: 9.5px !important;
      line-height: 1.1 !important;
      white-space: nowrap !important;
    }

    body .product-accessories .product-miniature .product-flags {
      z-index: 8 !important;
      pointer-events: none !important;
    }

    @media (hover: hover) and (pointer: fine) {
      body .product-accessories .product-miniature .thumbnail-container:hover {
        transform: translateY(-4px) !important;
        border-color: #d7e0e4 !important;
        box-shadow: 0 11px 28px rgba(24,43,56,.10) !important;
      }

      body .product-accessories .product-miniature .product-title a:hover {
        color: #009a93 !important;
      }
    }

    @media (min-width: 992px) {
      body .product-accessories {
        padding-left: 22px !important;
        padding-right: 22px !important;
      }

      body .product-accessories .products {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 20px !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 1260px !important;
        margin: 0 auto !important;
        padding: 10px 0 14px !important;
      }

      body .product-accessories .products > .product-miniature,
      body .product-accessories .products > article.product-miniature,
      body .product-accessories .products > .js-product-miniature {
        width: 100% !important;
        max-width: none !important;
        padding-top: 6px !important;
      }

      body .product-accessories .product-miniature .thumbnail,
      body .product-accessories .product-miniature .product-thumbnail {
        min-height: 246px !important;
        padding: 16px 12px 8px !important;
      }

      body .product-accessories .product-miniature .product-thumbnail img {
        max-height: 222px !important;
        transform: scale(1.08) !important;
      }

      body .product-accessories .product-miniature .product-description {
        min-height: 126px !important;
        padding: 14px 15px 16px !important;
      }
    }

    @media (min-width: 576px) and (max-width: 991px) {
      body .product-accessories .products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 760px !important;
        margin: 0 auto !important;
        padding: 4px 0 12px !important;
      }

      body .product-accessories .products > .product-miniature,
      body .product-accessories .products > article.product-miniature,
      body .product-accessories .products > .js-product-miniature {
        width: 100% !important;
        max-width: none !important;
      }

      body .product-accessories .product-miniature .thumbnail,
      body .product-accessories .product-miniature .product-thumbnail {
        min-height: 228px !important;
        padding: 14px 10px 8px !important;
      }

      body .product-accessories .product-miniature .product-thumbnail img {
        max-height: 206px !important;
        transform: scale(1.05) !important;
      }
    }

    @media (max-width: 575px) {
      body .product-accessories {
        margin-top: 30px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
      }

      body .product-accessories > .linia_tytul {
        margin-bottom: 14px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
      }

      body .product-accessories > .linia_tytul .tytuly,
      body .product-accessories .linia_tytul .tytuly {
        font-size: 17px !important;
        line-height: 1.18 !important;
      }

      body .product-accessories .products {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 4px 16px 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-left: 16px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }

      body .product-accessories .products::-webkit-scrollbar {
        display: none !important;
      }

      body .product-accessories .products > .product-miniature,
      body .product-accessories .products > article.product-miniature,
      body .product-accessories .products > .js-product-miniature {
        flex: 0 0 84vw !important;
        width: 84vw !important;
        max-width: 320px !important;
        min-width: 270px !important;
        scroll-snap-align: start !important;
      }

      body .product-accessories .product-miniature .thumbnail,
      body .product-accessories .product-miniature .product-thumbnail {
        min-height: 230px !important;
        padding: 14px 10px 6px !important;
      }

      body .product-accessories .product-miniature .product-thumbnail img {
        max-height: 210px !important;
        transform: scale(1.03) !important;
      }

      body .product-accessories .product-miniature .product-description {
        min-height: 132px !important;
        padding: 13px 12px 14px !important;
      }

      body .product-accessories .product-miniature .product-title {
        min-height: 44px !important;
      }

      body .product-accessories .product-miniature .product-title a {
        font-size: 13.6px !important;
        line-height: 1.34 !important;
      }
    }

    @media (max-width: 390px) {
      body .product-accessories .products {
        padding-left: 14px !important;
        padding-right: 14px !important;
        scroll-padding-left: 14px !important;
      }

      body .product-accessories .products > .product-miniature,
      body .product-accessories .products > article.product-miniature,
      body .product-accessories .products > .js-product-miniature {
        flex-basis: 83vw !important;
        width: 83vw !important;
      }
    }

    @media (max-width: 370px) {
      body .product-accessories .products {
        gap: 12px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        scroll-padding-left: 12px !important;
      }

      body .product-accessories .products > .product-miniature,
      body .product-accessories .products > article.product-miniature,
      body .product-accessories .products > .js-product-miniature {
        flex-basis: 84vw !important;
        width: 84vw !important;
        max-width: 294px !important;
        min-width: 0 !important;
      }

      body .product-accessories .product-miniature .thumbnail,
      body .product-accessories .product-miniature .product-thumbnail {
        min-height: 216px !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v36 — GALLERY PREMIUM V1
       Zakres: WYŁĄCZNIE główna galeria produktu.
       Nie zmieniamy product-cover-thumbnails.tpl ani logiki PrestaShop:
       kliknięcia miniatur, zmiana zdjęcia, modal/zoom i kolejność zdjęć zostają.
       ========================================================================== */

    #main .page-content .images-container {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 auto !important;
      box-sizing: border-box !important;
    }

    /* Główne pole zdjęcia — subtelna rama premium zamiast "gołej" bieli. */
    #main .page-content .images-container .product-cover {
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      margin: 0 auto !important;
      padding: 14px !important;
      overflow: hidden !important;
      background: #fff !important;
      border: 1px solid #edf0f2 !important;
      border-radius: 14px !important;
      box-shadow: 0 4px 18px rgba(31, 46, 58, .035) !important;
      box-sizing: border-box !important;
    }

    #main .page-content .images-container .product-cover > picture {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      height: 100% !important;
    }

    #main .page-content .images-container .product-cover .js-qv-product-cover {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
      margin: 0 auto !important;
      object-fit: contain !important;
      object-position: center !important;
      transform: scale(1.025) !important;
      transform-origin: center center !important;
      transition: transform .22s ease !important;
    }

    /* Istniejący klikany layer zostaje; wizualnie pokazujemy tylko dyskretny zoom. */
    #main .page-content .images-container .product-cover .layer {
      position: absolute !important;
      inset: 0 !important;
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      background: transparent !important;
      opacity: 1 !important;
      cursor: zoom-in !important;
    }

    #main .page-content .images-container .product-cover .layer .zoom-in {
      position: absolute !important;
      right: 16px !important;
      bottom: 16px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 40px !important;
      height: 40px !important;
      margin: 0 !important;
      padding: 0 !important;
      color: #3d474c !important;
      font-size: 23px !important;
      line-height: 1 !important;
      background: rgba(255,255,255,.96) !important;
      border: 1px solid #e3e8ea !important;
      border-radius: 50% !important;
      box-shadow: 0 5px 16px rgba(27, 43, 55, .10) !important;
      opacity: .82 !important;
      transform: none !important;
      transition: opacity .18s ease, transform .18s ease, border-color .18s ease !important;
    }

    /* Pasek miniaturek. Zachowujemy oryginalny mechanizm przewijania. */
    #main .page-content .images-container .js-qv-mask.mask {
      width: 100% !important;
      max-width: 100% !important;
      margin: 14px auto 0 !important;
      padding: 4px 2px !important;
      box-sizing: border-box !important;
    }

    #main .page-content .images-container .product-images {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 10px !important;
      margin: 0 !important;
      padding: 6px 4px !important;
      list-style: none !important;
      box-sizing: border-box !important;
    }

    #main .page-content .images-container .product-images .thumb-container {
      display: block !important;
      flex: 0 0 auto !important;
      float: none !important;
      width: 82px !important;
      height: 82px !important;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    #main .page-content .images-container .product-images .thumb-container picture {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      height: 100% !important;
    }

    #main .page-content .images-container .product-images .thumb {
      display: block !important;
      width: 82px !important;
      height: 82px !important;
      max-width: 82px !important;
      margin: 0 !important;
      padding: 4px !important;
      object-fit: contain !important;
      object-position: center !important;
      background: #fff !important;
      border: 1px solid #e2e7e9 !important;
      border-radius: 9px !important;
      box-shadow: none !important;
      opacity: .88 !important;
      box-sizing: border-box !important;
      transition: border-color .16s ease, box-shadow .16s ease, opacity .16s ease, transform .16s ease !important;
    }

    /* Aktywna miniatura ma być widoczna od razu, ale bez ciężkiej ramki. */
    #main .page-content .images-container .product-images .thumb.selected {
      padding: 3px !important;
      border: 2px solid #159d98 !important;
      box-shadow: 0 0 0 3px rgba(21,157,152,.10) !important;
      opacity: 1 !important;
    }

    /* Istniejące strzałki z głównego product.tpl — zmieniamy tylko wygląd. */
    #main .page-content .scroll-box-arrows .material-icons,
    #main .page-content .scroll-box-arrows .left,
    #main .page-content .scroll-box-arrows .right {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 36px !important;
      height: 36px !important;
      padding: 0 !important;
      color: #394348 !important;
      font-size: 24px !important;
      line-height: 36px !important;
      background: rgba(255,255,255,.98) !important;
      border: 1px solid #e2e7e9 !important;
      border-radius: 50% !important;
      box-shadow: 0 4px 13px rgba(28,43,54,.08) !important;
      transition: color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
    }

    @media (hover: hover) and (pointer: fine) {
      #main .page-content .images-container .product-cover:hover .js-qv-product-cover {
        transform: scale(1.04) !important;
      }

      #main .page-content .images-container .product-cover:hover .layer .zoom-in {
        opacity: 1 !important;
        transform: translateY(-2px) !important;
        border-color: #cfdadd !important;
      }

      #main .page-content .images-container .product-images .thumb:not(.selected):hover {
        border-color: #bac8cc !important;
        box-shadow: 0 4px 12px rgba(28,43,54,.07) !important;
        opacity: 1 !important;
        transform: translateY(-2px) !important;
      }

      #main .page-content .scroll-box-arrows .material-icons:hover,
      #main .page-content .scroll-box-arrows .left:hover,
      #main .page-content .scroll-box-arrows .right:hover {
        color: #159d98 !important;
        border-color: #b9d8d6 !important;
        box-shadow: 0 6px 16px rgba(28,43,54,.11) !important;
        transform: translateY(-1px) !important;
      }
    }

    /* Desktop: troszkę większe miniatury i delikatnie większe zdjęcie główne. */
    @media (min-width: 992px) {
      #main .page-content .images-container .product-cover {
        padding: 18px !important;
      }

      #main .page-content .images-container .product-cover .js-qv-product-cover {
        transform: scale(1.035) !important;
      }

      #main .page-content .images-container .product-images .thumb-container,
      #main .page-content .images-container .product-images .thumb {
        width: 86px !important;
        height: 86px !important;
        max-width: 86px !important;
      }
    }

    /* Mobile: bez ciężkiej ramy; ważniejsza jest przestrzeń na sam produkt. */
    @media (max-width: 575px) {
      #main .page-content .images-container {
        width: calc(100% - 16px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      #main .page-content .images-container .product-cover {
        padding: 8px !important;
        border-radius: 12px !important;
        box-shadow: 0 3px 14px rgba(31,46,58,.025) !important;
      }

      #main .page-content .images-container .product-cover .js-qv-product-cover {
        transform: scale(1.02) !important;
      }

      /* Layer jest desktop-only w HTML, więc na mobile nie dokładamy niczego sztucznego. */
      #main .page-content .images-container .js-qv-mask.mask {
        margin-top: 12px !important;
        padding: 3px 0 !important;
      }

      #main .page-content .images-container .product-images {
        gap: 8px !important;
        padding: 6px 2px !important;
      }

      #main .page-content .images-container .product-images .thumb-container,
      #main .page-content .images-container .product-images .thumb {
        width: 74px !important;
        height: 74px !important;
        max-width: 74px !important;
      }

      #main .page-content .images-container .product-images .thumb {
        border-radius: 8px !important;
      }

      #main .page-content .scroll-box-arrows .material-icons,
      #main .page-content .scroll-box-arrows .left,
      #main .page-content .scroll-box-arrows .right {
        width: 32px !important;
        height: 32px !important;
        font-size: 22px !important;
        line-height: 32px !important;
      }
    }

    @media (max-width: 370px) {
      #main .page-content .images-container {
        width: calc(100% - 12px) !important;
      }

      #main .page-content .images-container .product-images .thumb-container,
      #main .page-content .images-container .product-images .thumb {
        width: 70px !important;
        height: 70px !important;
        max-width: 70px !important;
      }
    }
  

    /* ==========================================================================
       ONSHOP v38 — FINAL POLISH FIXED
       Wersja oparta na RZECZYWISTYM DOM sprawdzonym w DevTools.
       1) Reassurance: .blockreassurance_product > div
       2) Brak opinii: pusty DIV.comments_note
       Nie zawiera nieskutecznych reguł z v37.
       ========================================================================== */

    /* --------------------------------------------------------------------------
       1. POLITYKA PRYWATNOŚCI / DOSTAWA / ZWROTY
       Rzeczywista struktura:
       .onshop-product-reassurance-after-mailalert
         > .blockreassurance_product
           > div
             > span.item-product
             > p.block-title
       -------------------------------------------------------------------------- */
    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product {
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      box-sizing: border-box !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div {
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      min-height: 46px !important;
      margin: 0 !important;
      padding: 9px 34px 9px 4px !important;
      background: transparent !important;
      border: 0 !important;
      border-bottom: 1px solid #eef1f2 !important;
      box-shadow: none !important;
      box-sizing: border-box !important;
      cursor: pointer !important;
      transition: background-color .16s ease, padding-left .16s ease !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div:last-child {
      border-bottom: 0 !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product {
      display: flex !important;
      flex: 0 0 28px !important;
      align-items: center !important;
      justify-content: center !important;
      width: 28px !important;
      height: 28px !important;
      margin: 0 11px 0 0 !important;
      padding: 0 !important;
      overflow: visible !important;
      box-sizing: border-box !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product svg,
    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product img {
      display: block !important;
      width: 25px !important;
      height: 25px !important;
      max-width: 25px !important;
      max-height: 25px !important;
      margin: 0 !important;
      padding: 0 !important;
      object-fit: contain !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > p.block-title {
      flex: 1 1 auto !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      color: #30373b !important;
      font-size: 13px !important;
      font-weight: 600 !important;
      line-height: 1.3 !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div::after {
      content: "›" !important;
      position: absolute !important;
      top: 50% !important;
      right: 8px !important;
      z-index: 2 !important;
      color: #a6aeb2 !important;
      font-family: Arial, sans-serif !important;
      font-size: 22px !important;
      font-weight: 400 !important;
      line-height: 1 !important;
      pointer-events: none !important;
      transform: translateY(-52%) !important;
      transition: color .16s ease, transform .16s ease !important;
    }

    @media (hover: hover) and (pointer: fine) {
      #main .onshop-product-buy-column
      .onshop-product-reassurance-after-mailalert .blockreassurance_product > div:hover {
        padding-left: 7px !important;
        background: #fbfcfc !important;
      }

      #main .onshop-product-buy-column
      .onshop-product-reassurance-after-mailalert .blockreassurance_product > div:hover::after {
        color: #159d98 !important;
        transform: translate(2px, -52%) !important;
      }
    }

    @media (max-width: 575px) {
      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div {
        min-height: 43px !important;
        padding: 8px 30px 8px 2px !important;
      }

      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product {
        flex-basis: 25px !important;
        width: 25px !important;
        height: 25px !important;
        margin-right: 9px !important;
      }

      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product svg,
      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product img {
        width: 23px !important;
        height: 23px !important;
        max-width: 23px !important;
        max-height: 23px !important;
      }

      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > p.block-title {
        font-size: 12.5px !important;
      }

      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div::after {
        right: 6px !important;
        font-size: 20px !important;
      }
    }

    /* --------------------------------------------------------------------------
       2. POLECANE — CAŁA SEKCJA BEZ OPINII
       DevTools pokazał:
       - produkt z opiniami: DIV.comments_note ma treść ("14 Opinii", "6 Opinii"...)
         oraz dodatkowe elementy ratingu,
       - produkt bez opinii: DIV.comments_note="".
       Dlatego warunek dotyczy całej sekcji i uruchamia się tylko wtedy,
       gdy NIE MA ANI JEDNEGO niepustego .comments_note.
       -------------------------------------------------------------------------- */
    @supports selector(.product-accessories:has(.comments_note)) {
      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .comments_note:empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }

      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .products > .product-miniature,
      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .products > article.product-miniature,
      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .products > .js-product-miniature {
        height: auto !important;
        align-self: start !important;
      }

      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .product-miniature .thumbnail-container {
        height: auto !important;
        min-height: 0 !important;
      }

      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .product-miniature .product-description {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 104px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
      }

      body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
      .product-miniature .product-price-and-shipping {
        margin: 8px 0 0 !important;
        padding-top: 3px !important;
      }

      @media (max-width: 575px) {
        body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
        .product-miniature .product-description {
          min-height: 108px !important;
        }

        body .product-accessories:has(.comments_note):not(:has(.comments_note:not(:empty)))
        .product-miniature .product-price-and-shipping {
          margin-top: 8px !important;
        }
      }
    }
  

    /* ==========================================================================
       ONSHOP v39 — QUICK VIEW + REASSURANCE PREMIUM
       1) Szybki podgląd: zamiast szerokiego paska nachodzącego na nazwę
          — mały okrągły przycisk z lupą w prawym górnym rogu zdjęcia.
       2) Reassurance: ikony odrobinę większe i osadzone w lekkim "icon well".
       ========================================================================== */

    /* --------------------------------------------------------------------------
       1. POLECANE — QUICK VIEW
       -------------------------------------------------------------------------- */
    @media (min-width: 768px) {
      body .product-accessories .product-miniature .highlighted-informations,
      body .product-accessories .product-miniature .highlighted-informations.no-variants {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 9 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(3px) !important;
        pointer-events: none !important;
        transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
      }

      body .product-accessories .product-miniature .thumbnail-container:hover .highlighted-informations,
      body .product-accessories .product-miniature .thumbnail-container:focus-within .highlighted-informations {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
      }

      body .product-accessories .product-miniature .highlighted-informations .quick-view {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        color: #3f494e !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
        background: rgba(255,255,255,.97) !important;
        border: 1px solid #e1e7e9 !important;
        border-radius: 50% !important;
        box-shadow: 0 5px 16px rgba(28,43,54,.10) !important;
        text-decoration: none !important;
        transition: color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
      }

      body .product-accessories .product-miniature .highlighted-informations .quick-view .material-icons {
        display: block !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        font-size: 21px !important;
        line-height: 1 !important;
        text-indent: 0 !important;
      }

      body .product-accessories .product-miniature .highlighted-informations .quick-view:hover {
        color: #159d98 !important;
        border-color: #b8d8d6 !important;
        box-shadow: 0 7px 18px rgba(28,43,54,.14) !important;
        transform: translateY(-1px) !important;
      }
    }

    /* --------------------------------------------------------------------------
       2. REASSURANCE — delikatnie mocniejsze ikony, nadal lekkie/premium
       -------------------------------------------------------------------------- */
    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div {
      min-height: 48px !important;
      padding-top: 8px !important;
      padding-bottom: 8px !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product {
      flex: 0 0 32px !important;
      width: 32px !important;
      height: 32px !important;
      margin-right: 11px !important;
      border-radius: 9px !important;
      background: rgba(241,157,118,.075) !important;
    }

    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product svg,
    #main .onshop-product-buy-column
    .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product img {
      width: 27px !important;
      height: 27px !important;
      max-width: 27px !important;
      max-height: 27px !important;
    }

    @media (max-width: 575px) {
      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div {
        min-height: 45px !important;
      }

      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product {
        flex-basis: 29px !important;
        width: 29px !important;
        height: 29px !important;
        margin-right: 9px !important;
        border-radius: 8px !important;
      }

      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product svg,
      #main .onshop-product-reassurance-after-mailalert .blockreassurance_product > div > .item-product img {
        width: 25px !important;
        height: 25px !important;
        max-width: 25px !important;
        max-height: 25px !important;
      }
    }
