/* BodyFrank product page – premium layout. Loaded on single product pages only. */

/* Two columns: sticky gallery left, summary right */
.single-product .product-entry-wrapper { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important; gap: clamp(28px, 4vw, 72px) !important; }
@media (min-width: 990px) {
  .single-product .woocommerce-product-gallery { position: sticky; top: 110px; align-self: start; }
  .single-product .summary { position: static !important; }
}
.single-product .woocommerce-product-gallery .ct-media-container { aspect-ratio: 1 / 1; border-radius: 24px !important; }
.single-product .woocommerce-product-gallery img { padding: 8% !important; }
.single-product .flexy-pills, .single-product .ct-product-gallery-container + .flexy-pills { margin-top: 12px; }

/* Eyebrow */
.bf-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 10px !important; }
.bf-eyebrow span { padding: 4px 10px; border-radius: 6px; background: var(--bf-fire); color: #fff; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.bf-eyebrow em { font-style: normal; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a9099; }

/* Summary spacing rhythm */
.single-product .summary > * + * { margin-top: 0; }
.single-product .summary .woocommerce-product-details__short-description { margin: 14px 0 0 !important; font-size: 1.02rem; }
.single-product .summary .bf-highlights { margin-top: 20px !important; }
.single-product .summary .ct-product-divider { display: none !important; }
.single-product .summary .ct-product-add-to-cart, .single-product .summary .bf-soon { margin-top: 20px !important; }
.single-product .summary .product_meta { display: none !important; }

/* Accordions */
.bf-acc { margin-top: 26px; border-top: 1px solid var(--bf-line); }
.bf-acc__item { border-bottom: 1px solid var(--bf-line); }
.bf-acc__item summary {
  display: flex; align-items: center; gap: 12px; padding: 18px 2px; cursor: pointer; list-style: none;
  font-family: var(--bf-heading); font-size: 1.05rem; font-weight: 700; font-style: italic; text-transform: uppercase; color: var(--bf-ink);
}
.bf-acc__item summary::-webkit-details-marker { display: none; }
.bf-acc__item summary svg { width: 20px; height: 20px; fill: none; stroke: #e8530b; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bf-acc__item summary span { flex: 1; }
.bf-acc__item summary i { position: relative; width: 14px; height: 14px; }
.bf-acc__item summary i::before, .bf-acc__item summary i::after { content: ''; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; border-radius: 2px; background: var(--bf-ink); transition: transform 0.25s ease; }
.bf-acc__item summary i::after { transform: rotate(90deg); }
.bf-acc__item[open] summary i::after { transform: rotate(0deg); }
.bf-acc__item summary:hover span { color: #e8530b; }
.bf-acc__body { padding: 0 2px 22px; color: var(--bf-muted); font-size: 0.94rem; line-height: 1.7; animation: bf-acc-in 0.3s ease; }
.bf-acc__body > p:first-child { margin-top: 0; }
@keyframes bf-acc-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.bf-acc .bf-nutri { grid-template-columns: minmax(0, 1fr) !important; gap: 12px; }
.bf-acc .bf-tab-grid { grid-template-columns: 1fr !important; gap: 10px; }
.bf-acc .bf-tab-card { padding: 14px 16px; }

/* Benefits band */
.bf-band { margin-top: clamp(48px, 7vw, 96px); }
.bf-band__inner {
  position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px 48px; align-items: center;
  padding: clamp(28px, 5vw, 64px); border-radius: 28px; background: radial-gradient(ellipse 60% 80% at 100% 0%, rgb(255 90 0 / 0.35), transparent 60%), #111317; color: #fff;
}
.bf-band__head .bf-title { margin-top: 6px; }
.bf-band__lead { margin: 14px 0 0; max-width: 46ch; color: rgb(255 255 255 / 0.75); line-height: 1.65; }
.bf-band__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bf-band__card { display: grid; gap: 6px; padding: 20px; border: 1px solid rgb(255 255 255 / 0.1); border-radius: 18px; background: rgb(255 255 255 / 0.05); backdrop-filter: blur(4px); }
.bf-band__icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 6px; border-radius: 14px; background: var(--bf-fire); box-shadow: 0 10px 24px rgb(255 90 0 / 0.35); }
.bf-band__icon svg { width: 24px; height: 24px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bf-band__card strong { font-family: var(--bf-heading); font-size: 1.25rem; font-style: italic; text-transform: uppercase; line-height: 1.05; }
.bf-band__card small { font-size: 0.85rem; color: rgb(255 255 255 / 0.7); }
.bf-band__img { position: absolute; right: -6%; bottom: -14%; width: 38%; max-width: 420px; opacity: 0.16; z-index: -1; pointer-events: none; }
.bf-band__claim { grid-column: 1 / -1; margin: 0; font-size: 0.72rem; color: rgb(255 255 255 / 0.5); }

/* Full-width sections: reviews + recommendations */
.bf-pdp-section { margin-top: clamp(48px, 7vw, 96px); }
.bf-pdp-section__head { margin-bottom: 24px; }
.bf-pdp-section .bf-rev-summary { margin-bottom: 28px; }
.bf-pdp-section #reviews { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.bf-pdp-section #reviews #comments, .bf-pdp-section #reviews #review_form_wrapper { margin: 0; }
.bf-pdp-related ul.products { margin-top: 0 !important; }

@media (max-width: 989px) {
  .single-product .product-entry-wrapper { grid-template-columns: 1fr !important; }
  .bf-band__inner { grid-template-columns: 1fr; }
  .bf-band__img { width: 60%; opacity: 0.1; }
  .bf-pdp-section #reviews { grid-template-columns: 1fr; }
}
@media (max-width: 479px) {
  .bf-band__grid { grid-template-columns: 1fr; }
  .bf-band__inner { border-radius: 20px; }
}

/* In the summary the highlights are compact chips; the large cards live in the benefits band */
.single-product .summary .bf-highlights { display: flex !important; flex-wrap: wrap; gap: 8px; }
.single-product .summary .bf-highlights li { padding: 7px 12px 7px 8px; border-radius: 999px; gap: 8px; }
.single-product .summary .bf-highlights__icon { width: 26px; height: 26px; border-radius: 50%; box-shadow: none; }
.single-product .summary .bf-highlights__icon svg { width: 14px; height: 14px; }
.single-product .summary .bf-highlights strong { font-size: 0.8rem; }
.single-product .summary .bf-highlights small { display: none; }
.single-product .summary .bf-claim { display: none; }

/* Product cards on the product page: plain delivery line, not the big pill */
.single-product ul.products .delivery-time-info { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; color: #6b717b !important; font-weight: 500 !important; font-size: 0.72rem !important; }
.single-product ul.products .delivery-time-info::before { display: none !important; }

@media (max-width: 599px) {
  .bf-acc .bf-nutri__table { padding: 14px; }
  .bf-acc .bf-nutri__table td + td, .bf-acc .bf-nutri__table th + th { white-space: normal !important; padding-left: 8px !important; }
  .bf-acc .bf-nutri__table table { font-size: 0.8rem; }
}
