/* Frenkies & Friends v1.1.0: complete store funnel, beige/brown only.
   Native WooCommerce Classic, Woo Blocks and YITH WAPO retain their markup and logic. */
:root{--ff-border:rgba(100,66,47,.17);--ff-shadow:0 14px 38px rgba(83,48,28,.09)}
/* Retire the earlier sage/green presentation without changing saved content. */
.ff-blob-sage{background:#bf9478!important}
.ff-hero-visual:before{background:#ddbea6!important}
.ff-bottom-cta{background:#78543e!important}
.ff-dot,.ff-cart-count{background:#9a755d!important}
.ff-hero,.ff-story-section{isolation:isolate}
.ff-hero:before{content:"";position:absolute;z-index:0;top:-96px;left:-95px;width:230px;height:230px;border-radius:51% 49% 68% 32%/42% 67% 33% 58%;background:#9b7459;pointer-events:none}
.ff-hero:after{content:"";position:absolute;z-index:0;left:-95px;bottom:15px;width:180px;height:140px;border-radius:57% 43% 67% 33%/52% 35% 65% 48%;background:#e4bda4;pointer-events:none}
.ff-categories,.ff-featured{position:relative;isolation:isolate}
.ff-categories:after,.ff-featured:before{content:"";position:absolute;pointer-events:none;z-index:-1;background:#e9c3a9;border-radius:40% 60% 54% 46%/58% 39% 61% 42%;opacity:.5;transform:rotate(18deg)}
.ff-categories:after{width:165px;height:160px;right:-90px;top:35%}.ff-featured:before{width:190px;height:145px;left:-110px;bottom:15%}
.ff-header .ff-cart-open:focus-visible,.ff-header .ff-icon-button:focus-visible{outline-color:#aa785e}
.ff-transaction-page{padding-top:0!important;padding-bottom:94px!important}
.ff-commerce-heading{padding:66px 22px 40px;margin:0 calc((min(100vw - 54px,1290px) - 100vw)/2) 32px;text-align:center;background:radial-gradient(ellipse at 45% 25%,#fffaf0,#eed5bd 92%);position:relative;isolation:isolate;overflow:hidden}
.ff-commerce-heading:before,.ff-commerce-heading:after{content:"";position:absolute;z-index:-1;background:#a07a60;border-radius:58% 42% 33% 67%/60% 35% 65% 40%;width:210px;height:175px;transform:rotate(25deg)}
.ff-commerce-heading:before{left:-110px;top:-80px}.ff-commerce-heading:after{right:-135px;bottom:-95px;background:#e0b699}
.ff-commerce-heading h1{font-size:clamp(2.6rem,4.3vw,4.8rem);letter-spacing:-.045em;margin:12px 0 15px}
.ff-commerce-heading p{max-width:660px;margin:auto;color:#775843}
.ff-transaction-page .ff-commerce-content{padding:10px 0}
.ff-transaction-page .woocommerce{font-family:var(--ff-body);color:var(--ff-ink)}
.ff-checkout-steps{display:flex;max-width:650px;align-items:center;gap:16px;margin:0 auto 45px;justify-content:space-between;color:#896b56;font-size:.82rem;font-weight:800}
.ff-checkout-steps>a,.ff-checkout-steps>span:not(.ff-step-separator){display:flex;align-items:center;gap:9px;white-space:nowrap}
.ff-checkout-steps span span{width:34px;height:34px;border:1px solid #c4a18a;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;font-size:.76rem;color:#86634d;background:#fff9ef}
.ff-checkout-steps [aria-current=step]{color:var(--ff-chocolate)}
.ff-checkout-steps [aria-current=step] span{background:var(--ff-chocolate);border-color:var(--ff-chocolate);color:#fff}
.ff-checkout-steps .ff-step-separator{height:1px;background:#e1c8b4;flex:1;min-width:13px}
.ff-checkout-steps .ff-muted-step{opacity:.64}
.ff-transaction-note{text-align:center;margin:55px auto 0;padding:21px;border-top:1px solid var(--ff-border);color:#6d4a34;font-size:.92rem}
.ff-transaction-note>span:first-child{font-size:1.5rem;vertical-align:middle;margin-right:8px}
.ff-transaction-note a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
/* Reusable form treatments: classic WooCommerce and account area. */
.ff-commerce-content :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea):not([type=hidden]){background:#fffcf8;border:1px solid #dfc5af;border-radius:12px;color:#533728;min-height:46px;padding:11px 14px;box-shadow:none;max-width:100%}
.ff-commerce-content :is(input,select,textarea):focus-visible{outline:2px solid #a47358;outline-offset:2px;border-color:#a47358}
.ff-commerce-content label{font-size:.89rem;color:#624531;font-weight:750}
.ff-commerce-content :is(.woocommerce-form-row,.form-row){margin-bottom:19px}
.ff-commerce-content :is(.woocommerce-error,.woocommerce-info,.woocommerce-message){background:#fff5e8;border:1px solid #e7c4a9;border-left:4px solid #a77a5c;color:#503627;border-radius:15px;padding:18px 22px;line-height:1.5;list-style:none;box-shadow:none}
.ff-commerce-content :is(.woocommerce-error,.woocommerce-info,.woocommerce-message):before{color:#78543e}
.ff-commerce-content :is(.button,.button.alt,button.button,input.button,.wc-block-components-button,.wp-element-button):not(.remove):not(.showcoupon){background:#593823;color:white;border:1px solid #593823;border-radius:50px;padding:14px 22px;min-height:47px;font-size:.92rem;font-weight:800;text-decoration:none;box-shadow:none;transition:background .2s,transform .2s;line-height:1.35}
.ff-commerce-content :is(.button,.button.alt,button.button,input.button,.wc-block-components-button,.wp-element-button):not(.remove):not(.showcoupon):hover{background:#79513a;color:white;transform:translateY(-1px)}
.ff-commerce-content a{transition:color .15s}.ff-commerce-content a:not(.button):not(.wp-element-button):hover{color:#926449}
.ff-commerce-content a:focus-visible,.ff-commerce-content button:focus-visible{outline:3px solid #b48365;outline-offset:2px}
/* Cart: shortcode / classic WooCommerce. */
.ff-cart-page .woocommerce-cart-form,.ff-cart-page .cart-collaterals .cart_totals,.ff-checkout-page .woocommerce-checkout-review-order,.ff-checkout-page .woocommerce-billing-fields,.ff-checkout-page .woocommerce-shipping-fields,.ff-checkout-page .woocommerce-additional-fields{background:#fffbf5;border-radius:22px;border:1px solid #ebd7c4;box-shadow:var(--ff-shadow);padding:clamp(18px,2.5vw,33px)}
.ff-cart-page .woocommerce table.shop_table,.ff-checkout-page .woocommerce table.shop_table,.ff-account-page .woocommerce table.shop_table{border:0;border-collapse:separate;border-spacing:0;width:100%;border-radius:14px;overflow:hidden;background:#fffcf8}
.ff-cart-page .woocommerce table.shop_table th,.ff-cart-page .woocommerce table.shop_table td,.ff-checkout-page .woocommerce table.shop_table th,.ff-checkout-page .woocommerce table.shop_table td,.ff-account-page .woocommerce table.shop_table th,.ff-account-page .woocommerce table.shop_table td{border:0;border-bottom:1px solid #eddccf;padding:16px 14px;vertical-align:middle}
.ff-cart-page .woocommerce table.shop_table th,.ff-checkout-page .woocommerce table.shop_table th,.ff-account-page .woocommerce table.shop_table th{background:#f5e7d8;font-size:.83rem;color:#66422d}
.ff-cart-page .woocommerce table.shop_table tr:last-child td{border-bottom:0}
.ff-cart-page .woocommerce table.cart img{width:78px;border-radius:14px}
.ff-cart-page .woocommerce .quantity .qty{width:78px;min-height:44px;text-align:center;border-radius:10px;border:1px solid #e0c6b3;background:#fffbf5}
.ff-cart-page .woocommerce .cart-collaterals .cart_totals{float:none;width:100%;margin:22px 0 0}
.ff-cart-page .woocommerce .cart-collaterals .cart_totals h2,.ff-checkout-page h3{font-family:var(--ff-display);font-size:1.65rem;margin:0 0 24px}
.ff-cart-page .woocommerce .cart-collaterals .cart_totals .checkout-button{display:block;width:100%;text-align:center}
.ff-cart-page .woocommerce .cart .button[name=update_cart]{background:#e5c4ad!important;border-color:#e5c4ad!important;color:#563925!important}
.ff-cart-page .woocommerce .cart .coupon input{border-radius:12px;min-width:140px;max-width:220px}
.ff-cart-page .woocommerce a.remove{display:flex;align-items:center;justify-content:center;color:#8e5c3c!important;background:transparent!important;border:1px solid #dfc3ae;width:32px;height:32px;border-radius:50%;line-height:1;text-decoration:none!important}
.ff-cart-page .woocommerce a.remove:hover{background:#ecd5c3!important;color:#563925!important}
.woocommerce .cart-empty{padding:34px 0;text-align:center;font-family:var(--ff-display);font-size:1.6rem}
.woocommerce .return-to-shop{text-align:center}
/* Classic checkout, preserving shipping, gateway handlers, validation and checkout fragments. */
.ff-checkout-page #customer_details .col-1,.ff-checkout-page #customer_details .col-2{float:none;width:100%}
.ff-checkout-page .woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
.ff-checkout-page .woocommerce-checkout .col2-set .col-1,.ff-checkout-page .woocommerce-checkout .col2-set .col-2{max-width:100%}
.ff-checkout-page .woocommerce form.checkout_coupon,.ff-checkout-page .woocommerce form.login{background:#fff9ef;border:1px solid #ecd2bd;border-radius:18px;padding:22px}
.ff-checkout-page #order_review_heading{padding-top:15px;margin-bottom:20px}
.ff-checkout-page .woocommerce-checkout-payment{background:#f7e7d6!important;border-radius:18px!important;padding:18px 15px}
.ff-checkout-page .woocommerce-checkout-payment .payment_box{background:#fffaf4!important;border-radius:12px!important}
.ff-checkout-page .woocommerce-checkout-payment .payment_box:before{border-bottom-color:#fffaf4!important}
.ff-checkout-page #place_order{min-height:55px;padding:16px 28px!important}
.ff-checkout-page .woocommerce-privacy-policy-text{font-size:.85rem;line-height:1.7}
/* My Account: accessible navigation, forms, orders, addresses, downloads and details. */
.ff-account-page .woocommerce-MyAccount-navigation{float:left;width:27%;background:#fffaf4;border:1px solid #ead1bf;border-radius:23px;box-shadow:var(--ff-shadow);padding:15px;margin:0 0 30px;box-sizing:border-box}
.ff-account-page .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.ff-account-page .woocommerce-MyAccount-navigation li{margin:3px 0;list-style:none}
.ff-account-page .woocommerce-MyAccount-navigation li a{display:block;border-radius:13px;padding:13px 16px;color:#563823;font-weight:750;font-size:.91rem;line-height:1.35}
.ff-account-page .woocommerce-MyAccount-navigation li a:hover{background:#f1dfcd}
.ff-account-page .woocommerce-MyAccount-navigation li.is-active a{background:#593823;color:white}
.ff-account-page .woocommerce-MyAccount-content{float:right;width:70%;background:#fffbf5;border:1px solid #ecd8c6;border-radius:23px;box-shadow:var(--ff-shadow);padding:clamp(20px,3vw,34px);min-height:250px;box-sizing:border-box}
.ff-account-page .woocommerce-MyAccount-content:after,.ff-account-page .woocommerce:after{content:"";display:table;clear:both}
.ff-account-page .woocommerce-MyAccount-content>p:first-child{font-size:1.02rem}
.ff-account-page .woocommerce-MyAccount-content .woocommerce-Address{background:#f8ebdd;padding:22px;border-radius:16px;margin-bottom:14px}
.ff-account-page .woocommerce-MyAccount-content .woocommerce-Address-title h3{margin:0 0 12px}
.ff-account-page .woocommerce-MyAccount-content .woocommerce-Address-title a{text-decoration:underline}
.ff-account-page .woocommerce-MyAccount-content address{font-style:normal;line-height:1.9}
.ff-account-page .woocommerce-form-login,.ff-account-page .woocommerce-form-register,.ff-account-page .woocommerce-ResetPassword{max-width:640px;margin:20px auto!important;background:#fffaf4;border:1px solid #ecd8c6;border-radius:23px;padding:clamp(25px,4vw,40px)!important;box-shadow:var(--ff-shadow)}
.ff-account-page #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.ff-account-page #customer_login .col-1,.ff-account-page #customer_login .col-2{float:none;width:100%;min-width:0}
.ff-account-page #customer_login .woocommerce-form-login,.ff-account-page #customer_login .woocommerce-form-register{margin:0!important;max-width:none}
.ff-account-page .woocommerce-password-strength{border-radius:9px;padding:7px}
.ff-account-page .woocommerce-MyAccount-content fieldset{border:1px solid #e8d4c5;border-radius:14px;padding:18px;margin-bottom:15px}
.ff-account-page .woocommerce-MyAccount-content legend{font-weight:800;padding:0 6px;color:#593823}
/* Woo Blocks. Prefer Woo's stable public design system classes and custom properties. */
.ff-commerce-content .wp-block-woocommerce-cart,.ff-commerce-content .wp-block-woocommerce-checkout{--wc-blocks-font-family:var(--ff-body);--wc-blocks-font-size:15px;--wc-blocks-button-background-color:#593823;--wc-blocks-button-text-color:#ffffff;--wc-blocks-border-radius:15px;color:#503726}
.ff-commerce-content .wc-block-components-sidebar,.ff-commerce-content .wc-block-cart-items,.ff-commerce-content .wc-block-components-totals-wrapper{border-color:#e5cdb9}
.ff-commerce-content .wc-block-components-panel,.ff-commerce-content .wc-block-components-order-summary,.ff-commerce-content .wc-block-components-totals-wrapper{border-radius:13px}
.ff-commerce-content .wc-block-components-button{border-radius:50px;min-height:48px}
.ff-commerce-content .wc-block-components-title{font-family:var(--ff-display);color:#593823}
.ff-commerce-content .wc-block-components-form .wc-block-components-text-input input,.ff-commerce-content .wc-block-components-text-input input{border:1px solid #dfc5af!important;border-radius:12px!important;color:#543928!important;background:#fffaf4!important}
.ff-commerce-content .wc-block-components-form .wc-block-components-text-input input:focus,.ff-commerce-content .wc-block-components-text-input input:focus{border-color:#a6775c!important}
.ff-commerce-content .wc-block-components-radio-control-accordion-option{border-color:#e3c8b4}
.ff-commerce-content .wc-block-components-order-summary-item__quantity{background:#fff9f1;border:1px solid #916d54;color:#593823;box-shadow:0 0 0 2px #fff9f1}
.ff-commerce-content .wc-block-cart__submit-container{background:#fff8ee}
.ff-commerce-content .wc-block-cart__submit-container:before{color:#e6cebb}
.ff-commerce-content .wc-block-components-address-form__address_2-toggle{color:#745039}
/* YITH WooCommerce Product Add-ons & Extra Options (modern and legacy markup).
   Presentation only. Do not wrap, clone or replace YITH fields, totals or scripts. */
.single-product :is(#yith-wapo-container,#yith_wapo_groups_container,.yith-wapo-blocks-wrapper,.yith-wapo-block,.yith_wapo_groups_container){font-family:var(--ff-body);color:#503526}
.single-product :is(#yith-wapo-container,.yith-wapo-blocks-wrapper,.yith_wapo_groups_container){background:#fff9f1;border:1px solid #e4cbb8;border-radius:22px;padding:clamp(16px,2vw,26px);margin:22px 0;box-shadow:0 12px 28px rgba(71,37,21,.06)}
.single-product :is(.yith-wapo-block,.yith-wapo-addon,.ywapo_group_container){background:#fffcf8;border:1px solid #efddcc;border-radius:14px;padding:15px;margin-bottom:12px;box-sizing:border-box}
.single-product :is(.yith-wapo-block-title,.yith-wapo-addon-label,.yith-wapo-option-label,.ywapo_group_container h3){font-family:var(--ff-body);font-weight:800;color:#593823}
.single-product :is(#yith-wapo-container,.yith_wapo_groups_container) :is(input[type=text],input[type=email],input[type=number],input[type=date],select,textarea){background:#fffefa;border:1px solid #dfc6b4;border-radius:11px;padding:11px 13px;color:#503526;max-width:100%;min-height:43px;box-sizing:border-box}
.single-product :is(#yith-wapo-container,.yith_wapo_groups_container) :is(input,textarea,select):focus-visible{outline:2px solid #a4775c;outline-offset:2px}
.single-product :is(#yith-wapo-container,.yith_wapo_groups_container) :is(input[type=checkbox],input[type=radio]){accent-color:#593823}
.single-product :is(.yith-wapo-option,.yith-wapo-option-container,.ywapo_input_container){border-radius:10px}
.single-product :is(.yith-wapo-option-description,.yith-wapo-description,.ywapo_option_description){font-size:.85rem;color:#886b57}
.single-product :is(.yith-wapo-total-price,.yith-wapo-total,.ywapo_group_container .price){color:#593823;font-weight:850}
/* Added personalisation must still be visible in cart, checkout and account. */
.ff-commerce-content :is(.wc-item-meta,.variation,.wc-block-components-product-details){color:#765640;font-size:.86rem;line-height:1.6}
.ff-commerce-content :is(.wc-item-meta,.variation) dt{font-weight:800;color:#5e412e}
.ff-commerce-content :is(.wc-item-meta,.variation) dd{margin-left:10px}
.ff-commerce-content :is(.wc-item-meta,.variation) p{margin:0}
/* Nonintrusive contrast and accessibility. */
.ff-commerce-content [hidden]{display:none!important}
@media(max-width:1030px){.ff-commerce-heading{margin-left:-27px;margin-right:-27px}.ff-checkout-page .woocommerce-checkout .col2-set{grid-template-columns:1fr}.ff-account-page .woocommerce-MyAccount-navigation{width:30%}.ff-account-page .woocommerce-MyAccount-content{width:67%}}
@media(max-width:760px){.ff-commerce-heading{padding:55px 20px 40px;margin:0 -17px 26px}.ff-commerce-heading h1{font-size:2.6rem}.ff-checkout-steps{gap:8px;margin-bottom:30px;font-size:.7rem}.ff-checkout-steps span span{width:30px;height:30px}.ff-checkout-steps .ff-step-separator{min-width:5px}.ff-account-page .woocommerce-MyAccount-navigation,.ff-account-page .woocommerce-MyAccount-content{float:none;width:100%;max-width:100%}.ff-account-page .woocommerce-MyAccount-navigation{margin-bottom:18px}.ff-account-page .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;gap:3px;scrollbar-width:thin}.ff-account-page .woocommerce-MyAccount-navigation li{flex:0 0 auto}.ff-account-page .woocommerce-MyAccount-navigation li a{padding:10px 13px;white-space:nowrap}.ff-account-page #customer_login{grid-template-columns:1fr}.ff-cart-page .woocommerce-cart-form{overflow-x:auto;padding:12px}.ff-cart-page .woocommerce table.shop_table{min-width:470px}.ff-cart-page .woocommerce .cart-collaterals .cart_totals{padding:20px}.ff-checkout-page .woocommerce-checkout .col2-set{display:block}.ff-checkout-page .woocommerce-checkout .col2-set>.col-1{margin-bottom:20px}.ff-commerce-content .wc-block-components-button{min-height:48px}}
@media(max-width:420px){.ff-checkout-steps{font-size:.64rem}.ff-checkout-steps span span{height:27px;width:27px}.ff-commerce-heading h1{font-size:2.35rem}.ff-cart-page .woocommerce .cart .coupon input{min-width:110px}}
/* Consistent actual logo across header and footer. */
.ff-footer-logo-image{display:inline-flex;align-items:center;width:215px;max-width:100%;margin:0 0 12px}
.ff-footer-logo-image img{object-fit:contain;max-height:90px;width:auto;max-width:215px;filter:none}
.ff-mobile-nav-account{display:none!important}
@media(max-width:1020px){.ff-mobile-nav-account{display:flex!important;align-items:center;gap:12px;padding:14px 10px;margin-top:14px;border:1px solid var(--ff-border);border-radius:13px;font-weight:800;color:var(--ff-chocolate)}}
