/* BodyFrank product page – premium, restrained look (product pages only).
   Monochrome base, one accent (fire orange) used sparingly, clean sans typography, generous whitespace. */
.single-product {
  --pp-ink: #0f1115;
  --pp-muted: #5f6570;
  --pp-soft: #f3f3f4;
  --pp-line: #e7e7ea;
  --pp-accent: #ff5a00;
}

/* Typography: clean sans, sentence case, tight tracking */
.single-product .product_title,
.single-product .bf-pdp-section .bf-title,
.single-product .bf-band .bf-title,
.single-product .related > h2 {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: -0.025em !important;
  line-height: 1.08 !important;
}
.single-product .product_title { font-size: clamp(2rem, 3vw, 2.75rem) !important; color: var(--pp-ink); margin: 6px 0 12px !important; }
.single-product .bf-pdp-section .bf-title, .single-product .bf-band .bf-title { font-size: clamp(1.8rem, 3vw, 2.6rem) !important; }
.single-product .bf-kicker { color: var(--pp-muted) !important; letter-spacing: 0.16em; font-size: 0.7rem; }
.single-product .bf-band .bf-kicker { color: #ff8a3d !important; }

/* Eyebrow: plain, quiet */
.single-product .bf-eyebrow span { padding: 0; background: none; color: var(--pp-ink); font-size: 0.72rem; letter-spacing: 0.2em; }
.single-product .bf-eyebrow span::after { content: ''; display: inline-block; width: 18px; height: 2px; margin: 0 0 3px 10px; background: var(--pp-accent); vertical-align: middle; }
.single-product .bf-eyebrow em { color: var(--pp-muted); letter-spacing: 0.12em; }

/* Price: solid, confident */
.single-product .summary > .price:not(.price-unit) {
  font-family: 'Inter', system-ui, sans-serif !important; font-style: normal !important; font-weight: 800 !important;
  font-size: clamp(1.7rem, 2.4vw, 2.1rem) !important; letter-spacing: -0.02em;
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: var(--pp-ink) !important;
}
.single-product .summary > .price:not(.price-unit) .amount, .single-product .summary > .price:not(.price-unit) bdi, .single-product .summary > .price:not(.price-unit) .woocommerce-Price-currencySymbol { color: var(--pp-ink) !important; }
.single-product .summary .price-unit { margin-top: 4px !important; }

/* Gallery: calm neutral stage */
.single-product .woocommerce-product-gallery .ct-media-container {
  background: var(--pp-soft) !important; border: 0 !important; border-radius: 16px !important;
}
.single-product .flexy-pills img, .single-product .flexy-pills .ct-media-container { border-radius: 10px !important; background: var(--pp-soft) !important; }

/* Highlights: monochrome list with thin outline icons */
.single-product .summary .bf-highlights { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; margin-top: 22px !important; }
.single-product .summary .bf-highlights li { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; gap: 10px; }
.single-product .summary .bf-highlights__icon { width: 32px; height: 32px; border-radius: 50%; background: var(--pp-soft) !important; box-shadow: none !important; }
.single-product .summary .bf-highlights__icon svg { width: 16px; height: 16px; stroke: var(--pp-ink) !important; stroke-width: 1.8; }
.single-product .summary .bf-highlights strong { font-size: 0.86rem; font-weight: 600; }

/* Delivery + coming soon: neutral */
.single-product .summary .delivery-time-info { background: none !important; padding: 0 !important; color: var(--pp-muted) !important; font-weight: 600 !important; }
.single-product .bf-soon { border: 1px solid var(--pp-line) !important; border-style: solid !important; background: #fff !important; border-radius: 12px !important; }
.single-product .bf-soon__pill { background: var(--pp-ink); }
.single-product .bf-soon a { color: var(--pp-ink) !important; text-decoration: underline; }

/* Buy button: solid black, accent on hover */
.single-product .single_add_to_cart_button {
  background-image: none !important; background-color: var(--pp-ink) !important; box-shadow: none !important;
  border-radius: 12px !important; letter-spacing: 0.04em;
}
.single-product .single_add_to_cart_button:hover { background-color: var(--pp-accent) !important; filter: none !important; }
.single-product .quantity[data-type] { border-radius: 12px !important; }

/* Trust row: understated */
.single-product .bf-ptrust li { background: #fff !important; }
.single-product .bf-ptrust svg { stroke: var(--pp-ink) !important; stroke-width: 1.6; }
.single-product .bf-ppay b { font-weight: 600; }

/* Rating line */
.single-product .bf-rev-mini { color: var(--pp-muted) !important; }

/* Accordions: editorial */
.single-product .bf-acc { border-top: 1px solid var(--pp-ink); }
.single-product .bf-acc__item summary {
  font-family: 'Inter', system-ui, sans-serif; font-style: normal; text-transform: none; font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; padding: 20px 0;
}
.single-product .bf-acc__item summary svg { display: none; }
.single-product .bf-acc__item summary:hover span { color: var(--pp-ink); text-decoration: underline; text-underline-offset: 4px; }
.single-product .bf-nutri h3 { font-family: 'Inter', sans-serif !important; font-style: normal; text-transform: none; font-weight: 700; font-size: 0.95rem !important; }
.single-product .bf-nutri h3 svg { stroke: var(--pp-ink); }
.single-product .bf-nutri__table, .single-product .bf-nutri__block, .single-product .bf-tab-card { border-radius: 12px !important; border-top: 1px solid var(--pp-line) !important; }
.single-product .bf-tab-card h3 { font-family: 'Inter', sans-serif !important; font-style: normal; text-transform: none; font-weight: 700; }
.single-product .bf-tab-card a { color: var(--pp-ink); text-decoration: underline; }

/* Benefits band: deep, refined */
.single-product .bf-band__inner { border-radius: 20px; background: #0f1115; }
.single-product .bf-band__inner::before {
  content: ''; position: absolute; right: -10%; top: -40%; width: 60%; height: 140%; z-index: -1;
  background: radial-gradient(closest-side, rgb(255 90 0 / 0.28), transparent); pointer-events: none;
}
.single-product .bf-band__card { border-radius: 14px; background: rgb(255 255 255 / 0.04); border-color: rgb(255 255 255 / 0.08); }
.single-product .bf-band__icon { width: 40px; height: 40px; border-radius: 50%; background: none !important; border: 1px solid rgb(255 138 61 / 0.6); box-shadow: none !important; }
.single-product .bf-band__icon svg { width: 20px; height: 20px; stroke: #ff8a3d !important; stroke-width: 1.7; }
.single-product .bf-band__card strong { font-family: 'Inter', sans-serif; font-style: normal; text-transform: none; font-weight: 800; font-size: 1.15rem; letter-spacing: -0.01em; }
.single-product .bf-band__img { opacity: 0.22; filter: grayscale(0.2); }

/* Reviews: clean */
.single-product .bf-rev-summary { border-radius: 16px; }
.single-product .bf-rev-avg { font-family: 'Inter', sans-serif; font-style: normal; font-weight: 800; letter-spacing: -0.03em; }
.single-product .bf-rev-bars__track span { background: var(--pp-ink); }
.single-product .bf-rev-cta .bf-btn { background: var(--pp-ink) !important; }

/* Product cards inside the product page */
.single-product ul.products li.product .woocommerce-loop-product__title { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 700 !important; letter-spacing: -0.01em; }
.single-product ul.products li.product .ct-media-container { background: var(--pp-soft) !important; }
.single-product .bf-badge-new { background: #fff; color: var(--pp-ink); border: 1px solid var(--pp-line); }

@media (max-width: 479px) {
  .single-product .summary .bf-highlights { grid-template-columns: 1fr; }
}

/* Section already has a heading */
.single-product .bf-pdp-section .woocommerce-Reviews-title { display: none !important; }
.single-product #review_form #reply-title { font-family: "Inter", sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 700; }
