/* Full product pages only. Native gallery, price/stock state and review UI stay owned by FluentCart. */
.thisline-product-page { --thisline-product-lime:#ccff00; --thisline-product-line:#2a2a2a; }
.thisline-product-page .fct-single-product-page { max-width:1320px; margin:0 auto 64px; padding:0; }
.thisline-product-page .fct-single-product-page-row { display:grid!important; grid-template-columns:minmax(0,1.13fr) minmax(0,1fr)!important; gap:64px!important; align-items:start!important; }
.thisline-product-page .fct-single-product-page .fct-product-summary { width:100%!important; min-width:0; padding:4px 0 0!important; }
.thisline-product-page .fct-product-gallery-wrapper { width:100%!important; min-width:0; position:sticky; top:32px; }
.thisline-product-page .fct-single-product-page .fct-product-gallery-thumb { background:#191919!important; border:1px solid var(--thisline-product-line)!important; border-radius:0!important; padding:16px; }
.thisline-product-page .fct-single-product-page .fct-product-gallery-thumb img { width:100%; height:auto; max-height:720px; object-fit:contain; }
.thisline-product-page .fct-gallery-thumb-controls { margin-top:16px!important; gap:12px!important; }
.thisline-product-page .fct-gallery-thumb-control-button { background:#191919!important; border:1px solid #444!important; border-radius:0!important; opacity:1!important; padding:4px!important; }
.thisline-product-page .fct-gallery-thumb-control-button.active { border-color:var(--thisline-product-lime)!important; }
.thisline-product-page .fct-gallery-thumb-control-button:focus-visible { outline:2px solid var(--thisline-product-lime); outline-offset:3px; }
.thisline-product-page .fct-product-title h1 { font:900 clamp(40px,5vw,74px)/1.02 'Roboto Condensed','Arial Narrow',sans-serif!important; text-transform:uppercase; letter-spacing:-.03em!important; margin:0 0 8px!important; overflow-wrap:anywhere; }
.thisline-product-page .fct-product-summary .thisline-product-eyebrow { font:700 11px/1.5 'Roboto Condensed','Arial Narrow',sans-serif!important; text-transform:uppercase; letter-spacing:.2em!important; color:var(--thisline-product-lime)!important; margin:0 0 20px!important; }
.thisline-product-page .fct-product-summary .thisline-product-subtitle { font:500 23px/1.2 'Roboto Condensed','Arial Narrow',sans-serif!important; text-transform:uppercase; letter-spacing:.08em!important; color:#fff!important; margin:0 0 24px!important; }
.thisline-product-page .thisline-product-intro,.thisline-product-page .fct-product-excerpt { font:300 17px/1.6 Inter,system-ui,sans-serif!important; color:#ccc!important; margin:20px 0!important; }
.thisline-product-page .fct-product-excerpt p { margin:0!important; }
.thisline-product-page .thisline-product-benefits { display:flex; flex-wrap:wrap; gap:8px 20px; list-style:none!important; padding:0 0 24px!important; margin:24px 0!important; border-bottom:1px solid var(--thisline-product-line); }
.thisline-product-page .thisline-product-benefits li { display:flex; gap:8px; font:400 12px/1.6 Inter,system-ui,sans-serif; color:#ccc; margin:0; }
.thisline-product-page .thisline-product-benefits li>span { color:var(--thisline-product-lime); }
.thisline-product-page .fct-product-prices { font-family:'Roboto Condensed','Arial Narrow',sans-serif; font-size:30px; margin:20px 0!important; }
/* Keep variant prices, sale prices, tax suffixes and recurring terms in their original containers. */
.thisline-product-page .fct-single-product-page .is-hidden { display:none!important; }
.thisline-product-page .fct-product-summary .fct-product-buttons-wrap { display:flex!important; flex-wrap:wrap!important; gap:12px!important; }
.thisline-product-page .fct-product-summary .fct-product-buttons-wrap>.fluent-cart-add-to-cart-button { background:var(--thisline-product-lime)!important; color:#000!important; border:2px solid transparent!important; border-radius:0!important; min-height:54px; flex:1 1 100%!important; font:900 16px/1.2 'Roboto Condensed','Arial Narrow',sans-serif!important; text-transform:uppercase; letter-spacing:.1em!important; }
.thisline-product-page .fct-product-summary .fct-product-buttons-wrap>.fluent-cart-add-to-cart-button:hover { background:#d6ff33!important; }
.thisline-product-page .thisline-product-fit { border-block:1px solid var(--thisline-product-line); margin:20px 0; padding:0; }
.thisline-product-page .thisline-product-fit summary { padding:14px 0; cursor:pointer; font:700 15px/1.5 'Roboto Condensed','Arial Narrow',sans-serif; color:#fff; }
.thisline-product-page .thisline-product-fit summary::marker { color:var(--thisline-product-lime); }
.thisline-product-page .thisline-product-fit p { margin:0 0 16px; font:400 14px/1.65 Inter,system-ui,sans-serif; color:#ccc; }
.thisline-product-page .fct-product-summary .thisline-product-dispatch { box-sizing:border-box; width:100%; flex:0 0 100%; background:#111; border-left:3px solid var(--thisline-product-lime); padding:20px; margin:12px 0 0; }
.thisline-product-page .fct-product-summary .thisline-product-dispatch h2 { font:700 18px/1.3 'Roboto Condensed','Arial Narrow',sans-serif!important; text-transform:none!important; letter-spacing:0!important; color:#fff!important; margin:0 0 8px!important; }
.thisline-product-page .thisline-product-dispatch p { font:400 12px/1.75 Inter,system-ui,sans-serif!important; color:#bbb!important; margin:0!important; }
.thisline-product-page .thisline-product-fit summary:focus-visible { outline:2px solid var(--thisline-product-lime); outline-offset:4px; }
/* Only appearance: do not replace or hide review forms, media, filtering, pagination or empty states. */
.thisline-product-page .fct-product-reviews-section { border-top:1px solid var(--thisline-product-line); padding-top:48px; margin-top:64px; --fct-review-star-color:#ccff00; --fct-review-star-empty-color:#555; }
@media(max-width:1050px){
 .thisline-product-page .fct-single-product-page-row { gap:32px!important; }
}
@media(max-width:781px){
 .thisline-product-page .fct-single-product-page-row { grid-template-columns:minmax(0,1fr)!important; gap:32px!important; }
 .thisline-product-page .fct-product-gallery-wrapper { position:static; }
 .thisline-product-page .fct-product-title h1 { font-size:clamp(40px,12vw,64px)!important; }
 .thisline-product-page .fct-product-summary .thisline-product-subtitle { font-size:21px!important; }
 .thisline-product-page .fct-product-reviews-section { margin-top:48px; padding-top:32px; }
}
/* A selected-variant price is authoritative; simple products retain the native range price. */
.thisline-product-page .fct-product-summary:has(.fct_buy_section [data-fluent-cart-product-item-price])>.fct-price-range { display:none!important; }
.thisline-product-page .fct_buy_section { display:flex!important; flex-direction:column; }
.thisline-product-page .fct_buy_section>[data-fluent-cart-product-item-price] { order:-1; margin:0 0 20px!important; font-size:30px!important; }
.thisline-product-page .fct-single-product-page-row { margin-bottom:0!important; }
.thisline-product-page .fct-product-summary .fct-product-quantity-container { margin:12px 0!important; }
.thisline-product-page .fct-product-summary .fct-product-quantity { gap:0!important; width:144px!important; min-width:144px!important; }
.thisline-product-page .fct-product-summary .fct-product-quantity .fct-quantity-decrease-button,
.thisline-product-page .fct-product-summary .fct-product-quantity .fct-quantity-increase-button { flex:0 0 44px!important; width:44px!important; min-width:44px!important; max-width:44px!important; }
.thisline-product-page .fct-product-summary .fct-product-quantity .fct-quantity-input { border-inline:0!important; }
.thisline-product-page .fct-product-summary .thisline-product-dispatch { border-left:3px solid var(--thisline-product-lime)!important; background:#111!important; }
.thisline-product-page .fct-product-reviews-section,
.thisline-product-page .fct-review-modal,
.thisline-product-page .fct-review-drawer {
 --fct-review-surface-bg:#111; --fct-review-surface-alt:#1a1a1a; --fct-review-text-color:#fff; --fct-review-strong-text-color:#fff;
 --fct-review-card-bg:#111; --fct-review-card-border-color:#2a2a2a;
 --fct-review-heading-color:#fff; --fct-review-body-text-color:#ccc;
 --fct-review-primary-text-color:#fff; --fct-review-secondary-text-color:#ccc;
 --fct-review-muted-text-color:#aaa; --fct-review-meta-text-color:#aaa;
 --fct-review-faint-text-color:#999; --fct-review-note-text-color:#aaa;
 --fct-review-caption-color:#aaa; --fct-review-label-color:#ccc;
 --fct-review-chip-bg:#111; --fct-review-chip-text:#ccc; --fct-review-chip-border:#444;
 --fct-review-chip-hover-bg:#222; --fct-review-chip-active-bg:#ccff00;
 --fct-review-chip-active-text:#000; --fct-review-chip-active-border:#ccff00;
 --fct-review-control-bg:#111; --fct-review-control-border-color:#444;
 --fct-review-control-hover-bg:#222; --fct-review-select-text:#ccc;
 --fct-review-panel-border-color:#2a2a2a; --fct-review-divider-color:#2a2a2a;
 --fct-review-input-bg:#000; --fct-review-input-border:#444; --fct-review-input-text:#fff;
 --fct-review-input-placeholder:#999; --fct-review-input-focus-border:#ccff00;
 --fct-review-accent-color:#ccff00; --fct-review-focus-ring:#ccff00;
 --fct-review-btn-bg:#ccff00; --fct-review-btn-text:#000; --fct-review-btn-hover-bg:#d6ff33;
 --fct-review-btn-hover-text:#000; --fct-review-secondary-btn-bg:#111;
 --fct-review-secondary-btn-text:#fff; --fct-review-secondary-btn-border:#444;
 --fct-review-cta-bg:#111; --fct-review-cta-text:#fff; --fct-review-cta-border:#444;
 --fct-review-avatar-bg:#222; --fct-review-avatar-icon:#aaa;
}
/* Text-only, one-time variants remain compact; plans and image cards retain native layouts. */
.thisline-product-page .fct-product-variants.column-type-masonry:has(>.fct_variation_view_type_text.fct_price_type_onetime):not(:has(>.fct_price_type_subscription)) { display:flex!important; flex-wrap:wrap!important; gap:8px!important; }
.thisline-product-page .fct-product-variants.column-type-masonry>.fct_variation_view_type_text.fct_price_type_onetime { flex:1 1 56px!important; width:auto!important; min-width:56px!important; min-height:48px; padding:12px!important; text-align:center; }
.thisline-product-page .fct-product-variants.column-type-masonry>.fct_variation_view_type_text.fct_price_type_onetime .variant-content { justify-content:center; }
