/* =========================================================================
   Katie Fox Design — main stylesheet  (v1.0 "Blush & Berry")
   Warm, joyful, handmade-boutique feel. Blush pinks + deep berry, soft pill
   buttons, rounded cards and a characterful serif. Fraunces + Outfit.
   Colour tokens are injected by inc/dynamic-css.php (Customizer-editable);
   the :root below just provides fallbacks + the non-colour design tokens.
   ========================================================================= */

:root{
	--kfd-primary:#000000;
	--kfd-primary-dark:#000000;
	--kfd-secondary:#000000;
	--kfd-accent:#FBD3D3;
	--kfd-accent-rgb:251,211,211;
	--kfd-primary-rgb:0,0,0;
	--kfd-bg:#ffffff;
	--kfd-surface:#ffffff;
	--kfd-muted:#FBD3D3;
	--kfd-text:#1a1a1a;
	--kfd-heading:#000000;

	--kfd-accent-dark:#000000;   /* black — hover/emphasis state for pink elements */
	--kfd-border:#FDE9E9;        /* pale tint of the brand blush — hairlines */
	--kfd-gold:#000000;          /* rating stars — black fill (brand has no amber) */
	--kfd-radius:22px;
	--kfd-radius-sm:14px;
	--kfd-radius-lg:32px;
	--kfd-btn-radius:999px;      /* pill buttons — signature of the look */
	--kfd-wrap:1240px;
	--kfd-shadow:0 14px 34px rgba(0,0,0,.14);
	--kfd-shadow-sm:0 3px 14px rgba(0,0,0,.1);
	--kfd-shadow-lg:0 26px 60px rgba(0,0,0,.2);
	--kfd-font-head:"Fraunces",Georgia,"Times New Roman",serif;
	--kfd-font-body:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--kfd-ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;font-family:var(--kfd-font-body);color:var(--kfd-text);background:var(--kfd-bg);
	line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--kfd-secondary);text-decoration:none;transition:color .18s ease;}
a:hover{color:var(--kfd-accent);}
h1,h2,h3,h4{font-family:var(--kfd-font-head);color:var(--kfd-heading);line-height:1.14;margin:0 0 .5em;font-weight:800;letter-spacing:-.02em;}
h1{font-size:clamp(2.2rem,5.2vw,3.5rem);}
h2{font-size:clamp(1.65rem,3.4vw,2.5rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1rem;}
ul{margin:0;padding:0;}
svg{display:block;}
.wrap{width:100%;max-width:var(--kfd-wrap);margin:0 auto;padding:0 24px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--kfd-accent);color:var(--kfd-heading);padding:10px 16px;z-index:1000;}
.skip-link:focus{left:8px;top:8px;color:#fff;border-radius:8px;}

/* Icon helper */
.kfd-ico{width:1.25em;height:1.25em;display:inline-block;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;}

/* ---------- Buttons ---------- */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:.5em;
	font-family:var(--kfd-font-head);font-weight:700;font-size:1rem;letter-spacing:-.01em;
	padding:.9em 1.55em;border-radius:var(--kfd-btn-radius);border:1.5px solid transparent;cursor:pointer;
	transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .2s ease;line-height:1;text-align:center;
}
.btn .kfd-ico{width:1.1em;height:1.1em;stroke-width:2.2;}
.btn-sm{padding:.62em 1.1em;font-size:.9rem;}
.btn-lg{padding:1.05em 1.9em;font-size:1.05rem;}
.btn-primary{background:var(--kfd-primary);color:#fff;}
.btn-primary:hover{background:#000;color:#fff;}
.btn-accent{background:var(--kfd-accent);color:var(--kfd-heading);}
.btn-accent:hover{background:var(--kfd-accent-dark);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.28);}
.btn-outline{background:transparent;color:var(--kfd-heading);border-color:var(--kfd-border);}
.btn-outline:hover{background:var(--kfd-heading);color:#fff;border-color:var(--kfd-heading);}
.btn-light{background:#fff;color:var(--kfd-heading);}
.btn-light:hover{background:var(--kfd-accent);color:var(--kfd-heading);}
/* Safety: any outline/ghost button on a dark band keeps light, legible text. */
.kfd-newsletter .btn-outline,.kfd-site-footer .btn-outline{color:#fff;border-color:rgba(255,255,255,.5);}
.kfd-newsletter .btn-outline:hover,.kfd-site-footer .btn-outline:hover{background:#fff;color:var(--kfd-heading);border-color:#fff;}

/* Section heading block — left-aligned, small label + title */
.kfd-section{padding:92px 0;}
.kfd-section-head{max-width:660px;margin:0 0 46px;}
.kfd-eyebrow{display:inline-flex;align-items:center;gap:.6em;color:var(--kfd-accent);background:none;padding:0;font-family:var(--kfd-font-head);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:15px;}
.kfd-eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px;display:inline-block;}
.kfd-eyebrow .kfd-ico{display:none;}
.kfd-section-head h2{margin-bottom:.28em;}
.kfd-section-head p{color:var(--kfd-text);font-size:1.08rem;margin:0;max-width:56ch;}

/* ---------- Announcement bar ---------- */
.kfd-announcement{background:var(--kfd-primary);color:#fff;text-align:center;font-weight:500;font-size:.84rem;padding:9px 0;letter-spacing:.01em;}
.kfd-announcement .wrap{display:flex;align-items:center;justify-content:center;gap:9px;}
.kfd-announcement .kfd-ico{width:1em;height:1em;color:var(--kfd-accent);}
.kfd-announcement a{color:#fff;text-decoration:underline;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--kfd-border);transition:box-shadow .2s ease;}
.site-header.is-scrolled{box-shadow:0 4px 20px rgba(20,21,26,.06);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:15px;padding-bottom:15px;}
.site-branding img,.custom-logo,.kfd-logo-fallback img{max-height:44px;width:auto;}
.header-actions{display:flex;align-items:center;gap:6px;}
.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;color:var(--kfd-heading);background:transparent;border:0;cursor:pointer;transition:background .18s ease,color .18s ease;}
.header-icon-btn:hover{background:var(--kfd-muted);color:var(--kfd-heading);}
.header-icon-btn .kfd-ico{width:21px;height:21px;}

/* Menu toggle (hamburger) */
.menu-toggle{position:relative;}
.menu-toggle .kfd-icon-close{display:none;}
.menu-toggle[aria-expanded="true"]{background:var(--kfd-muted);color:var(--kfd-heading);}
.menu-toggle[aria-expanded="true"] .kfd-icon-open{display:none;}
.menu-toggle[aria-expanded="true"] .kfd-icon-close{display:block;}

/* Primary nav — dropdown panel on mobile, inline centred bar on desktop */
.main-navigation{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--kfd-border);box-shadow:var(--kfd-shadow);display:none;z-index:150;max-height:calc(100vh - 90px);overflow-y:auto;}
.main-navigation.is-open{display:block;animation:kfd-drop .2s var(--kfd-ease);}
@keyframes kfd-drop{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.main-navigation #primary-menu{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;padding:14px 22px;margin:0;}
.main-navigation li{position:relative;}
.main-navigation a{display:flex;align-items:center;gap:.4em;padding:10px 15px;color:var(--kfd-heading);font-family:var(--kfd-font-head);font-weight:600;border-radius:8px;font-size:.98rem;}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--kfd-accent);}
.main-navigation ul ul{list-style:none;flex-wrap:wrap;justify-content:center;gap:2px;width:100%;padding:4px 0 0;display:none;}
.main-navigation ul ul a{font-size:.9rem;padding:8px 12px;color:var(--kfd-text);}
.main-navigation .menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center;}
.main-navigation .menu-item-has-children>a{flex:1 1 auto;}
.main-navigation .menu-item-has-children>ul{order:3;}
.kfd-submenu-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:0;border-radius:8px;cursor:pointer;color:var(--kfd-heading);}
.kfd-submenu-toggle:hover{background:var(--kfd-muted);}
.kfd-submenu-toggle::after{content:"";display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease;}
.menu-item-has-children.is-expanded .kfd-submenu-toggle::after{transform:rotate(-135deg);}
.menu-item-has-children.is-expanded>ul{display:flex;}

/* Category sub-bar (desktop only) */
.kfd-catbar{display:none;border-top:1px solid var(--kfd-border);background:#fff;}
.kfd-catbar .wrap{display:flex;align-items:center;justify-content:center;gap:30px;padding:12px 24px;flex-wrap:wrap;}
.kfd-catbar a{color:var(--kfd-heading);font-family:var(--kfd-font-head);font-weight:600;font-size:.86rem;letter-spacing:.01em;display:inline-flex;align-items:center;gap:.45em;}
.kfd-catbar a:hover{color:var(--kfd-accent);}
.kfd-catbar a .kfd-ico{width:15px;height:15px;color:var(--kfd-accent);}
.kfd-catbar .catbar-sale{color:var(--kfd-accent);}

@media(min-width:861px){
	.menu-toggle{display:none;}
	.main-navigation{position:static;display:block;flex:1 1 auto;min-width:0;background:transparent;box-shadow:none;border:0;max-height:none;overflow:visible;z-index:auto;}
	.main-navigation.is-open{animation:none;}
	.main-navigation>.wrap{max-width:none;width:100%;padding:0;}
	.main-navigation #primary-menu{justify-content:flex-end;gap:4px;padding:0;}
	.main-navigation a{font-size:.96rem;}
	.kfd-catbar{display:block;}
	/* Category dropdown under Shop */
	.main-navigation .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55;transition:transform .18s ease;}
	.main-navigation ul ul{display:flex;position:absolute;top:100%;left:0;width:max-content;min-width:210px;max-width:320px;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:1px;padding:8px;background:#fff;border:1px solid var(--kfd-border);box-shadow:var(--kfd-shadow);border-radius:12px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease;z-index:210;max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;}
	.main-navigation li:hover>ul,.main-navigation li:focus-within>ul,
	.main-navigation .menu-item-has-children.is-expanded>ul{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
	.main-navigation ul ul a{width:100%;justify-content:flex-start;font-size:.92rem;padding:9px 12px;color:var(--kfd-heading);border-radius:8px;}
	.main-navigation ul ul a:hover{color:var(--kfd-heading);background:var(--kfd-muted);}
	.main-navigation .menu-item-has-children{display:list-item;}
	.kfd-submenu-toggle{display:none;}
}

/* Search panel + cart / wishlist icons */
.kfd-search-panel{border-top:1px solid var(--kfd-border);background:#fff;padding:16px 0;}
.kfd-search-panel .search-form,.kfd-search-panel .woocommerce-product-search{display:flex;gap:8px;max-width:600px;margin:0 auto;}
.kfd-search-panel input[type=search],.kfd-search-panel .search-field{flex:1;border:1.5px solid var(--kfd-border);border-radius:10px;padding:12px 18px;font-family:var(--kfd-font-body);font-size:1rem;}
.kfd-search-panel button{border:0;border-radius:10px;background:var(--kfd-accent);color:var(--kfd-heading);font-weight:700;padding:0 24px;cursor:pointer;}
.kfd-cart,.kfd-wishlist{position:relative;color:var(--kfd-heading);display:inline-flex;}
.kfd-cart .kfd-ico{width:22px;height:22px;}
.kfd-wishlist .kfd-ico{width:21px;height:21px;}
.cart-count,.wishlist-count{position:absolute;top:-5px;right:-7px;background:var(--kfd-accent);color:var(--kfd-heading);font-size:.66rem;font-weight:800;min-width:17px;height:17px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-family:var(--kfd-font-body);}
.wishlist-count[hidden]{display:none;}

/* ========================================================================
   HERO — clean split, single framed product image
   ===================================================================== */
.kfd-hero{background:var(--kfd-bg);color:var(--kfd-heading);padding:72px 0 84px;overflow:hidden;}
.kfd-hero-inner{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;}
.kfd-hero h1{color:var(--kfd-heading);margin-bottom:.32em;}
.kfd-hero h1 em{font-style:normal;color:var(--kfd-accent);}
.kfd-hero-sub{font-size:1.15rem;color:var(--kfd-text);max-width:44ch;margin-bottom:28px;}
.kfd-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
.kfd-hero-trust{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.kfd-hero-rating{display:flex;align-items:center;gap:9px;}
.kfd-stars{display:inline-flex;gap:2px;color:var(--kfd-gold);}
.kfd-stars .kfd-ico{width:17px;height:17px;fill:var(--kfd-gold);stroke:var(--kfd-gold);}
.kfd-hero-rating span{font-size:.9rem;color:var(--kfd-text);}
.kfd-hero-trust .divider{width:1px;height:24px;background:var(--kfd-border);}
.kfd-hero-chip{display:inline-flex;align-items:center;gap:.5em;font-size:.9rem;font-weight:600;color:var(--kfd-heading);font-family:var(--kfd-font-head);}
.kfd-hero-chip .kfd-ico{color:var(--kfd-accent);width:18px;height:18px;}

/* Hero media — one framed image, soft coral shape behind, small badge */
.kfd-hero-media{position:relative;width:100%;max-width:520px;margin-left:auto;aspect-ratio:1/1;}
.kfd-hero-shape{position:absolute;inset:8% -5% -8% 8%;background:linear-gradient(150deg,rgba(var(--kfd-accent-rgb),.18),rgba(var(--kfd-accent-rgb),.05));border-radius:28px;z-index:0;}
.kfd-hero-frame{position:relative;z-index:2;width:100%;height:100%;border-radius:24px;overflow:hidden;background:var(--kfd-muted);box-shadow:var(--kfd-shadow-lg);border:1px solid var(--kfd-border);}
.kfd-hero-frame img,.kfd-hero-frame picture{width:100%;height:100%;object-fit:cover;display:block;}
.kfd-hero-badge{position:absolute;z-index:3;top:16px;left:-14px;background:var(--kfd-accent);color:var(--kfd-heading);border-radius:14px;padding:11px 15px;display:flex;flex-direction:column;line-height:1.05;box-shadow:var(--kfd-shadow);font-family:var(--kfd-font-head);}
.kfd-hero-badge b{font-size:1.15rem;font-weight:800;}
.kfd-hero-badge small{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.92;}

/* ========================================================================
   MARQUEE — subtle static-feel benefit strip
   ===================================================================== */
.kfd-marquee{background:var(--kfd-muted);color:var(--kfd-heading);overflow:hidden;padding:14px 0;border-top:1px solid var(--kfd-border);border-bottom:1px solid var(--kfd-border);}
.kfd-marquee-track{display:flex;gap:40px;white-space:nowrap;animation:kfd-scroll 40s linear infinite;width:max-content;}
.kfd-marquee span{display:inline-flex;align-items:center;gap:.6em;font-family:var(--kfd-font-head);font-weight:600;font-size:.86rem;letter-spacing:.02em;}
.kfd-marquee .kfd-ico{width:16px;height:16px;color:var(--kfd-accent);}
@keyframes kfd-scroll{to{transform:translateX(-50%);}}

/* ========================================================================
   USP — clean divided strip
   ===================================================================== */
.kfd-usp{background:#fff;padding-top:0;}
.kfd-usp .wrap{padding:0;}
.kfd-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);overflow:hidden;background:#fff;}
.kfd-usp-card{display:flex;align-items:center;gap:15px;text-align:left;padding:24px 26px;border-right:1px solid var(--kfd-border);background:none;}
.kfd-usp-card:last-child{border-right:0;}
.kfd-usp-badge{width:44px;height:44px;border-radius:11px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:rgba(var(--kfd-accent-rgb),.1);color:var(--kfd-accent);margin:0;}
.kfd-usp-badge .kfd-ico{width:22px;height:22px;}
.kfd-usp-card strong{display:block;color:var(--kfd-heading);font-family:var(--kfd-font-head);font-size:.98rem;margin-bottom:2px;font-weight:700;}
.kfd-usp-card span{color:var(--kfd-text);font-size:.86rem;line-height:1.4;}

/* ========================================================================
   CATEGORY TILES — image with text below (clean)
   ===================================================================== */
.kfd-cats{background:var(--kfd-bg);}
.kfd-cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.kfd-cat-card{display:block;}
.kfd-cat-media-wrap{display:block;position:relative;overflow:hidden;border-radius:var(--kfd-radius);border:1px solid var(--kfd-border);background:var(--kfd-muted);aspect-ratio:1/1;}
.kfd-cat-media-wrap img,.kfd-cat-card .kfd-cat-media{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--kfd-ease);}
.kfd-cat-card:hover .kfd-cat-media-wrap img,.kfd-cat-card:hover .kfd-cat-media{transform:scale(1.05);}
.kfd-cat-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 4px 0;}
.kfd-cat-meta h3{color:var(--kfd-heading);margin:0;font-size:1.08rem;transition:color .18s ease;}
.kfd-cat-card:hover .kfd-cat-meta h3{color:var(--kfd-accent);}
.kfd-cat-count{font-size:.82rem;color:var(--kfd-text);display:inline-flex;align-items:center;gap:.35em;white-space:nowrap;}
.kfd-cat-count .kfd-ico{width:14px;height:14px;color:var(--kfd-accent);}
.kfd-cat-arrow{display:none;}

/* ========================================================================
   PRODUCT GRID (shared with Woo loop)
   ===================================================================== */
.kfd-featured{background:var(--kfd-bg);}
.kfd-products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:0;padding:0;}
.kfd-product{position:relative;background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);overflow:hidden;transition:border-color .2s ease,box-shadow .25s ease;display:flex;flex-direction:column;}
.kfd-product:hover{border-color:#dcdcd6;box-shadow:var(--kfd-shadow);}
.kfd-product-thumb{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--kfd-muted);}
.kfd-product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--kfd-ease);}
.kfd-product:hover .kfd-product-thumb img{transform:scale(1.04);}
.kfd-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--kfd-accent);color:var(--kfd-heading);font-size:.68rem;font-weight:800;padding:5px 10px;border-radius:8px;text-transform:uppercase;letter-spacing:.04em;}
.kfd-wish{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.94);color:var(--kfd-heading);display:flex;align-items:center;justify-content:center;border:1px solid var(--kfd-border);cursor:pointer;opacity:0;transition:.22s var(--kfd-ease);}
.kfd-product:hover .kfd-wish{opacity:1;}
.kfd-wish:hover{color:var(--kfd-accent);}
.kfd-wish .kfd-ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;}
.kfd-wish.is-saved{opacity:1;color:var(--kfd-accent);}
.kfd-wish.is-saved .kfd-ico{fill:currentColor;stroke:currentColor;}
.kfd-wish:active{transform:scale(.9);}
.kfd-product-body{padding:15px 16px 8px;text-align:left;display:flex;flex-direction:column;gap:5px;flex:1;}
.kfd-product-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;color:var(--kfd-accent);font-weight:800;font-family:var(--kfd-font-head);}
.kfd-product-title{font-family:var(--kfd-font-head);font-size:1rem;font-weight:700;color:var(--kfd-heading);margin:0;line-height:1.32;}
.kfd-product-title a{color:inherit;}
.kfd-product-title a:hover{color:var(--kfd-accent);}
.kfd-product-rating,.kfd-product-body .kfd-stars{display:inline-flex;gap:1px;justify-content:flex-start;align-self:flex-start;color:var(--kfd-gold);}
.kfd-product-rating .kfd-ico{width:13px;height:13px;fill:var(--kfd-gold);stroke:var(--kfd-gold);}
.kfd-product-price{font-family:var(--kfd-font-head);font-weight:800;color:var(--kfd-heading);font-size:1.05rem;margin-top:2px;}
.kfd-product-price del{color:#9a9aa0;font-weight:600;margin-right:6px;font-size:.9rem;}
.kfd-product-price ins{text-decoration:none;color:var(--kfd-accent);}
.kfd-product-add{margin:6px 16px 16px;}
.kfd-product-add,.woocommerce a.kfd-product-add,.woocommerce-cart a.kfd-product-add,.kfd-product-add *{color:#fff !important;}
.kfd-featured-cta,.kfd-center-cta{text-align:center;margin-top:46px;}

/* ========================================================================
   OCCASIONS
   ===================================================================== */
.kfd-occasions{background:var(--kfd-muted);}
.kfd-occasion-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.kfd-occasion{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 12px;border-radius:var(--kfd-radius);background:#fff;border:1px solid var(--kfd-border);text-align:center;transition:border-color .18s ease,color .18s ease;}
.kfd-occasion:hover{border-color:var(--kfd-accent);color:var(--kfd-accent);}
.kfd-occasion-ico{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--kfd-muted);color:var(--kfd-heading);transition:.2s ease;}
.kfd-occasion:hover .kfd-occasion-ico{background:var(--kfd-accent);color:var(--kfd-heading);}
.kfd-occasion-ico .kfd-ico{width:24px;height:24px;}
.kfd-occasion strong{font-family:var(--kfd-font-head);font-size:.94rem;font-weight:700;color:var(--kfd-heading);}

/* ========================================================================
   SPOTLIGHT / CTA split
   ===================================================================== */
.kfd-spotlight{background:var(--kfd-bg);}
.kfd-spotlight-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--kfd-radius-lg);overflow:hidden;border:1px solid var(--kfd-border);background:var(--kfd-muted);}
.kfd-spotlight-media{position:relative;min-height:400px;}
.kfd-spotlight-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.kfd-spotlight-copy{padding:52px 50px;display:flex;flex-direction:column;justify-content:center;}
.kfd-spotlight-copy h2{color:var(--kfd-heading);}
.kfd-spotlight-copy p{color:var(--kfd-text);font-size:1.08rem;}
.kfd-spotlight-list{list-style:none;margin:6px 0 28px;display:grid;gap:13px;}
.kfd-spotlight-list li{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--kfd-heading);font-family:var(--kfd-font-head);}
.kfd-spotlight-list .kfd-ico{color:var(--kfd-accent);width:21px;height:21px;flex:0 0 auto;}

