/* =========================================================
   Pasieka Opawska Barć – dostępność, kontrast i czytelność
   Plik custom.css
   ========================================================= */

/* Widoczny focus klawiatury */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
  outline: 3px solid #0066cc;
  outline-offset: 3px;
}

.btn:focus,
.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  outline: 3px solid #0066cc;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.18);
}

/* Focus tylko dla klawiatury w nowoczesnych przeglądarkach */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #0066cc;
  outline-offset: 3px;
}

/* Ukryte etykiety dla czytników ekranu */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Linki bazowe */
a {
  color: #0066cc;
}

a:hover,
a:focus {
  color: #004f9e;
}

/* Blok tekstowy strony głównej – linki mają zostać niebieskie */
#custom-text a,
#custom-text a strong,
#custom-text p a,
#custom-text div a {
  color: #0066cc !important;
  text-decoration: underline !important;
}

#custom-text a:hover,
#custom-text a:focus,
#custom-text a:hover strong,
#custom-text a:focus strong {
  color: #004f9e !important;
  text-decoration: underline !important;
}

/* Stopka – pełny czarny tekst i czarne linki w kolumnach */
.footer-container,
.footer-container p,
.footer-container li,
.footer-container span,
.footer-container div,
.footer-container .links,
.footer-container .wrapper,
.footer-container .block-contact,
.footer-container .block-contact p,
.footer-container .block-contact span,
.footer-container .block-contact div {
  color: #111111 !important;
}

.footer-container .h3,
.footer-container .h4,
.footer-container h2,
.footer-container h3,
.footer-container h4,
.footer-container .block-contact-title {
  color: #000000 !important;
  font-weight: 700;
}

/* Linki w dolnej stopce: czarne, bez stałego podkreślenia */
.footer-container a,
.footer-container .links a,
.footer-container .cms-page-link,
.footer-container .block-contact a,
.block-contact a {
  color: #111111 !important;
  text-decoration: none;
}

.footer-container a:hover,
.footer-container a:focus,
.footer-container .links a:hover,
.footer-container .links a:focus,
.footer-container .cms-page-link:hover,
.footer-container .cms-page-link:focus,
.footer-container .block-contact a:hover,
.footer-container .block-contact a:focus,
.block-contact a:hover,
.block-contact a:focus {
  color: #000000 !important;
  text-decoration: underline;
}

/* Newsletter – tekst czarny, link do polityki prywatności niebieski */
.block_newsletter,
.block_newsletter p,
.block_newsletter label {
  color: #111111 !important;
}

.block_newsletter a {
  color: #0066cc !important;
  text-decoration: underline;
}

.block_newsletter a:hover,
.block_newsletter a:focus {
  color: #004f9e !important;
  text-decoration: underline;
}

/* Social media w stopce – zostawiamy bez podkreślenia */
.block-social a {
  text-decoration: none;
}

/* Górne menu po prawej stronie logo – ciemniejsze i wyraźniejsze */
#header .header-top #_desktop_top_menu .top-menu[data-depth="0"] > li > a,
#header .header-top #_desktop_top_menu .top-menu[data-depth="0"] > li > .dropdown-item,
#header .header-top .menu .top-menu[data-depth="0"] > li > a,
#header .header-top .menu .top-menu[data-depth="0"] > li > .dropdown-item {
  color: #111111 !important;
  font-weight: 700;
  text-decoration: none;
}

#header .header-top #_desktop_top_menu .top-menu[data-depth="0"] > li > a:hover,
#header .header-top #_desktop_top_menu .top-menu[data-depth="0"] > li > a:focus,
#header .header-top #_desktop_top_menu .top-menu[data-depth="0"] > li > .dropdown-item:hover,
#header .header-top #_desktop_top_menu .top-menu[data-depth="0"] > li > .dropdown-item:focus,
#header .header-top .menu .top-menu[data-depth="0"] > li > a:hover,
#header .header-top .menu .top-menu[data-depth="0"] > li > a:focus {
  color: #000000 !important;
  text-decoration: none;
}

