/* BodyFrank premium layer (site-wide, loaded last).
   Restrained look: clean Inter typography in sentence case, black/white base, fire orange only as a small accent. */
@font-face { font-family: 'Inter'; font-weight: 800; font-display: swap; src: url('fonts/inter-800.woff2') format('woff2'); }

:root {
  --pp-ink: #0f1115;
  --pp-muted: #5f6570;
  --pp-soft: #f3f3f4;
  --pp-line: #e7e7ea;
  --pp-accent: #ff5a00;
  --bf-heading: 'Inter', system-ui, sans-serif;
}

/* ---------- typography ---------- */
body h1, body h2, body h3, body h4, body .page-title, body .bf-title, body .bf-hero__heading,
body .woocommerce-loop-product__title, body .product_title {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: -0.025em !important;
}
body h1, body h2, body .page-title, body .bf-title, body .bf-hero__heading { font-weight: 800 !important; }
body h3, body h4 { font-weight: 700 !important; letter-spacing: -0.01em !important; }
.bf-title { line-height: 1.08 !important; }
.bf-fire-text { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: var(--pp-accent) !important; }
.bf-kicker { color: var(--pp-muted) !important; letter-spacing: 0.18em !important; }
.bf-kicker::before { content: ''; display: inline-block; width: 18px; height: 2px; margin: 0 10px 3px 0; background: var(--pp-accent); vertical-align: middle; }
.bf-kicker--boxed { padding: 0 !important; border: 0 !important; background: none !important; }

/* ---------- buttons ---------- */
.button:not(.button-unstyled), button[type='submit'], .wp-element-button, .ct-button, .bf-btn--fire,
.single_add_to_cart_button, .checkout-button, #place_order, .wc-block-components-button {
  background-image: none !important; background-color: var(--pp-ink) !important; color: #fff !important;
  box-shadow: none !important; border-radius: 12px !important; letter-spacing: 0.04em !important;
}
.button:not(.button-unstyled):hover, button[type='submit']:hover, .bf-btn--fire:hover, .single_add_to_cart_button:hover,
.checkout-button:hover, #place_order:hover { background-color: var(--pp-accent) !important; filter: none !important; box-shadow: none !important; }
.bf-btn--fire::after, .single_add_to_cart_button::after, #place_order::after, .checkout-button::after { display: none !important; }
.bf-btn--outline { border-color: var(--pp-ink) !important; border-radius: 12px !important; }
.bf-btn { border-radius: 12px !important; }

/* ---------- header, menus, mini cart ---------- */
#header [data-id='menu'] > ul > li > a { font-weight: 600 !important; letter-spacing: 0.02em !important; }
#header [data-id='menu'] > ul > li > .sub-menu::before { display: none; }
#header [data-id='menu'] > ul > li.bf-mega > .sub-menu > li > .ct-menu-link { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 700 !important; letter-spacing: -0.01em !important; font-size: 0.9rem !important; }
#header [data-id='menu'] .sub-menu .ct-menu-link:hover { background: var(--pp-soft) !important; color: var(--pp-ink) !important; }
#header [data-id='cart'] .ct-dynamic-count-cart { background: var(--pp-ink) !important; }
#header .ct-cart-content::after { background: var(--pp-ink) !important; height: 2px !important; }
.bf-mini-head strong { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 800 !important; }
#offcanvas .ct-panel-content::before { background: var(--pp-ink) !important; height: 2px !important; }
#offcanvas .mobile-menu a, #offcanvas [data-id='mobile-menu'] a { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 700 !important; letter-spacing: -0.01em; }

