@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

:root {
  --bg: #faf8f5;
  --card: #ffffff;
  --ink: #14213d;
  --muted: #5b6275;
  --accent: #c2410c;
  --line: #e7e2da;
  --radius: 20px;
}

body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter', system-ui, sans-serif;
  line-height: 1.65;
}

/* ---------- KARTA PRODUKTU ---------- */
#product #content-wrapper,
#product .product-container {
  color: var(--ink);
}

#product .col-md-6:first-child {
  background: var(--card);
  border-radius: var(--radius);
  padding: 1.5rem;
  box-shadow: 0 10px 40px rgba(20, 33, 61, .08);
}

#product .product-cover img,
#product .product-images img {
  border-radius: 14px;
}

#product .product-images > li.thumb-container .thumb {
  border: 2px solid transparent;
  border-radius: 10px;
  transition: border-color .2s, transform .2s;
}
#product .product-images > li.thumb-container .thumb:hover,
#product .product-images > li.thumb-container .thumb.selected {
  border-color: var(--accent);
  transform: translateY(-2px);
}

/* Tytuł */
#product h1.h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--ink);
  text-transform: none;
  margin-bottom: 1rem;
}

/* Cena */
#product .product-prices .current-price-value,
#product .current-price span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 2.2rem;
  color: var(--accent);
}
#product .product-discount .regular-price {
  color: var(--muted);
  font-size: 1.1rem;
}
#product .discount-percentage,
#product .product-flag.discount {
  background: var(--accent);
  color: #fff;
  border-radius: 999px;
  padding: .25rem .8rem;
  font-weight: 600;
}

/* Krótki opis */
#product #product-description-short {
  color: var(--muted);
  font-size: 1.05rem;
  margin: 1rem 0 1.5rem;
}

/* Warianty */
#product .product-variants .control-label {
  font-weight: 600;
  color: var(--ink);
}
#product .product-variants select,
#product .product-variants .custom-select {
  border: 1.5px solid var(--line);
  border-radius: 12px;
  padding: .65rem 1rem;
  background: #fff;
  color: var(--ink);
}

/* Ilość + przycisk */
#product .product-quantity .qty input,
#product #quantity_wanted {
  border: 1.5px solid var(--line);
  border-radius: 12px;
  height: 3.2rem;
  font-weight: 600;
  color: var(--ink);
}

#product .add-to-cart {
  background: var(--ink);
  color: #fff;
  border: 0;
  border-radius: 14px;
  height: 3.2rem;
  padding: 0 2rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .02em;
  text-transform: none;
  box-shadow: 0 8px 20px rgba(20, 33, 61, .25);
  transition: transform .15s, background .2s, box-shadow .2s;
}
#product .add-to-cart:hover {
  background: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(194, 65, 12, .3);
}
#product .add-to-cart:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
#product .add-to-cart:disabled {
  background: #9aa0ae;
  box-shadow: none;
}

/* Zakładki z opisem */
#product .tabs {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: none;
  margin-top: 2rem;
}
#product .tabs .nav-tabs {
  border-bottom: 1px solid var(--line);
}
#product .tabs .nav-link {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: var(--muted);
  text-transform: none;
}
#product .tabs .nav-link.active {
  color: var(--ink);
  border-bottom: 3px solid var(--accent);
}

/* ---------- MINIATURY NA LISTACH ---------- */
.product-miniature .thumbnail-container {
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: 0 4px 18px rgba(20, 33, 61, .06);
  transition: transform .2s, box-shadow .2s;
}
.product-miniature .thumbnail-container:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(20, 33, 61, .14);
}
.product-miniature .product-title a {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: var(--ink);
  text-transform: none;
}
.product-miniature .price {
  color: var(--accent);
  font-weight: 800;
}

/* ===== POPRAWKI v2 ===== */

/* 1. Pusta pigułka przy cenie */
.product-prices .product-discount:empty,
.product-prices .discount:empty,
.product-prices .discount-percentage:empty,
.current-price + .discount-percentage,
.current-price .discount {
  display: none !important;
}

/* 2. Zdjęcie bez stałego przyciemnienia, lupa tylko po najechaniu */
.product-cover .layer {
  background: rgba(20, 33, 61, 0) !important;
  opacity: 0;
  transition: opacity .2s, background .2s;
}
.product-cover:hover .layer {
  opacity: 1;
  background: rgba(20, 33, 61, .25) !important;
}
.product-cover img {
  filter: none !important;
  opacity: 1 !important;
}

/* 3. Kontrast tekstów pomocniczych */
.product-information,
.product-description,
.product-description p,
.tax-shipping-delivery-label,
.product-prices .tax-shipping-delivery-label {
  color: #3d4663 !important;
}