/* ========================================================================
   REVIEWS — light
   ===================================================================== */
.kfd-reviews{background:var(--kfd-muted);}
.kfd-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.kfd-review{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:28px;}
.kfd-review .kfd-stars{margin-bottom:12px;}
.kfd-review-quote .kfd-ico{color:var(--kfd-accent);width:28px;height:28px;opacity:.35;margin-bottom:8px;}
.kfd-review p{color:var(--kfd-heading);font-size:1.02rem;}
.kfd-review-author{display:flex;align-items:center;gap:12px;margin-top:18px;}
.kfd-review-avatar{width:42px;height:42px;border-radius:50%;background:var(--kfd-accent);color:var(--kfd-heading);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--kfd-font-head);}
.kfd-review-author strong{display:block;font-size:.96rem;color:var(--kfd-heading);}
.kfd-review-author span{font-size:.8rem;color:var(--kfd-text);display:inline-flex;align-items:center;gap:.35em;}
.kfd-review-author span .kfd-ico{width:14px;height:14px;color:#2fa36b;}

/* ========================================================================
   GALLERY strip
   ===================================================================== */
.kfd-gallery{background:var(--kfd-bg);}
.kfd-gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.kfd-gallery-item{position:relative;aspect-ratio:1/1;border-radius:var(--kfd-radius-sm);overflow:hidden;display:block;border:1px solid var(--kfd-border);}
.kfd-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--kfd-ease);}
.kfd-gallery-item::after{content:"";position:absolute;inset:0;background:rgba(20,21,26,0);transition:background .3s ease;}
.kfd-gallery-item:hover img{transform:scale(1.06);}
.kfd-gallery-item:hover::after{background:rgba(20,21,26,.18);}
.kfd-gallery-item .kfd-ico{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);color:#fff;width:24px;height:24px;opacity:0;transition:.3s var(--kfd-ease);z-index:2;}
.kfd-gallery-item:hover .kfd-ico{opacity:1;transform:translate(-50%,-50%) scale(1);}

/* ========================================================================
   SEO content block
   ===================================================================== */
.kfd-seo{background:var(--kfd-muted);}
.kfd-seo-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.kfd-seo-media{position:relative;}
.kfd-seo-media img{border-radius:var(--kfd-radius);border:1px solid var(--kfd-border);}
.kfd-seo-media .kfd-float-card{position:absolute;bottom:-20px;left:-20px;background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius-sm);box-shadow:var(--kfd-shadow);padding:15px 19px;display:flex;align-items:center;gap:13px;}
.kfd-float-card .kfd-ico{width:28px;height:28px;color:var(--kfd-accent);}
.kfd-float-card b{display:block;font-family:var(--kfd-font-head);color:var(--kfd-heading);font-size:1.18rem;line-height:1;}
.kfd-float-card span{font-size:.8rem;color:var(--kfd-text);}
.kfd-seo-copy h2{margin-bottom:.4em;}
.kfd-seo-copy>p{color:var(--kfd-text);}
.kfd-about-body .kfd-seo-copy .entry-content p{color:var(--kfd-text);font-size:1.08rem;margin-bottom:1.05em;}
.kfd-about-sign{font-family:var(--kfd-font-head);font-weight:700;color:var(--kfd-heading);font-size:1.1rem;margin:2px 0 22px;}
.kfd-seo-points{list-style:none;margin:22px 0 28px;display:grid;gap:16px;}
.kfd-seo-points li{display:flex;gap:14px;}
.kfd-seo-points .kfd-ico-badge{width:42px;height:42px;border-radius:11px;background:rgba(var(--kfd-accent-rgb),.1);color:var(--kfd-accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.kfd-seo-points .kfd-ico-badge .kfd-ico{width:22px;height:22px;}
.kfd-seo-points strong{display:block;color:var(--kfd-heading);font-family:var(--kfd-font-head);}
.kfd-seo-points span{font-size:.94rem;color:var(--kfd-text);}

/* ========================================================================
   FAQ accordion
   ===================================================================== */
.kfd-faq{background:var(--kfd-bg);}
.kfd-faq-inner{max-width:820px;margin:0 auto;}
.kfd-faq-item{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius-sm);margin-bottom:12px;overflow:hidden;transition:border-color .2s ease;}
.kfd-faq-item[open]{border-color:#dcdcd6;}
.kfd-faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--kfd-font-head);font-weight:700;color:var(--kfd-heading);font-size:1.04rem;}
.kfd-faq-item summary::-webkit-details-marker{display:none;}
.kfd-faq-icon{flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:var(--kfd-accent);color:var(--kfd-heading);display:flex;align-items:center;justify-content:center;transition:transform .25s ease,background .2s ease;}
.kfd-faq-item[open] .kfd-faq-icon{transform:rotate(45deg);background:var(--kfd-accent);color:var(--kfd-heading);}
.kfd-faq-icon .kfd-ico{width:15px;height:15px;stroke-width:2.6;}
.kfd-faq-answer{padding:0 24px 22px;color:var(--kfd-text);}
.kfd-faq-answer p{margin:0;}

/* ========================================================================
   Newsletter — clean ink band
   ===================================================================== */