/* Podmenu E-SKLEP – też ciemniejsze */
#header .header-top #_desktop_top_menu .sub-menu a,
#header .header-top #_desktop_top_menu .dropdown-submenu,
#header .header-top .menu .sub-menu a,
#header .header-top .menu .dropdown-submenu {
  color: #111111 !important;
  font-weight: 600;
  text-decoration: none;
}

#header .header-top #_desktop_top_menu .sub-menu a:hover,
#header .header-top #_desktop_top_menu .sub-menu a:focus,
#header .header-top #_desktop_top_menu .dropdown-submenu:hover,
#header .header-top #_desktop_top_menu .dropdown-submenu:focus {
  color: #000000 !important;
  text-decoration: none;
}

/* Przyciski główne – mocny kontrast */
.btn-primary,
input.btn-primary,
button.btn-primary {
  background-color: #111111;
  border-color: #111111;
  color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
input.btn-primary:hover,
input.btn-primary:focus,
button.btn-primary:hover,
button.btn-primary:focus {
  background-color: #333333;
  border-color: #333333;
  color: #ffffff;
}

/* Pola formularzy */
input,
textarea,
select,
.form-control {
  color: #111111;
  background-color: #ffffff;
  border-color: #767676;
}

input::placeholder,
textarea::placeholder {
  color: #666666;
  opacity: 1;
}

/* Wyszukiwarka */
#search_widget input[type="text"],
#search_widget input[type="search"] {
  color: #111111;
}

#search_widget input::placeholder {
  color: #666666;
  opacity: 1;
}

/* Kafelki kategorii i baner – focus */
.opawska-home-category:focus,
.opawska-home-category:focus-visible {
  outline: 3px solid #0066cc;
  outline-offset: 5px;
  border-radius: 8px;
}

.opawska-home-banner__link:focus,
.opawska-home-banner__link:focus-visible {
  outline: 3px solid #0066cc;
  outline-offset: 5px;
}

/* Popup cookies */
.opawska-cookie-btn:focus,
.opawska-cookie-banner a:focus,
.opawska-cookie-btn:focus-visible,
.opawska-cookie-banner a:focus-visible {
  outline: 3px solid #0066cc;
  outline-offset: 3px;
}

/* Ikony dziedziczą kolor tekstu */
.material-icons {
  color: inherit;
}

/* =========================================================
   OPAWSKA – koszyk i zamówienie: równa typografia podsumowania
   Cel: /koszyk ma wyglądać krojem i wielkością jak /zamowienie.
   ========================================================= */

body#cart .cart-grid-right .cart-summary,
body#checkout .cart-grid-right .cart-summary {
  color: #111111;
}

/* Zwykłe linie: Produkty / Wysyłka – ten sam układ na /koszyk i /zamowienie */
body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery),
body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: baseline !important;
  column-gap: 18px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
  clear: both !important;
}

body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .label,
body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .label {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: #111111 !important;
  white-space: normal !important;
}

body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .value,
body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .value {
  display: block !important;
  min-width: 116px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: right !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #000000 !important;
  white-space: nowrap !important;
}

/* Puste techniczne szczegóły wysyłki nie mogą rozpychać układu */
body#cart .cart-grid-right .cart-summary .cart-summary-line > div,
body#checkout .cart-grid-right .cart-summary .cart-summary-line > div {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}

body#cart .cart-grid-right .cart-summary .cart-summary-line small.value:empty,
body#checkout .cart-grid-right .cart-summary .cart-summary-line small.value:empty {
  display: none !important;
}

/* Box „Do darmowej dostawy brakuje” – osobny, graficzny klocek pod wysyłką */
body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery,
body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery,
body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery,
body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 22px !important;
  padding: 13px 15px 14px !important;
  box-sizing: border-box !important;
  background: #fff8ea !important;
  border: 1px solid #eed29c !important;
  border-radius: 8px !important;
  text-align: center !important;
  line-height: 1.25 !important;
  clear: both !important;
}

