/* =========================================================
   FALLENS — product detail (essential: gallery + buy box)
   Scope: .html-product-details-page / .product-details-page
   Keeps stock nopCommerce class names for plugins/JS.
   Breadcrumb visuals: fallens/typography.css (.master-wrapper-page .breadcrumb)
   ========================================================= */

/* ---------- Page shell ---------- */

.html-product-details-page .product-details-page.fd-product-details,
.html-product-details-page .product-details-page {
  padding: 0;
  margin-bottom: 0;
}

.html-product-details-page .center-1 {
  margin-bottom: var(--fd-panel-gap, 15px);
  min-height: 0;
  padding-bottom: 0;
}

.html-product-details-page .product-details-page .page-body {
  padding: 0;
}

/* ---------- Essential grid ---------- */

.html-product-details-page .product-essential.fd-product-essential,
.html-product-details-page .fd-product-essential {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--fd-panel-gap, 15px);
  align-items: stretch;
  margin: 0 0 var(--fd-panel-gap, 15px);
  padding: 0;
  border: 0;
}

.html-product-details-page .fd-product-essential::after {
  display: none;
}

.html-product-details-page .fd-product-essential > .fd-product-media,
.html-product-details-page .fd-product-essential > .fd-product-aside,
.html-product-details-page .fd-product-essential > .overview {
  float: none;
  width: auto;
  max-width: none;
  margin: 0;
  min-width: 0;
}

/* Right column: buy box + related products stacked (mockup) */
.html-product-details-page .fd-product-aside {
  display: flex;
  flex-direction: column;
  gap: var(--fd-panel-gap, 15px);
  min-width: 0;
  width: 100%;
  height: 100%;
  align-self: stretch;
}

.html-product-details-page .fd-product-aside > .overview.fd-buy-box,
.html-product-details-page .fd-product-aside > .fd-buy-box {
  flex: 0 0 auto;
  width: 100%;
}

