/* Shared 0.3 storefront finish. Only the selected preset's small sheet is loaded. */
body.kfn-storefront { --kfn-line: color-mix(in srgb,var(--kfn-text) 16%,transparent); --kfn-section-space: clamp(3.5rem,6.8vw,6.5rem); font-family: var(--kfn-font); -webkit-font-smoothing: antialiased; }
.kfn-main--home .wp-block-post-content { margin: 0; }
body.kfn-storefront :is(h1,h2,h3,h4,h5,h6):not(.woocommerce-loop-product__title):not(.kfn-footer-heading){font-family:var(--kfn-heading-font,var(--kfn-font))}
.kfn-header-shell { min-height: 88px; }
/* These grid children own their spacing; native flow margins otherwise offset rows. */
body.kfn-storefront .kfn-header-shell > :is(.kfn-brand,.kfn-navigation,.kfn-header-tools) { margin-block: 0; }
.kfn-brand .wp-block-site-title { letter-spacing: -.055em; font-weight: 550; }
.kfn-announcement { font-size: 11px; letter-spacing: .065em; }
.kfn-announcement p { padding: 9px 16px; line-height: 1.45; }
.kfn-announcement .wp-block-kf-native-announcement { padding: 0; }
.kfn-navigation { font-size: 13px; }
.kfn-header-tools { gap: 19px; }
.kfn-header-search { width:40px; }
.kfn-header-search .wp-block-search__inside-wrapper { border:0; }
.kfn-header-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) { width:190px; }
.kfn-header-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { border-bottom:1px solid var(--kfn-line); }
.kfn-account-link { font-size: 12px; }
.kfn-button { min-height: 48px; padding: 14px 25px; font-size: 12px; font-weight: 550; letter-spacing: .025em; border-radius: var(--kfn-radius); }
.kfn-button--secondary { background: transparent; color: inherit; border: 1px solid currentColor; }
.kfn-hero { min-height: var(--kfn-hero-min-height,620px); }
.kfn-hero__content { max-width:var(--kfn-hero-copy-width,680px); gap:20px; color:var(--kfn-hero-text,var(--kfn-text)); background:transparent; }
.kfn-hero__content h1,.kfn-hero__content h2 { font-size: clamp(46px,5.9vw,84px); line-height: 1.01; font-weight: 400; letter-spacing: -.055em; overflow-wrap: anywhere; }
.kfn-hero__content p { font-size: 14px; line-height: 1.8; max-width: 37ch; }
.kfn-hero .kfn-eyebrow,.kfn-hero__eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .16em; }
.kfn-hero__media::before,.kfn-hero__media::after { display: none; }
.kfn-hero__media { background: var(--kfn-surface); }
.kfn-hero--reverse .kfn-hero__media { order: -1; }
.kfn-hero__actions { gap: 12px; }
.wp-block-kf-native-product-grid,.wp-block-kf-native-category-grid,.kfn-editorial,.kfn-benefits,.kfn-newsletter { width: min(calc(100% - clamp(2.25rem,6.4vw,7rem)),var(--kfn-width)); margin: var(--kfn-section-space) auto; }
.kfn-section-header { gap: 24px; margin-bottom: 30px; align-items: end; }
.kfn-section-header h2,.kfn-editorial h2,.kfn-newsletter h2 { font-size: clamp(28px,3vw,43px); line-height: 1.13; letter-spacing: -.045em; font-weight: 400; margin: 0; }
.kfn-section-header p,.kfn-editorial__content > p,.kfn-newsletter p { color: var(--kfn-muted); font-size: 14px; line-height: 1.8; max-width: 48ch; }
.kfn-section-header .kfn-eyebrow,.kfn-editorial .kfn-eyebrow,.kfn-newsletter .kfn-eyebrow { color: var(--kfn-muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.kfn-section-header > a { font-size: 12px; text-decoration: underline; text-underline-offset: 5px; white-space: nowrap; }
.woocommerce ul.products { gap: 32px 22px; }
.woocommerce ul.products li.product { position: relative; padding: 0; background: transparent; border: 0; box-shadow: none; }
.woocommerce ul.products li.product a img { margin: 0 0 17px; background: var(--kfn-surface); object-fit: contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; font-weight: 450; line-height: 1.5; letter-spacing: -.01em; padding: 0; margin: 0 0 6px; }
.woocommerce ul.products li.product .price { color: var(--kfn-muted); font-size: 12px; font-weight: 400; margin: 0; }
.woocommerce ul.products li.product .price del { opacity: .6; }
.woocommerce ul.products li.product .price ins { font-weight: 500; text-decoration: none; }
.woocommerce ul.products li.product .button { min-height: 36px; padding: 9px 14px; margin-top: 13px; font-size: 11px; border: 1px solid var(--kfn-line); background: transparent; color: var(--kfn-text); font-weight: 500; }
.woocommerce ul.products li.product span.onsale { top: 12px; left: 12px; min-height: 0; line-height: 1.4; padding: 5px 9px; border-radius: 0; font-size: 10px; font-weight: 500; background: var(--kfn-bg); color: var(--kfn-text); }
.kfn-category-grid__items { gap: 22px; }
.kfn-category-card { display:flex; flex-direction:column; gap:14px; background:transparent; overflow:visible; border-radius:0; }
.kfn-category-card > span:last-child { padding: 0; font-size: 13px; background: transparent; }
.kfn-category-card img { aspect-ratio: 4/5; object-fit: cover; border-radius: var(--kfn-radius); }
.kfn-editorial { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(32px,6vw,88px); }
.kfn-editorial__content { display: flex; flex-direction: column; align-items: start; gap: 19px; padding: 30px 0; }
.kfn-editorial__content > * { margin: 0; }
.kfn-editorial__media { min-width: 0; }
.kfn-editorial__media img { display: block; width: 100%; object-fit: cover; }
.kfn-editorial__image--primary { position:relative; overflow:hidden; }
.kfn-editorial__image--primary > picture { position:absolute; inset:0; display:block; width:100%; height:100%; }
.kfn-editorial__image--primary > picture > img { width:100%; height:100%; object-fit:cover; }
.kfn-editorial--reverse .kfn-editorial__media { order: 2; }
.kfn-editorial--overlap .kfn-editorial__media { position: relative; padding: 0 18% 12% 0; }
.kfn-editorial--overlap .kfn-editorial__image--primary { aspect-ratio: 4/5; }
.kfn-editorial--overlap .kfn-editorial__image--secondary { width: 43%; position: absolute; right: 0; bottom: 0; aspect-ratio: 4/5; border: 8px solid var(--kfn-bg); }
.kfn-benefits { padding: 35px 0; border-top: 1px solid var(--kfn-line); border-bottom: 1px solid var(--kfn-line); }
.kfn-benefits__items { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.kfn-benefits__item { display: flex; gap: 15px; align-items: start; }
.kfn-benefits__item svg { width: 26px; height: 26px; flex: 0 0 26px; stroke-width: 1.2; }
.kfn-benefits__item h3 { font-size: 13px; font-weight: 550; margin: 0 0 5px; letter-spacing: -.015em; }
.kfn-benefits__item p { font-size: 12px; line-height: 1.75; margin: 0; color: var(--kfn-muted); }
.kfn-newsletter { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 48px 0 16px; }
.kfn-newsletter--centered { flex-direction: column; text-align: center; gap: 22px; }
.kfn-newsletter--centered p { margin-inline: auto; }
.kfn-newsletter .kfn-button { flex-shrink: 0; }
.kfn-footer-shell { padding-top: 55px; }
.kfn-footer-columns { gap: 50px; }
body.kfn-storefront .kfn-footer-columns .wp-block-site-title { font-family:var(--kfn-heading-font,var(--kfn-font)); font-size:27px; font-weight:400; letter-spacing:-.05em; }
.kfn-footer-heading { font-size: 10px; font-weight: 600; letter-spacing: .12em; }
.kfn-footer-links,.kfn-footer-contact,.kfn-footer-columns .wp-block-site-tagline { font-size: 12px; line-height: 1.9; }
.kfn-footer-bottom { margin-top: 48px; font-size: 10px; }
.kfn-footer-bottom .kfn-copyright-brand { font-size:10px; font-weight:400; letter-spacing:.03em; }
@media(min-width:782px){.kfn-editorial--stacked{grid-template-columns:1fr}.kfn-editorial--stacked .kfn-editorial__content{max-width:660px;margin-inline:auto;text-align:center;align-items:center}.kfn-editorial--stacked .kfn-editorial__media{max-height:600px;overflow:hidden}}
@media(max-width:1000px){.kfn-header-search{width:110px}.kfn-header-shell{column-gap:18px}.kfn-header-tools{gap:12px}.kfn-navigation .wp-block-navigation__container{gap:18px}.kfn-benefits__items{gap:20px}}
@media(max-width:781px){
 body.kfn-storefront{--kfn-section-space:48px}
 body.kfn-storefront .kfn-header-shell{position:relative;grid-template-columns:44px minmax(0,1fr) 40px 40px;column-gap:5px;min-height:72px}
 body.kfn-storefront .kfn-header-shell .kfn-brand{position:absolute;grid-column:1/-1;grid-row:1;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 160px)}
 .kfn-header-tools .kfn-header-search{grid-column:3;grid-row:1;width:40px;margin:0;justify-self:end}
 .kfn-header-tools .wc-block-mini-cart{grid-column:4;grid-row:1;justify-self:end}
 .kfn-header-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden){position:absolute;left:0;right:0;top:100%;width:100%;padding:12px 0;background:var(--kfn-bg);z-index:3;box-shadow:0 8px 12px #00000008}
 .kfn-hero,.kfn-hero--split,.kfn-hero--editorial{min-height:var(--kfn-hero-mobile-min-height,0);grid-template-columns:1fr}
 .kfn-hero__content{padding:30px 23px;gap:16px;max-width:none}
 .kfn-hero__content h1,.kfn-hero__content h2{font-size:clamp(39px,10.5vw,65px);max-width:13ch}
 .kfn-hero__content p{font-size:13px;line-height:1.7}
 .kfn-hero__media{min-height:300px;aspect-ratio:4/3}
 .kfn-section-header{gap:16px;align-items:start;margin-bottom:23px}
 .kfn-section-header h2,.kfn-editorial h2,.kfn-newsletter h2{font-size:31px}
 .kfn-section-header>div{min-width:0}.kfn-section-header>a{font-size:11px;margin-top:8px;white-space:normal}
 .kfn-category-grid__items{gap:14px}.kfn-category-card{gap:10px}.kfn-category-card>span:last-child{font-size:12px}
 .kfn-editorial{grid-template-columns:1fr;gap:22px}.kfn-editorial--reverse .kfn-editorial__media{order:0}.kfn-editorial__content{padding:8px 0;gap:16px}.kfn-editorial__content>p{font-size:13px}
 .kfn-benefits{padding:25px 0}.kfn-benefits__items{grid-template-columns:1fr;gap:22px}.kfn-benefits__item{gap:14px}
 .kfn-newsletter{align-items:start;flex-direction:column;gap:20px;padding-top:12px}.kfn-newsletter--centered{align-items:center}
 .woocommerce ul.products{gap:27px 14px}.woocommerce ul.products li.product a img{margin-bottom:12px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px}.woocommerce ul.products li.product .price{font-size:11px}.woocommerce ul.products li.product .button{font-size:10px;padding:8px;min-height:36px}
 .kfn-footer-shell{padding-top:36px}.kfn-footer-columns{gap:28px}.kfn-footer-bottom{margin-top:30px}
}

@media(min-width:782px){
 body.kfn-storefront.kfn-header-store .kfn-header-shell{grid-template-rows:64px 42px;min-height:106px;padding-block:0;row-gap:0}
 body.kfn-storefront.kfn-header-store .kfn-header-tools{grid-column:2;grid-row:1;align-self:center}
 body.kfn-storefront.kfn-header-store .kfn-brand{grid-column:1;grid-row:1}
 body.kfn-storefront.kfn-header-store .kfn-navigation{grid-column:1/-1;grid-row:2;align-self:center}
}

/* Phase4: evidence-bound readability and native typography. */
/* Small prices, form labels and footnotes need a readable floor. */
.kfn-announcement,.kfn-hero .kfn-eyebrow,.kfn-hero__eyebrow,.kfn-section-header .kfn-eyebrow,.kfn-editorial .kfn-eyebrow,.kfn-newsletter .kfn-eyebrow,.kfn-footer-heading,.kfn-footer-bottom,.kfn-footer-bottom .kfn-copyright-brand{font-size:12px;line-height:1.55}
body.kfn-storefront .woocommerce ul.products li.product .price{font-size:13px;line-height:1.6}
body.kfn-storefront .woocommerce ul.products li.product .button{font-size:12px;line-height:1.5}
body.kfn-preset-tech .kfn-hero--immersive .kfn-section-header .kfn-eyebrow{color:#ffffff;opacity:1}
@media(max-width:781px){.kfn-hero__content p,.kfn-editorial__content>p,.kfn-benefits__item p{font-size:14px;line-height:1.75}}
/* Native fields and placeholder inherit the chosen readable surface palette. */
body.kfn-storefront input::placeholder,body.kfn-storefront textarea::placeholder{color:var(--kfn-muted);opacity:1}
body.kfn-storefront :is(input,select,textarea):not([type=hidden]){font-size:16px}
body.kfn-storefront :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]){border-color:var(--kfn-muted)}