/* 4. Wariant (rozmiar) */
.product-variants .input-container {
  margin-right: 8px;
}
.product-variants .input-radio + span,
.product-variants .radio-label {
  min-width: 46px;
  padding: 10px 14px !important;
  text-align: center;
  line-height: 1.2;
}

/* 5. Rząd ilość + koszyk + serce w jednej linii */
.product-add-to-cart .product-quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}
.product-add-to-cart .qty,
.product-add-to-cart .add,
.product-add-to-cart .wishlist-button-add {
  margin: 0;
  float: none;
}
.product-add-to-cart .add .add-to-cart {
  height: 52px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* 6. Ukryj strzałki TouchSpin (zastąpimy plus/minus) */
.bootstrap-touchspin .input-group-btn-vertical {
  display: none !important;
}

/* 7. Własny stepper: − ilość + */
.qty-stepper {
  display: inline-flex;
  align-items: stretch;
  height: 52px;
  border: 1px solid #d5d9e4;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.qty-stepper .qty-btn {
  width: 44px;
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  color: #14213d;
  cursor: pointer;
  transition: background .15s;
}
.qty-stepper .qty-btn:hover {
  background: #eef0f6;
}
.qty-stepper input#quantity_wanted {
  width: 56px;
  border: 0 !important;
  border-left: 1px solid #e6e9f0 !important;
  border-right: 1px solid #e6e9f0 !important;
  border-radius: 0 !important;
  text-align: center;
  font-weight: 600;
  background: transparent;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 8. Bloki zapewnień: bez dziwnego wcięcia */
.blockreassurance_product,
.blockreassurance_product > div {
  margin: 0 !important;
  padding-left: 0 !important;
}
.blockreassurance_product > div {
  padding: 10px 0 !important;
}

/* ===== POPRAWKI v2 ===== */

/* 1. Pusta pigułka przy cenie */
.product-prices .product-discount:empty,
.product-prices .discount:empty,
.product-prices .discount-percentage:empty,
.current-price + .discount-percentage,
.current-price .discount {
  display: none !important;
}

/* 2. Zdjęcie bez stałego przyciemnienia, lupa tylko po najechaniu */
.product-cover .layer {
  background: rgba(20, 33, 61, 0) !important;
  opacity: 0;
  transition: opacity .2s, background .2s;
}
.product-cover:hover .layer {
  opacity: 1;
  background: rgba(20, 33, 61, .25) !important;
}
.product-cover img {
  filter: none !important;
  opacity: 1 !important;
}

/* 3. Kontrast tekstów pomocniczych */
.product-information,
.product-description,
.product-description p,
.tax-shipping-delivery-label,
.product-prices .tax-shipping-delivery-label {
  color: #3d4663 !important;
}

/* 4. Wariant (rozmiar) */
.product-variants .input-container {
  margin-right: 8px;
}
.product-variants .input-radio + span,
.product-variants .radio-label {
  min-width: 46px;
  padding: 10px 14px !important;
  text-align: center;
  line-height: 1.2;
}

/* 5. Rząd ilość + koszyk + serce w jednej linii */
.product-add-to-cart .product-quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}
.product-add-to-cart .qty,
.product-add-to-cart .add,
.product-add-to-cart .wishlist-button-add {
  margin: 0;
  float: none;
}
.product-add-to-cart .add .add-to-cart {
  height: 52px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* 6. Ukryj strzałki TouchSpin (zastąpimy plus/minus) */
.bootstrap-touchspin .input-group-btn-vertical {
  display: none !important;
}

/* 7. Własny stepper: − ilość + */
.qty-stepper {
  display: inline-flex;
  align-items: stretch;
  height: 52px;
  border: 1px solid #d5d9e4;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.qty-stepper .qty-btn {
  width: 44px;
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  color: #14213d;
  cursor: pointer;
  transition: background .15s;
}
.qty-stepper .qty-btn:hover {
  background: #eef0f6;
}
.qty-stepper input#quantity_wanted {
  width: 56px;
  border: 0 !important;
  border-left: 1px solid #e6e9f0 !important;
  border-right: 1px solid #e6e9f0 !important;
  border-radius: 0 !important;
  text-align: center;
  font-weight: 600;
  background: transparent;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 8. Bloki zapewnień: bez dziwnego wcięcia */
.blockreassurance_product,
.blockreassurance_product > div {
  margin: 0 !important;
  padding-left: 0 !important;
}
.blockreassurance_product > div {
  padding: 10px 0 !important;
}
