/* Product detail page (UX Block "BAC-FLO-5 Product Layout (XD)") — from BACCFLO_HP_mockup_v4.xd, artboard "Product Detail Page" (1366px).
   Classes bf-* are set in UX Builder; keep them. */
body.single-product{--bf-blue:#0b34a0;--bf-red:#cf152d;--bf-gray:#595a5c}
.custom-product-page{font-family:Archivo,Arial,sans-serif;color:var(--bf-gray);font-size:20px;line-height:1.35}
.custom-product-page h1,.custom-product-page h2,.custom-product-page h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:0;text-transform:none}
.custom-product-page .row.bf-row{max-width:1275px}
.custom-product-page .row.bf-pdp-row{max-width:1208px}
.custom-product-page .bf-row>.col{padding-bottom:0}
.custom-product-page p{margin-bottom:1em}
.custom-product-page .section{margin:0}

.bf-h2,.bf-pdp-h2{font-size:30px;line-height:1.15;color:var(--bf-blue);margin:0}
.custom-product-page .bf-h2{font-size:40px;line-height:1.1}
.custom-product-page hr.bf-rule{width:53px;height:6px;border:0;background:var(--bf-red);margin:15px 0 22px;opacity:1}
.custom-product-page hr.bf-rule-center{margin-left:auto;margin-right:auto}
.bf-center{text-align:center}
.custom-product-page .button.bf-btn,.custom-product-page .single_add_to_cart_button{background:var(--bf-red)!important;color:#fff!important;font:700 13px/37px Arial,sans-serif;text-transform:uppercase;letter-spacing:0;
	min-height:0;height:37px;padding:0 16px;min-width:130px;margin:0;border-radius:2px;box-shadow:none;border:0}
