/*
Theme Name: Father Figure
Author: Father Figure
Description: Editorial Father Figure coaching and WooCommerce storefront.
Version: 1.0.0
Text Domain: father-figure
*/
:root{--sand:#e9e5db;--ink:#1b2223;--moss:#36443a;--clay:#b86a43;--paper:#f7f5ef;--line:#1b222326}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font:15px/1.7 Arial,sans-serif}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Impact,'Arial Narrow',sans-serif;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:-.025em}h1{font-size:clamp(65px,10vw,145px)}h2{font-size:clamp(42px,5.5vw,78px)}h3{font-size:26px}.wrap{width:90%;max-width:1280px;margin:auto}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:.19em;text-transform:uppercase}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.logo{width:87px;height:87px;object-fit:contain;display:block}.nav-links{display:flex;align-items:center;gap:28px;font-size:11px;text-transform:uppercase;font-weight:bold;letter-spacing:.05em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;background:var(--clay);color:white;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:bold;border:0}.btn.dark{background:var(--ink)}.btn.light{background:var(--sand);color:var(--ink)}.btn:hover{background:#965332;color:white}.text-link{display:inline-block;border:0;border-bottom:1px solid currentColor;padding:0 0 5px;background:none;color:inherit;font-size:11px;font-weight:bold}.hero{min-height:680px;background:linear-gradient(90deg,#111916f5 0%,#111916d9 30%,#11191666 65%,#11191615),url('assets/brand-father-son.jpg') 65% 45%/cover;color:var(--paper);display:flex;align-items:center}.hero-copy{padding:85px 0}.hero h1{margin:25px 0}.hero h1 em{font-style:normal;color:#d18b60}.hero p{max-width:400px;font-size:15px;color:#e0e3da;margin-bottom:28px}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.hero-caption{display:block;margin-top:50px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.values{background:var(--ink);color:var(--sand);padding:19px 5%;display:flex;justify-content:space-between;gap:15px;font-size:9px;text-transform:uppercase;letter-spacing:.16em}.offer{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center;padding:80px 0}.offer h2{margin:18px 0}.offer p{font-size:14px;max-width:440px;color:#5b6459;margin:18px 0}.coaching-card{background:var(--paper);padding:35px 38px;border-top:3px solid var(--clay)}.inclusions{list-style:none;padding:0;margin:17px 0 25px}.inclusions li{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.inclusions li:before{content:'↗';color:var(--clay);margin-right:15px}.coaching-card .price{font:64px/1 Impact,sans-serif}.coaching-card .price small{font:12px Arial,sans-serif}.coaching-card .btn{width:100%}.fine,.coaching-card .fine{font-size:11px;line-height:1.7;color:#65705f}.shop-section{border-top:1px solid var(--line);padding:65px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2{margin:15px 0;font-size:clamp(45px,5vw,68px)}.section-heading p{font-size:13px;color:#60695a}.collection-controls{display:flex;gap:25px;align-items:center}.arrows{display:flex;gap:8px}.arrows button{border:1px solid #afb8a6;background:none;width:40px;height:40px;font-size:20px}.products{display:flex;gap:18px;overflow-x:auto;scrollbar-width:thin;padding-bottom:18px}.product{flex:0 0 calc((100% - 54px)/4);text-align:center;min-width:0}.product-art{aspect-ratio:4/5;background:#f0f0eb;position:relative;display:block;overflow:hidden}.product-art img{height:100%;width:100%;object-fit:contain;transition:transform .3s}.product-art:hover img{transform:scale(1.04)}.product-badge{position:absolute;top:12px;left:12px;padding:5px 9px;background:var(--moss);color:var(--paper);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.product h3{font:500 13px/1.5 Arial,sans-serif;text-transform:none;letter-spacing:0;margin-top:16px}.product-price{font-size:11px;margin-top:7px}.ready{border-top:1px solid var(--line);padding:45px 0;display:flex;gap:25px;justify-content:space-between;align-items:center}.ready h2{font-size:clamp(35px,4vw,55px);margin-top:12px}.challenge-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--moss);color:var(--paper);margin-top:25px}.challenge-banner>img{height:100%;min-height:520px;width:100%;object-fit:cover;object-position:center 30%}.challenge-copy{padding:60px 10%;display:flex;flex-direction:column;gap:20px;align-items:flex-start;justify-content:center}.challenge-copy p{font-size:14px;max-width:430px;color:#dbe1d6}.challenge-copy .fine{font-size:11px;color:#cad5c3}.challenge-copy h2{font-size:clamp(42px,4.5vw,65px)}.status-pill{font-size:9px;letter-spacing:.1em;text-transform:uppercase;border:1px solid #e9e5db60;padding:6px 13px;border-radius:20px}.status-pill:before{content:'●';color:#d69d75;margin-right:8px}.footer{background:var(--ink);color:var(--sand);padding:35px 0}.foot-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer p{font-size:11px;color:#bdc7b6}.footer nav{display:flex;gap:20px;font-size:11px}.content-page{padding:60px 0;min-height:60vh}.content-page>h1,.woocommerce-products-header h1{font-size:clamp(45px,6vw,80px);margin-bottom:35px}.content-page .content{margin-top:30px}.collection-pending{padding:45px;background:var(--paper);width:100%}.collection-pending p{font-size:13px;color:#626b5a;margin-top:15px}.blueprint-modal{border:0;background:var(--paper);color:var(--ink);width:min(550px,92vw);max-height:90dvh;overflow:auto;padding:35px}.blueprint-modal::backdrop{background:#111b18a0}.blueprint-modal h2{font-size:44px;margin:20px 0}.blueprint-modal>p{font-size:13px;color:#5b6653}.close{float:right;border:0;background:none;color:var(--ink);font-size:25px;margin-top:-10px}.interest-form{width:100%;margin-top:20px}.interest-form>label{font-size:11px;display:block;margin-bottom:8px}.interest-form input[type=email]{width:100%;padding:14px;background:var(--paper);color:var(--ink);border:1px solid #aab69f;border-radius:0}.interest-form .consent{display:flex;align-items:flex-start;gap:9px;margin:15px 0;font-size:11px}.interest-form .consent input{margin-top:5px}.interest-form .btn{width:100%}.interest-form .fine{margin-top:13px}.honeypot{position:absolute;left:-10000px}.challenge-page{display:grid;grid-template-columns:1fr 1fr;background:var(--moss);color:var(--paper)}.challenge-page>img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.challenge-page h1{font-size:clamp(55px,6.5vw,90px)}.challenge-page .fine{color:#d0d9c9}.challenge-page .interest-form label{color:var(--paper)}.challenge-page .interest-form .btn{background:var(--sand);color:var(--ink)}#ff-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 25px;font-size:12px;max-width:90vw;z-index:1000;box-shadow:0 5px 25px #0003}#ff-toast:empty{display:none}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;overflow:visible}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{float:none!important;width:100%!important;margin:0!important}.woocommerce ul.products li.product img{background:#f0f0eb}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:500 14px/1.5 Arial,sans-serif}.woocommerce ul.products li.product .price{font:13px Arial,sans-serif;color:var(--ink)}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:0;background:var(--ink);color:white;font-size:11px;padding:15px 20px}.woocommerce .woocommerce-ordering select{background:var(--paper);border:1px solid #aab59f;padding:10px;font-size:12px}.woocommerce div.product .product_title{font-size:clamp(36px,4vw,58px);margin-bottom:22px}.woocommerce div.product p.price{font:24px Arial,sans-serif;color:var(--ink)}.woocommerce-product-details__short-description{font-size:14px;margin:20px 0}.woocommerce-tabs h2{font-size:28px}.woocommerce table.shop_table{border-radius:0}.woocommerce-message,.woocommerce-info{background:var(--paper)}.woocommerce-breadcrumb{font-size:11px!important;margin-bottom:30px!important}.woocommerce-products-header{margin-bottom:35px}:focus-visible{outline:3px solid var(--clay);outline-offset:4px}@media(max-width:900px){.nav-links{gap:18px}.product{flex-basis:calc((100% - 36px)/3)}.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-links>a[href$="#coaching"]{display:none}}@media(max-width:650px){.nav{height:78px}.logo{width:70px;height:70px}.nav-links>a:not(.btn){display:none}.nav-links .btn{font-size:9px;padding:14px 17px}.hero{min-height:610px;background-position:62% center}.hero-copy{padding:65px 0}.hero h1{font-size:clamp(72px,13vw,100px)}.hero p{max-width:330px}.values{flex-wrap:wrap;font-size:8px}.offer{grid-template-columns:1fr;gap:30px;padding:50px 0}.coaching-card{padding:26px 24px}.product{flex-basis:72%}.section-heading{gap:15px}.collection-controls{flex-direction:column;align-items:end;gap:15px}.collection-controls .text-link{font-size:10px}.shop-section{padding:45px 0}.ready{align-items:start;flex-direction:column;padding:35px 0}.challenge-banner,.challenge-page{grid-template-columns:1fr}.challenge-banner>img{height:280px;min-height:0}.challenge-copy{padding:38px 6%}.challenge-page>img{height:300px;order:2}.foot-row{flex-wrap:wrap}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.content-page{padding:40px 0}.blueprint-modal{padding:27px}}

/* Keep hero copy and overlay stationary while the photography crossfades. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#111916}
.hero-slides{position:absolute;inset:0;z-index:-2;pointer-events:none}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 45%;opacity:0;transition:opacity 1.3s ease}
.hero-slide.is-active{opacity:1}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111916f5 0%,#111916d9 30%,#11191666 65%,#11191615);pointer-events:none}
@media(max-width:650px){.hero-slide{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Store refresh: shared mobile navigation and a consistent apparel grid. */
.nav{position:relative;z-index:30}.nav-actions{display:none}.menu-toggle{display:none}
.post-type-archive-product .content-page{padding-top:54px;padding-bottom:80px}
.woocommerce .woocommerce-products-header{clear:both;padding:0 0 32px;margin:0 0 24px;border-bottom:1px solid var(--line)}
.woocommerce .woocommerce-products-header h1{margin:0 0 18px;font-size:clamp(56px,6.4vw,88px)}
.ff-shop-intro{font-size:15px;color:#596153;max-width:550px}
.woocommerce .woocommerce-result-count{margin:10px 0 24px;font-size:12px;color:#596153}
.woocommerce .woocommerce-ordering{margin:0 0 24px}
.woocommerce .woocommerce-ordering select{min-height:44px;padding:10px 34px 10px 14px;border:1px solid var(--line);border-radius:3px;background-color:var(--paper);max-width:100%}
.woocommerce ul.products{clear:both;gap:38px 24px;padding:0;margin:0 0 24px;list-style:none}
.woocommerce ul.products li.product{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-width:0;padding:0;background:none;flex-basis:auto}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:block}
.woocommerce ul.products li.product a img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;margin:0 0 17px!important;background:#f1efe9;border-radius:5px;transition:filter .2s}
.woocommerce ul.products li.product a:hover img{filter:brightness(.97)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:500 14px/1.45 Arial,sans-serif;text-transform:none;letter-spacing:0;padding:0;margin:0 0 9px;min-height:41px;color:var(--ink)}
.woocommerce ul.products li.product .price{display:block;margin:0 0 15px;font-size:14px;line-height:1.4;color:var(--ink)}
.woocommerce ul.products li.product .button{align-self:flex-start;margin:0;margin-top:auto;padding:0 0 5px;min-height:27px;border:0;border-bottom:1px solid #72796c;border-radius:0;background:transparent;color:var(--ink);font:600 11px/1.5 Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase}
.woocommerce ul.products li.product .button:hover{background:none;color:var(--clay);border-color:var(--clay)}
.woocommerce ul.products li.product .added_to_cart{font-size:12px;padding-top:10px}
/* Override generic .product card styles on the single-product container. */
.woocommerce div.product{display:block;text-align:left;width:100%;min-width:0;flex:none}
.woocommerce div.product div.images{width:52%;margin-bottom:44px}
.woocommerce div.product div.summary{width:42%;margin:0 0 44px}
.woocommerce div.product div.images .woocommerce-product-gallery__image{background:#f1efe9;border-radius:5px;overflow:hidden}
.woocommerce div.product div.images img{width:100%;height:auto;object-fit:contain}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:8px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:calc((100% - 24px)/4)}
.woocommerce div.product .product_title{font-size:clamp(32px,3.5vw,52px);line-height:1.04;margin:0 0 22px;overflow-wrap:break-word}
.woocommerce div.product p.price{margin:0 0 20px;font-size:23px}
.woocommerce-product-details__short-description{font-size:15px;line-height:1.7;margin:0 0 26px;color:#596153}
.woocommerce div.product form.cart{margin:24px 0}
.woocommerce div.product form.cart .variations{margin-bottom:20px}
.woocommerce div.product form.cart .variations th{display:block;padding:0;text-align:left;font-size:12px}
.woocommerce div.product form.cart .variations td{display:block;padding:6px 0 0}
.woocommerce div.product form.cart .variations select{width:100%;max-width:100%;min-height:48px;background:var(--paper);border:1px solid #aab09f;border-radius:3px;padding:10px;color:var(--ink)}
.woocommerce div.product form.cart .quantity .qty{height:48px;width:64px;background:var(--paper);border:1px solid #aab09f;border-radius:3px}
.woocommerce div.product form.cart .single_add_to_cart_button{min-height:48px;padding:14px 24px;border-radius:3px}
.ff-product-description,.woocommerce .related.products,.ff-product-details{clear:both;float:none;display:block;width:100%;overflow:visible}
.ff-product-description{border-top:1px solid var(--line);padding:34px 0 40px}
.ff-product-description h2{font-size:28px;margin:0 0 18px}
.ff-product-description p{max-width:740px;margin:0 0 12px;font-size:14px;line-height:1.85}
.woocommerce .related.products{padding:34px 0 24px;border-top:1px solid var(--line);margin:0}
.woocommerce .related.products>h2{display:block;width:100%;font-size:clamp(30px,4vw,44px);margin:0 0 26px;line-height:1.1}
.woocommerce .related.products ul.products{width:100%;margin:0;padding-bottom:14px}
.ff-product-details{border-top:1px solid var(--line);margin-top:18px}
.ff-product-details details{border-bottom:1px solid var(--line)}
.ff-product-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:23px 0;font-size:14px;font-weight:600}
.ff-product-details summary::-webkit-details-marker{display:none}.ff-product-details summary span{font-size:24px;font-weight:400;line-height:1}.ff-product-details details[open] summary span{transform:rotate(45deg)}
.ff-detail-content{padding:0 0 28px;max-width:850px}.ff-detail-content>h2,.ff-detail-content #reviews>h2{font-size:24px;margin-bottom:18px}
.ff-detail-content table{font-size:13px}.ff-detail-content #review_form_wrapper{max-width:650px}.ff-detail-content textarea,.ff-detail-content input[type=text],.ff-detail-content input[type=email]{max-width:100%;padding:10px;border:1px solid #aab09f;background:var(--paper)}
@media(max-width:900px){
 .nav{height:84px;gap:14px}.nav .logo{width:72px;height:72px}.nav-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
 .mobile-coaching{font-size:9px;padding:14px 17px}
 .menu-toggle{display:flex;align-items:center;gap:10px;justify-content:center;min-width:80px;min-height:44px;background:none;border:1px solid #aab09f;color:var(--ink);padding:10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
 .menu-icon{width:15px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}.menu-icon:after{content:'';position:absolute;top:4px;left:0;right:0;border-top:1px solid currentColor}
 .nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 22px 22px;background:var(--sand);box-shadow:0 16px 20px #1b222312;border:1px solid var(--line);border-top:0;align-items:stretch;gap:0}
 .nav-links.is-open{display:flex;flex-direction:column}.nav-links>a:not(.btn),.nav-links>a[href$="#coaching"]{display:block;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.nav-links>.btn{display:flex;margin-top:18px;padding:17px;font-size:11px}
 .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
}
@media(max-width:650px){
 .nav{height:78px}.nav .logo{width:64px;height:64px}.nav-actions{gap:9px}.mobile-coaching{font-size:9px;padding:13px 12px}.menu-toggle{min-width:76px;font-size:10px}
 .post-type-archive-product .content-page{padding-top:35px;padding-bottom:45px}.woocommerce .woocommerce-products-header{padding-bottom:25px;margin-bottom:18px}.woocommerce .woocommerce-products-header h1{font-size:53px;margin-bottom:13px}.ff-shop-intro{font-size:13px;max-width:300px}
 .woocommerce .woocommerce-result-count{font-size:11px;margin:12px 0 19px}.woocommerce .woocommerce-ordering{max-width:57%;margin-bottom:20px}.woocommerce .woocommerce-ordering select{width:100%;font-size:11px;padding:9px 5px;min-height:40px}
 .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 13px}.woocommerce ul.products li.product a img{margin-bottom:12px!important;border-radius:3px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px;line-height:1.5;min-height:54px;margin-bottom:7px}.woocommerce ul.products li.product .price{font-size:13px;margin-bottom:12px}.woocommerce ul.products li.product .button{font-size:10px}
 .woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%;margin:0 0 30px}.woocommerce div.product .product_title{font-size:36px;margin-bottom:16px}.woocommerce-product-details__short-description{font-size:14px}.woocommerce div.product form.cart .single_add_to_cart_button{width:calc(100% - 78px);text-align:center}
 .ff-product-description{padding:26px 0}.ff-product-description p{font-size:13px}.woocommerce .related.products{padding:26px 0 12px}.woocommerce .related.products>h2{font-size:32px;margin-bottom:20px}
 .woocommerce .related.products ul.products{display:flex!important;flex-wrap:nowrap;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:0;scrollbar-width:thin;padding:0 0 18px;width:100%}
 .woocommerce .related.products ul.products li.product{flex:0 0 74%;width:74%!important;scroll-snap-align:start;min-width:0}.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title{min-height:0;font-size:14px}.ff-product-details{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.product a img{transition:none}}
.woocommerce div.product form.cart .single_add_to_cart_button.alt{background:var(--ink);color:var(--paper);border:0}
.woocommerce div.product form.cart .single_add_to_cart_button.alt:hover{background:var(--moss)}
.woocommerce div.product form.cart .single_add_to_cart_button.alt.disabled,.woocommerce div.product form.cart .single_add_to_cart_button.alt:disabled{background:var(--ink);opacity:.5}

/* Keep one product view on the page; all angles remain in WooCommerce's lightbox. */
.woocommerce div.product div.images .flex-control-thumbs,
.woocommerce div.product div.images .flex-direction-nav{display:none!important}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0}
.woocommerce div.product div.images .woocommerce-product-gallery__image a{display:block;cursor:zoom-in}
.woocommerce div.product div.images:not(.ff-gallery-ready) .woocommerce-product-gallery__image:not(:first-child){display:none}
.ff-gallery-hint{display:block;width:100%;border:0;background:none;color:var(--ink);text-align:left;padding:12px 0 0;font:12px/1.5 Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.pswp{z-index:99999}