body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery .label,
body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery .label,
body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery .label,
body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery .label {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #5c4a25 !important;
}

body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery .label::before,
body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery .label::before,
body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery .label::before,
body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery .label::before {
  content: "🚚 ";
  font-size: 13px;
}

body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery .value,
body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery .value,
body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery .value,
body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery .value {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  color: #000000 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

/* Odstępy między subtotalami a sumą – takie same na /koszyk i /zamowienie */
body#cart .cart-grid-right .cart-summary .cart-detailed-subtotals,
body#checkout .cart-grid-right .cart-summary .cart-summary-subtotals-container {
  margin-bottom: 18px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid #d8d8d8 !important;
}

body#cart .cart-grid-right .cart-summary .cart-summary-totals,
body#checkout .cart-grid-right .cart-summary .cart-summary-totals {
  padding-top: 0 !important;
}

/* Razem – mocne, ale bez rozjeżdżania jak wcześniej w koszyku */
body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total,
body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total {
  margin: 0 0 18px !important;
  column-gap: 18px !important;
}

body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total > .label,
body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total > .label,
body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value,
body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value {
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #000000 !important;
}

body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value,
body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value {
  min-width: 124px !important;
  text-align: right !important;
}

/* Kod promocyjny pod sumą */
body#cart .cart-grid-right .cart-summary .promo-code-button,
body#checkout .cart-grid-right .cart-summary .promo-code-button {
  margin-top: 8px !important;
  text-align: center !important;
}

/* Responsywność – bez rozbijania kolumn i bez przerośniętych fontów */
@media (max-width: 767px) {
  body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery),
  body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) {
    column-gap: 12px !important;
    margin-bottom: 10px !important;
  }

  body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .label,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .label,
  body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .value,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .value {
    font-size: 17px !important;
  }

  body#cart .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .value,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line:not(#cart-subtotal-free-delivery):not(.cart-summary-line-free-delivery) > .value {
    min-width: 106px !important;
  }

  body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery,
  body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery,
  body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery {
    margin: 11px 0 20px !important;
    padding: 12px 13px 13px !important;
  }

  body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery .label,
  body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery .label,
  body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery .label,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery .label {
    font-size: 13px !important;
  }

  body#cart .cart-grid-right .cart-summary #cart-subtotal-free-delivery .value,
  body#checkout .cart-grid-right .cart-summary #cart-subtotal-free-delivery .value,
  body#cart .cart-grid-right .cart-summary .cart-summary-line-free-delivery .value,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line-free-delivery .value {
    font-size: 23px !important;
  }

  body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total > .label,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total > .label,
  body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value {
    font-size: 20px !important;
  }

  body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value,
  body#checkout .cart-grid-right .cart-summary .cart-summary-line.cart-total > .value {
    min-width: 112px !important;
  }
}

/* =========================================================
   OPAWSKA – wymuszenie boxa darmowej dostawy również na /zamowienie
   Ten blok jest celowo globalny, bo checkout może nie mieć tych samych
   klas nadrzędnych co koszyk.
   ========================================================= */
#cart-subtotal-free-delivery,
.cart-summary-line-free-delivery {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 22px !important;
  padding: 13px 15px 14px !important;
  box-sizing: border-box !important;
  background: #fff8ea !important;
  border: 1px solid #eed29c !important;
  border-radius: 8px !important;
  text-align: center !important;
  line-height: 1.25 !important;
  clear: both !important;
  float: none !important;
}

#cart-subtotal-free-delivery .label,
.cart-summary-line-free-delivery .label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #5c4a25 !important;
  white-space: normal !important;
}

#cart-subtotal-free-delivery .label::before,
.cart-summary-line-free-delivery .label::before {
  content: "🚚 " !important;
  font-size: 13px !important;
}