/* ---------- homepage ---------- */
.bf-hero { background: linear-gradient(180deg, #fafafa 0%, #f1f1f2 100%) !important; }
.bf-hero__stripes { opacity: 0.18 !important; }
.bf-hero__heading { font-size: clamp(2.6rem, 6vw, 5rem) !important; line-height: 1 !important; letter-spacing: -0.04em !important; }
.bf-hero__text { color: var(--pp-muted) !important; }
.bf-chips a { border-color: var(--pp-line) !important; font-weight: 600 !important; letter-spacing: 0.02em !important; text-transform: none !important; font-size: 0.85rem !important; }
.bf-chips a:hover { border-color: var(--pp-ink) !important; background: #fff !important; }
.bf-usp { background: #fff !important; }
.bf-usp__icon { background: var(--pp-soft) !important; }
.bf-usp__icon svg { stroke: var(--pp-ink) !important; stroke-width: 1.7 !important; }
.bf-usp__list strong { text-transform: none !important; letter-spacing: -0.01em !important; font-size: 0.92rem !important; }

.bf-cat { background: var(--pp-soft) !important; border-color: transparent !important; }
.bf-cat::after { display: none !important; }
.bf-cat:hover { border-color: var(--pp-line) !important; box-shadow: 0 16px 40px rgb(15 17 21 / 0.08) !important; background: #fff !important; }
.bf-cat__icon { background: #fff !important; box-shadow: none !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; }
.bf-cat__icon svg { stroke: var(--pp-ink) !important; stroke-width: 1.7 !important; width: 20px !important; height: 20px !important; }
.bf-cat__label { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 800 !important; letter-spacing: -0.02em; }
.bf-cat__cta { color: var(--pp-muted) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; font-size: 0.82rem !important; }
.bf-cat::before { background: linear-gradient(0deg, rgb(243 243 244 / 0.97) 35%, rgb(243 243 244 / 0)) !important; }
.bf-cat:hover::before { background: linear-gradient(0deg, rgb(255 255 255 / 0.97) 35%, rgb(255 255 255 / 0)) !important; }

.bf-section--soft { background: #fff !important; }
.bf-goal { background: var(--pp-ink) !important; border-radius: 18px !important; }
.bf-goal::after { background: radial-gradient(circle, rgb(255 90 0 / 0.35), transparent 65%) !important; }
.bf-goal__tag { color: #ff8a3d !important; }
.bf-goal__title { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 800 !important; letter-spacing: -0.02em; }
.bf-goal__cta { text-transform: none !important; letter-spacing: 0 !important; }

.bf-marquee__band { background: var(--pp-ink) !important; box-shadow: none !important; transform: none !important; }
.bf-marquee__track span { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 800 !important; letter-spacing: -0.02em; color: #fff !important; }
.bf-marquee__track i { color: var(--pp-accent) !important; }

.bf-promo { background: var(--pp-ink) !important; }
.bf-promo::before { content: ''; position: absolute; right: -10%; top: -60%; width: 60%; height: 220%; z-index: -1; background: radial-gradient(closest-side, rgb(255 90 0 / 0.35), transparent); }
.bf-promo__stripes { display: none !important; }
.bf-promo__kicker { color: #ff8a3d !important; }
.bf-promo .bf-promo__button, .bf-btn--dark { background: #fff !important; color: var(--pp-ink) !important; }
.bf-promo .bf-promo__button:hover, .bf-btn--dark:hover { background: var(--pp-accent) !important; color: #fff !important; }
.bf-about { border-top-color: var(--pp-line) !important; }
.bf-link { color: var(--pp-ink) !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: underline !important; text-underline-offset: 4px; }

/* ---------- product cards ---------- */
ul.products li.product { border-color: transparent !important; background: transparent !important; padding: 0 !important; }
ul.products li.product:hover { box-shadow: none !important; transform: none !important; }
ul.products li.product .ct-media-container { background: var(--pp-soft) !important; border-radius: 14px !important; }
ul.products li.product:hover .ct-media-container img { transform: scale(1.04); }
ul.products li.product .ct-media-container img { transition: transform 0.4s ease; }
ul.products li.product .woocommerce-loop-product__title { font-weight: 700 !important; font-size: 1rem !important; letter-spacing: -0.01em !important; margin-top: 12px !important; }
ul.products li.product > .price:not(.price-unit) { font-weight: 800 !important; }
.bf-badge-new, .bf-badge-soon { background: #fff !important; color: var(--pp-ink) !important; border: 1px solid var(--pp-line) !important; top: 12px !important; }
.bf-badge-new { left: 12px !important; }
.bf-badge-soon { right: 12px !important; }
.onsale { background: var(--pp-ink) !important; }

/* ---------- category / shop pages ---------- */
.tax-product_cat .hero-section, .post-type-archive-product .hero-section { background: var(--pp-soft) !important; }
.bf-subcats a { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; font-size: 0.86rem !important; border-color: var(--pp-line) !important; }
.bf-subcats a:hover, .bf-subcats a.is-active { border-color: var(--pp-ink) !important; background: var(--pp-ink) !important; color: #fff !important; }
.bf-empty__icon { background: var(--pp-ink) !important; }

/* ---------- cart & checkout ---------- */
.woocommerce-cart form.woocommerce-cart-form::before, .woocommerce-cart .cart_totals::before,
form.checkout #customer_details::before, form.checkout #order_review::before, .woocommerce-checkout .ct-order-review::before { display: none !important; }
.woocommerce-cart form.woocommerce-cart-form, .woocommerce-cart .cart_totals, form.checkout #customer_details, form.checkout #order_review { box-shadow: none !important; border-color: var(--pp-line) !important; }
.cart_totals h2, form.checkout h3 { font-weight: 800 !important; }
.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) { border-color: var(--pp-ink) !important; box-shadow: none !important; }
.bf-trust li::before { background: var(--pp-ink) !important; }

/* ---------- info pages, footer, misc ---------- */
.bf-info-card { border-top-color: var(--pp-ink) !important; }
.bf-info-card__label { color: var(--pp-muted) !important; }
.bf-steps li::after { background: var(--pp-ink) !important; }
.bf-steps__num { background: var(--pp-ink) !important; font-family: 'Inter', sans-serif !important; }
.bf-return-box { background: var(--pp-soft) !important; border-color: var(--pp-line) !important; }
.bf-table th { background: var(--pp-ink) !important; }
.bf-footer__title { font-family: 'Inter', sans-serif !important; font-style: normal !important; text-transform: none !important; font-weight: 800 !important; letter-spacing: -0.01em !important; }
.bf-footer { background: #fff !important; }
.page:not(.home) .entry-content > h2 { font-size: 1.3rem !important; }
#bf-toast .bf-toast__check { background: var(--pp-accent) !important; }

/* Category hero with artwork: text left, image right (Blocksy type-2 would crop it behind the title) */
.tax-product_cat .hero-section[data-type='type-2']:has(figure) {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 24px;
  min-height: 0 !important; padding: clamp(24px, 4vw, 48px) max(16px, calc((100vw - 1290px) / 2)) !important; overflow: hidden;
}
.tax-product_cat .hero-section[data-type='type-2']:has(figure) > figure {
  position: relative !important; inset: auto !important; order: 2; margin: 0; height: clamp(160px, 22vw, 280px);
}
.tax-product_cat .hero-section[data-type='type-2']:has(figure) > figure .ct-media-container { height: 100%; background: none !important; }
.tax-product_cat .hero-section[data-type='type-2']:has(figure) > figure img { width: 100%; height: 100% !important; object-fit: contain !important; opacity: 1 !important; }
.tax-product_cat .hero-section[data-type='type-2']:has(figure) > figure::after,
.tax-product_cat .hero-section[data-type='type-2']:has(figure) > figure::before { display: none !important; }
.tax-product_cat .hero-section[data-type='type-2']:has(figure) > .entry-header {
  position: static !important; order: 1; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
}
.tax-product_cat .hero-section[data-type='type-2']:has(figure) .page-title { color: var(--pp-ink) !important; font-size: clamp(2rem, 4vw, 3.4rem) !important; }
.tax-product_cat .hero-section[data-type='type-2']:has(figure) .page-description { color: var(--pp-muted) !important; margin-top: 10px; }
@media (max-width: 689px) {
  .tax-product_cat .hero-section[data-type='type-2']:has(figure) { grid-template-columns: 1fr; gap: 8px; }
  .tax-product_cat .hero-section[data-type='type-2']:has(figure) > figure { height: 150px; }
}