.kfd-newsletter{background:var(--kfd-primary);color:#fff;padding:60px 0;}
.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;}
.newsletter-copy{max-width:38ch;}
.newsletter-copy .kfd-eyebrow{color:var(--kfd-accent);}
.newsletter-copy h2{color:#fff;margin-bottom:.2em;}
.newsletter-copy p{color:rgba(255,255,255,.78);margin:0;}
.newsletter-form{display:flex;gap:10px;flex:1;min-width:290px;max-width:460px;}
.newsletter-form input{flex:1;border:0;border-radius:12px;padding:15px 20px;font-size:1rem;font-family:var(--kfd-font-body);}
.newsletter-form input:focus{outline:3px solid rgba(var(--kfd-accent-rgb),.5);}
.newsletter-form .btn-light{white-space:nowrap;}

/* ========================================================================
   FOOTER — dark ink, clean columns
   ===================================================================== */
.kfd-site-footer{background:var(--kfd-primary);color:rgba(255,255,255,.72);padding:64px 0 26px;}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand img,.footer-brand .custom-logo{max-height:54px;width:auto;margin-bottom:16px;}
.footer-brand .kfd-logo-fallback img{margin-bottom:16px;}
.footer-about{font-size:.94rem;max-width:40ch;}
.footer-contact{list-style:none;margin:16px 0 0;display:grid;gap:10px;}
.footer-contact li{display:flex;align-items:center;gap:10px;font-size:.9rem;}
.footer-contact .kfd-ico{width:16px;height:16px;color:var(--kfd-accent);flex:0 0 auto;}
.kfd-site-footer h4{color:#fff;font-family:var(--kfd-font-head);font-size:1rem;margin-bottom:16px;}
.footer-menu,.footer-links{list-style:none;}
.footer-menu li,.footer-links li{margin-bottom:10px;}
.footer-links a{display:inline-flex;align-items:center;gap:.5em;}
.kfd-site-footer a{color:rgba(255,255,255,.72);}
.kfd-site-footer a:hover{color:#fff;}
.kfd-socials{display:flex;gap:10px;margin-top:18px;}
.social-link{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s ease;}
.social-link:hover{background:var(--kfd-accent);}
.social-link .kfd-ico{width:18px;height:18px;}
.footer-payments-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px;}
.footer-pay{height:26px;background:rgba(255,255,255,.92);border-radius:5px;padding:4px 8px;display:inline-flex;align-items:center;font-size:.64rem;font-weight:800;color:var(--kfd-heading);letter-spacing:.02em;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:.85rem;color:rgba(255,255,255,.55);}
.footer-bottom p{margin:0;}
.footer-bottom .footer-mini-links{display:flex;gap:18px;list-style:none;}
.footer-credit{text-align:center;margin:0;padding-top:16px;font-size:.82rem;color:rgba(255,255,255,.5);}
.footer-credit .footer-heart{color:#c86176;font-style:normal;}
.footer-credit a{color:rgba(255,255,255,.78);font-weight:700;}
.footer-credit a:hover{color:#fff;text-decoration:underline;}

/* ========================================================================
   Interior pages / blog
   ===================================================================== */
.site-main{padding-top:60px;padding-bottom:60px;}
.content-narrow{max-width:820px;margin:0 auto;}
.page-header{margin-bottom:34px;}
.page-title span{color:var(--kfd-accent);}
.entry-content{font-size:1.05rem;color:var(--kfd-text);}
.entry-content a{color:var(--kfd-heading) !important;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.entry-content a:hover{color:var(--kfd-accent) !important;}
.entry-content h2,.entry-content h3,.entry-content h4{color:var(--kfd-heading);}
.entry-content strong{color:var(--kfd-heading);}
.entry-title,.single-article .entry-title{color:var(--kfd-heading);}
.entry-meta{color:var(--kfd-text);}
.entry-thumb{margin:0 0 26px;border-radius:var(--kfd-radius);overflow:hidden;}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.post-card{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s ease,box-shadow .18s ease;}
.post-card:hover{border-color:#dcdcd6;box-shadow:var(--kfd-shadow);}
.post-card-thumb{display:block;}
.post-card-thumb img{display:block;width:100%;height:220px;object-fit:cover;}
.post-card-body{padding:20px;display:flex;flex-direction:column;gap:6px;}
.post-card-title{font-size:1.18rem;margin:0;line-height:1.3;}
.post-card-title a{color:var(--kfd-heading) !important;}
.post-card-title a:hover{color:var(--kfd-accent) !important;}
.post-card-meta{color:var(--kfd-text);font-size:.85rem;margin:0;}
.post-card-excerpt{color:var(--kfd-text);font-size:.98rem;}
.post-card-excerpt p{margin:0;}
.read-more{color:var(--kfd-heading) !important;font-weight:800;margin-top:6px;text-decoration:underline;text-underline-offset:2px;}
.read-more:hover{color:var(--kfd-accent) !important;}
.content-narrow #comments{margin-top:44px;border-top:1px solid var(--kfd-border);padding-top:32px;}
.content-narrow .comments-title,.content-narrow .comment-reply-title{font-family:var(--kfd-font-head);font-size:1.5rem;color:var(--kfd-heading);margin:0 0 18px;}
.content-narrow .comment-list{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:18px;}
.content-narrow .comment-list .comment-body,.content-narrow .comment-list li article{background:#fff;border:1px solid var(--kfd-border);border-radius:14px;padding:18px 20px;}
.content-narrow .comment-author .fn,.content-narrow .comment-author{font-weight:800;color:var(--kfd-heading);font-style:normal;}
.content-narrow .comment-metadata,.content-narrow .comment-metadata a,.content-narrow .comment-awaiting-moderation{color:var(--kfd-text);font-size:.85rem;}
.content-narrow .comment-content{color:var(--kfd-text);margin-top:8px;}
.content-narrow .comment-content a{color:var(--kfd-heading) !important;text-decoration:underline;}
.content-narrow .comment-respond{background:#fff;border:1px solid var(--kfd-border);border-radius:16px;padding:26px 24px;}
.content-narrow .comment-notes,.content-narrow .logged-in-as,.content-narrow .logged-in-as a{color:var(--kfd-text);font-size:.9rem;}
.content-narrow .logged-in-as a{color:var(--kfd-heading);text-decoration:underline;}
.content-narrow .comment-form{display:flex;flex-direction:column;gap:16px;margin-top:14px;}
.content-narrow .comment-form p{margin:0;}
.content-narrow .comment-form label{display:block;font-weight:700;font-size:.9rem;color:var(--kfd-heading);margin:0 0 6px;}
.content-narrow .comment-form input[type="text"],.content-narrow .comment-form input[type="email"],.content-narrow .comment-form input[type="url"],.content-narrow .comment-form textarea{width:100%;border:1.5px solid var(--kfd-border);border-radius:12px;padding:12px 14px;font-family:var(--kfd-font-body);font-size:1rem;background:#fff;color:var(--kfd-heading);box-sizing:border-box;}
.content-narrow .comment-form input:focus,.content-narrow .comment-form textarea:focus{outline:none;border-color:var(--kfd-accent);}
.content-narrow .comment-form textarea{min-height:130px;resize:vertical;}
.content-narrow .comment-form-cookies-consent{flex-direction:row;align-items:flex-start;gap:9px;}
.content-narrow .comment-form-cookies-consent input{width:auto;margin-top:3px;}
.content-narrow .comment-form-cookies-consent label{margin:0;font-weight:400;color:var(--kfd-text);}
.content-narrow .form-submit{margin:0;}
.content-narrow .comment-form .submit,.content-narrow #respond input#submit{background:var(--kfd-primary);color:#fff;border:0;border-radius:var(--kfd-btn-radius);padding:.85em 2.1em;font-weight:700;font-family:var(--kfd-font-head);font-size:1rem;cursor:pointer;transition:background .16s ease;}
.content-narrow .comment-form .submit:hover,.content-narrow #respond input#submit:hover{background:#000;}

/* ---------- Contact page + native form ---------- */
.kfd-contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:44px;align-items:start;}
.kfd-contact-info .entry-content{margin-bottom:26px;color:var(--kfd-text);}
.kfd-contact-line{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--kfd-border);}
.kfd-contact-line:first-of-type{border-top:1px solid var(--kfd-border);}
.kfd-contact-ic{flex:none;width:44px;height:44px;border-radius:11px;background:rgba(var(--kfd-accent-rgb),.1);color:var(--kfd-accent);display:flex;align-items:center;justify-content:center;}
.kfd-contact-ic .kfd-ico{width:20px;height:20px;}
.kfd-contact-line b{display:block;color:var(--kfd-heading);font-family:var(--kfd-font-head);font-size:1rem;margin-bottom:2px;}
.kfd-contact-page .kfd-contact-line a{color:var(--kfd-heading);font-weight:700;text-decoration:underline;}
.kfd-contact-page .kfd-contact-line a:hover{color:var(--kfd-accent);}
.kfd-contact-line span{color:var(--kfd-text);}
.kfd-contact-socials a{margin:0;}
.kfd-contact-formwrap{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:30px 30px 32px;box-shadow:var(--kfd-shadow-sm);}
.kfd-contact-formwrap h2{margin:0 0 20px;font-size:1.35rem;}
.kfd-form{display:flex;flex-direction:column;gap:16px;}
.kfd-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.kfd-field{display:flex;flex-direction:column;gap:6px;}
.kfd-field>span{font-weight:700;font-size:.9rem;color:var(--kfd-heading);}
.kfd-form input[type="text"],.kfd-form input[type="email"],.kfd-form textarea{width:100%;border:1.5px solid var(--kfd-border);border-radius:12px;padding:12px 14px;font-family:var(--kfd-font-body);font-size:1rem;background:#fff;color:var(--kfd-text);box-sizing:border-box;transition:border-color .15s ease;}
.kfd-form input:focus,.kfd-form textarea:focus{outline:none;border-color:var(--kfd-accent);box-shadow:0 0 0 3px rgba(var(--kfd-accent-rgb),.12);}
.kfd-form textarea{resize:vertical;min-height:130px;}
.kfd-form .btn{align-self:flex-start;}
.kfd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.kfd-form-note{border-radius:12px;padding:14px 18px;margin-bottom:20px;font-weight:700;font-size:.95rem;}
.kfd-form-note--ok{background:rgba(47,163,107,.12);color:#1f7a54;border:1px solid rgba(47,163,107,.3);}
.kfd-form-note--err{background:rgba(var(--kfd-accent-rgb),.1);color:var(--kfd-accent-dark);border:1px solid rgba(var(--kfd-accent-rgb),.32);}
@media(max-width:860px){
	.kfd-contact-grid{grid-template-columns:1fr;gap:32px;}
	.kfd-field-row{grid-template-columns:1fr;}
	.kfd-contact-formwrap{padding:24px 20px 26px;}
}
/* Ninja Forms — restyle to match */
.kfd-contact-formwrap .nf-form-title,.kfd-contact-formwrap .nf-form-content>.nf-form-fields-required{display:none;}
.kfd-contact-formwrap .nf-form-cont{margin:0;}
.kfd-contact-formwrap .nf-form-content{padding:0;max-width:none;}
.kfd-contact-formwrap .nf-field-container{margin-bottom:16px;}
.kfd-contact-formwrap .nf-field-label label,.kfd-contact-formwrap .nf-field-label .nf-label-span{font-family:var(--kfd-font-body);font-weight:700;font-size:.9rem;color:var(--kfd-heading);margin-bottom:5px;}
.kfd-contact-formwrap .nf-field-element input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.kfd-contact-formwrap .nf-field-element textarea,
.kfd-contact-formwrap .nf-field-element select{width:100%!important;border:1.5px solid var(--kfd-border)!important;border-radius:12px!important;padding:12px 14px!important;font-family:var(--kfd-font-body)!important;font-size:1rem!important;line-height:1.4!important;background:#fff!important;color:var(--kfd-text)!important;box-sizing:border-box!important;height:auto!important;box-shadow:none!important;}
.kfd-contact-formwrap .nf-field-element textarea{min-height:120px!important;resize:vertical;}
.kfd-contact-formwrap .nf-field-element input:not([type=button]):not([type=submit]):focus,
.kfd-contact-formwrap .nf-field-element textarea:focus{border-color:var(--kfd-accent)!important;outline:none!important;box-shadow:0 0 0 3px rgba(var(--kfd-accent-rgb),.12)!important;}
.kfd-contact-formwrap .nf-field-element input[type=button],.kfd-contact-formwrap .nf-field-element input[type=submit]{background:var(--kfd-accent)!important;color:var(--kfd-heading)!important;border:0!important;border-radius:var(--kfd-btn-radius)!important;padding:.85em 2em!important;font-weight:700!important;font-family:var(--kfd-font-head)!important;font-size:1rem!important;height:auto!important;width:auto!important;cursor:pointer;transition:background .16s ease;}
.kfd-contact-formwrap .nf-field-element input[type=button]:hover,.kfd-contact-formwrap .nf-field-element input[type=submit]:hover{background:var(--kfd-accent-dark)!important;}
.kfd-contact-formwrap .nf-error .nf-field-element input,.kfd-contact-formwrap .nf-error .nf-field-element textarea{border-color:var(--kfd-accent)!important;}
.kfd-contact-formwrap .nf-error-msg,.kfd-contact-formwrap .ninja-forms-req-symbol{color:var(--kfd-accent)!important;}
.kfd-contact-formwrap .nf-response-msg,.kfd-contact-formwrap .nf-response-msg p{color:#1f7a54;font-weight:700;}

/* ---------- Cookie consent banner (light card) ---------- */
.kfd-cookie{position:fixed;left:0;right:0;bottom:0;z-index:999999;background:#fff;color:var(--kfd-heading);border-top:1px solid var(--kfd-border);box-shadow:0 -10px 34px rgba(20,21,26,.09);transform:translateY(110%);transition:transform .32s var(--kfd-ease);}
.kfd-cookie.is-in{transform:translateY(0);}
.kfd-cookie[hidden]{display:none;}
.kfd-cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;}
.kfd-cookie-text{display:flex;flex-direction:column;gap:3px;max-width:70ch;min-width:0;}
.kfd-cookie-text strong{font-family:var(--kfd-font-head);font-size:1rem;}
.kfd-cookie-text span{font-size:.9rem;color:var(--kfd-text);line-height:1.5;}
.kfd-cookie-text a{color:var(--kfd-heading);text-decoration:underline;font-weight:700;}
.kfd-cookie-actions{display:flex;gap:10px;flex:none;}
.kfd-cookie-btn{cursor:pointer;font-family:var(--kfd-font-head);font-weight:700;font-size:.92rem;border-radius:var(--kfd-btn-radius);padding:11px 22px;border:1.5px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease;}
.kfd-cookie-accept{background:var(--kfd-accent);color:var(--kfd-heading);}
.kfd-cookie-accept:hover{background:var(--kfd-accent-dark);}
.kfd-cookie-decline{background:transparent;color:var(--kfd-heading);border-color:var(--kfd-border);}
.kfd-cookie-decline:hover{border-color:var(--kfd-heading);background:var(--kfd-muted);}
@media(max-width:620px){
	.kfd-cookie-inner{flex-direction:column;align-items:stretch;gap:14px;}
	.kfd-cookie-actions{justify-content:stretch;}
	.kfd-cookie-btn{flex:1;}
}

/* ========================================================================
   WOOCOMMERCE
   ===================================================================== */
.woocommerce-main .kfd-shop-hero{margin-bottom:0;}
.woocommerce-wrap{padding-top:40px;padding-bottom:72px;}
/* WooCommerce's category-grid template wraps counts in a literal <mark>,
   which browsers give a native yellow highlighter background by default —
   nothing in this theme overrode it. Restyle as a small on-brand chip. */
.woocommerce mark.count{background:var(--kfd-muted);color:var(--kfd-heading);font-weight:700;font-size:.82em;padding:.15em .55em;border-radius:999px;}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .button{background:var(--kfd-primary);color:#fff;border-radius:var(--kfd-btn-radius);font-weight:700;font-family:var(--kfd-font-head);padding:.8em 1.6em;border:0;transition:background .18s ease,box-shadow .2s ease;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce .button:hover{background:#000;color:#fff;}
.woocommerce .button.loading::after{color:#fff;}
.woocommerce .woocommerce-breadcrumb{font-size:.88rem;color:var(--kfd-text);margin:0 0 22px;font-weight:600;}
.woocommerce .woocommerce-breadcrumb a{color:var(--kfd-secondary);}
.woocommerce .woocommerce-result-count{float:left;color:var(--kfd-text);font-weight:600;margin:0 0 26px;padding-top:9px;}
.woocommerce .woocommerce-ordering{float:right;margin:0 0 26px;}
.woocommerce .woocommerce-ordering select,.woocommerce-page .woocommerce-ordering select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid var(--kfd-border);border-radius:var(--kfd-btn-radius);padding:11px 42px 11px 18px;font-family:var(--kfd-font-body);font-weight:600;font-size:.95rem;color:var(--kfd-heading);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2314151a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer;}
.woocommerce .woocommerce-ordering select:focus{outline:3px solid rgba(var(--kfd-accent-rgb),.3);border-color:var(--kfd-accent);}
.woocommerce ul.products,.woocommerce-page ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:22px;margin:0 0 40px !important;padding:0;list-style:none;clear:both;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto !important;margin:0 !important;padding:0;float:none !important;clear:none !important;}
.woocommerce ul.products li.product::before{display:none;}

/* Single product */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;margin-top:6px;align-items:start;}
.single-product div.product .woocommerce-product-gallery{width:auto !important;margin:0 !important;float:none !important;}
.single-product div.product .woocommerce-product-gallery__wrapper{border-radius:var(--kfd-radius);overflow:hidden;border:1px solid var(--kfd-border);}
.single-product div.product .summary.entry-summary{width:auto !important;float:none !important;margin:0 !important;}
.single-product .product_title{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 .3em;}
.single-product .woocommerce-product-rating{margin-bottom:14px;}
.single-product div.product p.price,.single-product div.product span.price{color:var(--kfd-heading);font-family:var(--kfd-font-head);font-weight:800;font-size:1.6rem;}
.single-product div.product p.price del{color:#9a9aa0;font-size:1.1rem;font-weight:600;}
.single-product div.product p.price ins{text-decoration:none;color:var(--kfd-accent);}
.single-product .woocommerce-product-details__short-description{color:var(--kfd-text);font-size:1.05rem;margin:16px 0;}
.single-product form.cart{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:24px 0;}
.single-product form.cart .quantity input.qty{width:72px;height:52px;border:1.5px solid var(--kfd-border);border-radius:12px;text-align:center;font-weight:700;font-family:var(--kfd-font-body);font-size:1rem;}
.single-product form.cart .single_add_to_cart_button{background:var(--kfd-accent);padding:.95em 2em;font-size:1.05rem;}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--kfd-accent-dark);}
/* Custom product fields (WCFF etc.) */
.single-product form.cart > div:not(.quantity):not(.single_variation_wrap),
.single-product form.cart > .wccpf-fields-container,
.single-product form.cart > [class*="wccpf"],
.single-product form.cart > [class*="thwcfd"]{flex:0 0 100%;width:100%;order:-1;margin:0 0 6px;}
.single-product form.cart > div:not(.quantity) > *,
.single-product .entry-summary [class*="wccpf-field-container"],
.single-product .entry-summary [class*="thwcfd-field-container"]{margin:0 0 16px;}
.single-product form.cart > div:not(.quantity) > *:last-child{margin-bottom:0;}
.single-product form.cart > div:not(.quantity) label,
.single-product .entry-summary [class*="wccpf"] label,
.single-product .entry-summary [class*="thwcfd"] label{display:block;font-family:var(--kfd-font-body);font-weight:700;color:var(--kfd-heading);font-size:.95rem;line-height:1.35;margin:0 0 6px;}
.single-product .entry-summary label .required,
.single-product .entry-summary [class*="wccpf"] abbr[title="required"]{color:var(--kfd-accent);text-decoration:none;border:0;}
.single-product form.cart > div:not(.quantity) input[type="text"],
.single-product form.cart > div:not(.quantity) input[type="email"],
.single-product form.cart > div:not(.quantity) input[type="tel"],
.single-product form.cart > div:not(.quantity) input[type="number"],
.single-product form.cart > div:not(.quantity) input[type="url"],
.single-product form.cart > div:not(.quantity) textarea,
.single-product form.cart > div:not(.quantity) select,
.single-product .entry-summary [class*="wccpf"] input[type="text"],
.single-product .entry-summary [class*="wccpf"] textarea,
.single-product .entry-summary [class*="wccpf"] select,
.single-product .entry-summary [class*="thwcfd"] input[type="text"],
.single-product .entry-summary [class*="thwcfd"] textarea,
.single-product .entry-summary [class*="thwcfd"] select{width:100%;max-width:440px;border:1.5px solid var(--kfd-border);border-radius:12px;padding:12px 14px;font-family:var(--kfd-font-body);font-size:1rem;line-height:1.4;background:#fff;color:var(--kfd-text);box-sizing:border-box;transition:border-color .15s ease;}
.single-product form.cart > div:not(.quantity) textarea,
.single-product .entry-summary [class*="wccpf"] textarea{min-height:96px;resize:vertical;}
.single-product form.cart > div:not(.quantity) :is(input,textarea,select):focus,
.single-product .entry-summary [class*="wccpf"] :is(input,textarea,select):focus,
.single-product .entry-summary [class*="thwcfd"] :is(input,textarea,select):focus{outline:none;border-color:var(--kfd-accent);box-shadow:0 0 0 3px rgba(var(--kfd-accent-rgb),.12);}
.single-product form.cart > div:not(.quantity) input[type="file"],
.single-product .entry-summary [class*="wccpf"] input[type="file"],
.single-product .entry-summary [class*="thwcfd"] input[type="file"]{display:block;width:100%;max-width:440px;border:1.5px dashed var(--kfd-border);border-radius:12px;padding:14px;background:var(--kfd-muted);font-family:var(--kfd-font-body);font-size:.9rem;color:var(--kfd-text);cursor:pointer;box-sizing:border-box;}
.single-product .entry-summary input[type="file"]::file-selector-button{margin-right:12px;border:0;border-radius:8px;padding:8px 14px;background:var(--kfd-primary);color:#fff;font-family:var(--kfd-font-head);font-weight:700;font-size:.85rem;cursor:pointer;}
.single-product .entry-summary input[type="file"]::file-selector-button:hover{background:var(--kfd-accent);}
.single-product .product_meta{font-size:.88rem;color:var(--kfd-text);margin-top:18px;border-top:1px solid var(--kfd-border);padding-top:16px;}
.single-product .product_meta a{color:var(--kfd-secondary);}
.single-product .woocommerce-tabs{margin-top:56px;grid-column:1/-1;}
.single-product .woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:8px;flex-wrap:wrap;border:0;padding:0;margin:0 0 24px;}
.single-product .woocommerce-tabs ul.tabs::before{display:none;}
.single-product .woocommerce-tabs ul.tabs li{background:var(--kfd-muted);border:0;border-radius:999px;margin:0;padding:0;}
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none;}
.single-product .woocommerce-tabs ul.tabs li a{padding:10px 20px;font-weight:700;color:var(--kfd-heading);font-family:var(--kfd-font-head);}
.single-product .woocommerce-tabs ul.tabs li.active{background:var(--kfd-primary);}
.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff;}
.single-product .woocommerce-Tabs-panel h2{font-size:1.4rem;}
.single-product #reviews h2,.single-product #reviews h3{font-size:1.25rem;}
.single-product #comments ol.commentlist{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:16px;}
.single-product #comments ol.commentlist li .comment_container{display:flex;gap:15px;background:#fff;border:1px solid var(--kfd-border);border-radius:14px;padding:18px 20px;}
.single-product #comments ol.commentlist li img.avatar{position:static;width:46px;height:46px;border-radius:50%;margin:0;border:0;padding:0;background:none;box-shadow:none;}
.single-product #comments .comment-text{width:100%;}
.single-product #comments .comment-text .star-rating{float:none;margin:0 0 6px;}
.single-product #comments .comment-text p.meta{font-size:.85rem;color:var(--kfd-text);margin:0 0 8px;}
.single-product #comments .comment-text .description{color:var(--kfd-heading);}
.single-product #review_form_wrapper{background:var(--kfd-muted);border-radius:var(--kfd-radius);padding:26px 26px 28px;}
.single-product #respond .comment-reply-title{margin:0 0 6px;font-family:var(--kfd-font-head);font-size:1.2rem;}
.single-product .comment-form-rating label{display:block;font-weight:700;color:var(--kfd-heading);margin:0 0 4px;}
.single-product .comment-form-comment label,.single-product .comment-form-author label,.single-product .comment-form-email label{display:block;font-weight:700;font-size:.9rem;color:var(--kfd-heading);margin:0 0 5px;}
.single-product #respond input[type="text"],.single-product #respond input[type="email"],.single-product #respond textarea{width:100%;border:1.5px solid var(--kfd-border);border-radius:12px;padding:12px 14px;font-family:var(--kfd-font-body);font-size:1rem;background:#fff;color:var(--kfd-text);box-sizing:border-box;}
.single-product #respond input:focus,.single-product #respond textarea:focus{outline:none;border-color:var(--kfd-accent);}
.single-product #respond textarea{min-height:120px;resize:vertical;}
.single-product #respond .form-submit input,.single-product #respond input#submit{background:var(--kfd-accent);color:var(--kfd-heading);border:0;border-radius:var(--kfd-btn-radius);padding:.85em 2em;font-weight:700;font-family:var(--kfd-font-head);font-size:1rem;cursor:pointer;transition:background .16s ease;}
.single-product #respond .form-submit input:hover{background:var(--kfd-accent-dark);}
.single-product .woocommerce-noreviews{color:var(--kfd-text);}
.single-product .related.products,.single-product .upsells.products{grid-column:1/-1;margin-top:64px;border-top:1px solid var(--kfd-border);padding-top:48px;}
.single-product .related.products>h2,.single-product .upsells.products>h2{font-size:1.7rem;text-align:center;margin-bottom:32px;}

/* Notices */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-top:0;border-radius:var(--kfd-radius-sm);background:var(--kfd-muted);padding:16px 20px 16px 48px;box-shadow:none;border:1px solid var(--kfd-border);}
.woocommerce .woocommerce-message{border-left:4px solid var(--kfd-accent);}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--kfd-accent);}
.woocommerce .woocommerce-info{border-left:4px solid var(--kfd-secondary);}

/* Cart & checkout */
.woocommerce table.shop_table{border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);border-collapse:separate;border-spacing:0;overflow:hidden;}
.woocommerce table.shop_table th{background:var(--kfd-muted);font-family:var(--kfd-font-head);color:var(--kfd-heading);}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:16px;}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals .cart_totals{border-radius:var(--kfd-radius);}
.woocommerce .cart_totals h2,.woocommerce-checkout #order_review_heading{font-size:1.4rem;}
.woocommerce #payment,.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:22px;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-checkout input.input-text{border:1.5px solid var(--kfd-border);border-radius:12px;padding:12px 16px;font-family:var(--kfd-font-body);}
.woocommerce form .form-row input.input-text:focus{border-color:var(--kfd-accent);outline:none;}
.woocommerce .quantity .qty{border:1.5px solid var(--kfd-border);border-radius:10px;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--kfd-accent);font-size:1.1rem;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--kfd-accent-dark);}
.woocommerce-cart table.cart img{border-radius:10px;width:70px;}
.woocommerce-cart .coupon{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.woocommerce-cart .coupon .input-text{border:1.5px solid var(--kfd-border);border-radius:var(--kfd-btn-radius);padding:.8em 1.2em;font-family:var(--kfd-font-body);min-width:180px;}
.woocommerce-cart .coupon .input-text:focus{border-color:var(--kfd-accent);outline:none;}
.woocommerce-cart .coupon button.button,
.woocommerce-cart button[name="update_cart"]{background:#fff !important;color:var(--kfd-heading) !important;border:1.5px solid var(--kfd-border);box-shadow:none;}
.woocommerce-cart .coupon button.button:hover,
.woocommerce-cart button[name="update_cart"]:not(:disabled):hover{background:var(--kfd-muted) !important;border-color:var(--kfd-accent);}
.woocommerce-cart button[name="update_cart"]:disabled{opacity:.45;cursor:not-allowed;}
.woocommerce-cart table.cart td.actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:20px 16px;}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,
.woocommerce-cart table.cart,.woocommerce-checkout table.shop_table,
.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review{color:var(--kfd-heading);}
.woocommerce-cart table.cart td,.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td a,.woocommerce-cart td.product-name a,
.woocommerce-cart .product-name a,.woocommerce-cart .product-subtotal,
.woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td,
.woocommerce-cart .cart_totals td *,
.woocommerce-cart .woocommerce-cart-form td,.woocommerce-cart .woocommerce-cart-form th,
.woocommerce-checkout table.shop_table td,.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td a,.woocommerce-checkout table.shop_table td *,
.woocommerce-checkout #order_review td,.woocommerce-checkout #order_review th,
.woocommerce-checkout .woocommerce-checkout-review-order-table *{color:var(--kfd-heading) !important;}
.woocommerce-cart .button,.woocommerce-checkout .button,
.woocommerce-cart a.checkout-button,.woocommerce-checkout #place_order,
.woocommerce a.button,.woocommerce button.button{color:#fff !important;}
.wc-block-cart__submit-button,.wc-block-cart__submit-button *,
.wc-block-cart__submit-container a{color:#fff !important;}

/* My Account */
.woocommerce-account .woocommerce{display:flex !important;align-items:flex-start;gap:36px;}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{float:none !important;width:auto !important;}
.woocommerce-account .woocommerce-MyAccount-navigation{flex:0 0 220px;}
.woocommerce-account .woocommerce-MyAccount-content{flex:1 1 auto;min-width:0;}
.woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:14px;}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.woocommerce-MyAccount-navigation li{margin:0;}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;font-family:var(--kfd-font-head);font-weight:600;font-size:.95rem;color:var(--kfd-heading);text-decoration:none;transition:background .16s ease,color .16s ease;}
.woocommerce-MyAccount-navigation li a .kfd-ico{width:18px;height:18px;flex:0 0 auto;color:var(--kfd-accent-dark);}
.woocommerce-MyAccount-navigation li a:hover{background:var(--kfd-muted);color:var(--kfd-heading);}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--kfd-accent);color:var(--kfd-heading);}
.woocommerce-MyAccount-navigation li.is-active a .kfd-ico{color:var(--kfd-heading);}
.woocommerce-MyAccount-content{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:32px;color:var(--kfd-heading);}
/* Dashboard quick-stat tiles (kfd_account_dashboard_stats) — gives the
   dashboard tab real visual weight instead of two bare sentences. */