/* Aside product carousels (recommended + also purchased) — same panel as homepage Novinky */
.html-product-details-page .fd-product-aside .related-products-grid.product-grid,
.html-product-details-page .fd-product-aside .also-purchased-products-grid.product-grid,
.html-product-details-page .fd-product-aside .fd-aside-products {
  margin: 0;
  padding: 14px 14px 16px;
  border: 1px solid var(--fd-border, rgba(255, 255, 255, 0.09));
  border-radius: var(--fd-radius-md, 10px);
  background: var(--fd-surface, #111215);
  box-shadow: none;
  float: none;
  width: 100%;
  min-width: 0;
}

.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel,
.html-product-details-page .fd-product-aside .fd-related-products__panel,
.html-product-details-page .fd-product-aside .fd-also-purchased__panel {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__header {
  margin-bottom: 12px;
  min-height: 0;
}

.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__title,
.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__title strong {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--fd-text, #f2f5f3);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.3;
}

.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__navigation {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__arrow {
  width: 28px;
  height: 28px;
}

.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__viewport {
  padding: 2px 0 0;
}

/* Show all sits in the header nav, before the carousel arrows */
.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel__navigation .fd-home-product-panel__expand {
  margin: 0;
  min-width: 0;
  min-height: 28px;
  padding: 4px 10px;
  font-size: 11px;
  white-space: nowrap;
}

/* Expanded: full grid in the right column; carousel arrows stay hidden via JS */
.html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel--expanded .fd-home-product-panel__track {
  width: 100%;
  min-width: 0;
}

/* Beat legacy BlackShop carousel widths inside the aside */
.html-product-details-page .fd-product-aside .related-products-grid.fd-related-product-section,
.html-product-details-page .fd-product-aside .also-purchased-products-grid.fd-also-purchased-section,
.html-product-details-page .fd-product-aside .fd-aside-products.product-grid .item-box {
  width: auto;
}

/* 768–1024: 3 cards (carousel + expanded); below 768: 2; phone: 1 */
@media (max-width: 1024px) {
  .html-product-details-page .fd-product-aside .fd-aside-products {
    --fd-home-product-columns: 3;
  }

  .html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel--expanded .fd-home-product-panel__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .html-product-details-page .fd-product-aside .fd-aside-products {
    --fd-home-product-columns: 2;
  }

  .html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel--expanded .fd-home-product-panel__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .html-product-details-page .fd-product-aside .fd-aside-products {
    --fd-home-product-columns: 1;
  }

  .html-product-details-page .fd-product-aside .fd-aside-products .fd-home-product-panel--expanded .fd-home-product-panel__track {
    grid-template-columns: 1fr;
  }
}

/*
  Left stack: gallery + tabs under images as ONE sticky pin.
  They travel together (images must not cover tabs). The media column
  stretches with a taller buy box so sticky has room to run.
*/
.html-product-details-page .fd-product-media {
  --fd-product-media-sticky-top: calc(var(--fd-sticky-under-header) + var(--fd-content-top-gap));
  min-width: 0;
  max-width: 100%;
  width: 100%;
  height: 100%;
  align-self: stretch;
  overflow-x: clip;
}

.html-product-details-page .fd-product-media__pin {
  position: sticky;
  top: var(--fd-product-media-sticky-top);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--fd-panel-gap, 15px);
  width: 100%;
  background: var(--fd-bg, #090909);
}

.html-product-details-page .fd-product-collateral {
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--fd-text-soft);
}

/* ---------- FALLENS product tabs — one dark panel (tabs + content) ---------- */

.html-product-details-page .fd-product-collateral .fd-prouduct-nav-bar,
.html-product-details-page .fd-product-collateral .skltbs-tab-group,
.html-product-details-page .fd-product-collateral .skltbs-panel-group {
  width: 100%;
  float: none;
}

.html-product-details-page .fd-product-collateral .fd-prouduct-nav-bar {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 1px solid var(--fd-border, rgba(255, 255, 255, 0.09));
  border-radius: var(--fd-radius-md, 10px);
  /* Flat surface — shared panel token from mockup */
  background: var(--fd-surface, #111215);
  box-shadow: none;
  overflow: hidden;
}

.html-product-details-page .fd-product-collateral .skltbs-tab-group {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0 4px;
  margin: 0;
  padding: 2px 14px 0;
  list-style: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.html-product-details-page .fd-product-collateral .skltbs-tab-group::after {
  display: none;
}

.html-product-details-page .fd-product-collateral .skltbs-tab-item {
  float: none;
  margin: 0;
}

.html-product-details-page .fd-product-collateral .skltbs-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  margin: 0 0 -1px;
  padding: 10px 10px 12px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--fd-muted, #9aa3ad);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none;
  transition: color 0.18s ease, border-color 0.18s ease;
}

.html-product-details-page .fd-product-collateral .skltbs-tab:hover,
.html-product-details-page .fd-product-collateral .skltbs-tab:focus-visible {
  color: var(--fd-text-soft, #e8eef4);
  background: transparent;
  border-bottom-color: rgba(255, 255, 255, 0.22);
  outline: none;
  box-shadow: none;
}

.html-product-details-page .fd-product-collateral .skltbs-tab.skltbs-active {
  color: var(--fd-accent-2, #9bd739);
  background: transparent;
  border-bottom-color: var(--fd-accent, #7fb420);
}

.html-product-details-page .fd-product-collateral .fd-product-tab-count {
  opacity: 0.85;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.html-product-details-page .fd-product-collateral .skltbs-panel-group {
  margin: 0;
  padding: 0;
}

.html-product-details-page .fd-product-collateral .skltbs-panel {
  margin: 0;
  /* Match buy-box inset */
  padding: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-text-soft);
  box-shadow: none;
}

.html-product-details-page .fd-product-collateral .skltbs-panel:focus {
  outline: none;
}

.html-product-details-page .fd-product-collateral .skltbs-panel > :last-child,
.html-product-details-page .fd-product-collateral .full-description > :last-child {
  margin-bottom: 0 !important;
}

.html-product-details-page .fd-product-collateral .full-description {
  margin: 0;
  clear: none;
  font-size: 14px;
  line-height: 1.65;
  color: var(--fd-text-soft, #c5ced6);
}

.html-product-details-page .fd-product-collateral .full-description :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--fd-text, #f2f5f8);
  font-weight: 700;
  line-height: 1.35;
}

.html-product-details-page .fd-product-collateral .full-description :where(h1, h2, h3) {
  margin: 0 0 12px;
  font-size: 1.05rem;
}

.html-product-details-page .fd-product-collateral .full-description p,
.html-product-details-page .fd-product-collateral .full-description li {
  color: var(--fd-text-soft, #c5ced6);
}

.html-product-details-page .fd-product-collateral .full-description p {
  margin: 0 0 14px;
}

.html-product-details-page .fd-product-collateral .full-description p:last-child {
  margin-bottom: 0;
}

.html-product-details-page .fd-product-collateral .full-description ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  margin: 4px 0 16px;
  padding: 0;
  list-style: none;
}

.html-product-details-page .fd-product-collateral .full-description ul li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  line-height: 1.45;
}

.html-product-details-page .fd-product-collateral .full-description ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%237fb420'/%3E%3Cpath d='M4.6 8.2l2.1 2.1 4.7-4.7' fill='none' stroke='%23090909' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center / 16px 16px no-repeat;
}

@media (max-width: 700px) {
  .html-product-details-page .fd-product-collateral .full-description ul {
    grid-template-columns: 1fr;
  }

  .html-product-details-page .fd-product-collateral .skltbs-tab {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 11px;
  }
}

/* Specs tab — kill legacy light cell padding / borders */
.html-product-details-page .fd-product-collateral .product-specs-box {
  margin: 0;
  padding: 0;
}

.html-product-details-page .fd-product-collateral .product-specs-box .table-wrapper {
  margin: 0;
  overflow-x: auto;
}

.html-product-details-page .fd-product-collateral .product-specs-box .data-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  background: transparent;
}

.html-product-details-page .fd-product-collateral .product-specs-box .data-table th,
.html-product-details-page .fd-product-collateral .product-specs-box .data-table td,
.html-product-details-page .fd-product-collateral .product-specs-box td {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 0;
  vertical-align: top;
  color: var(--fd-text-soft, #c5ced6);
  font-size: 13px;
  line-height: 1.45;
  background: transparent;
}

.html-product-details-page .fd-product-collateral .product-specs-box .data-table tbody tr:last-child th,
.html-product-details-page .fd-product-collateral .product-specs-box .data-table tbody tr:last-child td {
  border-bottom: 0;
  padding-bottom: 0;
}

.html-product-details-page .fd-product-collateral .product-specs-box .data-table tbody tr:first-child th,
.html-product-details-page .fd-product-collateral .product-specs-box .data-table tbody tr:first-child td {
  padding-top: 0;
}

.html-product-details-page .fd-product-collateral .product-specs-box .spec-name,
.html-product-details-page .fd-product-collateral .product-specs-box td:first-child {
  width: 36%;
  padding-right: 16px;
  color: var(--fd-muted, #9aa3ad);
  font-weight: 600;
}

.html-product-details-page .fd-product-collateral .product-specs-box .spec-value {
  color: var(--fd-text, #f2f5f8);
  font-weight: 500;
}

.html-product-details-page .fd-product-collateral .product-specs-box .spec-group-name,
.html-product-details-page .fd-product-collateral .product-specs-box tr.spec-header td {
  padding: 14px 0 8px;
  color: var(--fd-text, #f2f5f8);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-bottom-color: rgba(255, 255, 255, 0.14);
}

.html-product-details-page .fd-product-collateral .product-specs-box tr.spec-header:first-child td {
  padding-top: 0;
}

/* Tags tab */
.html-product-details-page .fd-product-collateral .product-tags-box,
.html-product-details-page .fd-product-collateral .product-tags-list {
  margin: 0;
  padding: 0;
}

.html-product-details-page .fd-product-collateral .product-tags-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.html-product-details-page .fd-product-collateral .product-tags-list li.separator {
  margin: 0 2px 0 0;
  color: var(--fd-muted, #9aa3ad);
}

.html-product-details-page .fd-product-collateral .product-tags-list a {
  color: var(--fd-accent-2, #9bd739);
  line-height: 1.3;
  text-decoration: none;
}

.html-product-details-page .fd-product-collateral .product-tags-list a:hover,
.html-product-details-page .fd-product-collateral .product-tags-list a:focus-visible {
  color: var(--fd-text, #f2f5f8);
  outline: none;
}

.html-product-details-page .fd-product-collateral .product-tags-list span {
  color: var(--fd-muted, #9aa3ad);
  font-size: 12px;
}

/* ---------- Gallery (no visible panel — images only) ---------- */

.html-product-details-page .gallery.fd-product-gallery,
.html-product-details-page .fd-product-gallery {
  position: relative;
  /* Override legacy .gallery { float:left; width:46% } from styles.css */
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.html-product-details-page .fd-product-gallery::before {
  content: "";
  position: absolute;
  inset: 12% 18% auto 28%;
  height: 55%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--fd-accent-glow) 0%, transparent 70%);
  pointer-events: none;
  opacity: 0.35;
  z-index: 0;
}

.html-product-details-page .fd-product-gallery .gallery-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row-reverse;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  align-items: flex-start;
  background: transparent;
  border: 0;
  box-shadow: none;
  box-sizing: border-box;
}

.html-product-details-page .fd-product-gallery .picture {
  position: relative;
  /* basis 0 — intrinsic img width must not force horizontal page overflow */
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  overflow: hidden;
  border: 0;
  border-radius: var(--fd-radius-lg);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: none;
}

/*
  Drop 1:1 spacer void under photo; stretch img to full gallery width.
*/
.html-product-details-page .fd-product-gallery .picture:before {
  content: none !important;
  display: none !important;
  padding-top: 0 !important;
}

.html-product-details-page .fd-product-gallery .picture img.fd-gallery-main,
.html-product-details-page .fd-product-gallery .picture img {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain;
  cursor: default;
  border: 0;
  border-radius: var(--fd-radius-lg);
  background: transparent;
  box-shadow: none;
}

.html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item.is-active,
.html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item.xactive {
  border-color: var(--fd-accent);
  box-shadow: 0 0 0 1px rgba(127, 180, 32, 0.25);
}

.html-product-details-page .fd-product-gallery .picture-thumbs,
.html-product-details-page .fd-product-gallery .xzoom-thumbs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 84px;
  flex: 0 0 84px;
  font-size: 0;
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item,
.html-product-details-page .fd-product-gallery .xzoom-thumbs .thumb-item {
  display: block;
  position: relative;
  width: 100%;
  height: 84px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--fd-radius-md);
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item:hover,
.html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item:focus-visible {
  border-color: rgba(127, 180, 32, 0.45);
  box-shadow: none;
}

.html-product-details-page .fd-product-gallery .xzoom-thumbs a.xactive,
.html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item.xactive {
  border-color: var(--fd-accent);
  box-shadow: 0 0 0 1px rgba(127, 180, 32, 0.25);
}

.html-product-details-page .fd-product-gallery .picture-thumbs img,
.html-product-details-page .fd-product-gallery .xzoom-thumbs img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  object-fit: contain;
  background: transparent;
  border: 0;
  border-radius: var(--fd-radius-md);
  box-shadow: none;
}

.html-product-details-page .fd-product-gallery .video-gallery {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.html-product-details-page .fd-product-gallery .video-gallery:empty {
  display: none;
  margin: 0;
}

.html-product-details-page .fd-product-gallery .video-gallery iframe.thumb-item {
  width: 100%;
  height: 280px;
  border: 0;
  border-radius: var(--fd-radius-lg);
  background: transparent;
}

/* ---------- Buy box ---------- */

.html-product-details-page .overview.fd-buy-box,
.html-product-details-page .fd-buy-box {
  position: relative;
  top: auto;
  background: var(--fd-surface);
  border: 1px solid var(--fd-border);
  border-radius: var(--fd-radius-lg);
  box-shadow: var(--fd-shadow-panel);
  /* Same inset as recommended / also-purchased panels in the aside */
  padding: 14px;
  margin: 0;
  color: var(--fd-text);
  text-align: left;
  container-type: inline-size;
  container-name: fd-buy-box;
}

.html-product-details-page .fd-buy-box > :last-child {
  margin-bottom: 0 !important;
}

.html-product-details-page .fd-buy-box .product-share-button,
.html-product-details-page .fd-buy-box .fd-product-share-buttons {
  display: block;
  margin: 0;
  padding: 0;
  overflow: visible;
  line-height: 1;
}

.html-product-details-page .fd-buy-box .fd-product-share-buttons .addthis_toolbox,
.html-product-details-page .fd-buy-box .product-share-button .addthis_toolbox {
  margin: 0 !important;
  padding: 0 !important;
}

/* Badges / chips above title (product tags + dynamic stock) */
.html-product-details-page .fd-buy-box__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
}

.html-product-details-page .fd-buy-box__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.html-product-details-page a.fd-buy-box__badge:hover,
.html-product-details-page a.fd-buy-box__badge:focus-visible {
  color: var(--fd-accent-2);
  border-color: rgba(155, 215, 57, 0.55);
}

.html-product-details-page .fd-buy-box__badge--accent {
  background: rgba(127, 180, 32, 0.1);
  border: 1px solid rgba(127, 180, 32, 0.45);
  color: var(--fd-accent-2);
}

.html-product-details-page .fd-buy-box__badge--muted {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--fd-text-soft);
}

.html-product-details-page .fd-buy-box__badge--stock {
  background: rgba(127, 180, 32, 0.18);
  border: 1px solid rgba(127, 180, 32, 0.55);
  color: var(--fd-accent-2);
}

.html-product-details-page .fd-buy-box__badge--shipping {
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--fd-text-soft);
}

.html-product-details-page .fd-buy-box__shipping-icon {
  display: block;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  margin: 0;
  color: var(--fd-accent-2);
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.html-product-details-page .fd-buy-box__badge--shipping.invisible {
  display: none !important;
}

.html-product-details-page .fd-buy-box .product-name {
  margin: 0 0 12px;
  border: 0;
  padding: 0;
}

.html-product-details-page .fd-buy-box .product-name h1 {
  margin: 0;
  color: var(--fd-text);
  font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.85rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-transform: none;
}

.html-product-details-page .fd-buy-box__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin: 0 0 16px;
}

/* Compact review overview: stars + (count) + write link → modal */
.html-product-details-page .fd-buy-box .product-reviews-overview.fd-review-overview,
.html-product-details-page .fd-review-overview {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  color: var(--fd-text-soft);
  position: relative;
}

.html-product-details-page .fd-review-overview__stars {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: default;
  position: relative;
}

.html-product-details-page .fd-review-overview__stars[data-fd-review-open] {
  cursor: pointer;
}

.html-product-details-page .fd-review-overview__stars[data-fd-review-open]:hover .fd-rating__star.is-filled,
.html-product-details-page .fd-review-overview__stars[data-fd-review-open]:focus-visible .fd-rating__star.is-filled,
.html-product-details-page .fd-review-overview__stars[data-fd-review-open]:hover .fd-rating__star.is-half,
.html-product-details-page .fd-review-overview__stars[data-fd-review-open]:focus-visible .fd-rating__star.is-half {
  filter: brightness(1.08);
}

.html-product-details-page .fd-review-overview .fd-rating {
  --fd-rating-size: 16px;
  pointer-events: none;
}

.html-product-details-page .fd-review-overview__write {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fd-accent, #c6ff00);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.html-product-details-page .fd-review-overview__write:hover,
.html-product-details-page .fd-review-overview__write:focus-visible {
  color: var(--fd-accent, #c6ff00);
  text-decoration: underline;
}

.html-product-details-page .fd-review-overview__count,
.html-product-details-page a.fd-review-overview__count:link,
.html-product-details-page a.fd-review-overview__count:visited {
  color: var(--fd-muted) !important;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-decoration: none;
  line-height: 1;
}

.html-product-details-page .fd-review-overview__count:hover,
.html-product-details-page .fd-review-overview__count:focus-visible {
  color: var(--fd-muted) !important;
  text-decoration: underline;
}

/* Meta row: SKU sits on the same line as stars / count */
.html-product-details-page .fd-buy-box__meta > .additional-details {
  display: inline-flex;
  margin: 0;
}

.html-product-details-page .fd-buy-box__meta .sku .label,
.html-product-details-page .fd-buy-box__meta .sku .value {
  color: var(--fd-muted);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
}

/* Reviews as collateral tab */
.html-product-details-page .fd-product-tab-count {
  margin-left: 4px;
  font-weight: 600;
  opacity: 0.85;
}

.html-product-details-page .fd-product-reviews {
  margin: 0;
  padding: 0;
  color: var(--fd-text-soft);
}

.html-product-details-page .fd-product-reviews .product-review-list {
  margin: 0;
  padding: 0;
}

.html-product-details-page .fd-product-reviews__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

/* Desktop wider than 1024: two reviews per row */
@media (min-width: 1025px) {
  .html-product-details-page .fd-product-reviews__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .html-product-details-page .fd-product-reviews__list > .product-review-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

/* Review cards — same language as account fd-review-card */
.html-product-details-page .fd-product-reviews .product-review-item.fd-review-card {
  position: relative;
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--fd-border, rgba(255, 255, 255, 0.09));
  border-radius: var(--fd-radius-md, 12px);
  background:
    linear-gradient(120deg, rgba(127, 180, 32, 0.05), transparent 34%),
    var(--fd-surface, #111215);
  box-shadow: none;
  float: none;
  width: 100%;
}

.html-product-details-page .fd-product-reviews .fd-review-card__accent {
  background: linear-gradient(180deg, var(--fd-accent-2, #9bd739), var(--fd-accent, #7fb420));
  box-shadow: 0 0 18px rgba(127, 180, 32, 0.22);
}

.html-product-details-page .fd-product-reviews .fd-review-card__content {
  min-width: 0;
  padding: 16px 16px 14px;
}

.html-product-details-page .fd-product-reviews .review-item-head.fd-review-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 16px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.html-product-details-page .fd-product-reviews .fd-review-card__identity {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  flex: 1 1 220px;
}

.html-product-details-page .fd-product-reviews .fd-review-card__avatar,
.html-product-details-page .fd-product-reviews .fd-review-card__avatar .avatar-img-link,
.html-product-details-page .fd-product-reviews .fd-review-card__avatar .avatar-img {
  display: block;
  width: 42px;
  height: 42px;
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 42px;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.html-product-details-page .fd-product-reviews .fd-review-card__avatar--fallback {
  display: inline-grid;
  place-items: center;
  color: var(--fd-accent-2, #9bd739);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  background:
    linear-gradient(145deg, rgba(127, 180, 32, 0.22), rgba(7, 10, 13, 0.55));
}

.html-product-details-page .fd-product-reviews .fd-review-card__title-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}

.html-product-details-page .fd-product-reviews .fd-review-card__headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  width: 100%;
}

.html-product-details-page .fd-product-reviews .review-title,
.html-product-details-page .fd-product-reviews .fd-review-card__title {
  margin: 0;
  color: var(--fd-text, #f2f5f3);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.3;
}

.html-product-details-page .fd-product-reviews .fd-review-card__rating-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex: 0 0 auto;
}

.html-product-details-page .fd-product-reviews .fd-review-card__rating {
  flex: 0 0 auto;
  margin: 0;
  float: none;
}

.html-product-details-page .fd-product-reviews .fd-review-card__rating .fd-rating,
.html-product-details-page .fd-product-reviews .review-type-rating-ext .fd-rating {
  --fd-rating-size: 15px;
}

/* Kill legacy sprite rating bar inside review cards */
.html-product-details-page .fd-product-reviews .product-review-box .rating {
  display: none !important;
}

.html-product-details-page .fd-product-reviews .review-info.fd-review-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fd-muted, #9aa6a0);
  font-size: 12px;
  font-style: normal !important;
  line-height: 1.4;
  transform: none !important;
}

.html-product-details-page .fd-product-reviews .review-info,
.html-product-details-page .fd-product-reviews .review-info * {
  font-style: normal !important;
  transform: none !important;
}

.html-product-details-page .fd-product-reviews .review-info .user,
.html-product-details-page .fd-product-reviews .review-info .date {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  transform: none !important;
}

.html-product-details-page .fd-product-reviews .review-info .separator {
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  color: transparent;
  font-size: 0;
}

.html-product-details-page .fd-product-reviews .review-info label {
  margin: 0;
  color: var(--fd-muted, #9aa6a0);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.html-product-details-page .fd-product-reviews .review-info label::after {
  content: ":";
}

.html-product-details-page .fd-product-reviews .review-info a {
  color: var(--fd-accent-2, #9bd739);
  font-weight: 700;
  text-decoration: none;
}

.html-product-details-page .fd-product-reviews .review-info a:hover,
.html-product-details-page .fd-product-reviews .review-info a:focus-visible {
  color: var(--fd-accent, #7fb420);
  text-decoration: underline;
  outline: none;
}

.html-product-details-page .fd-product-reviews .review-content.fd-review-card__body {
  margin: 0;
  padding: 0;
}

.html-product-details-page .fd-product-reviews .review-text,
.html-product-details-page .fd-product-reviews .review-text .text-body {
  margin: 0;
  color: var(--fd-text-soft, #d8ded9);
  font-size: 14px;
  line-height: 1.65;
}

.html-product-details-page .fd-product-reviews .review-text p:last-child {
  margin-bottom: 0;
}

.html-product-details-page .fd-product-reviews .fd-review-card__extras {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.html-product-details-page .fd-product-reviews .review-type-rating-ext {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 9px 12px;
  overflow: visible;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(7, 10, 13, 0.28);
}

.html-product-details-page .fd-product-reviews .review-type-rating-ext .review-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--fd-text-soft, #d8ded9);
}

.html-product-details-page .fd-product-reviews .review-type-rating-ext .review-title i,
.html-product-details-page .fd-product-reviews .review-type-rating-ext .review-title span {
  font-style: normal;
}

.html-product-details-page .fd-product-reviews .product-review-helpfulness.fd-review-helpfulness {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  width: 100%;
  margin: 14px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  background: rgba(7, 10, 13, 0.28);
  color: var(--fd-muted, #9aa6a0);
  font-size: 12px;
}

.html-product-details-page .fd-product-reviews .fd-review-helpfulness .question {
  margin: 0;
  color: var(--fd-text-soft, #d8ded9);
  font-style: normal !important;
  font-weight: 600;
}

.html-product-details-page .fd-product-reviews .fd-review-helpfulness__votes {
  display: inline-flex;
  gap: 6px;
}

.html-product-details-page .fd-product-reviews .fd-review-helpfulness__vote,
.html-product-details-page .fd-product-reviews .fd-review-helpfulness .vote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin: 0;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--fd-text-soft, #d8ded9);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.html-product-details-page .fd-product-reviews .fd-review-helpfulness__vote:hover,
.html-product-details-page .fd-product-reviews .fd-review-helpfulness__vote:focus-visible,
.html-product-details-page .fd-product-reviews .fd-review-helpfulness .vote:hover,
.html-product-details-page .fd-product-reviews .fd-review-helpfulness .vote:focus-visible {
  border-color: rgba(127, 180, 32, 0.45);
  background: rgba(127, 180, 32, 0.12);
  color: var(--fd-accent-2, #9bd739);
  outline: none;
}

.html-product-details-page .fd-product-reviews .fd-review-helpfulness__stats {
  color: var(--fd-muted, #9aa6a0);
  font-variant-numeric: tabular-nums;
}

.html-product-details-page .fd-product-reviews .fd-review-helpfulness .result {
  margin: 0;
  color: var(--fd-accent-2, #9bd739);
  font-weight: 700;
}

.html-product-details-page .fd-product-reviews .reply.fd-review-card__reply {
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(127, 180, 32, 0.22);
  border-left: 3px solid var(--fd-accent, #7fb420);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(127, 180, 32, 0.08), transparent 48%),
    rgba(7, 10, 13, 0.4);
}

.html-product-details-page .fd-product-reviews .reply-header {
  margin: 0 0 6px;
  color: var(--fd-accent-2, #9bd739);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.html-product-details-page .fd-product-reviews .reply-text {
  color: var(--fd-text-soft, #d8ded9);
  font-size: 13px;
  line-height: 1.6;
}

.html-product-details-page .fd-product-reviews__empty,
.html-product-details-page .fd-product-reviews .review-already-added {
  margin: 0;
}

.html-product-details-page .fd-product-reviews .fd-title-black,
.html-product-details-page .fd-product-reviews .title_bg_white {
  display: none;
}

/* Review write modal */
.fd-modal__panel--review {
  width: min(100%, 780px);
  max-height: min(90vh, 820px);
}

.html-product-details-page .fd-review-modal .fd-modal__textarea,
.fd-review-modal .fd-modal__textarea {
  min-height: 128px;
  resize: vertical;
  line-height: 1.45;
}

.html-product-details-page .fd-review-modal__form,
.fd-review-modal .fd-review-modal__form {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.fd-review-modal__body {
  overflow: auto;
}

.fd-review-modal__layout {
  display: grid;
  grid-template-columns: minmax(150px, 188px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.fd-review-modal__product {
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: sticky;
  top: 0;
  padding: 12px;
  border: 1px solid var(--fd-border);
  border-radius: var(--fd-radius-md);
  background: rgba(0, 0, 0, 0.18);
}

.fd-review-modal__product-media {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--fd-radius-md);
  border: 1px solid var(--fd-border);
  background: rgba(0, 0, 0, 0.28);
}

.fd-review-modal__product-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.fd-review-modal__product-name {
  margin: 0;
  color: var(--fd-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fd-review-modal__fields {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

@media (max-width: 700px) {
  .fd-review-modal__layout {
    grid-template-columns: 1fr;
  }

  .fd-review-modal__product {
    position: static;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 10px;
  }

  .fd-review-modal__product-media {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    aspect-ratio: auto;
  }

  .fd-review-modal__product-name {
    -webkit-line-clamp: 2;
  }
}

.html-product-details-page .fd-review-modal__errors,
.fd-review-modal .fd-review-modal__errors {
  margin: 0;
}

.fd-review-modal__rating {
  min-width: 0;
  margin: 0;
  padding: 8px 0 0;
  border: 0;
  text-align: center;
}

.fd-review-modal__rating--additional {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.fd-review-modal__rating > .fd-modal__label {
  width: 100%;
  padding: 0;
  text-align: center;
}

.fd-review-modal__rating .fd-modal__label .hint {
  display: block;
  margin-top: 5px;
  color: var(--fd-muted);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.45;
  text-transform: none;
}

.fd-review-rating {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
}

.fd-review-rating__stars {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
}

/* Kill native radios completely — labels drive selection */
.fd-review-modal .fd-review-rating__zero,
.fd-review-modal .fd-review-rating__radio,
.fd-review-modal input.fd-review-rating__zero[type="radio"],
.fd-review-modal input.fd-review-rating__radio[type="radio"] {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.fd-review-rating__choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-rating-gold, #f5b400);
  cursor: pointer;
  transition: transform 0.18s ease, filter 0.18s ease;
}

.fd-review-rating__choice:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.fd-review-rating__choice:has(.fd-review-rating__radio:focus-visible) {
  outline: 2px solid color-mix(in srgb, var(--fd-rating-gold, #f5b400) 55%, transparent);
  outline-offset: 3px;
  border-radius: 6px;
}

.fd-review-rating__icon {
  display: block;
  width: 36px;
  height: 36px;
  overflow: visible;
}

.fd-review-rating__icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linejoin: round;
  transition: fill 0.45s ease;
}

/* Selected rating: fill this star and all before it */
.fd-review-rating__choice:has(.fd-review-rating__radio:checked) .fd-review-rating__icon path,
.fd-review-rating__choice:has(~ .fd-review-rating__choice .fd-review-rating__radio:checked) .fd-review-rating__icon path {
  fill: currentColor;
}

/* Slow fill intro on modal open */
.fd-review-rating__stars.is-intro-pending .fd-review-rating__icon path {
  fill: none !important;
  transition: none !important;
}

.fd-review-rating__stars.is-intro .fd-review-rating__choice:nth-child(1) .fd-review-rating__icon path {
  transition-delay: 0.12s;
}

.fd-review-rating__stars.is-intro .fd-review-rating__choice:nth-child(2) .fd-review-rating__icon path {
  transition-delay: 0.28s;
}

.fd-review-rating__stars.is-intro .fd-review-rating__choice:nth-child(3) .fd-review-rating__icon path {
  transition-delay: 0.44s;
}

.fd-review-rating__stars.is-intro .fd-review-rating__choice:nth-child(4) .fd-review-rating__icon path {
  transition-delay: 0.6s;
}

.fd-review-rating__stars.is-intro .fd-review-rating__choice:nth-child(5) .fd-review-rating__icon path {
  transition-delay: 0.76s;
}

/* Hover preview (skip during intro) */
.fd-review-rating__stars:not(.is-intro):not(.is-intro-pending):hover .fd-review-rating__icon path {
  fill: none;
  transition: fill 0.12s ease;
}

.fd-review-rating__stars:not(.is-intro):not(.is-intro-pending):hover .fd-review-rating__choice:hover .fd-review-rating__icon path,
.fd-review-rating__stars:not(.is-intro):not(.is-intro-pending):hover .fd-review-rating__choice:has(~ .fd-review-rating__choice:hover) .fd-review-rating__icon path {
  fill: currentColor;
}

.fd-review-modal__captcha {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.fd-review-modal__captcha iframe {
  max-width: 100%;
}

.fd-review-modal__rating .fd-required-marker {
  margin-left: 3px;
}

.html-product-details-page .fd-buy-box .short-description {
  margin: 0 0 16px;
  color: var(--fd-text-soft);
  line-height: 1.55;
  font-size: 14px;
}


.html-product-details-page .fd-buy-box .short-description p {
  margin: 0 0 0.6em;
}

.html-product-details-page .fd-buy-box .short-description p:last-child {
  margin-bottom: 0;
}

/* Meta chips: SKU / MPN / GTIN / vendor / manufacturers */

.html-product-details-page .fd-buy-box .additional-details,
.html-product-details-page .fd-buy-box .manufacturers,
.html-product-details-page .fd-buy-box .delivery-date-box,
.html-product-details-page .fd-buy-box .delivery .fd-free-shipping {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 8px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  text-align: left;
}

.html-product-details-page .fd-buy-box .sku,
.html-product-details-page .fd-buy-box .manufacturer-part-number,
.html-product-details-page .fd-buy-box .gtin,
.html-product-details-page .fd-buy-box .product-vendor,
.html-product-details-page .fd-buy-box .manufacturers {
  margin: 0;
  text-align: left;
}

.html-product-details-page .fd-buy-box .additional-details .label,
.html-product-details-page .fd-buy-box .manufacturers .label,
.html-product-details-page .fd-buy-box .delivery-date-box .label,
.html-product-details-page .fd-buy-box .delivery .fd-free-shipping .label {
  display: inline;
  width: auto;
  padding: 0;
  color: var(--fd-muted-2);
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}

.html-product-details-page .fd-buy-box .additional-details .value,
.html-product-details-page .fd-buy-box .manufacturers .value,
.html-product-details-page .fd-buy-box .delivery-date-box .value,
.html-product-details-page .fd-buy-box .delivery .fd-free-shipping .value,
.html-product-details-page .fd-buy-box .delivery .value.fd-delivery-date {
  display: inline;
  padding: 0;
  border: 0;
  color: var(--fd-muted);
  font-size: 13px;
  text-align: left;
}

/* Whole SKU (outside meta) keeps the same muted tone */
.html-product-details-page .fd-buy-box .sku .label,
.html-product-details-page .fd-buy-box .sku .value {
  color: var(--fd-muted);
}

.html-product-details-page .fd-buy-box .manufacturers .value a,
.html-product-details-page .fd-buy-box .product-vendor .value a {
  color: var(--fd-accent-2);
  font-style: normal;
  text-decoration: none;
}

.html-product-details-page .fd-buy-box .manufacturers .value a:hover,
.html-product-details-page .fd-buy-box .product-vendor .value a:hover {
  text-decoration: underline;
}

/* Commerce stack: sample → price/cart → shipping */
.html-product-details-page .fd-buy-box .fd-buy-box__commerce {
  display: flex;
  flex-direction: column;
  gap: var(--fd-panel-gap, 15px);
  /* Tight gap before wishlist / compare / email row */
  margin: 0 0 10px;
  min-width: 0;
}

.html-product-details-page .fd-buy-box .fd-buy-box__commerce > .add-to-cart,
.html-product-details-page .fd-buy-box .fd-buy-box__commerce > .fd-buy-box__cart {
  display: flex;
  flex-direction: column;
  gap: var(--fd-panel-gap, 15px);
  margin: 0;
}

/* Avoid double gap: shipping box margin + commerce margin */
.html-product-details-page .fd-buy-box .fd-buy-box__commerce > :last-child {
  margin-bottom: 0 !important;
}

/* Sample download — plain accent utility link (no card chrome) */
.html-product-details-page .fd-buy-box .download-sample.fd-download-sample,
.html-product-details-page .fd-buy-box .fd-download-sample,
.html-product-details-page .fd-buy-box .overview .download-sample {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  overflow: visible;
  box-sizing: border-box;
}

.html-product-details-page .fd-buy-box .fd-download-sample__link,
.html-product-details-page .fd-buy-box .overview .download-sample a.fd-download-sample__link,
.html-product-details-page .fd-buy-box .overview .download-sample a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  max-width: 100%;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--fd-accent-2) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.35;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.html-product-details-page .fd-buy-box .fd-download-sample__link:hover,
.html-product-details-page .fd-buy-box .overview .download-sample a.fd-download-sample__link:hover,
.html-product-details-page .fd-buy-box .overview .download-sample a:hover {
  color: var(--fd-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  background: transparent !important;
  border: 0 !important;
}

.html-product-details-page .fd-buy-box .fd-download-sample__link:focus-visible {
  outline: 2px solid var(--fd-accent);
  outline-offset: 3px;
  border-radius: 4px;
}

.html-product-details-page .fd-buy-box .fd-download-sample__icon,
.html-product-details-page .fd-buy-box .overview .download-sample .fd-download-sample__icon,
.html-product-details-page .fd-buy-box .overview .download-sample span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: 15px !important;
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1;
  text-align: left !important;
}

.html-product-details-page .fd-buy-box .fd-download-sample__text {
  display: inline !important;
  width: auto !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  font-style: normal !important;
  text-align: left !important;
}

.html-product-details-page .fd-buy-box .fd-download-sample__chevron {
  display: none !important;
}

.html-product-details-page .fd-buy-box .manufacturers {
  margin: 0 0 14px;
}

/* Price — current + old price with breathing room (not crammed inline) */

.html-product-details-page .fd-buy-box .prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 16px;
  row-gap: 6px;
  margin: 0 0 12px;
  overflow: visible;
}

.html-product-details-page .fd-buy-box .prices > div {
  margin: 0;
}

.html-product-details-page .fd-buy-box .product-price,
.html-product-details-page .fd-buy-box .product-price span,
.html-product-details-page .fd-buy-box .prices .price-value,
.html-product-details-page .fd-buy-box [class^="price-value-"] {
  color: var(--fd-text);
  font-size: clamp(1.6rem, 1.35rem + 0.8vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
}

.html-product-details-page .fd-buy-box .prices .product-price,
.html-product-details-page .fd-buy-box .prices .non-discounted-price {
  display: inline-flex;
  align-items: baseline;
  margin: 0;
  vertical-align: baseline;
}

.html-product-details-page .fd-buy-box .prices label {
  display: none;
}

.html-product-details-page .fd-buy-box .old-product-price,
.html-product-details-page .fd-buy-box .fd-old-price,
.html-product-details-page .fd-buy-box .non-discounted-price {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 4px 0 0;
  color: var(--fd-text-soft);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  vertical-align: baseline;
}

.html-product-details-page .fd-buy-box .fd-old-price__label,
.html-product-details-page .fd-buy-box .old-product-price .fd-old-price__label {
  color: var(--fd-text-soft);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-transform: none;
}

.html-product-details-page .fd-buy-box .fd-old-price__value,
.html-product-details-page .fd-buy-box .old-product-price .fd-old-price__value {
  color: var(--fd-muted-2, var(--fd-text-soft));
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-underline-offset: 0;
}

.html-product-details-page .fd-buy-box .old-product-price span,
.html-product-details-page .fd-buy-box .non-discounted-price span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/* When only old-price pair is present (no discount block), keep them on one calm row */
.html-product-details-page .fd-buy-box .prices:has(> .product-price):has(> .old-product-price) > .product-price {
  flex: 0 0 auto;
}

.html-product-details-page .fd-buy-box .prices:has(> .product-price):has(> .old-product-price) > .old-product-price {
  flex: 0 1 auto;
  min-width: 0;
  padding: 0 0 0 14px;
  border-left: 1px solid var(--fd-border);
}

.html-product-details-page .fd-buy-box .tax-shipping-info,
.html-product-details-page .fd-buy-box .base-price-pangv {
  margin-top: 4px;
  color: var(--fd-muted-2);
  font-size: 12px;
}

.html-product-details-page .fd-buy-box .tax-shipping-info a {
  color: var(--fd-accent-2);
}

/* Availability: same stock line as product list + plain free-shipping text */
.html-product-details-page .fd-buy-box .fd-buy-box__status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 0 0 var(--fd-panel-gap, 15px);
}

.html-product-details-page .fd-buy-box .fd-buy-box__status-stock {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

/* Stock line: same ProductCardStock markup/colors as homepage & catalog — never a legacy chip/badge */
.html-product-details-page .fd-buy-box .fd-buy-box__status-stock .fd-product-card__stock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.html-product-details-page .fd-buy-box .fd-buy-box__status-stock .fd-product-card__stock-text {
  display: inline;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit;
  white-space: normal;
}

.html-product-details-page .fd-buy-box .fd-buy-box__status-stock .fd-product-card__stock.is-in {
  color: var(--fd-accent-2, #9bd739);
}

.html-product-details-page .fd-buy-box .fd-buy-box__status-stock .fd-product-card__stock.is-low {
  color: var(--fd-warning, #ffb545);
}

.html-product-details-page .fd-buy-box .fd-buy-box__status-stock .fd-product-card__stock.is-out {
  color: var(--fd-danger, #ff4f4f);
}

.html-product-details-page .fd-buy-box .fd-buy-box__free-shipping {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fd-text-soft, #d8ded9);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
}

.html-product-details-page .fd-buy-box .fd-buy-box__free-shipping.invisible {
  display: none !important;
}

.html-product-details-page .fd-buy-box .fd-buy-box__free-shipping-icon {
  display: block;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  color: var(--fd-muted, #9aa6a0);
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.html-product-details-page .fd-buy-box .fd-buy-box__free-shipping-text {
  color: inherit;
}

.html-product-details-page .fd-buy-box .back-in-stock-subscription {
  flex: 1 1 100%;
  margin-top: 4px;
}

.html-product-details-page .fd-buy-box .back-instock-subscribe-button {
  color: var(--fd-accent-2);
  background: transparent;
}

/* Kill legacy BlackShop white “chip” look on overview stock/shipping */
.html-product-details-page .fd-buy-box .availability,
.html-product-details-page .fd-buy-box .fd-availability,
.html-product-details-page .fd-buy-box .stock,
.html-product-details-page .fd-buy-box .fd-stock,
.html-product-details-page .fd-buy-box .delivery,
.html-product-details-page .fd-buy-box .delivery .fd-free-shipping {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Attributes / gift card / rental */

.html-product-details-page .fd-buy-box .attributes,
.html-product-details-page .fd-buy-box .giftcard,
.html-product-details-page .fd-buy-box .rental-attributes {
  margin: 0 0 var(--fd-panel-gap, 15px);
}

/* Rental: same 2-up attribute cards; kill legacy BlackShop light + sun required */
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental,
.html-product-details-page .fd-buy-box .fd-rental-attributes.fd-rental {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--fd-panel-gap, 15px);
  align-items: start;
  margin: 0 0 var(--fd-panel-gap, 15px);
  overflow: visible;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .fd-rental__field,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .fd-procuct-each-attribute,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .attribute-item {
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  margin: 0;
  margin-right: 0;
  float: none;
  padding: 12px 14px;
  overflow: visible;
  background: var(--fd-surface-2) !important;
  border: 1px solid var(--fd-border) !important;
  border-radius: var(--fd-radius-md);
  color: var(--fd-text);
  box-sizing: border-box;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .fd-product-attrubute-label,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .attribute-label {
  position: relative;
  display: block;
  text-align: left;
  color: var(--fd-text) !important;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  padding-bottom: 0 !important;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .fd-product-attrubute-label .text-prompt,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .attribute-label .text-prompt {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--fd-text);
  font-weight: 700;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .attribute-label .required,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .linearicons-sun-small {
  display: none !important;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .fd-product-attrubute-value,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .attribute-data {
  display: block;
  padding-top: 10px;
  border-top: 1px solid var(--fd-border);
  color: var(--fd-text);
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .fd-text-input input.datepicker,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental .attribute-data input.datepicker,
.html-product-details-page .fd-buy-box .rental-attributes.fd-rental input.datepicker {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 42px;
  height: auto;
  margin: 0;
  padding: 10px 12px;
  text-align: left;
  border-radius: var(--fd-radius-sm);
  border: 1px solid var(--fd-border) !important;
  background: var(--fd-input) !important;
  color: var(--fd-text) !important;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  cursor: pointer;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental input.datepicker:hover {
  border-color: var(--fd-border-strong) !important;
}

.html-product-details-page .fd-buy-box .rental-attributes.fd-rental input.datepicker:focus {
  outline: none;
  border-color: var(--fd-accent) !important;
  box-shadow: 0 0 0 2px rgba(127, 180, 32, 0.16);
}

/* Keep start/end side-by-side through tablet/narrow; stack only below 425px */
@media (max-width: 424px) {
  .html-product-details-page .fd-buy-box .rental-attributes.fd-rental,
  .html-product-details-page .fd-buy-box .fd-rental-attributes.fd-rental {
    grid-template-columns: 1fr;
  }
}

/* jQuery UI popup is appended to body — class added via beforeShow */
.ui-datepicker.fd-datepicker {
  width: 280px;
  z-index: 1200 !important;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid var(--fd-border) !important;
  border-radius: var(--fd-radius-md);
  background: var(--fd-surface-2) !important;
  color: var(--fd-text);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  font: inherit;
  overflow: hidden;
}

.ui-datepicker.fd-datepicker .ui-datepicker-header {
  height: 40px;
  padding: 0 !important;
  border: none !important;
  border-radius: 0;
  background: var(--fd-surface) !important;
  background-image: none !important;
  color: var(--fd-text) !important;
  font-weight: 700;
}

.ui-datepicker.fd-datepicker .ui-datepicker-title {
  line-height: 40px !important;
  color: var(--fd-text);
  text-transform: none;
  font-size: 13px;
  font-weight: 700;
}

.ui-datepicker.fd-datepicker .ui-datepicker-prev,
.ui-datepicker.fd-datepicker .ui-datepicker-next {
  top: 4px !important;
  width: 32px !important;
  height: 32px !important;
  border: none !important;
  border-radius: var(--fd-radius-sm);
  background-color: transparent !important;
  cursor: pointer;
}

.ui-datepicker.fd-datepicker .ui-datepicker-prev {
  left: 4px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23c8d0d8' d='M8.2 1.1L3.3 6l4.9 4.9-1.1 1.1L1.1 6l6-6z'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 10px 10px !important;
}

.ui-datepicker.fd-datepicker .ui-datepicker-next {
  right: 4px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23c8d0d8' d='M3.8 1.1l6 6-6 6-1.1-1.1L7.6 6 2.7 1.1z'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 10px 10px !important;
}

.ui-datepicker.fd-datepicker .ui-datepicker-prev:hover,
.ui-datepicker.fd-datepicker .ui-datepicker-next:hover {
  background-color: rgba(255, 255, 255, 0.06) !important;
}

.ui-datepicker.fd-datepicker .ui-datepicker-prev span,
.ui-datepicker.fd-datepicker .ui-datepicker-next span {
  display: none !important;
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar {
  margin: 0 !important;
  background: var(--fd-surface-2);
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar th {
  background: var(--fd-surface) !important;
  border: 1px solid var(--fd-border) !important;
  color: var(--fd-text-soft);
  font-size: 11px;
  font-weight: 700;
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar th,
.ui-datepicker.fd-datepicker .ui-datepicker-calendar td {
  width: 14.285%;
  border: 1px solid var(--fd-border) !important;
  padding: 0;
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar th span,
.ui-datepicker.fd-datepicker .ui-datepicker-calendar td a,
.ui-datepicker.fd-datepicker .ui-datepicker-calendar td span {
  display: block;
  min-height: 34px;
  line-height: 34px;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  color: var(--fd-text) !important;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar td a:hover {
  background: rgba(127, 180, 32, 0.14) !important;
  color: var(--fd-accent-2) !important;
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar .ui-state-active,
.ui-datepicker.fd-datepicker .ui-datepicker-calendar td a.ui-state-active {
  outline: none;
  background: var(--fd-accent) !important;
  color: #0b0f12 !important;
  font-weight: 800;
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar .ui-state-highlight,
.ui-datepicker.fd-datepicker .ui-datepicker-calendar td a.ui-state-highlight {
  box-shadow: inset 0 0 0 1px var(--fd-accent);
}

.ui-datepicker.fd-datepicker .ui-datepicker-calendar .ui-state-disabled span {
  color: var(--fd-text-soft) !important;
  opacity: 0.35;
}

/* Gift card: same 2-up attribute cards; kill legacy BlackShop light inputs + extra gap */
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard,
.html-product-details-page .fd-buy-box .fd-gift-card-detail.fd-giftcard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--fd-panel-gap, 15px);
  align-items: start;
  margin: 0 0 var(--fd-panel-gap, 15px);
  overflow: visible;
  flex-wrap: nowrap;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-giftcard__field,
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-procuct-each-attribute {
  width: auto;
  margin: 0;
  margin-left: 0;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-giftcard__field--full,
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-procuct-each-attribute:has(textarea) {
  grid-column: 1 / -1;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-product-attrubute-label .text-prompt {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--fd-text);
  font-weight: 700;
  font-size: 13px;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input input,
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 42px;
  height: auto;
  margin: 0;
  padding: 10px 12px;
  border-radius: var(--fd-radius-sm);
  border: 1px solid var(--fd-border) !important;
  border-width: 1px !important;
  background: var(--fd-input) !important;
  color: var(--fd-text) !important;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input textarea {
  min-height: 96px;
  height: auto;
  line-height: 1.45;
  resize: vertical;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input input::placeholder,
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input textarea::placeholder {
  color: var(--fd-text-soft);
  opacity: 0.75;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input input:hover,
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input textarea:hover {
  border-color: var(--fd-border-strong) !important;
}

.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input input:focus,
.html-product-details-page .fd-buy-box .giftcard.fd-giftcard .fd-text-input textarea:focus {
  outline: none;
  border-color: var(--fd-accent) !important;
  box-shadow: 0 0 0 2px rgba(127, 180, 32, 0.16);
}

@media (max-width: 767px) {
  .html-product-details-page .fd-buy-box .giftcard.fd-giftcard,
  .html-product-details-page .fd-buy-box .fd-gift-card-detail.fd-giftcard {
    grid-template-columns: 1fr;
  }
}

/* 2-up grid for compact controls (dropdowns / text); wide types span full row */
.html-product-details-page .fd-buy-box .fd-product-attributes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--fd-panel-gap, 15px);
  align-items: start;
  margin: 0 0 var(--fd-panel-gap, 15px);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute,
.html-product-details-page .fd-buy-box .attribute-item,
.html-product-details-page .fd-buy-box .attributes dl {
  background: var(--fd-surface-2);
  border: 1px solid var(--fd-border);
  border-radius: var(--fd-radius-md);
  color: var(--fd-text);
  box-sizing: border-box;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute {
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 12px 14px;
  vertical-align: top;
}

/* Keep every attribute in the 2-column grid (dropdown, radio, checkbox, …).
   Only truly tall free-form controls span the full row. */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute:has(textarea),
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute:has(.qq-upload-button) {
  grid-column: 1 / -1;
}

.html-product-details-page .fd-buy-box .fd-product-attrubute-label,
.html-product-details-page .fd-buy-box .attributes .text-prompt,
.html-product-details-page .fd-buy-box .attributes dt {
  position: relative;
  color: var(--fd-text);
  text-align: left;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  padding-bottom: 0;
}

.html-product-details-page .fd-buy-box .fd-product-attrubute-label .text-prompt {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.html-product-details-page .fd-buy-box .fd-product-attrubute-label .required,
.html-product-details-page .fd-buy-box .fd-product-attrubute-label .linearicons-sun-small {
  display: none !important;
}

.html-product-details-page .fd-buy-box .fd-product-attrubute-label .fd-required-marker {
  color: var(--fd-danger, #e35d6a);
  font-weight: 900;
  line-height: 1;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value {
  padding-top: 10px;
  border-top: 1px solid var(--fd-border);
  color: var(--fd-text);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .attribute-description {
  color: var(--fd-text-soft);
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
}

/* Attribute dropdown chrome: shared in fallens/forms.css (+ --fd-select-* tokens).
   Keep only buy-box stacking + price/name layout here. */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-select.is-open {
  z-index: 40;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-select__trigger .fd-attr-option__name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-select__trigger .fd-attr-option__price {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--fd-accent-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-select__option {
  justify-content: space-between;
}

/* Truncated attribute name tip: auto-scrolling toolbox; price stays in the row.
   Fixed positioning avoids clipping by the scrollable dropdown menu. */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip,
.fd-attr-marquee-tip {
  position: fixed;
  z-index: 1400;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid var(--fd-border-strong, rgba(127, 180, 32, 0.38));
  border-radius: var(--fd-radius-sm, 6px);
  background: var(--fd-bg-2, #0b1014);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip[hidden],
.fd-attr-marquee-tip[hidden] {
  display: none !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip__viewport,
.fd-attr-marquee-tip__viewport {
  overflow: hidden;
  width: 100%;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip__text,
.fd-attr-marquee-tip__text {
  display: inline-block;
  max-width: none;
  color: var(--fd-text, #f2f5f3);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
  will-change: transform;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip.is-active .fd-attr-marquee-tip__text,
.fd-attr-marquee-tip.is-active .fd-attr-marquee-tip__text {
  animation-name: fd-attr-marquee-scroll;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: var(--fd-marquee-duration, 4s);
}

@keyframes fd-attr-marquee-scroll {
  0%,
  14% {
    transform: translateX(0);
  }

  86%,
  100% {
    transform: translateX(calc(-1 * var(--fd-marquee-distance, 0px)));
  }
}

@media (prefers-reduced-motion: reduce) {
  .html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip.is-active .fd-attr-marquee-tip__text,
  .fd-attr-marquee-tip.is-active .fd-attr-marquee-tip__text {
    animation: none;
  }

  .html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-marquee-tip__text,
  .fd-attr-marquee-tip__text {
    white-space: normal;
  }
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-select__option .fd-attr-option__name {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-select__option .fd-attr-option__price {
  flex: 0 0 auto;
  margin-left: auto;
  text-align: right;
  color: var(--fd-accent-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .date-picker-wrapper {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .date-picker-wrapper select {
  display: block;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  min-height: var(--fd-select-trigger-min-height);
  height: var(--fd-select-trigger-min-height);
  margin: 0 !important;
  padding: 0 var(--fd-select-trigger-pad-end) 0 var(--fd-select-trigger-pad-x) !important;
  border-radius: var(--fd-radius-sm);
  border: 1px solid var(--fd-border) !important;
  background-color: var(--fd-input) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239aa3ad' d='M1.1 1.2l4.9 4.9 4.9-4.9 1.1 1.1-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-position: right 12px center !important;
  background-size: 10px 7px !important;
  background-repeat: no-repeat !important;
  color: var(--fd-text) !important;
  font-size: 13px;
  font-weight: 600;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .date-picker-wrapper select:hover {
  border-color: var(--fd-border-strong) !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .date-picker-wrapper select:focus,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .date-picker-wrapper select:focus-visible {
  outline: none;
  border-color: var(--fd-accent) !important;
  box-shadow: 0 0 0 2px rgba(127, 180, 32, 0.16);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input input,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input textarea,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qty-box input,
.html-product-details-page .fd-buy-box .attributes input[type="text"],
.html-product-details-page .fd-buy-box .attributes textarea,
.html-product-details-page .fd-buy-box .giftcard input,
.html-product-details-page .fd-buy-box .giftcard textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 10px 12px;
  border-radius: var(--fd-radius-sm);
  border: 1px solid var(--fd-border) !important;
  background: var(--fd-input) !important;
  color: var(--fd-text) !important;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input textarea,
.html-product-details-page .fd-buy-box .attributes textarea,
.html-product-details-page .fd-buy-box .giftcard textarea {
  min-height: 96px;
  line-height: 1.45;
  resize: vertical;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input input:hover,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input textarea:hover,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qty-box input:hover,
.html-product-details-page .fd-buy-box .giftcard input:hover,
.html-product-details-page .fd-buy-box .giftcard textarea:hover {
  border-color: var(--fd-border-strong) !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input input:focus,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-product-attrubute-value .fd-text-input textarea:focus,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qty-box input:focus,
.html-product-details-page .fd-buy-box .giftcard input:focus,
.html-product-details-page .fd-buy-box .giftcard textarea:focus {
  outline: none;
  border-color: var(--fd-accent) !important;
  box-shadow: 0 0 0 2px rgba(127, 180, 32, 0.16);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qty-box {
  margin-top: 8px;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qty-box label {
  display: block;
  margin-bottom: 4px;
  color: var(--fd-text-soft);
  font-size: 12px;
  font-weight: 600;
}

/* Option lists: radio / checkbox */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list:not(.attribute-squares) {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list li,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list li {
  margin: 0;
  position: relative;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input[type="radio"],
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input[type="checkbox"] {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  display: block !important;
  pointer-events: none;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input + label,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input + label {
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 8px 12px 8px 38px !important;
  border: 1px solid var(--fd-border) !important;
  border-radius: var(--fd-radius-sm);
  background: var(--fd-input) !important;
  color: var(--fd-text) !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-option__name {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-attr-option__price {
  flex: 0 0 auto;
  margin-left: auto;
  text-align: right;
  color: var(--fd-accent-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input + label:hover,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input + label:hover {
  border-color: var(--fd-border-accent) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--fd-text) !important;
}

/* Kill legacy light radio/checkbox indicators */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input + label:before,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input + label:after,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input + label:before,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input + label:after {
  content: "" !important;
  box-sizing: border-box;
  transform: none !important;
  opacity: 1 !important;
  border-radius: 0;
  background: transparent;
}

/* Radio indicator */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input + label:before {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: -9px;
  border: 1.5px solid var(--fd-border-strong) !important;
  border-radius: 50% !important;
  background: var(--fd-surface-2) !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input + label:after {
  position: absolute !important;
  left: 17px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: -4px;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--fd-accent-2) !important;
  opacity: 0 !important;
  transform: scale(0) !important;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input:checked + label:after {
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* Checkbox indicator */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input + label:before {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: -9px;
  border: 1.5px solid var(--fd-border-strong) !important;
  border-radius: 5px !important;
  background: var(--fd-surface-2) !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input + label:after {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  width: 5px !important;
  height: 9px !important;
  margin-top: -6px;
  border: solid #071006 !important;
  border-width: 0 2px 2px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 0 !important;
  transform: rotate(45deg) scale(0.6) !important;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input:checked + label:before {
  border-color: var(--fd-accent) !important;
  background: linear-gradient(135deg, var(--fd-accent) 0%, var(--fd-accent-2) 100%) !important;
  box-shadow: 0 0 0 2px var(--fd-accent-soft);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input:checked + label:after {
  opacity: 1 !important;
  transform: rotate(45deg) scale(1) !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input:checked + label,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input:checked + label {
  border-color: var(--fd-accent) !important;
  background: var(--fd-accent-soft) !important;
  color: var(--fd-accent-2) !important;
  box-shadow: 0 0 0 1px var(--fd-accent-soft);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input:checked + label .fd-attr-option__price,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input:checked + label .fd-attr-option__price {
  color: var(--fd-accent-2);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input:checked + label:before {
  border-color: var(--fd-accent) !important;
  background: var(--fd-surface-2) !important;
  box-shadow: 0 0 0 2px var(--fd-accent-soft);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-radio-btn-list input:focus-visible + label,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input:focus-visible + label {
  outline: 2px solid var(--fd-accent-2);
  outline-offset: 2px;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .fd-checkbox-btn-list input:disabled + label {
  opacity: 0.55;
  cursor: default;
}

/* Color / image squares */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares li {
  margin: 0;
  position: relative;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares label {
  display: block;
  margin: 0;
  padding: 0 !important;
  cursor: pointer;
  color: var(--fd-text);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares label:before,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares label:after {
  content: none !important;
  display: none !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares .attribute-square-container {
  display: block;
  padding: 3px;
  border: 1px solid var(--fd-border);
  border-radius: var(--fd-radius-sm);
  background: var(--fd-input);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares .attribute-square {
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-sizing: border-box;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares.color-squares .attribute-square {
  border-radius: 50%;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares li:hover .attribute-square-container {
  border-color: var(--fd-border-accent);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares li.selected-value .attribute-square-container {
  border-color: var(--fd-accent);
  box-shadow: 0 0 0 2px var(--fd-accent-soft);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.color-squares li.selected-value::before {
  content: "\ec34";
  font-family: "Linearicons";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-size: 14px;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
  pointer-events: none;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.attribute-squares input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none;
  width: 1px;
  height: 1px;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.image-squares .tooltip-container {
  background: var(--fd-surface-2);
  border: 1px solid var(--fd-border);
  color: var(--fd-text);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .option-list.image-squares .tooltip-header {
  color: var(--fd-text);
}

/* File upload attribute */
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qq-upload-button,
.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qq-upload-list {
  color: var(--fd-text);
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qq-upload-button {
  background: var(--fd-input) !important;
  border: 1px solid var(--fd-border-strong) !important;
  border-radius: var(--fd-radius-sm);
  color: var(--fd-text) !important;
}

.html-product-details-page .fd-buy-box .fd-procuct-each-attribute .qq-upload-button:hover {
  border-color: var(--fd-border-accent) !important;
  color: var(--fd-accent-2) !important;
}


/* Tier prices — FALLENS cards, 3-up on desktop (leftover stays one cell) */
.html-product-details-page .fd-buy-box .tier-prices.fd-tier-prices,
.html-product-details-page .fd-buy-box .tier-prices {
  margin: 0 0 14px;
  padding: 12px 14px 14px;
  border: 1px solid var(--fd-border, rgba(255, 255, 255, 0.09));
  border-left: 3px solid var(--fd-accent, #7fb420);
  border-radius: var(--fd-radius-md, 10px);
  background:
    linear-gradient(120deg, rgba(127, 180, 32, 0.06), transparent 42%),
    rgba(7, 10, 13, 0.35);
  box-shadow: none;
}

.html-product-details-page .fd-buy-box .tier-prices .title,
.html-product-details-page .fd-buy-box .fd-tier-prices__title {
  display: block !important;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fd-muted, #9aa6a0);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.3;
}

.html-product-details-page .fd-buy-box .tier-prices .title strong,
.html-product-details-page .fd-buy-box .fd-tier-prices__title strong {
  color: inherit;
  font-weight: inherit;
}

.html-product-details-page .fd-buy-box .fd-tier-prices__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.html-product-details-page .fd-buy-box .fd-tier-prices__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.28);
  box-sizing: border-box;
}

.html-product-details-page .fd-buy-box .fd-tier-prices__qty,
.html-product-details-page .fd-buy-box .fd-tier-prices__price {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  line-height: 1.2;
}

.html-product-details-page .fd-buy-box .fd-tier-prices__qty-label,
.html-product-details-page .fd-buy-box .fd-tier-prices__price-label {
  color: var(--fd-muted, #9aa6a0);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.html-product-details-page .fd-buy-box .fd-tier-prices__qty-value,
.html-product-details-page .fd-buy-box .tier-prices .item-quantity {
  color: var(--fd-text, #f2f5f3);
  font-size: 14px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.html-product-details-page .fd-buy-box .fd-tier-prices__price-value,
.html-product-details-page .fd-buy-box .tier-prices .item-price {
  color: var(--fd-accent-2, #9bd739);
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1100px) {
  .html-product-details-page .fd-buy-box .fd-tier-prices__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .html-product-details-page .fd-buy-box .fd-tier-prices__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Add to cart row */

.html-product-details-page .fd-buy-box .add-to-cart,
.html-product-details-page .fd-buy-box .fd-buy-box__cart {
  margin: 0 0 12px;
}

.html-product-details-page .fd-buy-box .add-to-cart-panel,
.html-product-details-page .fd-buy-box .fd-buy-box__cart-panel {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}

.html-product-details-page .fd-buy-box .add-to-cart-panel > * {
  float: none;
}

.html-product-details-page .fd-buy-box .qty-label {
  display: none !important;
}

.html-product-details-page .fd-buy-box .fd-qty-stepper,
.html-product-details-page .fd-buy-box .qty-dropdown {
  flex: 0 0 auto;
  min-height: 48px;
  min-width: 0;
}

.html-product-details-page .fd-buy-box .fd-qty-stepper {
  width: auto;
}

.html-product-details-page .fd-buy-box .fd-qty-stepper__btn {
  min-height: 48px;
}

.html-product-details-page .fd-buy-box .fd-qty-stepper__input,
.html-product-details-page .fd-buy-box .qty-input {
  width: 52px;
  min-height: 48px;
  height: auto;
  padding: 0 6px;
  border: 0;
  background: transparent;
  color: var(--fd-text);
  text-align: center;
  font-size: 15px;
  font-weight: 700;
}

.html-product-details-page .fd-buy-box .qty-dropdown {
  min-height: 48px;
  min-width: 88px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--fd-radius-sm);
  background: var(--fd-input);
  color: var(--fd-text);
  font-size: 15px;
  font-weight: 700;
}

.html-product-details-page .fd-buy-box .fd-add-to-cart-button,
.html-product-details-page .fd-buy-box .add-to-cart-panel .button-1 {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  min-height: 48px;
  margin: 0;
  height: auto;
  box-shadow: 0 14px 36px rgba(127, 180, 32, 0.22);
}

.html-product-details-page .fd-buy-box .min-qty-notification,
.html-product-details-page .fd-buy-box .pre-order-availability-date {
  margin: 0 0 10px;
  color: var(--fd-warning);
  font-size: 13px;
}

/* Customer-entered price — accent callout (pay-what-you-want), separate from sample link */
.html-product-details-page .fd-buy-box .customer-entered-price.fd-customer-price,
.html-product-details-page .fd-buy-box .fd-customer-price {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 14px 16px 16px;
  box-sizing: border-box;
  background: var(--fd-surface-2);
  border: 1px solid var(--fd-border);
  border-left: 3px solid var(--fd-accent);
  border-radius: var(--fd-radius-md);
  color: var(--fd-text);
}

.html-product-details-page .fd-buy-box .fd-customer-price__field,
.html-product-details-page .fd-buy-box .fd-customer-price .price-input {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

.html-product-details-page .fd-buy-box .fd-customer-price__label,
.html-product-details-page .fd-buy-box .fd-customer-price .enter-price-label {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--fd-text) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
}

.html-product-details-page .fd-buy-box .fd-customer-price__control {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}

.html-product-details-page .fd-buy-box .fd-customer-price__input,
.html-product-details-page .fd-buy-box .fd-customer-price .enter-price-input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 52px;
  margin: 0;
  padding: 12px 16px;
  border-radius: var(--fd-radius-sm);
  border: 1px solid var(--fd-border) !important;
  background: var(--fd-input) !important;
  color: var(--fd-text) !important;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.html-product-details-page .fd-buy-box .fd-customer-price__input:hover,
.html-product-details-page .fd-buy-box .fd-customer-price .enter-price-input:hover {
  border-color: var(--fd-border-strong) !important;
}

.html-product-details-page .fd-buy-box .fd-customer-price__input:focus,
.html-product-details-page .fd-buy-box .fd-customer-price .enter-price-input:focus {
  outline: none;
  border-color: var(--fd-accent) !important;
  box-shadow: 0 0 0 2px rgba(127, 180, 32, 0.18);
}

.html-product-details-page .fd-buy-box .fd-customer-price__hint,
.html-product-details-page .fd-buy-box .fd-customer-price .price-range {
  margin: 0;
  color: var(--fd-text-soft) !important;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

/* Wishlist / secondary actions — 3 → 2 → 1 by buy-box width */

.html-product-details-page .fd-buy-box .overview-buttons,
.html-product-details-page .fd-buy-box .fd-buy-box__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 10px;
  font-size: inherit;
}

.html-product-details-page .fd-buy-box .overview-buttons:last-child,
.html-product-details-page .fd-buy-box .fd-buy-box__actions:last-child {
  margin-bottom: 0;
}

.html-product-details-page .fd-buy-box .overview-buttons > div,
.html-product-details-page .fd-buy-box .fd-buy-box__wishlist,
.html-product-details-page .fd-buy-box .compare-products,
.html-product-details-page .fd-buy-box .email-a-friend {
  width: auto;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.html-product-details-page .fd-buy-box .fd-buy-box__wishlist .fd-add-to-wishlist-button,
.html-product-details-page .fd-buy-box .fd-buy-box__wishlist .button-2,
.html-product-details-page .fd-buy-box .compare-products .button-2,
.html-product-details-page .fd-buy-box .email-a-friend .button-2,
.html-product-details-page .fd-buy-box .email-a-friend a.email-a-friend-button,
.html-product-details-page .fd-buy-box .compare-products button,
.html-product-details-page .fd-buy-box .email-a-friend button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
  overflow: hidden;
}

/* Buy-box width (desktop half-column) */
@container fd-buy-box (max-width: 500px) {
  .overview-buttons,
  .fd-buy-box__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container fd-buy-box (max-width: 340px) {
  .overview-buttons,
  .fd-buy-box__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Viewport: stacked PDP buy-box ≈ full width; support down to 320 */
@media (max-width: 480px) {
  .html-product-details-page .fd-buy-box .overview-buttons,
  .html-product-details-page .fd-buy-box .fd-buy-box__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  .html-product-details-page .fd-buy-box .overview-buttons,
  .html-product-details-page .fd-buy-box .fd-buy-box__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

.html-product-details-page .fd-buy-box .estimate-shipping {
  margin: 0;
}

/* Estimate shipping trigger on PDP (overrides legacy light .product-estimate-shipping) */
.html-product-details-page .fd-buy-box .product-estimate-shipping,
.html-product-details-page .fd-buy-box .fd-product-estimate-shipping {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--fd-border) !important;
  border-radius: var(--fd-radius-md) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0)),
    var(--fd-card) !important;
  box-shadow: none !important;
  color: var(--fd-text) !important;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .open-estimate-shipping-popup,
.html-product-details-page .fd-buy-box .fd-product-estimate-shipping__trigger {
  display: block !important;
  width: 100%;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .shipping-title {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 6px !important;
  justify-content: flex-start !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3;
  color: var(--fd-text) !important;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .shipping-price-title {
  color: var(--fd-text) !important;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .shipping-price {
  margin-left: 0 !important;
  color: var(--fd-accent-2) !important;
  font-variant-numeric: tabular-nums;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .shipping-loading {
  margin-left: 4px !important;
  opacity: 0.75;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .estimated-delivery,
.html-product-details-page .fd-buy-box .product-estimate-shipping .shipping-address {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1.45;
  color: var(--fd-muted) !important;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .shipping-date {
  margin-top: 4px !important;
  width: 100%;
  color: var(--fd-text-soft) !important;
  font-size: 12px;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .arrow-down {
  margin: 0 0 2px 2px !important;
  border-color: var(--fd-accent) !important;
  border-width: 0 1.5px 1.5px 0 !important;
  padding: 3px !important;
  opacity: 0.9;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping:hover,
.html-product-details-page .fd-buy-box .product-estimate-shipping:focus-within {
  border-color: var(--fd-border-strong) !important;
}

.html-product-details-page .fd-buy-box .product-estimate-shipping .open-estimate-shipping-popup:focus-visible {
  outline: 2px solid var(--fd-accent);
  outline-offset: 2px;
  border-radius: var(--fd-radius-sm);
}

.html-product-details-page .fd-buy-box .discontinued-product {
  background: rgba(255, 79, 79, 0.1);
  border: 1px solid rgba(255, 79, 79, 0.35);
  border-radius: var(--fd-radius-md);
  margin: 0 0 14px;
  padding: 10px 12px;
}

.html-product-details-page .fd-buy-box .discontinued-product h4 {
  margin: 0;
  padding: 0;
  background: none;
  color: var(--fd-danger);
  font-size: 14px;
}

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
  .html-product-details-page .product-essential.fd-product-essential,
  .html-product-details-page .fd-product-essential {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--fd-panel-gap, 15px);
  }
}

@media (max-width: 1024px) {
  /* Gallery + buy box still side by side; buy box is narrower → attributes 1 col */
  .html-product-details-page .product-essential.fd-product-essential,
  .html-product-details-page .fd-product-essential {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--fd-panel-gap, 15px);
  }

  .html-product-details-page .fd-buy-box .fd-product-attributes {
    grid-template-columns: 1fr;
  }

  /*
    Keep main image + thumbs side-by-side.
    Beat legacy responsive.css (.gallery-inner{display:block} / :before 500px).
  */
  .html-product-details-page .fd-product-gallery .gallery-inner {
    display: flex !important;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 12px;
    max-width: 100%;
    min-width: 0;
  }

  .html-product-details-page .fd-product-gallery .picture {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .html-product-details-page .fd-product-gallery .picture:before {
    content: none !important;
    display: none !important;
    padding-top: 0 !important;
  }

  .html-product-details-page .fd-product-gallery .picture img.fd-gallery-main,
  .html-product-details-page .fd-product-gallery .picture img {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
  }

  .html-product-details-page .fd-product-gallery .picture-thumbs,
  .html-product-details-page .fd-product-gallery .xzoom-thumbs {
    display: flex;
    flex-direction: column;
    width: 72px;
    flex: 0 0 72px;
    max-width: 72px;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: min(420px, 70vh);
    padding-bottom: 0;
  }

  .html-product-details-page .fd-product-gallery .picture-thumbs .thumb-item,
  .html-product-details-page .fd-product-gallery .xzoom-thumbs .thumb-item {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
  }
}

/* From 768 down: stack gallery above buy box */
@media (max-width: 768px) {
  .html-product-details-page .product-essential.fd-product-essential,
  .html-product-details-page .fd-product-essential {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fd-panel-gap, 15px);
  }

  .html-product-details-page .fd-product-media,
  .html-product-details-page .fd-product-media__pin,
  .html-product-details-page .fd-product-gallery,
  .html-product-details-page .fd-product-gallery .gallery-inner {
    max-width: 100%;
    min-width: 0;
  }

  .html-product-details-page .fd-product-media__pin {
    position: static;
    top: auto;
    width: 100%;
  }

  .html-product-details-page .gallery.fd-product-gallery,
  .html-product-details-page .fd-product-gallery {
    width: 100% !important;
    float: none !important;
  }

  .html-product-details-page .fd-product-gallery .picture {
    width: auto !important;
    max-width: 100% !important;
  }
}

/* 426–768: full-width buy box → attributes side by side */
@media (max-width: 768px) and (min-width: 426px) {
  .html-product-details-page .fd-buy-box .fd-product-attributes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ≤425: attributes under each other */
@media (max-width: 425px) {
  .html-product-details-page .fd-buy-box .fd-product-attributes {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 576px) {
  .html-product-details-page .fd-buy-box {
    padding: 16px;
  }

  /* Qty + buy stay in one row down to 320 — shrink button, do not stack */
  .html-product-details-page .fd-buy-box .add-to-cart-panel,
  .html-product-details-page .fd-buy-box .fd-buy-box__cart-panel {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .html-product-details-page .fd-buy-box .fd-qty-stepper {
    flex: 0 0 auto;
    width: auto;
  }

  .html-product-details-page .fd-buy-box .fd-add-to-cart-button,
  .html-product-details-page .fd-buy-box .add-to-cart-panel .button-1 {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
  }

  .html-product-details-page .fd-product-gallery {
    padding: 0;
  }
}

/* Narrow phones (incl. 320): keep ±, drop bag icon, compact stepper */
@media (max-width: 380px) {
  .html-product-details-page .fd-buy-box .add-to-cart-panel,
  .html-product-details-page .fd-buy-box .fd-buy-box__cart-panel {
    gap: 6px;
  }

  .html-product-details-page .fd-buy-box .fd-add-to-cart-button .linearicons-bag2,
  .html-product-details-page .fd-buy-box .add-to-cart-panel .button-1 .linearicons-bag2 {
    display: none !important;
  }

  .html-product-details-page .fd-buy-box .fd-qty-stepper {
    min-height: 44px;
  }

  .html-product-details-page .fd-buy-box .fd-qty-stepper__btn {
    min-width: 34px;
    width: 34px;
    min-height: 44px;
    padding: 0;
    font-size: 16px;
  }

  .html-product-details-page .fd-buy-box .fd-qty-stepper__input,
  .html-product-details-page .fd-buy-box .qty-input {
    width: 40px;
    min-height: 44px;
    font-size: 14px;
    padding: 0 2px;
  }

  .html-product-details-page .fd-buy-box .fd-add-to-cart-button,
  .html-product-details-page .fd-buy-box .add-to-cart-panel .button-1 {
    min-height: 44px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13px;
    letter-spacing: 0.02em;
  }
}