#cart-subtotal-free-delivery .value,
.cart-summary-line-free-delivery .value {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  color: #000000 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  #cart-subtotal-free-delivery,
  .cart-summary-line-free-delivery {
    margin: 11px 0 20px !important;
    padding: 12px 13px 13px !important;
  }

  #cart-subtotal-free-delivery .label,
  .cart-summary-line-free-delivery .label {
    font-size: 13px !important;
  }

  #cart-subtotal-free-delivery .value,
  .cart-summary-line-free-delivery .value {
    font-size: 23px !important;
  }
}

/* =========================================================
   OPAWSKA – karta produktu: układ sprzedażowy i sticky CTA v2
   Cel: cena niebieska, CTA przed krótkim opisem, sticky dopiero po krótkim opisie.
   ========================================================= */

body#product .product-prices .current-price-value {
  color: #2fb3c7 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
}

@media (min-width: 768px) {
  body#product .product-prices .current-price-value {
    font-size: 24px !important;
    line-height: 1.12 !important;
  }

  body#product .product-price,
  body#product .product-price.h5 {
    margin-bottom: 6px !important;
  }
}

body#product .tax-shipping-delivery-label {
  color: #555555 !important;
}

body#product .opawska-product-top-benefits {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin: 12px 0 14px !important;
  padding: 12px 14px !important;
  background: #ffffff !important;
  border: 1px solid #dedede !important;
  border-radius: 8px !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

@media (min-width: 768px) {
  body#product .opawska-product-top-benefits {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }
}

@media (min-width: 992px) {
  body#product .opawska-product-top-benefits {
    grid-template-columns: 1fr 1fr !important;
  }

  body#product .opawska-product-top-benefits span:last-child {
    grid-column: 1 / -1 !important;
  }
}

/* Kolejność sprzedażowa: argumenty + warianty/ilość/koszyk przed krótkim opisem. */
body#product .product-information {
  display: flex !important;
  flex-direction: column !important;
}

body#product .product-information > .product-actions {
  order: 1 !important;
}

body#product .product-information > [id^="product-description-short-"],
body#product .product-information > .product-description {
  order: 2 !important;
}

body#product .product-information > .blockreassurance_product {
  order: 3 !important;
}

body#product .product-information > .tabs {
  order: 4 !important;
}

/* Krótki opis niżej – SEO zostaje, ale nie odsuwa zakupu. */
body#product .product-information > [id^="product-description-short-"],
body#product .product-information > .product-description {
  margin: 16px 0 18px !important;
  padding: 0 !important;
  color: #111111 !important;
}

body#product .product-information > [id^="product-description-short-"] h2,
body#product .product-information > .product-description h2 {
  margin: 0 0 8px !important;
  color: #111111 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-align: left !important;
}

body#product .product-information > [id^="product-description-short-"] p,
body#product .product-information > .product-description p {
  margin: 0 0 10px !important;
  color: #111111 !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

/* Warianty jako kafelki. */
body#product .product-variants {
  margin: 10px 0 12px !important;
  padding: 0 !important;
}

body#product .product-variants .control-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

body#product .product-variants ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product .product-variants li,
body#product .product-variants .input-container {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product .product-variants label {
  display: block !important;
  margin: 0 !important;
}

body#product .product-variants input.input-radio {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body#product .product-variants .radio-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 86px !important;
  min-height: 42px !important;
  padding: 9px 14px !important;
  border: 1px solid #111111 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

body#product .product-variants input.input-radio:checked + .radio-label {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
}

body#product .product-variants input.input-radio:focus-visible + .radio-label {
  outline: 3px solid #0066cc !important;
  outline-offset: 3px !important;
}

/* Ilość + dodaj do koszyka – mocne i wysoko, przed krótkim opisem. */
body#product .product-add-to-cart > .control-label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