.custom-product-page .button.bf-btn:hover,.custom-product-page .single_add_to_cart_button:hover{background:#a9101f!important}

/* ---- summary: title + gallery | divider | details ---- */
.bf-pdp-top{padding-top:33px!important}
.bf-pdp-top .bf-pdp-row{align-items:flex-start}
.custom-product-page .bf-pdp-left{flex:0 0 729px;max-width:729px;padding-bottom:0}
.bf-pdp-left .product-title-container{margin:0}
.bf-pdp-left .product-title,.bf-pdp-left h1.entry-title{font:700 35px/1.1 Arial,sans-serif;color:var(--bf-blue);margin:0;text-transform:none}
.bf-pdp-left .is-divider{display:none}
.bf-pdp-left .product-images{width:447px;margin:57px 0 0 97px;position:relative;padding:0}
.bf-pdp-left .product-images .image-tools{display:none}
.bf-pdp-left .product-images .woocommerce-product-gallery__wrapper{margin:0}
.bf-pdp-left .product-thumbnails{display:none}
.bf-pdp-left .flickity-page-dots{position:static;margin-top:11px;display:flex;justify-content:center;gap:13px;padding:0}
.bf-pdp-left .flickity-page-dots .dot{width:90px;height:8px;border-radius:0;background:#c6c6c6;opacity:1;margin:0}
.bf-pdp-left .flickity-page-dots .dot.is-selected{background:var(--bf-red)}
.bf-pdp-left .flickity-prev-next-button{top:auto;bottom:-31px;width:26px;height:26px;border-radius:0;background:var(--bf-gray);opacity:1;margin:0}
.bf-pdp-left .flickity-prev-next-button.previous{left:auto;right:42px}
.bf-pdp-left .flickity-prev-next-button.next{right:10px}
.bf-pdp-left .flickity-prev-next-button svg,.bf-pdp-left .flickity-prev-next-button .arrow{fill:#fff;color:#fff}

.custom-product-page .bf-pdp-right{flex:0 0 479px;max-width:479px;border-left:1px solid #707070;min-height:755px;padding:2px 0 0 63px}
.bf-pdp-right>.col-inner{width:425px}
.bf-pdp-right hr.bf-rule{margin:15px 0 22px}
.bf-pdp-right .product-short-description,.bf-pdp-right .woocommerce-product-details__short-description,.bf-pdp-right .product-description,.bf-pdp-right .product-excerpt{font-size:20px;line-height:27px}
.bf-pdp-right>.col-inner>.product-description,.bf-pdp-right>.col-inner>div:not(.ux-text):not(.text):not(.product-short-description):not(form){max-width:419px}
.bf-pdp-right ul{list-style:none;margin:0;padding:0}
.bf-pdp-right ul li{position:relative;padding-left:24px;margin:0 0 18px;line-height:27px;max-width:376px}
.bf-pdp-right ul li::before{content:"•";position:absolute;left:-5px;top:0;color:var(--bf-red);font:900 20px/27px Archivo,Arial,sans-serif}
.bf-pdp-right .price-wrapper,.bf-pdp-right .price{margin:0}
.bf-pdp-right .price,.bf-pdp-right .price .amount,.bf-pdp-right .price bdi{font:700 30px/1.2 Arial,sans-serif;color:var(--bf-blue)}
.bf-pdp-right form.cart{display:flex;align-items:center;gap:15px;margin:0}
.bf-pdp-right .quantity{margin:0;display:flex;width:108px;height:54px;border:1px solid #dcdcdc;border-radius:0;opacity:1!important}
.bf-pdp-right .quantity .ux-quantity__button,.bf-pdp-right .quantity .minus,.bf-pdp-right .quantity .plus{flex:0 0 36px;height:52px;margin:0;border:0;border-radius:0;background:#fff;color:var(--bf-gray);font:400 20px/52px Arial,sans-serif;box-shadow:none}
.bf-pdp-right .quantity input.qty{flex:1;width:34px;height:52px;margin:0;border:0;border-left:1px solid #dcdcdc;border-right:1px solid #dcdcdc;border-radius:0;box-shadow:none;font:400 24px Arial,sans-serif;color:#333;text-align:center;padding:0}
.bf-pdp-right .single_add_to_cart_button{margin:0!important;float:none}

/* ---- features & benefits panel ---- */
.bf-pdp-features{margin-top:29px!important}
.bf-pdp-panel>.col-inner{background:#ededed;border-radius:14px;height:373px;position:relative;padding:35px 0 0 55px}
.bf-pdp-panel hr.bf-rule{margin:16px 0 21px 8px}
.custom-product-page .bf-bullets{list-style:none;margin:0!important;padding:0!important}
.bf-bullets li{position:relative;padding-left:36px;margin:0 0 19px;line-height:27px}
.bf-bullets li::before{content:"•";position:absolute;left:7px;top:0;color:var(--bf-red);font:900 20px/27px Archivo,Arial,sans-serif}
.bf-pdp-features-text ul{max-width:620px}
@media(min-width:1200px){
.bf-pdp-panel .bf-feature-photo,.bf-pdp-panel .bf-feature-photo .img-inner{position:absolute;right:37px;top:37px;width:465px!important;height:300px;overflow:hidden;margin:0}
.bf-pdp-panel .bf-feature-photo .img-inner{position:static;right:auto;top:auto}
.bf-pdp-panel .bf-feature-photo img{width:907px;max-width:none;height:511px;margin:-89px 0 0 -200px}
}

/* ---- specifications ---- */
.bf-pdp-specs{margin-top:47px!important}
.bf-pdp-specs .bf-pdp-h2{text-align:center}
.bf-pdp-specs hr.bf-rule{margin:17px auto 27px}
.bf-specs-row ul{max-width:none}
.custom-product-page .bf-pdp-right ul{margin:0!important;padding:0!important}
.bf-specs-row li{margin:0 0 9px;line-height:25px}
.bf-specs-row li::before{line-height:25px}
.bf-specs-1 li{padding-left:91px;width:605px;max-width:100%}
.bf-specs-1 li::before{left:62px}
.bf-specs-2 li{padding-left:54px;max-width:524px}
.bf-specs-2 li::before{left:30px}

/* ---- stripes + video ---- */
.bf-stripes-sec{margin:66px 0 0!important}
.bf-stripes{height:30px;background:linear-gradient(var(--bf-blue) 0 6px,transparent 6px 12px,var(--bf-blue) 12px 18px,transparent 18px 24px,var(--bf-blue) 24px 30px)}
.bf-pdp-video{margin-top:67px!important}
.bf-pdp-video .bf-pdp-row{align-items:flex-start}
.custom-product-page .bf-video-text{flex:0 0 440px;max-width:440px;padding-left:41px;padding-top:65px}
.bf-video-text .text,.bf-video-text .ux-text{max-width:391px}
.bf-video-text p{max-width:303px}
.custom-product-page .bf-video-media{flex:0 0 768px;max-width:768px;padding-left:0}
.bf-video-wrap{position:relative;width:754px;margin-left:0}
.bf-video-wrap .img{margin:0}
.bf-video-wrap img.attachment-large{width:754px;height:503px;object-fit:cover;display:block}
.bf-play{position:absolute;left:50%;top:50%;width:225px;height:228px;transform:translate(-50%,-50%);pointer-events:none}
.bf-play img{width:225px;height:228px;position:relative;z-index:1}
.bf-play::before{content:"";position:absolute;left:50%;top:50%;width:123px;height:99px;background:#fff;transform:translate(-50%,-50%)}

/* ---- related products ---- */
.bf-pdp-related{margin-top:73px!important}
.custom-product-page hr.bf-gray-line{border:0;border-top:1px solid #707070;margin:0 0 24px;opacity:1}
.bf-related-title{font-size:35px!important;line-height:1.1}
.bf-cards-grid{display:grid;grid-template-columns:repeat(4,273px);gap:29px;margin-top:32px}
.bf-pcard{position:relative;height:353px;border:1px solid #707070;border-radius:10px;background:#fff;overflow:hidden}
.bf-pcard__img{display:flex;justify-content:center;align-items:center;height:230px;padding:8px 10px 0}
.bf-pcard__img img{max-width:100%;max-height:222px;width:auto;height:auto;object-fit:contain}
.bf-pcard__title{display:block;margin:9px 24px 0;font:700 20px/24px Arial,sans-serif;color:var(--bf-blue);text-decoration:none}
.bf-pcard__foot{position:absolute;left:24px;right:16px;bottom:21px;display:flex;justify-content:space-between;align-items:center}
.bf-pcard__price,.bf-pcard__price .amount,.bf-pcard__price bdi{font:700 22px/1 Arial,sans-serif;color:var(--bf-blue)}
.bf-pcard .bf-btn{display:inline-block;background:var(--bf-red);color:#fff;font:700 13px/37px Arial,sans-serif;text-transform:uppercase;height:37px;padding:0 16px;min-width:130px;text-align:center;border-radius:2px;margin:0}

/* ---- FAQ + CTA (same as home) ---- */
.custom-product-page .bf-sec{margin:0}
.custom-product-page .bf-faq{margin-top:44px}
.bf-faq-box>.col-inner{background:rgba(237,237,237,.57);border-radius:14px;padding:46px 58px 50px}
.bf-faq-title{text-align:center}
.bf-faq-title hr.bf-rule{margin:18px auto 22px}
.bf-accordion{margin:0}
.bf-accordion .accordion-item{margin:0 0 10px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.43)}
.bf-accordion .accordion-item:nth-child(odd){background:rgba(11,52,160,.039)}
.bf-accordion .accordion-item:last-child{margin-bottom:0}
.bf-accordion .accordion-title{border:0;background:none;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;min-height:54px;padding:6px 34px;font:400 20px/1.3 Archivo,Arial,sans-serif;color:var(--bf-gray)}
.bf-accordion .accordion-title .toggle{position:static!important;margin:0!important;padding:0!important;font:400 40px/1 Arial,sans-serif;width:auto!important;height:auto!important;min-height:0!important;background:none;border:0;opacity:1;color:var(--bf-gray)}
.bf-accordion .accordion-title .toggle i{display:none}
.bf-accordion .accordion-title .toggle::before{content:"+"}
.bf-accordion .accordion-title.active .toggle::before{content:"–"}
.bf-accordion .accordion-title.active{font-weight:700;color:var(--bf-blue)}
.bf-accordion .accordion-inner{padding:4px 34px 20px;font-size:17px;background:none}
.custom-product-page .bf-cta-sec{margin-top:59px;margin-bottom:55px}
.bf-cta>.col-inner{background:var(--bf-blue);border-radius:14px;padding:32px 20px 36px;text-align:center}
.bf-cta h2{color:#fff;font-size:40px;line-height:1.1;margin:0}
.custom-product-page .bf-cta hr.bf-rule{margin:10px auto 17px}
.bf-cta p{font:24px/1.3 Arial,sans-serif;max-width:776px;margin:0 auto 26px;color:#fff}

/* ---- tablet / phone ---- */
@media(max-width:849px){
	.custom-product-page{font-size:18px}
	.custom-product-page .bf-pdp-left,.custom-product-page .bf-pdp-right{flex:0 0 100%;max-width:100%}
	.custom-product-page .bf-pdp-right{border-left:0;min-height:0;padding:20px 15px 0}
	.bf-pdp-right>.col-inner{width:auto}
	.bf-pdp-left .product-images{margin:30px auto 0;width:min(447px,100%)}
	.bf-pdp-left .product-title,.bf-pdp-left h1.entry-title{font-size:28px}
	.bf-pdp-panel>.col-inner{height:auto;padding:30px 20px 20px}
	.bf-pdp-panel .bf-feature-photo{position:static;width:100%;height:auto;margin-top:20px}
	.bf-pdp-panel .bf-feature-photo img{width:100%;height:auto;margin:0}
	.bf-specs-1 li,.bf-specs-2 li{padding-left:30px;width:auto}
	.bf-specs-1 li::before,.bf-specs-2 li::before{left:6px}
	.bf-stripes-sec{margin-top:40px!important}
	.custom-product-page .bf-video-text,.custom-product-page .bf-video-media{flex:0 0 100%;max-width:100%;padding:15px}
	.custom-product-page .bf-pdp-row{left:0}
	.bf-pdp-top{padding-top:20px!important}
	.bf-video-wrap,.bf-video-wrap img.attachment-large{width:100%;height:auto}
	.bf-play,.bf-play img{width:120px;height:122px}
	.bf-play::before{width:66px;height:53px}
	.bf-cards-grid{grid-template-columns:repeat(2,1fr);gap:16px}
	.bf-faq-box>.col-inner{border-radius:0;padding:36px 16px 40px}
	.bf-accordion .accordion-title{padding:8px 14px;font-size:16px}
	.bf-cta h2{font-size:30px}.bf-cta p{font-size:19px}
}
@media(max-width:549px){.bf-cards-grid{grid-template-columns:1fr}.bf-pcard{height:auto;padding-bottom:80px}}

.custom-product-page .bf-pdp-row{position:relative;left:-4px}
.bf-pdp-right .price{margin-top:29px!important}

/* third pass */
.custom-product-page .bf-bullets li,.custom-product-page .bf-pdp-right ul li{margin-left:0!important}
.bf-pdp-right .product-short-description{margin-top:23px}
.bf-pdp-right .product-price-container{margin-top:19px}
.bf-pdp-right .add-to-cart-container{margin-top:18px}
.bf-stripes-sec{margin-top:57px!important}
.custom-product-page .bf-video-text hr.bf-rule{margin:25px 0 32px}
.custom-product-page .bf-faq{margin-top:48px}
.bf-pdp-right .product-short-description{margin-top:0!important;padding-top:23px}
.bf-pdp-right .product-description p:last-child,.bf-pdp-right .product-description{margin-bottom:0}
.bf-pdp-right .product-price-container{padding-top:19px}
.bf-pcard__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:48px}


/* =========================================================================
   Responsive (<= 1199px): columns stack; any image that lands on its own
   line fills the full width of its container; nothing overlaps text.
   ========================================================================= */
@media(max-width:1199px){
	.custom-product-page .row.bf-pdp-row,.custom-product-page .row.bf-row{padding-left:9px;padding-right:9px}
	.custom-product-page .bf-pdp-row{left:0}
	.custom-product-page .bf-pdp-top{padding-top:24px!important}
	.custom-product-page .bf-pdp-left,.custom-product-page .bf-pdp-right,
	.custom-product-page .bf-video-text,.custom-product-page .bf-video-media,
	.custom-product-page .bf-specs-1,.custom-product-page .bf-specs-2{flex:0 0 100%;max-width:100%}
	.custom-product-page .bf-pdp-right{border-left:0;min-height:0;padding:28px 15px 0}
	.custom-product-page .bf-pdp-right>.col-inner{width:auto}
	.bf-pdp-right ul li{max-width:none}
	.bf-pdp-right .product-description,.bf-pdp-right>.col-inner>div{max-width:none}

	/* gallery image = full container width */
	.bf-pdp-left .product-images{width:100%;margin:24px 0 0}
	.bf-pdp-left .product-images img{width:100%;height:auto}

	/* features panel: text, then the photo on its own line at full width */
	.bf-pdp-panel>.col-inner{height:auto;padding:30px 24px 24px;display:flex;flex-direction:column}
	.bf-pdp-panel .bf-feature-photo,.bf-pdp-panel .bf-feature-photo .img-inner{position:static;width:100%!important;height:auto;margin:8px 0 0;overflow:hidden}
	.bf-pdp-panel .bf-feature-photo img{width:100%;max-width:100%;height:auto;margin:0;display:block}
	.bf-pdp-features-text ul{max-width:none}
	.bf-pdp-panel hr.bf-rule{margin-left:0}

	/* specs: one column, comfortable spacing between the two lists */
	.bf-specs-1 li,.bf-specs-2 li{padding-left:30px;width:auto;max-width:none}
	.bf-specs-1 li::before,.bf-specs-2 li::before{left:6px}
	.bf-specs-1{padding-bottom:0}
	.bf-specs-2{padding-top:9px}

	/* video */
	.custom-product-page .bf-video-text{padding:0 15px}
	.custom-product-page .bf-video-media{padding:20px 15px 0}
	.bf-video-text .text,.bf-video-text .ux-text,.bf-video-text p{max-width:none}
	.bf-video-wrap,.bf-video-wrap .img,.bf-video-wrap .img-inner{width:100%}
	.bf-video-wrap img.attachment-large{width:100%;height:auto;aspect-ratio:754/503}
	.bf-play{width:min(225px,32%);height:auto;aspect-ratio:225/228}
	.bf-play img{width:100%;height:100%}
	.bf-play::before{width:55%;height:43%}

	/* related products */
	.bf-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
	.bf-pcard__img img{max-width:100%}

	/* consistent vertical rhythm */
	.custom-product-page .bf-pdp-features{margin-top:44px!important}
	.custom-product-page .bf-pdp-specs{margin-top:44px!important}
	.custom-product-page .bf-stripes-sec{margin-top:44px!important}
	.custom-product-page .bf-pdp-video{margin-top:44px!important}
	.custom-product-page .bf-pdp-related{margin-top:48px!important}
	.custom-product-page .bf-faq{margin-top:48px}
	.custom-product-page .bf-cta-sec{margin-top:48px;margin-bottom:40px}
	.custom-product-page .bf-faq.section,.custom-product-page .bf-cta-sec.section{width:calc(100% - 48px)!important;margin-left:24px!important;margin-right:24px!important}
	.bf-faq-box>.col-inner{border-radius:14px;padding:36px 20px 40px}
	.bf-cta>.col-inner{padding:34px 24px 38px}
}
@media(max-width:549px){
	.custom-product-page .row.bf-pdp-row,.custom-product-page .row.bf-row{padding-left:5px;padding-right:5px}
	.bf-pdp-left .product-title,.bf-pdp-left h1.entry-title{font-size:26px}
	.bf-pdp-panel>.col-inner{padding:26px 18px 20px}
	.bf-cards-grid{grid-template-columns:minmax(0,1fr)}
	.bf-pcard{height:auto;padding-bottom:84px}
	.custom-product-page .bf-faq.section,.custom-product-page .bf-cta-sec.section{width:calc(100% - 40px)!important;margin-left:20px!important;margin-right:20px!important}
	.bf-faq-box>.col-inner{padding:30px 14px 32px}
	.custom-product-page .bf-pdp-features,.custom-product-page .bf-pdp-specs,.custom-product-page .bf-stripes-sec,.custom-product-page .bf-pdp-video{margin-top:36px!important}
	.bf-bullets li{padding-left:28px}
	.bf-bullets li::before{left:4px}
}
.bf-pdp-right .product-price-container{padding-top:0!important;margin-top:48px!important}

/* ---- Google reviews (course pages, above related products) ---- */
.bf-pdp-reviews{margin:56px 0 0}
.bf-pdp-reviews .bf-reviews-widget{margin-top:20px;min-height:230px}
@media(min-width:1200px){.bf-pdp-reviews .ti-widget .ti-review-item{flex:0 0 25%!important;max-width:25%!important}}
.bf-pdp-reviews .ti-widget .ti-header,.bf-pdp-reviews .ti-widget .ti-footer{display:none!important}
.bf-pdp-reviews .ti-widget[data-layout-id] .ti-review-item>.ti-inner{border-radius:14px;padding:20px 22px;min-height:224px;background:#f4f4f6}
.bf-pdp-reviews .ti-widget .ti-name{font-size:17px!important}
.bf-pdp-reviews .ti-widget .ti-date{font-size:14px!important}
.bf-pdp-reviews .ti-widget .ti-review-content,.bf-pdp-reviews .ti-widget .ti-read-more{font-size:16px!important;line-height:1.45!important}
@media(max-width:849px){.bf-pdp-reviews .ti-widget .ti-review-item{flex:0 0 50%!important;max-width:50%!important}}
@media(max-width:549px){.bf-pdp-reviews .ti-widget .ti-review-item{flex:0 0 100%!important;max-width:100%!important}.bf-pdp-reviews .bf-reviews-widget{min-height:0}}
.bf-pdp-reviews .bf-band h2{background:var(--bf-blue);color:#fff;font-size:40px;line-height:1;text-align:center;border-radius:14px;height:122px;padding-top:31px;margin:0}
.bf-pdp-reviews .bf-band hr.bf-rule{position:relative;top:-27px;margin:0 auto!important}
.bf-pdp-reviews .bf-reviews-widget{margin-top:5px}
@media(max-width:849px){.bf-pdp-reviews .bf-band h2{font-size:32px;height:auto;min-height:100px;padding:28px 20px 40px}.bf-pdp-reviews .bf-band hr.bf-rule{top:-24px}}
@media(max-width:549px){.bf-pdp-reviews .bf-band h2{font-size:26px;padding:24px 16px 38px}}
.bf-pdp-reviews hr.bf-rule{display:block;width:53px;height:6px;border:0;background:var(--bf-red,#d5202f);opacity:1}

.single-product .last-updated{font-size:13px;color:#666;margin:24px 0 0}