.kfd-account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.kfd-account-stat{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius-sm);background:var(--kfd-bg);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.kfd-account-stat:hover{border-color:rgba(var(--kfd-accent-rgb),.7);box-shadow:var(--kfd-shadow-sm);transform:translateY(-2px);color:inherit;}
.kfd-account-stat .kfd-ico{width:26px;height:26px;flex:0 0 auto;color:var(--kfd-accent-dark);}
.kfd-account-stat b{display:block;font-family:var(--kfd-font-head);font-size:1.3rem;color:var(--kfd-heading);line-height:1.2;}
.kfd-account-stat span{display:block;font-size:.82rem;color:var(--kfd-text);}
.kfd-account-stat--cta{background:var(--kfd-accent);border-color:transparent;}
.kfd-account-stat--cta .kfd-ico{color:var(--kfd-heading);}
@media(max-width:640px){.kfd-account-stats{grid-template-columns:1fr;}}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--kfd-font-head);color:var(--kfd-heading);}
.woocommerce-MyAccount-content table{border:1px solid var(--kfd-border);border-radius:var(--kfd-radius-sm);border-collapse:separate;overflow:hidden;}
.woocommerce-MyAccount-content table th{background:var(--kfd-muted);font-family:var(--kfd-font-head);}
.woocommerce-MyAccount-content table td,.woocommerce-MyAccount-content table th{padding:14px;color:var(--kfd-heading);}
.woocommerce-MyAccount-content .addresses .address{border:1px solid var(--kfd-border);border-radius:var(--kfd-radius-sm);padding:20px;background:var(--kfd-bg);}
.woocommerce-MyAccount-content .woocommerce-Button,.woocommerce-MyAccount-content a.button{color:#fff !important;}
@media(max-width:760px){
	.woocommerce-account .woocommerce{flex-direction:column;gap:20px;}
	.woocommerce-account .woocommerce-MyAccount-navigation{flex-basis:auto;}
	.woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;}
	.woocommerce-MyAccount-navigation li a{padding:9px 12px;font-size:.88rem;}
	.woocommerce-MyAccount-content{padding:22px;}
}
.woocommerce-main a:not(.button):not(.btn):not(.kfd-product-add):not(.add_to_cart_button):not(.checkout-button):not(.single_add_to_cart_button):not(.added_to_cart):not(.kfd-toast-link){color:var(--kfd-heading);}
.woocommerce-main a:not(.button):not(.btn):not(.kfd-product-add):not(.add_to_cart_button):not(.checkout-button):not(.single_add_to_cart_button):hover{color:var(--kfd-accent);}
.woocommerce-main .kfd-product-title a,
.woocommerce-main .product_title,
.woocommerce-main .woocommerce-loop-product__title,
.woocommerce-main .kfd-product-price,.woocommerce-main .kfd-product-price *,
.woocommerce-main div.product p.price,.woocommerce-main div.product p.price *,
.woocommerce-main .woocommerce-breadcrumb,.woocommerce-main .woocommerce-result-count{color:var(--kfd-heading) !important;}
.woocommerce-main .kfd-product-price del,.woocommerce-main div.product p.price del{color:#9a9aa0 !important;}
.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb a,
.woocommerce-main .woocommerce-breadcrumb,.woocommerce-main .woocommerce-breadcrumb a{color:var(--kfd-heading) !important;}
.wc-block-components-product-name,
a.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name,
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-checkout .wc-block-components-product-name,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__description *{color:var(--kfd-heading) !important;}
.wp-block-woocommerce-cart .wc-block-components-product-metadata,
.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item{color:var(--kfd-heading) !important;}
.wp-block-woocommerce-cart a,.wp-block-woocommerce-checkout a,
.wc-block-components-product-name,
.wc-block-cart__submit-button,.wc-block-cart__submit-container a,
.wc-block-components-button,.wc-block-components-button *,
.woocommerce .added_to_cart,.kfd-product .added_to_cart,
.kfd-toast-link,
.woocommerce-main a{text-decoration:none !important;}
.woocommerce .star-rating span,.woocommerce p.stars a{color:var(--kfd-gold);}

/* WooCommerce BLOCK "Add to cart" buttons (empty-cart recommendations, product-grid blocks).
   These use .wp-block-button__link and were unstyled → dark text on dark. Force coral + white. */
.wp-block-button__link.add_to_cart_button,
.wc-block-grid__product .wp-block-button__link,
.wp-block-woocommerce-cart .wp-block-button__link{background:var(--kfd-accent)!important;color:var(--kfd-heading)!important;border:0!important;border-radius:var(--kfd-btn-radius)!important;font-family:var(--kfd-font-head);font-weight:700;padding:.72em 1.4em;box-shadow:none!important;}
.wp-block-button__link.add_to_cart_button:hover,
.wc-block-grid__product .wp-block-button__link:hover{background:var(--kfd-accent-dark)!important;color:#fff!important;}
.wp-block-button__link.add_to_cart_button *,.wc-block-grid__product .wp-block-button__link *{color:#fff!important;}
.wp-block-button__link.added_to_cart,.wc-block-grid__product .added_to_cart{background:transparent!important;color:var(--kfd-accent)!important;padding:6px 0 0!important;font-weight:700;}
.kfd-empty,.woocommerce-info.woocommerce-no-products-found{grid-column:1/-1;text-align:center;color:var(--kfd-text);}

/* Add-to-basket toast */
.kfd-toast-wrap{position:fixed;bottom:24px;right:24px;z-index:1200;display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 48px);pointer-events:none;}
.kfd-toast{display:flex;align-items:center;gap:11px;background:var(--kfd-primary);color:#fff;padding:14px 20px;border-radius:14px;box-shadow:var(--kfd-shadow-lg);font-weight:600;font-family:var(--kfd-font-head);font-size:.98rem;transform:translateY(18px);opacity:0;transition:transform .3s var(--kfd-ease),opacity .3s ease;pointer-events:auto;}
.kfd-toast.is-in{transform:translateY(0);opacity:1;}
.kfd-toast .kfd-ico{width:22px;height:22px;color:#57cf8b;flex:0 0 auto;}
.kfd-toast-link{margin-left:4px;color:var(--kfd-accent);font-weight:800;text-decoration:underline;white-space:nowrap;}
.kfd-toast-link:hover{color:#fff;}
@media(max-width:560px){.kfd-toast-wrap{left:14px;right:14px;bottom:14px;}}
@keyframes kfd-cart-pulse{0%{transform:scale(1);}30%{transform:scale(1.28);}60%{transform:scale(.92);}100%{transform:scale(1);}}
.kfd-cart.kfd-cart-pulse{animation:kfd-cart-pulse .55s var(--kfd-ease);}
.kfd-product .added_to_cart{display:block;text-align:center;margin:-2px 16px 14px;padding-top:2px;font-weight:700;color:var(--kfd-accent);font-size:.9rem;}

/* Wishlist page */
.kfd-wishlist-intro{max-width:70ch;margin:0 auto 30px;text-align:center;}
#kfd-wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px;list-style:none;margin:0;padding:0;}
#kfd-wishlist-grid:empty{display:none;margin:0;}
.kfd-wishlist-empty{text-align:center;padding:50px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.kfd-wishlist-empty[hidden]{display:none;}
.kfd-wishlist-empty .kfd-ico{width:52px;height:52px;color:var(--kfd-border);fill:none;stroke:currentColor;stroke-width:1.6;}
.kfd-wishlist-empty h2{margin:6px 0 0;}
.kfd-wishlist-empty p{color:var(--kfd-text);margin:0 0 10px;}

.error-404{text-align:center;display:flex;flex-direction:column;align-items:center;}
.error-404>*{width:100%;}
.error-404 .btn{margin:6px;}
.error-404 .search-404{margin:0 auto;}
.search-form{display:flex;gap:8px;max-width:420px;width:100%;margin:16px auto 0;}
.search-form label{flex:1;min-width:0;margin:0;display:block;}
.search-form .search-field{flex:1;min-width:0;width:100%;border:1.5px solid var(--kfd-border);border-radius:10px;padding:12px 18px;font-family:var(--kfd-font-body);font-size:1rem;}
.search-form .search-submit{flex:0 0 auto;border:0;border-radius:10px;background:var(--kfd-primary);color:#fff;font-weight:700;padding:0 22px;cursor:pointer;}

/* ========================================================================
   UTILITY PAGES (page hero, how-it-works steps, faq help)
   ===================================================================== */
.kfd-page-hero{background:var(--kfd-muted);color:var(--kfd-heading);border-bottom:1px solid var(--kfd-border);padding:56px 0 48px;}
.kfd-page-hero h1{color:var(--kfd-heading);margin:0 0 .3em;}
.kfd-page-hero-sub{color:var(--kfd-text);font-size:1.1rem;max-width:60ch;margin:0;}
.kfd-faq-page .kfd-faq-inner,.kfd-policy-body{max-width:820px;margin:0 auto;}
.kfd-step-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:0 auto 48px;}
.kfd-step-card{position:relative;background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:32px 28px;text-align:center;}
.kfd-step-ico{width:60px;height:60px;border-radius:14px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:rgba(var(--kfd-accent-rgb),.1);color:var(--kfd-accent);}
.kfd-step-ico .kfd-ico{width:28px;height:28px;}
.kfd-step-card h3{margin:0 0 4px;}
.kfd-step-price{font-family:var(--kfd-font-head);font-weight:800;color:var(--kfd-heading);margin:0 0 10px;}
.kfd-step-card p:last-child{color:var(--kfd-text);font-size:.96rem;margin:0;}
.kfd-step-tag{position:absolute;top:16px;right:16px;background:var(--kfd-primary);color:#fff;font-size:.7rem;font-weight:800;padding:5px 11px;border-radius:8px;text-transform:uppercase;letter-spacing:.04em;}
.kfd-step-tag--free{background:var(--kfd-accent);}
.kfd-policy-body .entry-content h2{font-size:1.5rem;margin:1.6em 0 .5em;}
.kfd-policy-body .entry-content h3{font-size:1.15rem;margin:1.3em 0 .4em;}
.kfd-policy-body .entry-content ul{margin:0 0 1.1em;padding-left:1.2em;list-style:disc;}
.kfd-policy-body .entry-content li{margin-bottom:.4em;}
.kfd-faq-help{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--kfd-muted);border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:22px 26px;margin-top:36px;}
.kfd-faq-help>.kfd-ico{width:32px;height:32px;color:var(--kfd-accent);flex:0 0 auto;}
.kfd-faq-help strong{display:block;font-family:var(--kfd-font-head);color:var(--kfd-heading);}
.kfd-faq-help span{font-size:.92rem;color:var(--kfd-text);}
.kfd-faq-help .btn{margin-left:auto;}

/* ========================================================================
   TOUCH TAP RELIABILITY
   ===================================================================== */
.btn,.kfd-product-add,.add_to_cart_button,.single_add_to_cart_button,.kfd-product,
.kfd-wish,.header-icon-btn,.menu-toggle,.kfd-occasion,.kfd-cat-card,
.woocommerce a.button,.woocommerce button.button,.qty,.plus,.minus{touch-action:manipulation;}
@media (hover:none){
	.kfd-product:hover .kfd-product-thumb img,.kfd-product:hover img,
	.kfd-cat-card:hover img,.kfd-cat-card:hover .kfd-cat-media,.kfd-gallery-item:hover img{transform:none;}
	.kfd-gallery-item .kfd-ico{display:none !important;}
	.kfd-wish{opacity:1;}
}

/* ========================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:1024px){
	.kfd-products{grid-template-columns:repeat(3,1fr);}
	.kfd-cats-grid{grid-template-columns:repeat(2,1fr);}
	.kfd-usp-grid{grid-template-columns:repeat(2,1fr);}
	.kfd-usp-card:nth-child(2){border-right:0;}
	.kfd-usp-card:nth-child(1),.kfd-usp-card:nth-child(2){border-bottom:1px solid var(--kfd-border);}
	.kfd-occasion-grid{grid-template-columns:repeat(3,1fr);}
	.kfd-gallery-grid{grid-template-columns:repeat(4,1fr);}
	.footer-top{grid-template-columns:1fr 1fr;}
	.posts-grid{grid-template-columns:repeat(2,1fr);}
	.woocommerce ul.products{grid-template-columns:repeat(3,1fr);}
	.single-product div.product{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:860px){
	.kfd-section{padding:62px 0;}
	.header-inner{gap:12px;}
	.header-actions{gap:4px;}
	.main-navigation #primary-menu{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;}
	.main-navigation ul ul{flex-direction:column;justify-content:flex-start;padding-left:12px;}
	.kfd-hero{padding:48px 0 56px;}
	.kfd-hero-inner{grid-template-columns:1fr;gap:32px;}
	.kfd-hero-media{max-width:400px;margin:0 auto;}
	.kfd-spotlight-inner{grid-template-columns:1fr;}
	.kfd-spotlight-media{min-height:280px;}
	.kfd-review-grid{grid-template-columns:1fr;}
	.kfd-seo-inner{grid-template-columns:1fr;gap:38px;}
	.kfd-seo-media{max-width:460px;margin:0 auto;}
	.newsletter-inner{flex-direction:column;text-align:center;align-items:flex-start;}
	.newsletter-copy{max-width:none;}
	.newsletter-form{max-width:none;width:100%;}
}
@media(max-width:560px){
	body{font-size:16px;}
	.kfd-announcement{font-size:.74rem;padding:8px 0;}
	.kfd-announcement .wrap{gap:6px;flex-wrap:nowrap;}
	.kfd-products{grid-template-columns:1fr 1fr;gap:14px;}
	.kfd-cats-grid{grid-template-columns:1fr 1fr;}
	.kfd-usp-grid{grid-template-columns:1fr;}
	.kfd-usp-card{border-right:0;border-bottom:1px solid var(--kfd-border);}
	.kfd-usp-card:last-child{border-bottom:0;}
	.kfd-occasion-grid{grid-template-columns:1fr 1fr;}
	.kfd-gallery-grid{grid-template-columns:repeat(3,1fr);}
	.footer-top{grid-template-columns:1fr;}
	.footer-bottom{flex-direction:column;text-align:center;}
	.kfd-spotlight-copy{padding:34px 24px;}
	.posts-grid{grid-template-columns:1fr;}
	.kfd-step-cards{grid-template-columns:1fr;}
	.kfd-faq-help{flex-direction:column;text-align:center;}
	.kfd-faq-help .btn{margin-left:0;}
	.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:14px;}
}

/* Friendly empty-category / empty-shop state */
.kfd-empty-cat{grid-column:1/-1;text-align:center;max-width:540px;margin:24px auto 12px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;}
.kfd-empty-cat>.kfd-ico{width:46px;height:46px;color:var(--kfd-accent);}
.kfd-empty-cat h3{margin:0;}
.kfd-empty-cat p{color:var(--kfd-text);margin:0 0 6px;}
.kfd-empty-cat a:not(.btn){color:var(--kfd-secondary);text-decoration:underline;}


/* =========================================================================
   KFD "Blush & Berry" redesign layer (v1.0)
   Overrides below reshape the presentation into Katie Fox Design' own look:
   centred serif section heads, pill chips, arch hero, berry bands.
   ========================================================================= */

/* Type: Fraunces is a display serif — soften weights, keep UI text in Outfit */
h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;line-height:1.12;}
.btn,.kfd-eyebrow,.kfd-product-cat,.kfd-badge,.main-navigation a,.kfd-catbar a,
.kfd-hero-chip,.kfd-cookie-btn,.kfd-marquee span,.footer-pay,.cart-count,.wishlist-count{font-family:var(--kfd-font-body);}
.btn{font-weight:600;letter-spacing:.01em;}
.kfd-product-title,.kfd-cat-meta h3,.post-card-title{font-family:var(--kfd-font-head);font-weight:600;}
.kfd-review-author strong,.kfd-review-avatar,.kfd-float-card b,
.kfd-usp-card strong,.kfd-occasion strong,.kfd-spotlight-list li,
.kfd-seo-points strong,.kfd-faq-item summary,.kfd-contact-line b,.kfd-field>span,
.kfd-cookie-text strong{font-family:var(--kfd-font-body);}

/* Buttons: pills with a soft pink glow */
.btn-accent{box-shadow:0 8px 20px rgba(var(--kfd-accent-rgb),.25);}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(var(--kfd-accent-rgb),.32);}
.btn-outline{border-color:rgba(var(--kfd-accent-rgb),.65);color:var(--kfd-accent-dark);background:#fff;}
.btn-outline:hover{background:var(--kfd-accent);border-color:var(--kfd-accent);color:var(--kfd-heading);}
.btn-primary:hover{background:var(--kfd-primary-dark);}

/* Announcement: ink ribbon with a soft pink icon accent */
.kfd-announcement{background:var(--kfd-primary);font-weight:600;}
.kfd-announcement .kfd-ico{color:var(--kfd-accent);}

/* Header: blush-tinted, round icon buttons */
.site-header{background:rgba(253,248,249,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--kfd-border);}
.header-icon-btn{border-radius:999px;}
.kfd-catbar{background:transparent;}
.kfd-catbar a .kfd-ico{color:var(--kfd-accent);}
.main-navigation{background:var(--kfd-bg);}
@media(min-width:861px){
	.main-navigation{background:transparent;}
	.main-navigation ul ul{border-radius:18px;background:#fff;}
}
.kfd-search-panel input[type=search],.kfd-search-panel .search-field{border-radius:999px;padding:12px 22px;}
.kfd-search-panel button{border-radius:999px;}

/* Section heads: centred, with a blush pill chip eyebrow */
.kfd-section{padding:88px 0;}
.kfd-section-head{max-width:680px;margin:0 auto 46px;text-align:center;}
.kfd-section-head p{margin-left:auto;margin-right:auto;}
.kfd-eyebrow{background:var(--kfd-muted);color:var(--kfd-accent-dark);padding:7px 16px;border-radius:999px;font-weight:600;font-size:.78rem;letter-spacing:.12em;}
.kfd-eyebrow::before{display:none;}
.kfd-eyebrow .kfd-ico{display:inline-block;width:1.05em;height:1.05em;}

/* HERO: blush gradient stage, arch-top frame, tilted sticker badge */
.kfd-hero{background:linear-gradient(160deg,#fae8ed 0%,var(--kfd-bg) 55%,#fbeff3 100%);position:relative;padding:78px 0 92px;}
.kfd-hero::before{content:"";position:absolute;top:-140px;right:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(var(--kfd-accent-rgb),.14),transparent 70%);pointer-events:none;}
.kfd-hero::after{content:"";position:absolute;bottom:-160px;left:-140px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(var(--kfd-accent-rgb),.1),transparent 70%);pointer-events:none;}
.kfd-hero-inner{position:relative;z-index:1;}
.kfd-hero h1 em{font-style:italic;color:var(--kfd-accent);}
.kfd-hero-shape{inset:6% -7% -6% 10%;border-radius:48% 52% 55% 45%/55% 45% 55% 45%;background:linear-gradient(150deg,rgba(var(--kfd-accent-rgb),.22),rgba(var(--kfd-accent-rgb),.06));transform:rotate(-4deg);}
.kfd-hero-frame{border-radius:260px 260px var(--kfd-radius) var(--kfd-radius);border:6px solid #fff;box-shadow:var(--kfd-shadow-lg);}
.kfd-hero-badge{top:auto;bottom:26px;left:-20px;border-radius:999px;padding:14px 22px;transform:rotate(-6deg);background:var(--kfd-accent);box-shadow:0 10px 24px rgba(var(--kfd-accent-rgb),.35);}
.kfd-hero-badge b{font-family:var(--kfd-font-head);}

/* Marquee: bold berry ribbon */
.kfd-marquee{background:var(--kfd-primary);color:#f0d3da;border:0;padding:15px 0;}
.kfd-marquee .kfd-ico{color:var(--kfd-accent);}

/* USP: floating soft cards on blush */
.kfd-usp{background:transparent;padding-top:34px;padding-bottom:0;}
.kfd-usp-grid{border:0;border-radius:0;overflow:visible;background:transparent;gap:18px;}
.kfd-usp-card{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius);box-shadow:var(--kfd-shadow-sm);padding:22px 22px;}
.kfd-usp-card:last-child{border-right:1px solid var(--kfd-border);}
.kfd-usp-badge{border-radius:999px;background:var(--kfd-muted);}

/* Category tiles: framed cards with centred meta */
.kfd-cat-media-wrap{border-radius:var(--kfd-radius);border:5px solid #fff;box-shadow:var(--kfd-shadow-sm);}
.kfd-cat-card:hover .kfd-cat-media-wrap{box-shadow:var(--kfd-shadow);}
.kfd-cat-meta{flex-direction:column;align-items:center;text-align:center;gap:2px;padding-top:16px;}

/* Product cards: soft rounded, glowy hover */
.kfd-product{border-radius:var(--kfd-radius);border-color:var(--kfd-border);}
.kfd-product:hover{border-color:rgba(var(--kfd-accent-rgb),.4);box-shadow:var(--kfd-shadow);transform:translateY(-3px);}
.kfd-product{transition:border-color .2s ease,box-shadow .25s ease,transform .25s var(--kfd-ease);}
.kfd-badge{border-radius:999px;}
.kfd-wish{border-radius:999px;}

/* Occasions: round chips */
.kfd-occasions{background:var(--kfd-muted);}
.kfd-occasion{border-radius:var(--kfd-radius);border:0;box-shadow:var(--kfd-shadow-sm);}
.kfd-occasion-ico{border-radius:999px;background:var(--kfd-muted);color:var(--kfd-accent-dark);}
.kfd-occasion:hover{transform:translateY(-3px);transition:transform .2s var(--kfd-ease);}

/* Spotlight / CTA band: soft pastel panel, ink copy — light & airy, not dark/luxury */
.kfd-spotlight-inner{border:2px solid var(--kfd-border);background:linear-gradient(135deg,var(--kfd-muted),var(--kfd-bg) 65%);border-radius:var(--kfd-radius-lg);box-shadow:var(--kfd-shadow-lg);}
.kfd-spotlight-copy h2{color:var(--kfd-heading);}
.kfd-spotlight-copy p{color:var(--kfd-text);}
.kfd-spotlight-copy .kfd-eyebrow{background:#fff;color:var(--kfd-accent-dark);}
.kfd-spotlight-list li{color:var(--kfd-heading);}
.kfd-spotlight-list .kfd-ico{color:var(--kfd-accent-dark);}

/* CTA band — centred copy panel, badge pills, single CTA */
.kfd-cta-band-inner{display:block;text-align:center;padding:56px 48px;border:2px solid var(--kfd-border);background:linear-gradient(135deg,var(--kfd-muted),var(--kfd-bg) 65%);border-radius:var(--kfd-radius-lg);box-shadow:var(--kfd-shadow-lg);}
.kfd-cta-band-inner h2{margin-bottom:.3em;color:var(--kfd-heading);}
.kfd-cta-band-inner>p{max-width:60ch;margin:0 auto 24px;color:var(--kfd-text);font-size:1.08rem;}
.kfd-cta-badges{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 28px;}
.kfd-cta-badges li{display:inline-flex;align-items:center;gap:.5em;background:#fff;border:1px solid var(--kfd-border);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.88rem;color:var(--kfd-heading);}
.kfd-cta-badges .kfd-ico{width:16px;height:16px;color:var(--kfd-accent-dark);}

/* Reviews: white cards, serif quotes, soft shadow */
.kfd-reviews{background:transparent;}
.kfd-review{border-radius:var(--kfd-radius);border:1px solid var(--kfd-border);box-shadow:var(--kfd-shadow-sm);}
.kfd-review p{font-family:var(--kfd-font-head);font-size:1.08rem;font-style:italic;}
.kfd-review-avatar{border-radius:999px;background:linear-gradient(135deg,var(--kfd-accent),var(--kfd-accent-dark));}

/* Gallery */
.kfd-gallery-item{border-radius:var(--kfd-radius-sm);border:4px solid #fff;box-shadow:var(--kfd-shadow-sm);}

/* Story / SEO block */
.kfd-seo{background:var(--kfd-muted);}
.kfd-seo-media img{border-radius:210px 210px var(--kfd-radius) var(--kfd-radius);border:6px solid #fff;box-shadow:var(--kfd-shadow);}
.kfd-seo-media .kfd-float-card{border-radius:999px;padding:14px 22px;}
.kfd-seo-points .kfd-ico-badge{border-radius:999px;}

/* FAQ */
.kfd-faq-item{border-radius:var(--kfd-radius-sm);}
.kfd-faq-icon{border-radius:999px;}

/* Newsletter: ink band (footer transition) */
.kfd-newsletter{background:var(--kfd-primary);}
.newsletter-copy .kfd-eyebrow{background:rgba(255,255,255,.12);color:var(--kfd-accent);}
.newsletter-form input{border-radius:999px;padding:15px 24px;}

/* Footer */
.kfd-site-footer{background:var(--kfd-primary-dark);}
.footer-credit .footer-heart{color:#e8a7b8;}
.social-link{border-radius:999px;}

/* Page heroes (shop/about/policy) get the blush gradient treatment */
.kfd-page-hero{background:linear-gradient(160deg,#fae8ed,var(--kfd-bg));}

/* Cookie banner + toasts inherit pills via tokens; round the card corners */
.kfd-cookie{border-radius:24px 24px 0 0;}

/* ---- Redesign layer: responsive re-assertions (the layer sits after the
   base media queries, so mobile/tablet values must be restated here) ---- */
@media(max-width:1024px){
	.kfd-usp{padding-top:26px;}
	.kfd-usp-card{border:1px solid var(--kfd-border);}
}
@media(max-width:860px){
	.kfd-section{padding:58px 0;}
	.kfd-section-head{margin-bottom:32px;}
	.kfd-hero{padding:44px 0 58px;}
	.kfd-hero-frame{border-radius:200px 200px var(--kfd-radius) var(--kfd-radius);}
	.kfd-seo-media img{border-radius:160px 160px var(--kfd-radius) var(--kfd-radius);}
	.kfd-usp{padding-top:22px;padding-bottom:0;}
	.kfd-marquee{padding:12px 0;}
}
@media(max-width:560px){
	.kfd-hero{padding:36px 0 52px;}
	.kfd-hero-trust{gap:10px 14px;}
	.kfd-hero-trust .divider{display:none;}
	.kfd-hero-sub{font-size:1.05rem;}
	.kfd-hero-actions .btn-lg{padding:.95em 1.5em;font-size:1rem;}
	.kfd-hero-frame{border-radius:160px 160px 18px 18px;border-width:5px;}
	.kfd-hero-badge{padding:11px 16px;bottom:12px;left:-6px;}
	.kfd-hero-badge b{font-size:1rem;}
	.kfd-eyebrow{font-size:.7rem;padding:6px 13px;letter-spacing:.1em;}
	.kfd-seo-media img{border-radius:130px 130px 16px 16px;border-width:5px;}
	/* The floating "30,000+ Happy Crafters" card overhangs -18px below its
	   image on mobile (by design), but that only left ~20px clearance
	   before the next stacked column's content — tight enough to read as
	   overlapping on some phones/zoom levels. Extra margin guarantees
	   real clearance regardless of exact font metrics. */
	.kfd-seo-media{margin-bottom:26px;}
	.kfd-seo-media .kfd-float-card{left:50%;transform:translateX(-50%);bottom:-18px;padding:12px 18px;white-space:nowrap;}
	.kfd-spotlight-copy{padding:30px 22px 34px;}
	.kfd-review{padding:22px;}
	.kfd-review p{font-size:1.02rem;}
	.kfd-cat-meta{padding-top:12px;}
	.kfd-cat-meta h3{font-size:1rem;}
	.kfd-occasion{padding:20px 10px;}
	.kfd-occasion-ico{width:46px;height:46px;}
	.kfd-gallery-item{border-width:3px;}
	.kfd-featured-cta,.kfd-center-cta{margin-top:32px;}
	.newsletter-form{flex-direction:column;}
	.newsletter-form .btn{width:100%;}
	.newsletter-form input{width:100%;box-sizing:border-box;}
	.kfd-page-hero{padding:40px 0 36px;}
	.kfd-page-hero-sub{font-size:1rem;}
}
/* Very small phones: keep the announcement on one tidy line */
@media(max-width:430px){
	.kfd-announcement{font-size:.7rem;}
	.kfd-announcement .wrap{gap:5px;}
	.kfd-announcement .kfd-ico{display:none;}
}

/* Block cart/checkout primary buttons → brand pink pills */
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link),
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link),
.wc-block-components-checkout-place-order-button{background:var(--kfd-accent) !important;color:var(--kfd-heading) !important;border:0 !important;border-radius:999px !important;box-shadow:0 8px 20px rgba(var(--kfd-accent-rgb),.25) !important;font-family:var(--kfd-font-body);font-weight:600;}
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):hover,
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:hover{background:var(--kfd-accent-dark) !important;}


/* Real Katie Fox Design logo — a wide horizontal lockup (bow + wordmark), not
   a square icon, so the footer plaque is a rounded rect sized to fit it
   fully rather than a circular clip (which cut the wordmark off at the
   edges — fixed 2026-07-21). White plaque keeps the artwork legible on the
   dark footer. */
.site-branding img,.custom-logo,.kfd-logo-fallback img{max-height:58px;}
.footer-brand img,.footer-brand .custom-logo{background:#fff;border-radius:16px;padding:14px 24px;max-height:56px;width:auto;box-sizing:content-box;display:inline-block;}
@media(max-width:560px){.site-branding img,.custom-logo{max-height:48px;}}
/* Ninja Forms: hide the duplicate title/required-fields boilerplate inside the styled card */
.kfd-contact-formwrap .nf-form-title,
.kfd-contact-formwrap .nf-form-fields-required{display:none !important;}

/* ========================================================================
   VARIABLE PRODUCTS — style the variation pickers (labels, rounded
   selects, subtle Clear link)
   ===================================================================== */
.single-product form.cart table.variations{flex:0 0 100%;width:100%;border:0;border-collapse:collapse;margin:0 0 2px;}
.single-product form.cart table.variations tbody{display:block;width:100%;}
.single-product form.cart table.variations tr{display:block;margin:0 0 16px;}
.single-product form.cart table.variations th,
.single-product form.cart table.variations td{display:block;width:100%;padding:0;border:0;text-align:left;line-height:inherit;}
.single-product form.cart table.variations th.label,
.single-product form.cart table.variations th.label label{font-family:var(--kfd-font-body);font-weight:700;font-size:.95rem;color:var(--kfd-heading);margin:0 0 6px;}
.single-product form.cart table.variations select{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;max-width:440px;border:1.5px solid var(--kfd-border);border-radius:14px;padding:12px 44px 12px 14px;font-family:var(--kfd-font-body);font-size:1rem;color:var(--kfd-heading);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234a3d42' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer;transition:border-color .15s ease;}
.single-product form.cart table.variations select:focus{outline:none;border-color:var(--kfd-accent);box-shadow:0 0 0 3px rgba(var(--kfd-accent-rgb),.12);}
.single-product form.cart .reset_variations{display:inline-block;margin-top:8px;font-size:.84rem;font-weight:600;color:var(--kfd-text);text-decoration:underline;text-underline-offset:2px;}
.single-product form.cart .reset_variations:hover{color:var(--kfd-accent);}
.single-product form.cart .single_variation_wrap{flex:0 0 100%;width:100%;}
.single-product .woocommerce-variation{margin:0 0 14px;}
.single-product .woocommerce-variation-description p{color:var(--kfd-text);margin:0 0 8px;}
.single-product .woocommerce-variation-availability .stock{margin:6px 0 0;font-size:.9rem;}
.single-product .woocommerce-variation-add-to-cart{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.single-product .woocommerce-variation-add-to-cart .quantity input.qty{width:72px;height:52px;border:1.5px solid var(--kfd-border);border-radius:12px;text-align:center;font-weight:700;font-family:var(--kfd-font-body);font-size:1rem;}
@media(max-width:560px){
	.single-product form.cart table.variations select{max-width:none;}
}

/* Product gallery thumbnails: one horizontal scrolling row of small thumbs */
.single-product .woocommerce-product-gallery .flex-control-thumbs,
.woocommerce div.product div.images .flex-control-thumbs{display:flex;flex-wrap:nowrap;gap:10px;overflow:visible;overflow-x:auto !important;padding:12px 2px 6px;margin:0;list-style:none;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--kfd-border) transparent;}
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{height:6px;}
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb{background:var(--kfd-border);border-radius:999px;}
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-track{background:transparent;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li,
.woocommerce div.product div.images .flex-control-thumbs li{flex:0 0 auto;width:auto !important;float:none !important;margin:0;padding:0;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img,
.woocommerce div.product div.images .flex-control-thumbs li img{display:block;width:82px !important;height:82px !important;object-fit:cover;border-radius:12px;border:2px solid var(--kfd-border);cursor:pointer;opacity:.65;transition:opacity .15s ease,border-color .15s ease;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{opacity:1;border-color:var(--kfd-accent);}
@media(max-width:560px){
	.single-product .woocommerce-product-gallery .flex-control-thumbs li img,
	.woocommerce div.product div.images .flex-control-thumbs li img{width:66px !important;height:66px !important;}

	/* Many product images here are tall infographic-style mockups (banner +
	   photo + banner), not simple square photos — at full mobile width with
	   no height cap they can run to 80%+ of the viewport before price/
	   add-to-cart appear at all. Cap the main image's height and letterbox
	   it (object-fit:contain) so the whole graphic stays visible without
	   dominating the screen. Thumbnails above are unaffected (own rule). */
	.single-product .woocommerce-product-gallery__wrapper{background:var(--kfd-muted);}
	.single-product .woocommerce-product-gallery__image img,
	.single-product .woocommerce-product-gallery__wrapper img{max-height:58vh !important;width:100%;object-fit:contain;object-position:center;}
	/* WooCommerce's hover-zoom preview (.zoomImg) renders at the image's full
	   natural pixel size with an inline style, ignoring the constraint above
	   (inline styles beat external CSS) — and hover-zoom is meaningless on a
	   touch device anyway, so just hide it on mobile. */
	.single-product .woocommerce-product-gallery__wrapper .zoomImg,
	.single-product .zoomImg{display:none !important;}
}

/* =========================================================================
   KATIE FOX DESIGN — interactivity layer (scroll-reveal, marquee, stats,
   carousel, accordion, category tiles, product-card hover, sticky header,
   scroll-progress, back-to-top, button fx). Placed at the very end of the
   file so it always wins over the earlier base + redesign layers, and so
   the responsive re-assertions below aren't defeated by earlier media
   queries (a known gotcha in this theme family).
   ========================================================================= */

/* ---- Hero: eyebrow badge + script/handwritten line ---- */
.kfd-eyebrow-badge{background:#fff;border:1px solid var(--kfd-border);box-shadow:var(--kfd-shadow-sm);}
.kfd-hero-script{display:block;font-family:"Caveat","Fraunces",cursive;font-style:italic;font-weight:600;font-size:1.7rem;color:var(--kfd-accent-dark);margin:14px 0 6px;line-height:1;}
.kfd-hero-body{color:var(--kfd-text);font-size:1rem;max-width:52ch;margin-bottom:22px;}
.kfd-btn-shine{position:relative;overflow:hidden;}

/* ---- "Find What You Need" tiles ---- */
.kfd-find{background:var(--kfd-bg);}
.kfd-find-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.kfd-find-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;border:1.5px solid var(--kfd-border);border-radius:var(--kfd-radius);padding:28px 24px 26px;overflow:hidden;transition:border-color .2s ease,box-shadow .25s ease,transform .25s var(--kfd-ease);}
.kfd-find-tile:hover{border-color:var(--kfd-accent);box-shadow:var(--kfd-shadow);transform:translateY(-4px);}
.kfd-find-ico{width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--kfd-muted);color:var(--kfd-accent-dark);transition:transform .3s var(--kfd-ease),background .2s ease;}
.kfd-find-tile:hover .kfd-find-ico{transform:scale(1.12) rotate(-6deg);background:var(--kfd-accent);color:var(--kfd-heading);}
.kfd-find-tile h3{margin:0;font-size:1.1rem;color:var(--kfd-heading);}
.kfd-find-tile p{margin:0;color:var(--kfd-text);font-size:.9rem;}
.kfd-find-arrow{position:absolute;top:24px;right:22px;color:var(--kfd-accent);opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease;}
.kfd-find-arrow .kfd-ico{width:18px;height:18px;}
.kfd-find-tile:hover .kfd-find-arrow{opacity:1;transform:translateX(0);}

/* ---- Stats band ---- */
.kfd-stats{background:var(--kfd-primary);padding:64px 0;}
.kfd-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;}
.kfd-stat{display:flex;flex-direction:column;gap:4px;}
.kfd-stat-num{font-family:var(--kfd-font-head);font-weight:700;font-size:clamp(2.1rem,4.4vw,3.1rem);color:#fff;line-height:1;}
.kfd-stat-label{color:rgba(255,255,255,.75);font-size:.94rem;font-weight:600;letter-spacing:.02em;}

/* ---- Product card: clean (no repeated badge) + hover "View/Add to Cart" ---- */
.kfd-badge-sale{position:absolute;top:12px;right:12px;left:auto;}
.kfd-product-thumb{position:relative;}
.kfd-product-hover-cta{position:absolute;left:0;right:0;bottom:0;transform:translateY(100%);background:rgba(var(--kfd-primary-rgb),.92);color:#fff;text-align:center;padding:11px 10px;font-family:var(--kfd-font-body);font-weight:700;font-size:.86rem;letter-spacing:.02em;transition:transform .25s var(--kfd-ease);}
.kfd-product:hover .kfd-product-hover-cta{transform:translateY(0);}
@media(hover:none){.kfd-product-hover-cta{transform:translateY(0);position:static;background:none;color:var(--kfd-accent-dark);padding:6px 0 0;text-align:left;}}

/* ---- Testimonial carousel ---- */
.kfd-carousel{position:relative;max-width:760px;margin:0 auto;outline:none;overflow:hidden;}
.kfd-carousel-track{display:flex;transition:transform .5s var(--kfd-ease);}
.kfd-carousel-slide{flex:0 0 100%;width:100%;}
.kfd-carousel .kfd-review{max-width:none;}
.kfd-carousel-dots{display:flex;justify-content:center;gap:9px;margin-top:22px;}
.kfd-carousel-dot{width:9px;height:9px;border-radius:999px;background:var(--kfd-border);border:0;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.kfd-carousel-dot.is-active{background:var(--kfd-accent);transform:scale(1.3);}
.kfd-carousel-dot:hover{background:var(--kfd-accent-dark);}

/* ---- FAQ accordion (button-based, JS-driven height transition) ---- */
.kfd-faq-question{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--kfd-font-head);font-weight:700;color:var(--kfd-heading);font-size:1.04rem;}
.kfd-faq-item{background:#fff;border:1px solid var(--kfd-border);border-radius:var(--kfd-radius-sm);margin-bottom:12px;overflow:hidden;transition:border-color .2s ease;}
.kfd-faq-item.is-open{border-color:var(--kfd-accent);}
.kfd-faq-question[aria-expanded="true"] .kfd-faq-icon{transform:rotate(45deg);background:var(--kfd-accent);color:var(--kfd-heading);}
.kfd-faq-answer{padding:0 24px 22px;color:var(--kfd-text);transition:height .28s var(--kfd-ease);}
.kfd-faq-answer[hidden]{display:none;}
.kfd-faq-answer p{margin:0;}

/* ---- Final CTA ---- */
.kfd-final-cta{background:linear-gradient(160deg,#fae8ed,var(--kfd-bg) 70%);text-align:center;}
.kfd-final-cta .wrap{max-width:720px;}
.kfd-final-cta p{color:var(--kfd-text);font-size:1.08rem;margin-bottom:28px;}

/* ---- Marquee: pause on hover ---- */
.kfd-marquee:hover .kfd-marquee-track{animation-play-state:paused;}

/* ---- Sticky header shrink ---- */
.site-header{transition:box-shadow .25s ease,padding .25s ease;}
.site-header.kfd-header-shrink{box-shadow:0 6px 24px rgba(20,21,26,.08);}
.site-header.kfd-header-shrink .header-inner{padding-top:9px;padding-bottom:9px;}
.site-header.kfd-header-shrink .site-branding img,.site-header.kfd-header-shrink .custom-logo{max-height:42px;}
.kfd-header-cta{display:none;}
@media(min-width:861px){.kfd-header-cta{display:inline-flex;}}

/* ---- Scroll-progress bar ---- */
.kfd-scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--kfd-accent),var(--kfd-accent-dark));z-index:1300;transition:width .1s linear;pointer-events:none;}

/* ---- Back-to-top ---- */
.kfd-back-to-top{position:fixed;right:22px;bottom:22px;z-index:900;width:46px;height:46px;border-radius:999px;background:var(--kfd-accent);color:var(--kfd-heading);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--kfd-shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .18s ease;}
.kfd-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.kfd-back-to-top:hover{background:var(--kfd-accent-dark);}
.kfd-back-to-top .kfd-ico{width:20px;height:20px;}

/* ---- Scroll-reveal: content visible by default, JS only ADDS motion ---- */
[data-reveal-child]{opacity:1;transform:none;}
html.js-ready [data-reveal-child]{opacity:0;transform:translateY(22px);transition:opacity .55s var(--kfd-ease),transform .55s var(--kfd-ease);}
html.js-ready [data-reveal-child].is-revealed{opacity:1;transform:translateY(0);}

/* ---- Reduced motion: strip transforms/animations, keep content visible ---- */
html.kfd-reduced-motion [data-reveal-child]{transition:none !important;opacity:1 !important;transform:none !important;}
html.kfd-reduced-motion .kfd-marquee-track{animation:none !important;}
html.kfd-reduced-motion *{scroll-behavior:auto !important;}
@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---- Responsive re-assertions for the new sections (media queries must
   come after the base ones or they get defeated — known theme gotcha) ---- */
@media(max-width:1024px){
	.kfd-find-grid{grid-template-columns:repeat(2,1fr);}
	.kfd-stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
}
@media(max-width:860px){
	.kfd-hero-script{font-size:1.4rem;}
	.kfd-cta-band-inner{padding:40px 26px;}
	.kfd-carousel{max-width:100%;}
	.kfd-stats{padding:48px 0;}
}
@media(max-width:560px){
	.kfd-find-grid{grid-template-columns:1fr;}
	.kfd-stats-grid{grid-template-columns:1fr;gap:26px;}
	.kfd-back-to-top{right:14px;bottom:14px;width:42px;height:42px;}
	.kfd-cta-badges li{font-size:.8rem;padding:7px 12px;}
	.kfd-carousel-dots{margin-top:16px;}
}
@media(max-width:430px){
	.kfd-hero-script{font-size:1.2rem;}
}

/* =========================================================================
   KATIE FOX DESIGN — "WOW" redesign layer v2
   Bespoke editorial hero, bento category grid, horizontal product shelf,
   real-product about collage, bolder ink stats band, alternating section
   backgrounds for rhythm. Placed last so it always wins; responsive
   re-assertions for this layer sit in their own block at the very end.
   ========================================================================= */

/* ---- Section background rhythm ---- */
.kfd-band-cream{background:var(--kfd-bg) !important;}
.kfd-band-blush{background:var(--kfd-muted) !important;}
.kfd-band-ink{background:var(--kfd-primary) !important;}
.kfd-band-ink .kfd-section-head h2,.kfd-band-ink .kfd-section-head p{color:#fff;}
.kfd-band-ink .kfd-eyebrow{background:rgba(255,255,255,.12);color:var(--kfd-accent);}

/* ---- HERO: editorial asymmetric layout ---- */
.kfd-hero-editorial .kfd-hero-inner{grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
.kfd-hero-editorial .kfd-hero-title{font-size:clamp(2.4rem,4.6vw,3.75rem);text-align:left;}
.kfd-hero-editorial .kfd-hero-actions{align-items:center;gap:18px;}
.kfd-hero-editorial .kfd-eyebrow-badge{margin:0;}
.kfd-hero-editorial .kfd-hero-media{max-width:460px;margin-left:auto;aspect-ratio:3/4;}
.kfd-hero-editorial .kfd-hero-shape{inset:10% -10% -10% 14%;transform:rotate(-6deg);border-radius:40% 60% 55% 45%/50% 45% 55% 50%;}
.kfd-hero-editorial .kfd-hero-frame{border-radius:18px 140px 18px 18px;transform:rotate(2deg);border-width:8px;}
.kfd-hero-editorial .kfd-hero-frame img,.kfd-hero-editorial .kfd-hero-frame picture{object-position:center 25%;}
.kfd-hero-editorial .kfd-hero-badge{top:-18px;bottom:auto;right:-10px;left:auto;transform:rotate(6deg);}

/* Floating best-seller product chip, overlapping the photo's lower corner */
.kfd-hero-product-card{position:absolute;z-index:4;left:-42px;bottom:-30px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:10px 16px 10px 10px;box-shadow:var(--kfd-shadow-lg);transform:rotate(-4deg);transition:transform .25s var(--kfd-ease),box-shadow .25s ease;max-width:230px;}
.kfd-hero-product-card:hover{transform:rotate(0deg) translateY(-3px);box-shadow:0 30px 60px rgba(20,21,26,.22);}
.kfd-hero-product-thumb{width:52px;height:52px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:var(--kfd-muted);}
.kfd-hero-product-thumb img{width:100%;height:100%;object-fit:cover;}
.kfd-hero-product-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.kfd-hero-product-tag{display:inline-flex;align-items:center;gap:.35em;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--kfd-accent-dark);}
.kfd-hero-product-tag .kfd-ico{width:11px;height:11px;fill:var(--kfd-accent-dark);stroke:var(--kfd-accent-dark);}
.kfd-hero-product-name{font-family:var(--kfd-font-head);font-weight:700;font-size:.86rem;color:var(--kfd-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---- BENTO category grid: real photography tiles, varied sizes ---- */
.kfd-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,180px);gap:18px;}
.kfd-bento .kfd-find-tile{background-size:cover;background-position:center;justify-content:flex-end;color:#fff;border:0;}
.kfd-bento .kfd-find-tile h3,.kfd-bento .kfd-find-tile p{color:#fff;}
.kfd-bento .kfd-find-tile p{color:rgba(255,255,255,.85);}
.kfd-bento .kfd-find-ico{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(3px);}
.kfd-bento .kfd-find-tile:hover .kfd-find-ico{background:var(--kfd-accent);color:var(--kfd-heading);}
.kfd-bento .kfd-find-arrow{color:#fff;}
.kfd-bento-0{grid-column:1/3;grid-row:1/3;}
.kfd-bento-1{grid-column:3/5;grid-row:1/2;}
.kfd-bento-2{grid-column:3/4;grid-row:2/3;}
.kfd-bento-3{grid-column:4/5;grid-row:2/3;}

/* ---- Horizontal product "shelf" (scroll-snap) ---- */
.kfd-section-head-shelf{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;text-align:left;margin-left:0;margin-right:0;max-width:none;}
.kfd-section-head-shelf>div:first-child{max-width:660px;}
.kfd-shelf-arrows{display:flex;gap:8px;flex:0 0 auto;padding-bottom:4px;}
.kfd-shelf-arrow{width:44px;height:44px;border-radius:999px;background:#fff;border:1.5px solid var(--kfd-border);color:var(--kfd-heading);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.kfd-shelf-arrow:hover{background:var(--kfd-accent);color:var(--kfd-heading);border-color:var(--kfd-accent);}
.kfd-shelf-prev .kfd-ico{transform:rotate(180deg);}
.kfd-shelf-arrow:disabled{opacity:.35;cursor:default;pointer-events:none;}
.kfd-shelf{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.kfd-shelf::-webkit-scrollbar{display:none;}
.kfd-shelf .kfd-product{scroll-snap-align:start;flex:0 0 clamp(220px,26vw,270px);}

/* ---- About: real-product tilted collage (no invented portrait) ---- */
.kfd-collage{position:relative;aspect-ratio:1/1;max-width:460px;margin:0 auto;}
.kfd-collage-card{position:absolute;display:block;border-radius:20px;overflow:hidden;border:6px solid #fff;box-shadow:var(--kfd-shadow-lg);transition:transform .3s var(--kfd-ease),box-shadow .3s ease;background:var(--kfd-muted);}
.kfd-collage-card img{width:100%;height:100%;object-fit:cover;display:block;}
.kfd-collage-card:hover{transform:scale(1.04) rotate(0deg) !important;box-shadow:0 30px 60px rgba(20,21,26,.22);z-index:5;}
.kfd-collage-0{width:62%;aspect-ratio:1/1;top:0;left:0;transform:rotate(-5deg);z-index:2;}
.kfd-collage-1{width:46%;aspect-ratio:1/1;top:4%;right:0;transform:rotate(6deg);z-index:1;}
.kfd-collage-2{width:44%;aspect-ratio:1/1;bottom:0;left:10%;transform:rotate(4deg);z-index:3;}
.kfd-collage-3{width:40%;aspect-ratio:1/1;bottom:-4%;right:6%;transform:rotate(-7deg);z-index:1;}

/* ---- Stats band: bolder, on the ink band ---- */
.kfd-stats{background:var(--kfd-primary);padding:76px 0;}
.kfd-stats-grid{gap:32px;}
.kfd-stat-num{font-size:clamp(2.6rem,5.4vw,4rem);}
.kfd-stat::before{content:"";display:block;width:40px;height:3px;background:var(--kfd-accent);border-radius:3px;margin:0 auto 14px;}

/* ---- Responsive re-assertions for the WOW layer ---- */
@media(max-width:1024px){
	.kfd-hero-editorial .kfd-hero-inner{grid-template-columns:1fr;gap:40px;}
	.kfd-hero-editorial .kfd-hero-media{margin:0 auto;max-width:380px;}
	.kfd-bento{grid-template-rows:repeat(3,160px);}
	.kfd-bento-0{grid-column:1/3;grid-row:1/2;}
	.kfd-bento-1{grid-column:1/3;grid-row:2/3;}
	.kfd-bento-2{grid-column:1/2;grid-row:3/4;}
	.kfd-bento-3{grid-column:2/3;grid-row:3/4;}
}
@media(max-width:860px){
	.kfd-hero-product-card{left:8px;bottom:-24px;padding:8px 12px 8px 8px;}
	.kfd-hero-product-thumb{width:44px;height:44px;}
	.kfd-section-head-shelf{flex-direction:column;align-items:flex-start;}
	.kfd-shelf .kfd-product{flex-basis:clamp(190px,60vw,240px);}
	.kfd-collage{max-width:340px;}
}
@media(max-width:560px){
	.kfd-bento{grid-template-columns:1fr;grid-template-rows:repeat(4,180px);}
	.kfd-bento-0,.kfd-bento-1,.kfd-bento-2,.kfd-bento-3{grid-column:1/2;}
	.kfd-bento-0{grid-row:1/2;}
	.kfd-bento-1{grid-row:2/3;}
	.kfd-bento-2{grid-row:3/4;}
	.kfd-bento-3{grid-row:4/5;}
	.kfd-hero-editorial .kfd-hero-frame{border-radius:16px 90px 16px 16px;}
	.kfd-collage{max-width:280px;}
	.kfd-collage-card{border-width:4px;}
}

/* =========================================================================
   KATIE FOX DESIGN — "KFD Pop" glam layer v3 (Pinchy-family treatment)
   Soft blush pink on rose-black: glam dark bands (hero, stats, CTA band,
   newsletter, footer), twinkling sparkles, drifting hearts + bows, shimmer
   script lines, glowing pink pill buttons with shine sweeps, sticker tilts,
   rotating conic hero ring, polka-dot blush bands. All pinks flow from the
   Customizer vars; only the rose-black band inks are layer-local so a
   Customizer colour change can never break the dark-band contrast.
   Placed last so it always wins over base + Blush&Berry + WOW v2 layers.
   ========================================================================= */
:root{
	--kfdp-ink:#0a0a0a;         /* black band */
	--kfdp-ink2:#000000;        /* deepest black (footer, gradient ends) */
	--kfdp-ink-mid:#050505;     /* mid black for gradients */
	--kfdp-bounce:cubic-bezier(.34,1.56,.64,1);
}

/* Script eyebrows with hearts — Caveat echoes the handwritten logo style.
   The hero trust chip (.kfd-eyebrow-badge) keeps its pill-chip look. */
.kfd-eyebrow:not(.kfd-eyebrow-badge){background:none;padding:0;font-family:"Caveat","Fraunces",cursive;font-weight:600;font-size:1.5rem;text-transform:none;letter-spacing:.01em;color:var(--kfd-accent-dark);}
.kfd-eyebrow:not(.kfd-eyebrow-badge)::before,
.kfd-eyebrow:not(.kfd-eyebrow-badge)::after{content:"\2665";display:inline-block;width:auto;height:auto;background:none;font-size:.6em;opacity:.75;transform:translateY(-3px);font-family:var(--kfd-font-body);}
.kfd-eyebrow:not(.kfd-eyebrow-badge) .kfd-ico{display:none;}

/* Buttons: blush-pink pills with a shine sweep, inverting to black on hover
   (kept to exactly the 3 brand colours — black/white/blush — rather than a
   4th "dark pink" tone, so the fill flips instead of just darkening). */
.btn{position:relative;overflow:hidden;font-weight:700;}
.btn-accent{background:var(--kfd-accent);box-shadow:0 10px 24px rgba(var(--kfd-accent-rgb),.5);color:var(--kfd-heading);}
.btn-accent::after{content:"";position:absolute;top:0;left:-85%;width:60%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;}
.btn-accent:hover{background:var(--kfdp-ink);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.35);}
.btn-accent:hover::after{left:125%;}
.btn-primary{background:var(--kfdp-ink);}
.btn-primary:hover{background:var(--kfd-accent);color:var(--kfd-heading);transform:translateY(-2px);box-shadow:0 12px 26px rgba(var(--kfd-accent-rgb),.55);}
.btn-outline{border-width:2px;border-color:rgba(var(--kfd-accent-rgb),.9);color:var(--kfd-heading);background:#fff;}
.btn-outline:hover{background:var(--kfdp-ink);border-color:var(--kfdp-ink);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.3);}

/* Announcement: rose-black ribbon with a drifting pink sheen */
.kfd-announcement{background:linear-gradient(90deg,var(--kfdp-ink2),var(--kfdp-ink-mid) 50%,var(--kfdp-ink2));color:#fff;font-weight:600;position:relative;overflow:hidden;}
.kfd-announcement::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,rgba(var(--kfd-accent-rgb),.4) 50%,transparent 58%);background-size:220% 100%;animation:kfdp-sheen 5.5s linear infinite;pointer-events:none;}
.kfd-announcement .kfd-ico{color:var(--kfd-accent);}

/* Header: crisp white with blush hairline + glow when scrolled */
.site-header{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--kfd-border);}
.site-header.is-scrolled,.site-header.kfd-header-shrink{box-shadow:0 6px 24px rgba(var(--kfd-accent-rgb),.22);}

/* ============================================================
   HERO — rose-black glam stage: pink glows, twinkling sparkles,
   drifting hearts, shimmer script line, rotating conic frame ring
   ============================================================ */
.kfd-hero,.kfd-hero-editorial{position:relative;color:var(--kfd-heading);background:var(--kfd-accent);}
.kfd-hero-inner{position:relative;z-index:1;}
.kfd-hero .kfd-hero-title,.kfd-hero h1{color:var(--kfd-heading);}
.kfd-hero-sub{color:var(--kfd-heading);opacity:.78;}
.kfd-hero-body{color:var(--kfd-heading);opacity:.7;}
/* On the pink hero the "banner" chip flips to white so it reads as an effect
   sitting on top of the pink field, rather than disappearing into it */
.kfd-hero .kfd-eyebrow-badge{background:#fff;border-color:transparent;color:var(--kfd-heading);box-shadow:0 6px 16px rgba(0,0,0,.1);}
.kfd-hero .kfd-eyebrow-badge .kfd-ico{color:var(--kfd-heading);}
.kfd-hero .btn-accent{background:#fff;animation:kfdp-pulse 2.8s ease-in-out infinite;}
.kfd-hero .btn-accent:hover{background:var(--kfdp-ink);}
.kfd-hero .btn-outline{border-color:var(--kfd-heading);color:var(--kfd-heading);background:transparent;}
.kfd-hero .btn-outline:hover{background:var(--kfd-heading);color:var(--kfd-accent);border-color:var(--kfd-heading);}

/* Hero media: white glow blob + white/black rotating conic ring — pink
   background means the "effects" need to be white, not pink, to read */
.kfd-hero-shape{border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.65),rgba(255,255,255,.08) 70%);filter:blur(58px);transform:none;animation:kfdp-float 9s ease-in-out infinite;}
.kfd-hero-media{position:relative;}
.kfd-hero-media::before{content:"";position:absolute;inset:-6px;z-index:0;transform:rotate(2deg);
	border-radius:24px 146px 24px 24px;
	background:conic-gradient(from var(--kfdp-angle,0deg),var(--kfd-secondary),#fff,#fff,var(--kfd-accent-dark),var(--kfd-secondary));
	animation:kfdp-spin 6s linear infinite;}
.kfd-hero-editorial .kfd-hero-frame{border-width:6px;border-color:#fff;position:relative;z-index:1;box-shadow:0 30px 70px rgba(0,0,0,.3),0 0 44px rgba(255,255,255,.5);}
.kfd-hero-badge{border-radius:999px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.25);animation:kfdp-wiggle 4.5s ease-in-out infinite alternate;color:var(--kfd-heading);z-index:3;}
.kfd-hero-product-card{z-index:4;}

/* Marquee: solid black ribbon, blush-pink text */
.kfd-marquee{background:var(--kfdp-ink);color:var(--kfd-accent);border:0;}
.kfd-marquee span{font-weight:700;color:var(--kfd-accent);}
.kfd-marquee .kfd-ico{color:var(--kfd-accent);}

/* USP cards: candy float + badge pop */
.kfd-usp-card{transition:transform .25s var(--kfdp-bounce),box-shadow .25s ease,border-color .2s ease;}
.kfd-usp-card:hover{transform:translateY(-4px);box-shadow:var(--kfd-shadow);border-color:rgba(var(--kfd-accent-rgb),.55);}
.kfd-usp-card:hover .kfd-usp-badge{animation:kfdp-pop .5s var(--kfdp-bounce);background:var(--kfd-accent-dark);color:#fff;}
.kfd-usp-badge{transition:background .2s ease,color .2s ease;}

/* Find tiles + bento: glow lift, icon pop */
.kfd-find-tile{transition:border-color .2s ease,box-shadow .25s ease,transform .25s var(--kfdp-bounce);}
.kfd-find-tile:hover{box-shadow:0 18px 40px rgba(var(--kfd-accent-rgb),.35);}
.kfd-find-tile:hover .kfd-find-ico{animation:kfdp-pop .5s var(--kfdp-bounce);background:var(--kfd-accent-dark);}
.kfd-bento .kfd-find-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid transparent;transition:border-color .25s ease;pointer-events:none;}
.kfd-bento .kfd-find-tile:hover::after{border-color:rgba(var(--kfd-accent-rgb),.75);}
/* Tiles whose category has no thumbnail yet: rose-black glam fallback so the
   white tile text always stays readable (inline bg-image is empty then). */
.kfd-bento .kfd-find-tile{background-color:var(--kfdp-ink);}

/* Product cards: candy pop hover + gradient badge */
.kfd-product{transition:border-color .2s ease,box-shadow .25s ease,transform .25s var(--kfdp-bounce);}
.kfd-product:hover{border-color:rgba(var(--kfd-accent-rgb),.6);box-shadow:0 18px 40px rgba(var(--kfd-accent-rgb),.3);transform:translateY(-5px);}
.kfd-badge,.kfd-badge-sale{background:linear-gradient(135deg,var(--kfd-secondary),var(--kfd-accent-dark));color:#fff;}
.kfd-shelf-arrow:hover{box-shadow:0 0 18px rgba(var(--kfd-accent-rgb),.5);}

/* Blush bands get the polka-dot party treatment */
.kfd-band-blush{background-image:radial-gradient(rgba(var(--kfd-accent-rgb),.35) 2px,transparent 2.6px) !important;background-size:26px 26px !important;background-color:var(--kfd-muted) !important;}

/* Stats band: rose-black glam with sparkles */
.kfd-stats,.kfd-band-ink{background:radial-gradient(900px 420px at 85% -10%,rgba(var(--kfd-accent-rgb),.28),transparent 62%),linear-gradient(150deg,var(--kfdp-ink),var(--kfdp-ink2)) !important;position:relative;overflow:hidden;}
.kfd-stats::before{content:"";position:absolute;inset:0;pointer-events:none;
	background-image:
		radial-gradient(2px 2px at 60px 80px,rgba(255,255,255,.8),transparent 60%),
		radial-gradient(1.5px 1.5px at 200px 160px,rgba(var(--kfd-accent-rgb),.85),transparent 60%),
		radial-gradient(2px 2px at 320px 60px,rgba(var(--kfd-accent-rgb),.8),transparent 60%);
	background-size:380px 260px;background-repeat:repeat;
	animation:kfdp-twinkle 3.6s ease-in-out infinite alternate;}
.kfd-stats .wrap{position:relative;z-index:1;}
.kfd-stat::before{box-shadow:0 0 12px rgba(var(--kfd-accent-rgb),.8);}

/* CTA band + spotlight: rose-black glam panel with neon edge + sparkles */
.kfd-cta-band-inner,.kfd-spotlight-inner{border:1px solid rgba(var(--kfd-accent-rgb),.45);position:relative;overflow:hidden;
	background:
		radial-gradient(2px 2px at 60px 80px,rgba(255,255,255,.8),transparent 60%),
		radial-gradient(1.5px 1.5px at 200px 160px,rgba(var(--kfd-accent-rgb),.85),transparent 60%),
		radial-gradient(2px 2px at 320px 60px,rgba(var(--kfd-accent-rgb),.8),transparent 60%),
		radial-gradient(760px 420px at 88% -6%,rgba(var(--kfd-accent-rgb),.3),transparent 62%),
		linear-gradient(150deg,var(--kfdp-ink),var(--kfdp-ink2));
	box-shadow:0 30px 70px rgba(90,20,35,.3),0 0 40px rgba(var(--kfd-accent-rgb),.2);}
.kfd-cta-band-inner h2,.kfd-spotlight-copy h2{color:#fff;}
.kfd-cta-band-inner>p,.kfd-spotlight-copy p{color:rgba(255,255,255,.85);}
.kfd-cta-band-inner .kfd-eyebrow:not(.kfd-eyebrow-badge),.kfd-spotlight-copy .kfd-eyebrow:not(.kfd-eyebrow-badge){color:var(--kfd-accent);}
.kfd-cta-badges li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff;}
.kfd-cta-badges .kfd-ico{color:var(--kfd-accent);}
.kfd-spotlight-list li{color:#fff;}
.kfd-spotlight-list .kfd-ico{color:var(--kfd-accent);}
.kfd-cta-band-inner .btn-accent,.kfd-spotlight .btn-accent{animation:kfdp-pulse 2.8s ease-in-out infinite;}

/* Reviews: tilted candy quote cards that straighten on hover */
.kfd-review{transition:transform .25s var(--kfdp-bounce),box-shadow .25s ease;}
.kfd-carousel-slide:nth-child(odd) .kfd-review{transform:rotate(-.6deg);}
.kfd-carousel-slide:nth-child(even) .kfd-review{transform:rotate(.6deg);}
.kfd-carousel-slide .kfd-review:hover{transform:rotate(0) translateY(-4px);box-shadow:var(--kfd-shadow);}
.kfd-review-avatar{background:linear-gradient(135deg,var(--kfd-secondary),var(--kfd-accent-dark));}

/* Gallery + collage: polaroid glow */
.kfd-gallery-item{transition:transform .3s var(--kfdp-bounce),box-shadow .25s ease;}
.kfd-gallery-item:nth-child(odd){transform:rotate(-1.4deg);}
.kfd-gallery-item:nth-child(even){transform:rotate(1.2deg);}
.kfd-gallery-item:hover{transform:rotate(0) scale(1.04);box-shadow:0 16px 36px rgba(var(--kfd-accent-rgb),.4);z-index:2;}
.kfd-collage-card:hover{box-shadow:0 30px 60px rgba(var(--kfd-accent-rgb),.45);}

/* FAQ: pink pop on open */
.kfd-faq-item.is-open,.kfd-faq-item[open]{border-color:rgba(var(--kfd-accent-rgb),.65);box-shadow:var(--kfd-shadow-sm);}

/* Final CTA: candy gradient + dots */
.kfd-final-cta{background:linear-gradient(160deg,var(--kfd-muted),var(--kfd-bg));background-image:radial-gradient(rgba(var(--kfd-accent-rgb),.22) 2px,transparent 2.6px),linear-gradient(160deg,var(--kfd-muted),var(--kfd-bg));background-size:26px 26px,cover;}

/* Newsletter: rose-black party band with drifting hearts */
.kfd-newsletter{position:relative;overflow:hidden;background:radial-gradient(900px 420px at 85% -10%,rgba(var(--kfd-accent-rgb),.32),transparent 62%),linear-gradient(150deg,var(--kfdp-ink),var(--kfdp-ink2));}
.kfd-newsletter::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='460' viewBox='0 0 460 460'%3E%3Cpath fill='%23FBD3D3' transform='translate(70,90) scale(1.1)' d='M12 21 3.6 12.4C1 9.7 1 5.6 3.6 3.3c2.3-2 5.8-1.6 7.8.7l.6.7.6-.7c2-2.3 5.5-2.7 7.8-.7 2.6 2.3 2.6 6.4 0 9.1z'/%3E%3Cpath fill='%23ffffff' transform='translate(320,260) scale(0.6)' d='M12 21 3.6 12.4C1 9.7 1 5.6 3.6 3.3c2.3-2 5.8-1.6 7.8.7l.6.7.6-.7c2-2.3 5.5-2.7 7.8-.7 2.6 2.3 2.6 6.4 0 9.1z'/%3E%3Cpath fill='%23FBD3D3' transform='translate(180,380) scale(0.85)' d='M12 21 3.6 12.4C1 9.7 1 5.6 3.6 3.3c2.3-2 5.8-1.6 7.8.7l.6.7.6-.7c2-2.3 5.5-2.7 7.8-.7 2.6 2.3 2.6 6.4 0 9.1z'/%3E%3C/svg%3E");
	background-repeat:repeat;background-size:460px 460px;
	animation:kfdp-hearts 30s linear infinite;}
.newsletter-inner{position:relative;z-index:1;}
.kfd-newsletter .kfd-eyebrow:not(.kfd-eyebrow-badge){background:none;color:var(--kfd-accent);}
.newsletter-form input:focus{outline:3px solid rgba(var(--kfd-accent-rgb),.65);}
.newsletter-form .btn-light{background:linear-gradient(135deg,var(--kfd-secondary),var(--kfd-accent-dark));color:#fff;box-shadow:0 10px 24px rgba(var(--kfd-accent-rgb),.45);}
.newsletter-form .btn-light:hover{background:var(--kfd-accent-dark);color:#fff;}

/* Footer: deepest black with pink glow accents.
   Polish pass 2026-07-21 — client flagged the footer as looking unfinished.
   The newsletter band above and the footer itself were both flat solid
   black with zero separation (read as one undifferentiated block), column
   headings had no visual anchor, and the payment badges were plain grey
   placeholder-style chips. Fixed without touching the base layer. */
.kfd-site-footer{background:var(--kfdp-ink2);border-top:1px solid rgba(var(--kfd-accent-rgb),.22);padding-top:56px;}
.footer-top{gap:48px;}
.footer-credit .footer-heart{color:var(--kfd-secondary);}
.social-link{border:1px solid rgba(255,255,255,.14);}
.social-link:hover{background:var(--kfd-accent-dark);border-color:var(--kfd-accent-dark);box-shadow:0 0 18px rgba(var(--kfd-accent-rgb),.6);transform:translateY(-2px);}

/* Column headings get a short blush underline instead of sitting bare */
.kfd-site-footer h4{position:relative;padding-bottom:12px;}
.kfd-site-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:3px;border-radius:3px;background:var(--kfd-accent);}

/* Payment badges: crisper chips instead of flat grey placeholders */
.footer-pay{height:30px;padding:5px 12px;border-radius:7px;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 6px rgba(0,0,0,.18);font-size:.68rem;letter-spacing:.03em;}

/* "Why Katie Fox Design?" — read as trust badges, not a nav list */
.footer-trust .footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-trust .footer-links a{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 12px;font-size:.86rem;font-weight:600;color:#fff;transition:background .18s ease,border-color .18s ease;}
.footer-trust .footer-links a:hover{background:rgba(var(--kfd-accent-rgb),.14);border-color:rgba(var(--kfd-accent-rgb),.4);color:#fff;}
.footer-trust .footer-links .kfd-ico{color:var(--kfd-accent);flex:0 0 auto;}

/* Page heroes: candy gradient + dots */
.kfd-page-hero{background:linear-gradient(160deg,var(--kfd-muted),var(--kfd-bg));background-image:radial-gradient(rgba(var(--kfd-accent-rgb),.18) 2px,transparent 2.6px),linear-gradient(160deg,var(--kfd-muted),var(--kfd-bg));background-size:26px 26px,cover;}

/* Woo block cart/checkout buttons: gradient pills */
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link),
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link),
.wc-block-components-checkout-place-order-button{background:linear-gradient(135deg,var(--kfd-secondary),var(--kfd-accent-dark)) !important;box-shadow:0 8px 20px rgba(var(--kfd-accent-rgb),.35) !important;}

/* ---- Motion: keyframes ---- */
@property --kfdp-angle{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes kfdp-spin{to{--kfdp-angle:360deg;}}
@keyframes kfdp-shimmer{to{background-position:-200% center;}}
@keyframes kfdp-sheen{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
@keyframes kfdp-twinkle{from{opacity:.3;}to{opacity:.9;}}
@keyframes kfdp-hearts{from{background-position:0 0;}to{background-position:0 -460px;}}
@keyframes kfdp-float{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(12px,-16px) scale(1.05);}}
@keyframes kfdp-wiggle{from{transform:rotate(-8deg);}to{transform:rotate(-3deg);}}
@keyframes kfdp-pop{0%{transform:scale(1);}40%{transform:scale(1.18);}70%{transform:scale(.94);}100%{transform:scale(1);}}
@keyframes kfdp-pulse{0%,100%{box-shadow:0 10px 24px rgba(var(--kfd-accent-rgb),.4);}50%{box-shadow:0 10px 34px rgba(var(--kfd-accent-rgb),.7);}}

/* Reduced motion: kill all decorative animation */
@media (prefers-reduced-motion:reduce){
	.kfd-announcement::after,.kfd-hero::before,.kfd-hero::after,
	.kfd-newsletter::before,.kfd-hero-media::before,.kfd-hero-shape,
	.kfd-hero-badge,.kfd-hero-script,.kfd-hero .btn-accent,
	.kfd-cta-band-inner .btn-accent,.kfd-spotlight .btn-accent,
	.kfd-stats::before,.kfd-marquee-track{animation:none !important;}
	.btn-accent:hover,.btn-primary:hover,.btn-outline:hover,.kfd-product:hover,
	.kfd-usp-card:hover,.kfd-find-tile:hover,.kfd-review:hover,
	.kfd-gallery-item:hover{transform:none !important;}
}

/* ---- KFD Pop responsive re-assertions (layer sits after all base media
   queries, so mobile values must be restated here — family gotcha) ---- */
@media(max-width:1024px){
	.kfd-hero-media::before{transform:rotate(2deg);}
}
@media(max-width:860px){
	.kfd-hero-script{font-size:1.55rem;}
	.kfd-marquee{padding:12px 0;}
}
@media(max-width:560px){
	.kfd-hero-script{font-size:1.35rem;}
	.kfd-hero-media::before{border-radius:22px 96px 22px 22px;inset:-5px;}
	.kfd-hero-badge{padding:11px 16px;}
	.kfd-eyebrow:not(.kfd-eyebrow-badge){font-size:1.25rem;padding:0;}
	.newsletter-form{flex-direction:column;}
	.newsletter-form .btn{width:100%;}
	.newsletter-form input{width:100%;box-sizing:border-box;}
}
@media(max-width:430px){
	.kfd-announcement{font-size:.7rem;}
	.kfd-announcement .kfd-ico{display:none;}
}
