/* Final, scoped overrides for product detail page. Loaded last on purpose. */

.pdp-amz-page .pdp-amz-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) 290px !important;
}

.pdp-amz-page .pdp-amz-media,
.pdp-amz-page .pdp-amz-main,
.pdp-amz-page .pdp-amz-sidebar {
  min-width: 0 !important;
}

.pdp-amz-page .pdp-title {
  font-size: 2.2rem !important;
  line-height: 1.08 !important;
}

.pdp-amz-page .pdp-price {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
}

.pdp-amz-page .pdp-buy-price {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
}

.pdp-amz-page .pdp-price::first-letter,
.pdp-amz-page .pdp-buy-price::first-letter {
  font-size: 0.46em !important;
  font-weight: 600 !important;
  position: relative !important;
  top: -0.42em !important;
  margin-right: 0.08em !important;
}

.pdp-amz-page .pdp-stock-line,
.pdp-amz-page .pdp-buy-stock {
  color: #2f855a !important;
  font-weight: 600 !important;
}

.pdp-amz-page .pdp-add-cart-btn {
  background: #f28c28 !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 0.72rem 1rem !important;
}

.pdp-amz-page .pdp-add-cart-btn:hover {
  background: #e67e0f !important;
}

.pdp-amz-page .pdp-buy-now-btn {
  background: #2b8f89 !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 0.72rem 1rem !important;
}

.pdp-amz-page .pdp-buy-now-btn:hover {
  background: #237a75 !important;
  color: #fff !important;
}

.pdp-amz-page .pdp-option-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.6rem !important;
  margin-bottom: 1rem !important;
  padding: 0.9rem !important;
  border: 1px solid #dfe7ee !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fafc 100%) !important;
}

.pdp-amz-page .pdp-option-label {
  margin: 0 !important;
  color: #1d3448 !important;
  font-size: 0.95rem !important;
}

.pdp-amz-page .pdp-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.7rem !important;
}

.pdp-amz-page .pdp-choice-chip {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  min-width: 0 !important;
  padding: 0.82rem 0.95rem !important;
  border: 1px solid #d5dee6 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #1f3142 !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px rgba(13, 42, 66, 0.05) !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background-color 0.18s ease !important;
}

.pdp-amz-page .pdp-choice-chip span {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}

.pdp-amz-page .pdp-choice-chip:hover {
  border-color: #247972 !important;
  box-shadow: 0 10px 24px rgba(36, 121, 114, 0.12) !important;
  transform: translateY(-1px) !important;
}

.pdp-amz-page .pdp-choice-chip.is-selected {
  border-color: #247972 !important;
  background: linear-gradient(135deg, rgba(36, 121, 114, 0.1), rgba(43, 122, 120, 0.04)) !important;
  color: #0d2a42 !important;
  box-shadow: 0 12px 28px rgba(36, 121, 114, 0.16) !important;
}

.pdp-amz-page .pdp-choice-chip input {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

@media (max-width: 575.98px) {
  .pdp-amz-page .pdp-choice-grid {
    grid-template-columns: 1fr !important;
  }
}

.pdp-amz-page .pdp-mini-action {
  border: 1px solid #d1d5db !important;
  background: #fff !important;
  color: #4b5563 !important;
  border-radius: 0.72rem !important;
}

.pdp-amz-page .pdp-amz-media #product_gallery img {
  max-height: 440px !important;
  object-fit: cover !important;
}

.pdp-amz-page .pdp-amz-media #product_gallery .carousel-indicators {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  flex-wrap: nowrap !important;
  max-width: 100% !important;
  padding-bottom: 0.25rem !important;
}

.pdp-amz-page .pdp-amz-media #product_gallery .carousel-control-prev,
.pdp-amz-page .pdp-amz-media #product_gallery .carousel-control-next {
  display: none !important;
}

.pdp-amz-page .pdp-qty-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  margin: 0.35rem 0 0.8rem !important;
}

.pdp-amz-page .pdp-qty-row label {
  margin: 0 !important;
  font-size: 0.95rem !important;
  color: #4b5563 !important;
}

.pdp-amz-page .pdp-qty-row > input,
.pdp-amz-page .pdp-qty-row > select {
  width: 80px !important;
  height: 34px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 999px !important;
  text-align: center !important;
  padding: 0 0.45rem !important;
}

.pdp-amz-page .pdp-qty-selector {
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid #d1d5db !important;
  border-radius: 999px !important;
  background: #fff !important;
}

.pdp-amz-page .pdp-qty-selector .pdp-qty-btn {
  width: 38px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.pdp-amz-page .pdp-qty-selector input[type="number"] {
  width: 50px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  text-align: center !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

.pdp-amz-page .pdp-qty-selector input[type="number"]::-webkit-outer-spin-button,
.pdp-amz-page .pdp-qty-selector input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@media (max-width: 1199px) {
  .pdp-amz-page .pdp-amz-grid {
    grid-template-columns: 1fr !important;
  }
}
