/* FANFAN 1.3.0. Layout changes by available width; desktop controls remain in WP. */
body.fanfan-design{width:100%;min-width:0;margin:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.fanfan-design .ff-ui,body.fanfan-design .ff-ui *{box-sizing:border-box}
body.fanfan-design .ff-ui{min-width:0;max-width:100%}
body.fanfan-design .ff-ui .managed-grid>*,body.fanfan-design .ff-ui .grid>*,body.fanfan-design .ff-ui .personalgrid>*,body.fanfan-design .ff-ui .footgrid>*{min-width:0}
.ff-ui .ff-category-hint{display:none}
@media(max-width:1023px){
 body.fanfan-design .ff-ui .wrap{width:100%;max-width:100%;padding-left:24px;padding-right:24px}
 body.fanfan-design .ff-ui .managed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px}
 body.fanfan-design .ff-ui .signature-offer .managed-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.fanfan-design #main>.container,body.fanfan-design #main>.container-fluid{width:100%!important;max-width:100%!important;min-width:0;padding-left:24px;padding-right:24px}
}
@media(max-width:767px){
 body.fanfan-design .page-wrapper,body.fanfan-design #main,body.fanfan-design .main-content-wrap,body.fanfan-design .main-content{width:100%;min-width:0;max-width:100%}
 body.fanfan-design #main>.container,body.fanfan-design #main>.container-fluid{padding-left:16px;padding-right:16px}
 body.fanfan-design .ff-ui .wrap{width:100%;max-width:none;padding-left:18px;padding-right:18px}
 body.fanfan-design .ff-ui .section{padding-top:36px;padding-bottom:36px}
 body.fanfan-design .ff-ui .headmain{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 16px;height:auto;min-height:0}
 body.fanfan-design .ff-ui .brand{width:auto;min-width:0;max-width:160px}
 body.fanfan-design .ff-ui .brand img{width:150px;max-width:100%;height:44px}
 body.fanfan-design .ff-ui .brand span{font-size:8px;line-height:1.5;letter-spacing:.25px;margin-top:4px;white-space:normal}
 body.fanfan-design .ff-ui .tools{gap:2px;min-width:0;margin-left:0}
 body.fanfan-design .ff-ui .tools>a,body.fanfan-design .ff-ui .ff-mobile-menu>summary{min-width:44px;min-height:44px;font-size:0;gap:0}
 body.fanfan-design .ff-ui .headmain form{grid-column:1/-1;max-width:none;width:100%;height:48px;min-width:0;margin:0}
 body.fanfan-design .ff-ui .headmain input[name=s]{width:0;min-width:0;font-size:16px;padding:10px 12px}
 body.fanfan-design .ff-ui .headmain form button{width:48px;flex:0 0 48px}
 body.fanfan-design .ff-ui #navigation{display:none!important}
 body.fanfan-design .ff-ui .ff-mobile-menu{display:block}
 body.fanfan-design .ff-ui .ff-mobile-links{padding:10px 18px;max-height:65vh}
 body.fanfan-design .ff-ui .ff-mobile-links a{min-height:46px;font-size:16px!important;line-height:1.5}
 body.fanfan-design .ff-ui .topline{padding:7px 16px;font-size:11px;line-height:1.5;gap:4px 10px;flex-wrap:wrap}
 body.fanfan-design .ff-ui .hero-intro .herogrid{padding-top:38px;padding-bottom:38px;min-height:0;display:block}
 body.fanfan-design .ff-ui .hero-intro h1{font-size:clamp(30px,8.5vw,40px);line-height:1.15;letter-spacing:-1px;max-width:100%;margin:0 0 18px;overflow-wrap:break-word}
 body.fanfan-design .ff-ui .hero-intro p.description{font-size:16px;line-height:1.7;max-width:38ch;margin:0 auto}
 body.fanfan-design .ff-ui .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.2px;margin-bottom:14px}
 body.fanfan-design .ff-ui .hero-intro .buttons,body.fanfan-design .ff-ui .personal .buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:24px}
 body.fanfan-design .ff-ui .btn{min-height:48px;font-size:15px;line-height:1.5;padding:12px 16px;white-space:normal;text-align:center;max-width:100%}
 body.fanfan-design .ff-ui .benefits{grid-template-columns:minmax(0,1fr);gap:0;padding-top:8px;padding-bottom:8px}
 body.fanfan-design .ff-ui .benefit{min-width:0;gap:14px;padding:15px 0;border-bottom:1px solid #e9e4da;align-items:center}
 body.fanfan-design .ff-ui .benefit:last-child{border-bottom:0}
 body.fanfan-design .ff-ui .benefit b{font-size:15px;line-height:1.45}
 body.fanfan-design .ff-ui .benefit span:not(.symbol){font-size:14px;line-height:1.55;display:block;margin-top:3px}
 body.fanfan-design .ff-ui .sectionhead{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px;min-width:0}
 body.fanfan-design .ff-ui .sectionhead h2{font-size:clamp(24px,6.5vw,29px);line-height:1.25;letter-spacing:-.65px;overflow-wrap:break-word;max-width:100%}
 body.fanfan-design .ff-ui .sectionhead a{font-size:14px;line-height:1.5}
 /* Native scroll on phones; no tiny five-across cards or forced autoplay. */
 body.fanfan-design .ff-ui .category-controls{display:none}
 body.fanfan-design .ff-ui .ff-category-hint{display:block;margin:10px 0 0;color:#6b6256;font-size:13px}
 body.fanfan-design .ff-ui .category-viewport{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;padding-bottom:8px}
 body.fanfan-design .ff-ui .category-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/2);gap:12px;width:100%;transform:none!important;transition:none!important;will-change:auto}
 body.fanfan-design .ff-ui .category-tile{scroll-snap-align:start;padding:10px;min-height:0;border-radius:8px}
 body.fanfan-design .ff-ui .category-tile[data-clone]{display:none}
 body.fanfan-design .ff-ui .category-tile h3{font-size:14px;line-height:1.4;margin:10px 0 0;min-height:40px}
 body.fanfan-design .ff-ui .ff-category-image{border-radius:6px}
 body.fanfan-design .ff-ui .managed-grid,body.fanfan-design .ff-ui .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px}
 body.fanfan-design .ff-ui .signature-offer .managed-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px}
 body.fanfan-design .ff-ui .signature-offer .managed-card{display:grid;grid-template-columns:40% minmax(0,1fr);align-items:stretch}
 body.fanfan-design .ff-ui .signature-offer .managed-photo{height:100%;min-height:180px;aspect-ratio:4/5!important}
 body.fanfan-design .ff-ui .signature-offer .managed-copy{padding:18px 14px;display:flex;flex-direction:column;justify-content:center}
 body.fanfan-design .ff-ui .signature-offer .managed-copy h3{font-size:20px;line-height:1.3}
 body.fanfan-design .ff-ui .signature-offer .managed-copy .price{font-size:15px;line-height:1.6}
 body.fanfan-design .ff-ui .managed-card{min-width:0;max-width:100%;height:100%}
 body.fanfan-design .ff-ui .managed-photo{width:100%;max-width:100%;min-width:0}
 body.fanfan-design .ff-ui .managed-photo img{max-width:100%;display:block}
 body.fanfan-design .ff-ui .managed-copy{min-width:0;padding:12px 0 0}
 body.fanfan-design .ff-ui .layout-framed:not(.signature-offer) .managed-copy{padding:12px}
 body.fanfan-design .ff-ui .managed-copy h3,body.fanfan-design .ff-ui .card h3{font-size:17px;line-height:1.4;letter-spacing:-.25px;margin:0 0 7px;overflow-wrap:anywhere}
 body.fanfan-design .ff-ui .managed-copy small{font-size:13px;line-height:1.5}
 body.fanfan-design .ff-ui .managed-copy .price,body.fanfan-design .ff-ui .card .price{font-size:14px;line-height:1.65;white-space:normal}
 body.fanfan-design .ff-ui .price .amount{white-space:nowrap}
 body.fanfan-design .ff-ui .price .woocommerce-price-suffix{display:block;font-size:11px;font-weight:400}
 body.fanfan-design .ff-ui .managed-copy b{font-size:13px;line-height:1.5;margin-top:12px}
 body.fanfan-design .ff-ui .personalgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
 body.fanfan-design .ff-ui .personal h2{font-size:31px;line-height:1.2;letter-spacing:-.7px;margin-bottom:16px}
 body.fanfan-design .ff-ui .personal p{font-size:16px;line-height:1.75}
 body.fanfan-design .ff-ui .steps{min-width:0}
 body.fanfan-design .ff-ui .step{gap:16px;min-width:0;padding:16px 0}
 body.fanfan-design .ff-ui .step strong{font-size:27px;flex:0 0 38px;line-height:1.3}
 body.fanfan-design .ff-ui .step>div{min-width:0}
 body.fanfan-design .ff-ui .step h3{font-size:18px;line-height:1.4;margin:0 0 5px}
 body.fanfan-design .ff-ui .step p{font-size:14px;line-height:1.65;margin:0}
 body.fanfan-design .ff-ui .businessband{padding:24px 18px;display:flex;flex-direction:column;gap:18px;align-items:stretch;margin-top:30px}
 body.fanfan-design .ff-ui .businessband h3{font-size:23px;line-height:1.3}
 body.fanfan-design .ff-ui .businessband p{font-size:15px;line-height:1.7}
 body.fanfan-design .ff-ui .faq summary{padding:18px 26px 18px 0;font-size:16px;line-height:1.5}
 body.fanfan-design .ff-ui .faq p{font-size:15px;line-height:1.7}
 body.fanfan-design .ff-ui footer{padding-top:36px}
 body.fanfan-design .ff-ui .footgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
 body.fanfan-design .ff-ui .footgrid>div{min-width:0;overflow-wrap:anywhere}
 body.fanfan-design .ff-ui footer h3{font-size:17px;line-height:1.4;margin-bottom:14px}
 body.fanfan-design .ff-ui footer p,body.fanfan-design .ff-ui footer .footgrid a:not(.footbrand){font-size:14px;line-height:1.75}
 body.fanfan-design .ff-ui .footbottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:20px;padding-bottom:30px;font-size:12px;line-height:1.6}
 /* Porto/WooCommerce: responsive wrappers without changing purchase handlers. */
 body.fanfan-design.woocommerce-page #main .main-content{flex:0 0 100%;max-width:100%;min-width:0}
 body.fanfan-design.woocommerce-page #main .sidebar{max-width:100%;min-width:0}
 body.fanfan-design.woocommerce-page .woocommerce-products-header h1,body.fanfan-design.single-product .product_title,body.fanfan-design .page-top h1{font-size:28px!important;line-height:1.25;overflow-wrap:break-word;letter-spacing:-.6px}
 body.fanfan-design.woocommerce-page ul.products:not(.owl-carousel):not(.products-slider){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important;width:100%!important;margin:0!important;padding:0!important;min-width:0}
 body.fanfan-design.woocommerce-page ul.products:not(.owl-carousel):not(.products-slider)::before,body.fanfan-design.woocommerce-page ul.products:not(.owl-carousel):not(.products-slider)::after{display:none!important}
 body.fanfan-design.woocommerce-page ul.products:not(.owl-carousel):not(.products-slider)>li.product{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important;flex:none!important}
 body.fanfan-design.woocommerce-page ul.products li.product .woocommerce-loop-product__title,body.fanfan-design.woocommerce-page ul.products li.product h3{font-size:16px!important;line-height:1.4;overflow-wrap:anywhere}
 body.fanfan-design.woocommerce-page ul.products li.product .price{font-size:14px;line-height:1.6}
 body.fanfan-design.single-product .product-summary-wrap>.row{display:flex;flex-wrap:wrap}
 body.fanfan-design.single-product .product-summary-wrap>.row>[class*=col-]{width:100%!important;max-width:100%!important;flex:0 0 100%!important;min-width:0}
 body.fanfan-design.single-product .woocommerce-product-gallery,body.fanfan-design.single-product .summary{width:100%!important;max-width:100%!important;float:none!important;min-width:0}
 body.fanfan-design.single-product .summary{margin-top:24px}
 body.fanfan-design.single-product .summary .price{font-size:21px;line-height:1.5}
 body.fanfan-design.single-product form.cart{max-width:100%;min-width:0}
 body.fanfan-design.single-product form.cart .variations,body.fanfan-design.single-product form.cart .variations tbody,body.fanfan-design.single-product form.cart .variations tr,body.fanfan-design.single-product form.cart .variations td,body.fanfan-design.single-product form.cart .variations th{display:block;width:100%;max-width:100%}
 body.fanfan-design.single-product form.cart .variations th{padding-bottom:6px}
 body.fanfan-design.single-product form.cart .variations td{padding-bottom:16px}
 body.fanfan-design.single-product form.cart .variations select{width:100%;min-height:48px;font-size:16px}
 body.fanfan-design.single-product .single_add_to_cart_button{min-height:50px;font-size:16px!important;max-width:100%}
 body.fanfan-design.woocommerce-cart .woocommerce-cart-form,body.fanfan-design.woocommerce-checkout .checkout{max-width:100%;min-width:0}
 body.fanfan-design.woocommerce-checkout .col2-set{display:block;width:100%}
 body.fanfan-design.woocommerce-checkout .col2-set>.col-1,body.fanfan-design.woocommerce-checkout .col2-set>.col-2{width:100%;max-width:100%;float:none;flex:none}
 body.fanfan-design.woocommerce-page input.input-text,body.fanfan-design.woocommerce-page select,body.fanfan-design.woocommerce-page textarea{max-width:100%;font-size:16px}
 body.fanfan-design.woocommerce-page .woocommerce-ordering{max-width:100%;float:none;margin:12px 0}
 body.fanfan-design.woocommerce-page .woocommerce-ordering select{width:100%;min-height:44px}
 body.fanfan-design.woocommerce-page .woocommerce-result-count{float:none;line-height:1.6}
}
@media(max-width:479px){body.fanfan-design .ff-ui .footgrid{grid-template-columns:minmax(0,1fr);gap:26px}}
@media(max-width:359px){body.fanfan-design .ff-ui .managed-grid,body.fanfan-design .ff-ui .grid,body.fanfan-design.woocommerce-page ul.products:not(.owl-carousel):not(.products-slider){grid-template-columns:minmax(0,1fr)!important}body.fanfan-design .ff-ui .signature-offer .managed-card{grid-template-columns:42% minmax(0,1fr)}body.fanfan-design .ff-ui .signature-offer .managed-copy{padding:14px 10px}body.fanfan-design .ff-ui .signature-offer .managed-copy h3{font-size:18px}}
.ff-ui .category-carousel{--ff-category-visible:5}
@media(min-width:768px) and (max-width:1023px){body.fanfan-design .ff-ui .category-carousel{--ff-category-visible:3}body.fanfan-design .ff-ui .category-track{grid-auto-columns:calc((100% - 32px)/3);gap:16px}}
@media(max-width:767px){body.fanfan-design .ff-ui .category-carousel{--ff-category-visible:2}}
@media(max-width:767px){html{min-width:0;width:100%}}