body#product .product-quantity {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 0 10px !important;
}

body#product .product-quantity .qty,
body#product .product-quantity .add {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

body#product .product-quantity .qty input,
body#product #quantity_wanted {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  border: 1px solid #111111 !important;
  color: #111111 !important;
  background: #ffffff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

body#product .product-quantity .add .add-to-cart {
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-color: #111111 !important;
  background: #111111 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

body#product .product-quantity .add .add-to-cart i,
body#product .product-quantity .add .add-to-cart .material-icons {
  color: #ffffff !important;
}

/* Nie dublujemy starych notatek pod przyciskiem, jeśli były w cache/szablonie. */
body#product .opawska-product-buy-note {
  display: none !important;
}

/* Social sharing nie powinien rozpraszać przy zakupie. */
body#product .product-additional-info .social-sharing {
  display: none !important;
}

/* Mobilny sticky – czarny, biały, tylko koszyk i napis. Pokazuje się dopiero po krótkim opisie. */
.opawska-mobile-addtocart-stick {
  display: none !important;
}

@media (max-width: 767px) {
  body#product {
    padding-bottom: 86px !important;
  }

  body#product h1.h1,
  body#product .product-container h1.h1 {
    color: #111111 !important;
    font-size: 22px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
  }

  body#product .product-prices .current-price-value {
    color: #2fb3c7 !important;
    font-size: 32px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
  }

  body#product .tax-shipping-delivery-label {
    margin-top: 2px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  body#product .opawska-product-top-benefits {
    margin: 11px 0 13px !important;
    padding: 12px 13px !important;
    font-size: 15px !important;
  }

  body#product .product-information > [id^="product-description-short-"] h2,
  body#product .product-information > .product-description h2 {
    font-size: 19px !important;
  }

  body#product .product-information > [id^="product-description-short-"] p,
  body#product .product-information > .product-description p {
    font-size: 16px !important;
    line-height: 1.48 !important;
  }

  body#product .product-quantity {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    max-width: none !important;
  }

  body#product .opawska-mobile-addtocart-stick {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1040 !important;
    display: block !important;
    padding: 10px 13px calc(10px + env(safe-area-inset-bottom)) !important;
    background: #000000 !important;
    border-top: 1px solid rgba(255,255,255,0.18) !important;
    transform: translateY(110%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform 0.18s ease, opacity 0.18s ease !important;
  }

  body#product .opawska-mobile-addtocart-stick.is-visible {
    transform: translateY(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body#product.modal-open .opawska-mobile-addtocart-stick,
  body.modal-open body#product .opawska-mobile-addtocart-stick,
  body.modal-open .opawska-mobile-addtocart-stick {
    display: none !important;
  }

  body#product .opawska-mobile-addtocart-stick__button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    background: #000000 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  body#product .opawska-mobile-addtocart-stick__emoji,
  body#product .opawska-mobile-addtocart-stick__text {
    color: #ffffff !important;
  }
}
/* END OPAWSKA PRODUCT SALES FLOW v2 */

/* =========================================================
   OPAWSKA – karta produktu: stabilizacja v3
   Bez dodatkowego mielenia strony; klikalne warunki dostawy/zwrotu;
   sticky zostaje prosty: czarny, biały, emoji + Dodaj do koszyka.
   ========================================================= */

body#product .blockreassurance_product > div {
  cursor: pointer !important;
}

body#product .blockreassurance_product > div:hover .block-title,
body#product .blockreassurance_product > div:focus .block-title {
  text-decoration: underline !important;
}

body#product .blockreassurance_product > div[role="link"]:focus-visible {
  outline: 3px solid #0066cc !important;
  outline-offset: 4px !important;
}

body#product .opawska-mobile-addtocart-stick__button[disabled],
body#product .opawska-mobile-addtocart-stick__button:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

@media (max-width: 767px) {
  body#product .opawska-mobile-addtocart-stick {
    will-change: transform, opacity;
  }
}
