/*
Theme Name: Nyfynd
Theme URI: https://roliga-prylar.se
Description: Nyfynd – roliga & smarta prylar. Child theme of Twenty Twenty-Five.
Author: RealMar AB
Template: twentytwentyfive
Version: 1.0.0
Text Domain: nyfynd
*/

:root {
	--nf-ink: #0D1330;
	--nf-ink2: #1B2350;
	--nf-lime: #C6F432;
	--nf-surface: #F5F4EF;
	--nf-muted: #565E7E;
	--nf-line: #E4E3DC;
	--nf-r: 20px;
	--nf-sec: clamp(56px, 7vw, 88px);
	--nf-wide: var(--wp--style--global--wide-size, 1240px);
}
html { scroll-padding-top: 88px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(.nf-main) { margin: 0; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
img { height: auto; }
::selection { background: var(--nf-lime); color: var(--nf-ink); }

/* ---------- Header ---------- */
.nf-header { background: var(--nf-ink); color: #fff; position: sticky; top: 0; z-index: 100; padding-block: 0; }
.admin-bar .nf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .nf-header { top: 0; } }
.nf-header__bar { min-height: 72px; gap: 24px; }
.nf-logo { display: inline-flex; align-items: center; line-height: 0; flex: 0 0 auto; }
.nf-logo img { width: 132px; height: auto; display: block; }
.nf-nav { flex: 1 1 auto; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 0.96rem; }
.nf-nav .wp-block-navigation__container { gap: 4px 28px; }
.nf-nav .wp-block-navigation-item__content { color: #fff; text-decoration: none; padding-block: 8px; position: relative; }
.nf-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: var(--nf-lime); transform: scaleX(0); transition: transform .2s; }
.nf-nav .wp-block-navigation-item__content:hover::after,
.nf-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.nf-nav .wp-block-navigation__responsive-container-open,
.nf-nav .wp-block-navigation__responsive-container-close { color: #fff; width: 44px; height: 44px; align-items: center; justify-content: center; }
.nf-nav .wp-block-navigation__responsive-container-close { display: inline-flex; }
.nf-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--nf-ink) !important; color: #fff !important; padding: 24px clamp(16px, 4vw, 40px); }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 8px; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; padding-block: 10px; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; align-items: flex-start; }
.nf-header__tools { gap: 4px; flex: 0 0 auto; }
.nf-search { margin: 0; }
.nf-search .wp-block-search__button { background: transparent; color: #fff; border: 0; padding: 0; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; margin: 0; border-radius: 999px; }
.nf-search .wp-block-search__button:hover { background: var(--nf-ink2); }
.nf-search .wp-block-search__button svg { width: 24px; height: 24px; min-width: 24px; fill: currentColor; }
.nf-search .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }
.nf-search .wp-block-search__input { background: var(--nf-ink2); color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 0 16px; height: 40px; font-size: 16px; }
.nf-search .wp-block-search__input::placeholder { color: rgba(255,255,255,.55); }
.nf-search.wp-block-search__searchfield-hidden .wp-block-search__input { border: 0; padding: 0; }
.nf-cart .wc-block-mini-cart__button { color: #fff; width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 999px; }
.nf-cart .wc-block-mini-cart__button:hover { background: var(--nf-ink2); }
.nf-cart .wc-block-mini-cart__badge { background: var(--nf-lime) !important; color: var(--nf-ink) !important; font-weight: 700; border: 0; }
.nf-cart .wc-block-mini-cart__amount { display: none; }

/* Burger up to 1023 px (5 menu items don't fit on tablets) */
@media (min-width: 600px) and (max-width: 1023px) {
	.nf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.nf-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1023px) {
	.nf-header__bar { gap: 8px; }
	.nf-nav { order: 3; flex: 0 0 auto; }
	.nf-header__tools { margin-left: auto; }
}
@media (max-width: 599px) { .nf-logo img { width: 112px; } .nf-header__bar { min-height: 64px; } }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .15s, transform .15s; }
.nf-btn-accent, .nf-btn-accent:visited { display: inline-flex; align-items: center; gap: 10px; background: var(--nf-lime); color: var(--nf-ink) !important; text-decoration: none; border-radius: 999px; padding: 16px 30px; font-family: var(--wp--preset--font-family--heading); font-weight: 650; font-size: 1.0625rem; }
.nf-btn-accent::after { content: "→"; transition: transform .15s; }
.nf-btn-accent:hover { background: #D6FF5C; }
.nf-btn-accent:hover::after { transform: translateX(3px); }
:focus-visible { outline: 3px solid var(--nf-lime); outline-offset: 2px; }

/* ---------- Sections ---------- */
.nf-sec { padding-block: var(--nf-sec); margin-block: 0 !important; }
.nf-sec > *, .nf-trustbar > *, .nf-hero > * { max-width: var(--nf-wide) !important; }
.nf-home .wp-block-post-content > .nf-sec:nth-child(even) { background: var(--nf-surface); } /* alternate visible sections (hidden ones are removed from DOM) */
.nf-sec__title { margin: 0 0 32px; }
.nf-sec__head { justify-content: space-between; align-items: baseline; margin-bottom: 32px; gap: 16px; }
.nf-sec__head .nf-sec__title { margin: 0; }
.nf-sec__more { margin: 32px 0 0; font-family: var(--wp--preset--font-family--heading); font-weight: 600; }
.nf-sec__head .nf-sec__more { margin: 0; }
.nf-sec__more a { text-decoration: none; }
.nf-sec__more a::after { content: " →"; }
.nf-sec__more a:hover { text-decoration: underline; }

/* Hero */
.nf-hero { background: var(--nf-ink); color: #fff; padding-block: var(--nf-sec); margin-block: 0 !important; }
.nf-hero__grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(32px, 5vw, 72px); align-items: center; margin-inline: auto; }
.nf-hero h1 { color: #fff; font-size: clamp(2.5rem, 5.6vw, 4.5rem); line-height: 1.02; letter-spacing: -0.035em; margin: 0; font-weight: 650; }
.nf-hero h1 .nf-amp { color: var(--nf-lime); }
.nf-hero__lead { font-size: clamp(1.125rem, 1.6vw, 1.3rem); color: rgba(255,255,255,.84); margin: 20px 0 32px; max-width: 30ch; }
.nf-hero__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 24px; display: block; }
@media (max-width: 781px) {
	.nf-hero__grid { grid-template-columns: 1fr; gap: 28px; }
	.nf-hero__lead { margin: 16px 0 24px; }
}

/* Trust bar */
.nf-trustbar { padding-block: 24px; background: var(--nf-surface); margin-block: 0 !important; }
.nf-trust { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.nf-trust li { display: flex; align-items: center; justify-content: center; gap: 12px; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1rem; }
.nf-trust svg { width: 40px; height: 40px; padding: 9px; border-radius: 999px; background: var(--nf-ink); stroke: var(--nf-lime); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
@media (max-width: 599px) {
	.nf-trust { gap: 8px; }
	.nf-trust li { flex-direction: column; justify-content: flex-start; text-align: center; gap: 8px; font-size: 0.8125rem; line-height: 1.3; }
	.nf-trust svg { width: 36px; height: 36px; padding: 8px; }
}

/* Category tiles */
.nf-tiles { list-style: none; padding: 0; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px 24px; }
.nf-tile { position: relative; margin: 0; }
.nf-tile img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--nf-r); display: block; background: var(--nf-surface); transition: transform .25s, box-shadow .25s; }
.nf-tile a { display: block; margin-top: 12px; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.125rem; letter-spacing: -0.01em; color: var(--nf-ink); text-decoration: none; }
.nf-tile a::after { content: ""; position: absolute; inset: 0; }
.nf-tile:hover img { transform: translateY(-4px); box-shadow: 0 16px 32px -16px rgba(13,19,48,.35); }
.nf-tile:hover a { text-decoration: underline; }
@media (max-width: 1023px) { .nf-tiles { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; } }
@media (max-width: 599px) { .nf-tiles { gap: 20px 12px; } .nf-tile img { aspect-ratio: 1; border-radius: 16px; } .nf-tile a { font-size: 1rem; margin-top: 8px; } }

/* Product cards */
.nf-coll .wc-block-product-template, .nf-grid { gap: 24px !important; }
.nf-grid .wc-block-product { background: #fff; border: 1px solid var(--nf-line); border-radius: var(--nf-r); padding: 12px 12px 16px; display: flex; flex-direction: column; gap: 8px; text-align: left; margin: 0; }
.nf-grid .wc-block-components-product-image { margin: 0 0 4px !important; border-radius: 14px; overflow: hidden; background: var(--nf-surface); }
.nf-grid .wc-block-components-product-image img { border-radius: 14px; }
.nf-card__title { font-size: 1rem !important; font-weight: 600; line-height: 1.3; margin: 0 !important; letter-spacing: -0.01em; text-align: left; }
.nf-card__title a { text-decoration: none; color: var(--nf-ink); }
.nf-card__title a:hover { text-decoration: underline; }
.nf-card__price { font-weight: 700; font-size: 1.0625rem !important; margin: 0 !important; text-align: left; }
.nf-card__btn { margin: auto 0 0 !important; text-align: left; }
.nf-card__btn .wp-block-button__link, .nf-card__btn .wc-block-components-product-button__button { width: 100%; justify-content: center; font-size: 0.9375rem; padding: 12px 16px; margin: 0; }
.nf-home .wp-block-post-content > .nf-sec:nth-child(even) .nf-soon { background: #fff; }

/* Empty state */
.nf-soon { background: var(--nf-surface); border-radius: var(--nf-r); padding: clamp(32px, 6vw, 64px) 24px; text-align: center; width: 100%; box-sizing: border-box; }
.nf-soon > * { max-width: none !important; }
.nf-soon__title { margin: 0; font-size: clamp(1.375rem, 2.4vw, 1.75rem); }
.nf-soon .wp-block-buttons { justify-content: center; margin-top: 24px; }
.nf-soon-page { padding-block: var(--nf-sec); }
.nf-soon-page .nf-soon__title { font-size: var(--wp--preset--font-size--xx-large); }
.wp-block-woocommerce-product-collection-no-results { width: 100%; }

/* SEO text */
.nf-seo > h2 { margin-top: 0; margin-bottom: 16px; }
.nf-seo__cols { column-gap: 56px; }
.nf-seo__cols p { color: var(--nf-muted); margin: 0 0 1em; }
@media (min-width: 1024px) {
	.nf-seo > h2 { margin-bottom: 24px; }
	.nf-seo__cols { column-count: 2; }
	.nf-seo__cols p { break-inside: avoid; }
}

/* FAQ */
.nf-faq { border-top: 1px solid var(--nf-line); }
.nf-faq > * { max-width: none !important; }
.nf-faq__item { border-bottom: 1px solid var(--nf-line); margin: 0 !important; padding: 0; }
.nf-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.125rem; letter-spacing: -0.01em; }
.nf-faq__item summary::-webkit-details-marker { display: none; }
.nf-faq__item summary::after { content: "+"; flex: 0 0 32px; height: 32px; border-radius: 999px; background: var(--nf-ink); color: var(--nf-lime); display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; line-height: 1; transition: transform .2s; }
.nf-faq__item[open] summary::after { transform: rotate(45deg); }
.nf-faq__item summary:focus-visible { outline-offset: 4px; }
.nf-faq__item > p { margin: 0; padding: 0 56px 20px 0; color: var(--nf-muted); }

/* ---------- Breadcrumbs ---------- */
.nf-crumbs, .woocommerce-breadcrumb { font-size: 0.875rem; color: #7D84A0; margin: 0; }
.nf-crumbs a, .woocommerce-breadcrumb a { color: #7D84A0; text-decoration: none; }
.nf-crumbs a:hover { text-decoration: underline; color: var(--nf-ink); }
.nf-sep { margin: 0 8px; opacity: .6; }

/* ---------- Pages ---------- */
.nf-page { padding-bottom: var(--nf-sec); }
.nf-pagehead { padding-top: 24px; padding-bottom: 0; margin: 0 auto 32px; }
.nf-pagehead > * { margin: 0; }
.nf-pagehead h1 { margin-top: 24px; font-size: clamp(2.25rem, 4.6vw, 3.25rem); }
.nf-prose { margin-top: 0 !important; }
.nf-prose > h2 { font-size: 1.375rem; margin-top: 40px; margin-bottom: 8px; }
.nf-prose > h2:first-child, .nf-prose > p:first-child { margin-top: 0; }
.nf-prose > p, .nf-prose li { color: #2C3352; }
.nf-prose li + li { margin-top: 6px; }
.nf-updated, .nf-small { color: var(--nf-muted); font-size: 0.875rem; margin-top: 40px !important; }
.nf-table { overflow-x: auto; margin: 24px 0; }
.nf-table table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.nf-table th, .nf-table td { text-align: left; padding: 12px; border-bottom: 1px solid var(--nf-line); vertical-align: top; }
.nf-table th { font-family: var(--wp--preset--font-family--heading); background: var(--nf-surface); }
.nf-table td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8125rem; word-break: break-word; }

/* ---------- Archive ---------- */
.nf-archive { padding-bottom: var(--nf-sec); }
.nf-archive__head { padding-top: 24px; margin-bottom: 32px; }
.nf-cathead { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; margin-top: 24px; }
.nf-cathead.has-img { grid-template-columns: minmax(0, 1fr) 400px; }
.nf-cathead__title { margin: 0; font-size: clamp(2.25rem, 4.6vw, 3.25rem); }
.nf-cathead__desc { color: var(--nf-muted); max-width: 68ch; margin-top: 16px; }
.nf-cathead__desc p { margin: 0 0 12px; }
.nf-cathead__desc p:last-child { margin-bottom: 0; }
.nf-cathead__media { margin: 0; }
.nf-cathead__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nf-r); display: block; }
.nf-archive__tools { margin-bottom: 24px; align-items: center; }
.nf-archive__tools:not(:has(.woocommerce-result-count)) { display: none; }
.nf-archive__tools select { border: 1px solid #94A3B8; border-radius: 12px; height: 44px; padding: 0 36px 0 14px; font-size: 15px; background-color: #fff; }
@media (max-width: 781px) {
	.nf-cathead.has-img { grid-template-columns: 1fr; }
	.nf-cathead__media { display: none; }
}

/* ---------- Contact form ---------- */
.nf-form { border: 1px solid var(--nf-line); border-radius: var(--nf-r); padding: 32px; display: grid; gap: 16px; margin: 32px 0 0; background: #fff; }
.nf-form > * { margin: 0 !important; }
.nf-form h2 { font-size: 1.5rem; margin: 0; }
.nf-form__lead { color: var(--nf-muted); margin-top: -8px !important; }
.nf-form label { display: block; font-size: 0.875rem; font-weight: 600; margin-bottom: 6px; }
.nf-form input:not([type=hidden]), .nf-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #94A3B8; border-radius: 12px; height: 48px; padding: 0 14px; font: inherit; font-size: 16px; color: var(--nf-ink); background: #fff; }
.nf-form textarea { height: auto; min-height: 132px; padding: 12px 14px; resize: vertical; }
.nf-form input:focus, .nf-form textarea:focus { outline: 2px solid var(--nf-ink); outline-offset: 0; border-color: var(--nf-ink); }
.nf-form button { width: 100%; cursor: pointer; border: 0; }
.nf-form__err { color: #B42318; font-weight: 600; }
.nf-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nf-form--done p { margin: 0; }
@media (max-width: 599px) { .nf-form { padding: 24px; } }

/* ---------- Footer ---------- */
.nf-footer { background: var(--nf-ink); color: rgba(255,255,255,.78); padding-block: 64px 0; margin-block: 0 !important; font-size: 0.9375rem; }
.nf-footer > * { max-width: var(--nf-wide) !important; }
.nf-footer a { color: rgba(255,255,255,.9); text-decoration: none; }
.nf-footer a:hover { color: var(--nf-lime); }
.nf-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; margin-inline: auto; }
.nf-footer__brand p { margin: 16px 0 0; max-width: 30ch; }
.nf-footer h2 { font-family: var(--wp--preset--font-family--body); font-size: 0.75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: rgba(255,255,255,.55); margin: 0 0 16px; }
.nf-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.nf-footer__bottom { margin: 56px auto 0; padding: 24px 0 32px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; font-size: 0.875rem; color: rgba(255,255,255,.6); }
.nf-footer__bottom p { margin: 0; }
.nf-footer__legal { display: flex; gap: 24px; flex-wrap: wrap; }
@media (max-width: 1023px) { .nf-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .nf-footer { padding-top: 48px; } .nf-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 16px; } .nf-footer__brand { grid-column: 1 / -1; } .nf-footer__bottom { margin-top: 40px; } }

/* ---------- WooCommerce general ---------- */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 999px !important; background: var(--nf-ink) !important; color: #fff !important; }
.wc-block-cart, .wp-block-woocommerce-checkout { padding-bottom: var(--nf-sec); }
.wp-block-woocommerce-empty-cart-block .wp-block-heading { font-size: var(--wp--preset--font-size--x-large); }

.nf-nowrap { white-space: nowrap; }
.nf-shoppage { padding-top: 40px; padding-bottom: var(--nf-sec); }
.nf-shoppage > .wp-block-post-title { margin: 0 auto 32px; font-size: clamp(2.25rem, 4.6vw, 3.25rem); }
.nf-shoppage .wc-block-cart, .nf-shoppage .wp-block-woocommerce-checkout { padding-bottom: 0; }
.wp-block-woocommerce-empty-cart-block .nf-soon { margin-top: 0; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; width: 100%; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-inline: 0; }
@media (max-width: 599px) {
	.nf-header__tools { position: static; }
	.nf-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { position: absolute; left: 16px; right: 16px; top: 100%; width: auto !important; height: 44px; box-shadow: 0 0 0 12px var(--nf-ink); z-index: 2; }
}
/* Product grid owned by the theme (independent of Woo grid CSS) */
ul.nf-grid, .nf-grid.wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0 !important; margin: 0 !important; gap: 24px !important; }
ul.nf-grid > li { width: auto !important; max-width: none !important; }
@media (max-width: 1023px) { ul.nf-grid, .nf-grid.wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 781px) { ul.nf-grid, .nf-grid.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; } .nf-grid .wc-block-product { padding: 8px 8px 12px; border-radius: 16px; } .nf-card__btn .wp-block-button__link { font-size: 0.875rem; padding: 10px 12px; } }
.nf-card__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nf-accent { font-style: normal; color: #5C7A00; }
.nf-hero .nf-accent, .nf-footer .nf-accent { color: var(--nf-lime); }

/* Single product */
.nf-usp ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.nf-usp li { position: relative; padding-left: 28px; }
.nf-usp li::before { content: ""; position: absolute; left: 0; top: .2em; width: 18px; height: 18px; border-radius: 999px; background: var(--nf-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C6F432' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat; }
.nf-single-variant table.variations { display: none; }
/* Related products = same cards as nf-grid */
.single-product ul.wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px !important; list-style: none; padding: 0 !important; margin: 0 !important; }
.single-product ul.wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; background: #fff; border: 1px solid var(--nf-line); border-radius: var(--nf-r); padding: 12px 12px 16px; display: flex; flex-direction: column; gap: 8px; text-align: left; }
.single-product ul.wc-block-product-template > li:nth-child(n+5) { display: none; }
.single-product ul.wc-block-product-template > li > * { margin: 0 !important; text-align: left; }
.single-product ul.wc-block-product-template > li > :last-child { margin-top: auto !important; }
.single-product ul.wc-block-product-template .wc-block-components-product-image { border-radius: 14px; overflow: hidden; background: var(--nf-surface); }
.single-product ul.wc-block-product-template .wc-block-components-product-price, .single-product ul.wc-block-product-template .has-text-align-center { text-align: left !important; }
@media (max-width: 1023px) { .single-product ul.wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } .single-product ul.wc-block-product-template > li:nth-child(n+4) { display: none; } }
@media (max-width: 781px) { .single-product ul.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; } .single-product ul.wc-block-product-template > li { padding: 8px 8px 12px; border-radius: 16px; } .single-product ul.wc-block-product-template > li:nth-child(4) { display: flex; } }

/* Category guide below products */
.nf-guide { max-width: 760px; margin: 72px auto 0; }
.nf-guide h2 { margin: 56px 0 16px; font-size: clamp(1.625rem, 3vw, 2.125rem); }
.nf-guide h2:first-child { margin-top: 0; }
.nf-guide h3 { margin: 32px 0 12px; font-size: 1.25rem; }
.nf-guide p, .nf-guide li { color: var(--nf-muted); }
.nf-guide p { margin: 0 0 12px; }
.nf-guide ul { margin: 0; padding-left: 1.2em; }
.nf-guide li { margin-bottom: 8px; }
.nf-guide li a, .nf-guide p a { color: var(--nf-ink); font-weight: 600; }
.nf-guide .nf-faq { margin-top: 8px; }
