/* FurnishPact theme — Warm Walnut (2026).
 * Colors and fonts come from theme.json presets (--wp--preset--*).
 * Components used by 2026 page content live under .fp-v2. */

:root {
	--fp-ink: var(--wp--preset--color--ink);
	--fp-muted: var(--wp--preset--color--muted);
	--fp-line: var(--wp--preset--color--line);
	--fp-surface: var(--wp--preset--color--surface);
	--fp-accent: var(--wp--preset--color--accent);
	--fp-wa: var(--wp--preset--color--whatsapp);
	--fp-radius: 4px;
	--fp-gutter: clamp(16px, 4vw, 24px);
	--fp-wide: 1240px;
}

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--fp-accent); outline-offset: 2px; }
.fp-skip-link { position: absolute; left: -9999px; top: 8px; z-index: 1000; padding: 10px 16px; background: var(--fp-ink); color: #fff; }
.fp-skip-link:focus { left: 8px; }
:where(h1, h2, h3) { text-wrap: balance; }
img { height: auto; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-whatsapp .wp-block-button__link,
.fp-btn-wa {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.55em;
	background: var(--fp-wa); color: #fff; border: 0; text-decoration: none;
}
.wp-block-button.is-style-whatsapp .wp-block-button__link::before,
.fp-btn-wa::before {
	content: ""; width: 1.15em; height: 1.15em; flex: none; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2c-1.6 0-3.1-.4-4.4-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.7.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.8 11.9 11.9 0 0 0 4.6 4c1.7.7 2.4.8 3.2.7.5-.1 1.5-.6 1.7-1.2s.2-1.1.2-1.2-.2-.2-.4-.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2c-1.6 0-3.1-.4-4.4-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.7.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.8 11.9 11.9 0 0 0 4.6 4c1.7.7 2.4.8 3.2.7.5-.1 1.5-.6 1.7-1.2s.2-1.1.2-1.2-.2-.2-.4-.3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-button.is-style-whatsapp .wp-block-button__link:hover,
.fp-btn-wa:hover { background: #0F5E2F; color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--fp-ink); border: 1.5px solid currentColor;
	padding: calc(0.85rem - 1.5px) calc(1.5rem - 1.5px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--fp-ink); color: #fff; border-color: var(--fp-ink); }
.wp-block-button__link { min-height: 44px; box-sizing: border-box; }
.fp-btn-lg .wp-block-button__link, .wp-block-button.fp-btn-lg .wp-block-button__link { font-size: 1.0625rem; padding-top: 1rem; padding-bottom: 1rem; }

/* ---------- Header ---------- */
.fp-header { border-bottom: 1px solid var(--fp-line); background: #fff; position: relative; z-index: 50; }
.fp-header__inner { padding-block: 14px; gap: 20px; }
.fp-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--fp-ink); text-decoration: none; flex: none; }
.fp-logo__name { font-family: var(--wp--preset--font-family--body); font-size: 1.375rem; font-weight: 700; letter-spacing: -0.02em; }
.fp-logo--on-dark { color: #fff; }
.fp-nav .wp-block-navigation-item__content { color: var(--fp-ink); text-decoration: none; padding: 6px 0; }
.fp-nav .wp-block-navigation-item__content:hover { color: var(--fp-accent); }
.fp-nav.wp-block-navigation { gap: 6px 28px; }
.fp-nav .wp-block-navigation__submenu-container { border: 1px solid var(--fp-line) !important; border-radius: var(--fp-radius); padding: 8px 0; min-width: 240px !important; box-shadow: 0 12px 30px rgba(31, 27, 23, 0.08); }
.fp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 18px; }
.fp-header__actions { gap: 10px; flex: none; }
.fp-header__actions .wp-block-button__link { padding: 0.7rem 1.1rem; font-size: 0.9375rem; }
@media (max-width: 1100px) {
	.fp-header__quote { display: none; }
}
@media (max-width: 781px) {
	.fp-header .fp-header__actions { display: none; }
	.fp-logo__name { font-size: 1.25rem; }
}

/* ---------- Footer ---------- */
.fp-footer { padding-block: 56px 0; font-size: 0.9375rem; margin-top: 0; }
.fp-footer a { color: var(--wp--preset--color--on-dark); text-decoration: none; }
.fp-footer a:hover { color: #fff; text-decoration: underline; }
.fp-footer__grid { gap: 32px; }
.fp-footer__brand { gap: 12px; }
.fp-footer__brand p { margin: 0; }
.fp-footer__title { font-family: var(--wp--preset--font-family--body); font-size: 0.9375rem; font-weight: 700; letter-spacing: 0; color: #fff; margin: 0; }
.fp-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.fp-footer .fp-social { gap: 14px; margin: 4px 0 0; padding: 0; }
.fp-footer .fp-social .wp-social-link { color: var(--wp--preset--color--on-dark) !important; background: none !important; }
.fp-footer .fp-social .wp-social-link:hover { color: #fff !important; }
.fp-footer .fp-social .wp-social-link a { padding: 2px; }
.fp-footer__legal { margin-top: 40px; padding-block: 18px 28px; border-top: 1px solid #3A342E; font-size: 0.8125rem; }
.fp-footer__legal p { margin: 0; }

/* ---------- WhatsApp entry points ---------- */
.fp-wa-float {
	position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); z-index: 90;
	display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 18px 0 16px;
	background: var(--fp-wa); color: #fff; border-radius: 28px; text-decoration: none; font-weight: 700;
	box-shadow: 0 8px 24px rgba(15, 94, 47, 0.32);
}
.fp-wa-float svg { width: 26px; height: 26px; }
.fp-wa-float:hover { background: #0F5E2F; color: #fff; }
@media (max-width: 1499px) {
	.fp-wa-float { width: 56px; padding: 0; justify-content: center; }
	.fp-wa-float__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.fp-mobile-bar { display: none; }
@media (max-width: 781px) {
	.fp-wa-float { display: none; }
	.fp-mobile-bar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: grid; grid-template-columns: 1fr 1fr;
		padding-bottom: env(safe-area-inset-bottom); background: #fff; box-shadow: 0 -4px 16px rgba(31, 27, 23, 0.12);
	}
	.fp-mobile-bar a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; font-weight: 700; text-decoration: none; }
	.fp-mobile-bar__wa { background: var(--fp-wa); color: #fff; }
	.fp-mobile-bar__quote { color: var(--fp-ink); }
	body { padding-bottom: 56px; }
}

/* ---------- 2026 content components (.fp-v2) ---------- */
.fp-v2 { --wp--style--block-gap: 1.25rem; }
/* The project-tools plugin styles .fp-card and .fp-section for old pages; reset them here. */
.fp-v2 .fp-card { background: none; border: 0; height: auto; overflow: visible; }
.fp-v2 .fp-section { padding-left: var(--wp--style--root--padding-left); padding-right: var(--wp--style--root--padding-right); }
.fp-v2 .fp-section.alignwide { padding-left: 0; padding-right: 0; }
.fp-v2 .fp-section { padding-block: var(--wp--preset--spacing--60); margin-block: 0; }
.fp-v2 .fp-section--tight { padding-block: var(--wp--preset--spacing--50); }
.fp-v2 .fp-section--stone { background: var(--fp-surface); }
.fp-v2 .fp-section--dark { background: var(--fp-ink); color: var(--wp--preset--color--on-dark); }
.fp-v2 .fp-section--dark :where(h1, h2, h3) { color: #fff; }
.fp-v2 .fp-section--dark .fp-eyebrow { color: var(--wp--preset--color--accent-on-dark); }
.fp-v2 .fp-section--dark .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.fp-v2 .fp-eyebrow { margin: 0; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fp-accent); }
.fp-v2 .fp-lead { font-size: var(--wp--preset--font-size--large); color: var(--fp-muted); max-width: 40em; }
.fp-v2 .fp-section--dark .fp-lead { color: var(--wp--preset--color--on-dark); }
.fp-v2 .fp-muted { color: var(--fp-muted); }
.fp-v2 .fp-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px; }
.fp-v2 .fp-section-head > * { margin: 0; }
.fp-v2 .fp-placeholder { color: #8A6F55; }

/* Breadcrumb */
.fp-v2 .fp-breadcrumb { margin: 0; padding-top: 18px; font-size: 0.875rem; color: var(--fp-muted); }
.fp-v2 .fp-breadcrumb a { color: var(--fp-muted); text-decoration: none; }
.fp-v2 .fp-breadcrumb a:hover { color: var(--fp-accent); text-decoration: underline; }

/* Trust strip */
.fp-v2 .fp-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: var(--fp-line); border: 1px solid var(--fp-line); }
.fp-v2 .fp-trust > * { background: #fff; padding: 20px 22px; margin: 0; }
.fp-v2 .fp-trust__value { display: block; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.3rem, 4.6vw, 1.75rem); font-weight: 600; line-height: 1.2; color: var(--fp-ink); }
.fp-v2 .fp-trust__label { display: block; color: var(--fp-muted); font-size: 0.9375rem; }

/* Hero / split blocks */
.fp-v2 .wp-block-group.fp-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 48px); align-items: center; }
@media (max-width: 900px) { .fp-v2 .wp-block-group.fp-split { grid-template-columns: minmax(0, 1fr); } }
.fp-v2 .fp-split .wp-block-image img, .fp-v2 .fp-cover-img img { width: 100%; object-fit: cover; border-radius: var(--fp-radius); }
.fp-v2 .fp-hero h1 { margin-block: 0; }

/* Factory video: YouTube thumbnail with a play button, replaced by the player on click */
.fp-v2 .fp-video { margin: var(--wp--preset--spacing--40) 0; }
.fp-v2 .fp-video__play, .fp-v2 .fp-video iframe { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--fp-radius); overflow: hidden; background: var(--fp-ink); }
.fp-v2 .fp-video__play img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fp-v2 .fp-video__button { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: rgba(31, 27, 23, 0.82); transition: background 0.2s; }
.fp-v2 .fp-video__button::after { content: ""; position: absolute; left: 28px; top: 22px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent #fff; }
.fp-v2 .fp-video__play:hover .fp-video__button, .fp-v2 .fp-video__play:focus-visible .fp-video__button { background: var(--fp-accent); }
.fp-v2 .fp-video figcaption { margin-top: 8px; font-size: 0.875rem; color: var(--fp-muted); }
.fp-v2 .fp-split .fp-video { margin: 0; }

/* Product top */
.fp-v2 .fp-product__top { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); align-items: start; padding-block: 24px var(--wp--preset--spacing--60); }
@media (max-width: 900px) { .fp-v2 .fp-product__top { grid-template-columns: minmax(0, 1fr); } }
.fp-v2 .fp-gallery { display: grid; gap: 12px; margin: 0; }
.fp-v2 .fp-gallery__main { margin: 0; }
.fp-v2 .fp-gallery__main img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: var(--fp-surface); border-radius: var(--fp-radius); display: block; }
.fp-v2 .fp-gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 10px; margin: 0; }
.fp-v2 .fp-gallery__thumbs figure { margin: 0; }
.fp-v2 .fp-gallery__thumbs img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--fp-surface); border-radius: var(--fp-radius); border: 2px solid transparent; box-sizing: border-box; cursor: pointer; display: block; }
.fp-v2 .fp-gallery__thumbs img[aria-current="true"] { border-color: var(--fp-ink); }
.fp-v2 .fp-gallery__note { margin: 0; font-size: 0.8125rem; color: var(--fp-muted); }
.fp-v2 .fp-product__summary { display: flex; flex-direction: column; gap: 18px; }
.fp-v2 .fp-product__summary > * { margin: 0; }
.fp-v2 .fp-product__summary h1 { font-size: clamp(2rem, 3.4vw, 2.75rem); line-height: 1.08; }

/* Spec table */
.fp-v2 .fp-spec-table { margin: 0; }
.fp-v2 .fp-spec-table table { border-collapse: collapse; width: 100%; border-top: 1px solid var(--fp-line); }
.fp-v2 .fp-spec-table td, .fp-v2 .fp-spec-table th { border: 0; border-bottom: 1px solid var(--fp-line); padding: 10px 0; vertical-align: top; text-align: left; }
.fp-v2 .fp-spec-table td:first-child, .fp-v2 .fp-spec-table th:first-child { color: var(--fp-muted); width: 38%; padding-right: 16px; font-weight: 400; }
.fp-v2 .fp-spec-table figcaption { text-align: left; margin-top: 8px; }

/* Trade terms */
.fp-v2 .fp-trade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fp-v2 .fp-trade > * { margin: 0; padding: 12px 14px; background: var(--fp-surface); border-radius: var(--fp-radius); }
.fp-v2 .fp-trade__label { display: block; font-size: 0.8125rem; color: var(--fp-muted); }
.fp-v2 .fp-trade__value { display: block; font-weight: 700; }

.fp-v2 .fp-cta { flex-direction: column; align-items: stretch; gap: 10px; }
.fp-v2 .fp-cta .wp-block-button { width: 100%; }
.fp-v2 .fp-cta .wp-block-button__link { width: 100%; }
.fp-v2 .fp-cta-note { font-size: 0.8125rem; color: var(--fp-muted); }
.fp-v2 .fp-checks { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 0.875rem; font-weight: 600; color: #3A342E; }
.fp-v2 .fp-checks li::before { content: "✓"; color: var(--fp-wa); margin-right: 6px; }

/* Details + inquiry */
.fp-v2 .fp-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(28px, 4vw, 52px); align-items: start; }
@media (max-width: 900px) { .fp-v2 .fp-details { grid-template-columns: minmax(0, 1fr); } }
.fp-v2 .fp-details__main > * + * { margin-top: 1rem; }
.fp-v2 .fp-details__main h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.25rem; }
.fp-v2 .fp-details__main h2:first-child { margin-top: 0; }
.fp-v2 .fp-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.fp-v2 .fp-options > * { margin: 0; background: #fff; padding: 16px; border-radius: var(--fp-radius); }
.fp-v2 .fp-options strong { display: block; }
.fp-v2 .wp-block-details { background: #fff; padding: 14px 18px; border-radius: var(--fp-radius); }
.fp-v2 .wp-block-details + .wp-block-details { margin-top: 10px; }
.fp-v2 .wp-block-details summary { font-weight: 700; cursor: pointer; }
.fp-v2 .wp-block-details p { margin: 8px 0 0; color: var(--fp-muted); }

.fp-inquiry { background: #fff; padding: 24px; border-radius: var(--fp-radius); display: grid; gap: 14px; scroll-margin-top: 24px; }
.fp-inquiry h2, .fp-inquiry h3 { margin: 0; font-family: var(--wp--preset--font-family--body); font-size: 1.375rem; font-weight: 700; letter-spacing: 0; }
.fp-inquiry label { display: grid; gap: 4px; font-size: 0.875rem; font-weight: 600; }
.fp-inquiry input, .fp-inquiry textarea { font: inherit; font-weight: 400; min-height: 44px; padding: 10px 12px; border: 1px solid #CFC6BA; border-radius: var(--fp-radius); background: #fff; color: var(--fp-ink); box-sizing: border-box; width: 100%; }
.fp-inquiry textarea { min-height: 96px; resize: vertical; }
.fp-inquiry button { font: inherit; font-weight: 700; min-height: 48px; border: 0; border-radius: 6px; background: var(--fp-ink); color: #fff; cursor: pointer; }
.fp-inquiry button:hover { background: var(--wp--preset--color--accent-dark); }
.fp-inquiry button[disabled] { opacity: 0.6; cursor: progress; }
.fp-inquiry__hp { position: absolute !important; left: -9999px !important; }
.fp-inquiry__status { margin: 0; font-size: 0.9375rem; }
.fp-inquiry__status[data-state="ok"] { color: var(--fp-wa); font-weight: 700; }
.fp-inquiry__status[data-state="error"] { color: #A02E1C; }
.fp-inquiry__alt { margin: 0; font-size: 0.875rem; color: var(--fp-muted); }

/* Cards and grids */
.fp-v2 .fp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.fp-v2 .fp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .fp-v2 .fp-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fp-v2 .fp-grid--3 { grid-template-columns: minmax(0, 1fr); } }
.fp-v2 .fp-card { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.fp-v2 .fp-card > * { margin: 0; }
.fp-v2 .fp-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--fp-surface); border-radius: var(--fp-radius); display: block; }
.fp-v2 .fp-card--wide img { aspect-ratio: 4 / 3; }
.fp-v2 .fp-card__meta { font-size: 0.8125rem; font-weight: 700; color: var(--fp-accent); }
.fp-v2 .fp-card__title { font-family: var(--wp--preset--font-family--body); font-size: 1.0625rem; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.fp-v2 .fp-card__title a { color: var(--fp-ink); text-decoration: none; }
.fp-v2 .fp-card__title a:hover { color: var(--fp-accent); text-decoration: underline; }
.fp-v2 .fp-card__row { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.fp-v2 .fp-guide { margin: 0; padding: 24px; border: 1px solid var(--fp-line); border-radius: var(--fp-radius); display: flex; flex-direction: column; gap: 10px; }
.fp-v2 .fp-guide > * { margin: 0; }
.fp-v2 .fp-guide h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.25rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.fp-v2 .fp-guide h3 a { color: var(--fp-ink); text-decoration: none; }
.fp-v2 .fp-reasons { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 28px; }
.fp-v2 .fp-reasons > * { margin: 0; }
.fp-v2 .fp-reasons h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.1875rem; font-weight: 700; letter-spacing: 0; margin: 0 0 6px; }
.fp-v2 .fp-reasons p { margin: 0; color: var(--fp-muted); }
.fp-v2 .fp-cta-band { background: var(--fp-surface); padding: clamp(28px, 4vw, 48px); border-radius: var(--fp-radius); gap: 24px; }
.fp-v2 .fp-cta-band h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0; }

/* Article (buying guides) */
.fp-v2 .fp-article__body { max-width: 720px; margin-inline: auto; }
.fp-v2 .fp-article__body > * + * { margin-top: 1.1em; }
.fp-v2 .fp-article__body h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.2em; }
.fp-v2 .fp-article__body h3 { font-size: 1.25rem; margin-top: 1.8em; }
.fp-v2 .fp-article__body table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.fp-v2 .fp-article__body th, .fp-v2 .fp-article__body td { border: 1px solid var(--fp-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.fp-v2 .fp-article__body th { background: var(--fp-surface); }
.fp-v2 .fp-article__body .wp-block-table { overflow-x: auto; }
.fp-v2 .fp-article__meta { font-size: 0.875rem; color: var(--fp-muted); }
.fp-v2 .fp-toc { background: var(--fp-surface); padding: 18px 22px; border-radius: var(--fp-radius); }
.fp-v2 .fp-toc ol { margin: 8px 0 0; padding-left: 20px; }

/* Process steps and link lists */
.fp-v2 .fp-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; counter-reset: fp-step; }
.fp-v2 .fp-steps li { counter-increment: fp-step; background: var(--fp-surface); padding: 18px; border-radius: var(--fp-radius); color: var(--fp-muted); }
.fp-v2 .fp-steps li::before { content: counter(fp-step, decimal-leading-zero); display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; font-weight: 600; color: var(--fp-accent); margin-bottom: 6px; }
.fp-v2 .fp-steps strong { display: block; color: var(--fp-ink); margin-bottom: 4px; }
.fp-v2 .fp-link-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.fp-v2 .fp-faq-wrap > * + * { margin-top: 0.75rem; }

/* Category pages: group links and product cards */
.fp-v2 .fp-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fp-v2 .fp-chips li { margin: 0; }
.fp-v2 .fp-chips a { display: inline-block; padding: 8px 14px; border: 1px solid var(--fp-line); border-radius: 999px; background: #fff; color: var(--fp-ink); font-size: 0.9375rem; text-decoration: none; }
.fp-v2 .fp-chips a:hover { border-color: var(--fp-accent); color: var(--fp-accent); }
.fp-v2 .fp-category__products h2 { margin-top: 1.5rem; scroll-margin-top: 90px; }
.fp-v2 .fp-card__text { color: var(--fp-muted); font-size: 0.9375rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fp-v2 .fp-category__hero { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
.fp-v2 .fp-category__hero h1 { margin-block: 0; }
.fp-v2 .fp-category__products > h2:first-of-type { margin-top: 2rem; }
.fp-v2 h2 + .fp-steps { margin-top: 1.5rem; }
@media (max-width: 600px) {
	.fp-v2 .fp-category__products .fp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	.fp-v2 .fp-category__products .fp-card__title { font-size: 0.9375rem; }
	.fp-v2 .fp-category__products .fp-card__text { display: none; }
}
@media (min-width: 601px) { .fp-v2 .fp-category__products .fp-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); } }
.fp-v2 .fp-workshop figure { margin: 0; }
.fp-v2 .fp-workshop img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--fp-radius); display: block; }
.fp-v2 .fp-workshop figcaption { margin-top: 6px; font-size: 0.875rem; color: var(--fp-muted); }

/* Products catalog (/products/): the pre-redesign layout, category sidebar + every product by category (build/category.py build_hub). */
.fp-v2 .fp-shop__intro { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
.fp-v2 .fp-shop__intro > * { margin-block: 0 12px; }
.fp-v2 .fp-shop { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; padding-bottom: var(--wp--preset--spacing--60); }
.fp-v2 .fp-shop > *, .fp-v2 .fp-shop__grid > *, .fp-v2 .fp-shop-card > *, .fp-v2 .fp-shop-card__body > *, .fp-v2 .fp-shop__head > *, .fp-v2 .fp-shop__head-text > * { margin: 0; }
.fp-v2 .fp-shop__side { background: #fff; border: 1px solid var(--fp-line); padding: 20px; }
.fp-v2 .fp-shop__side-title { font-size: 1.25rem; margin: 0 0 8px; }
.fp-v2 .fp-shop__cats { list-style: none; padding: 0; margin: 0; }
.fp-v2 .fp-shop__cats li { margin: 0; border-bottom: 1px solid var(--fp-line); }
.fp-v2 .fp-shop__cats a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; color: var(--fp-ink); font-size: 0.9375rem; line-height: 1.35; text-decoration: none; }
.fp-v2 .fp-shop__cats a span { color: var(--fp-muted); font-size: 0.8125rem; font-variant-numeric: tabular-nums; }
.fp-v2 .fp-shop__cats a:hover, .fp-v2 .fp-shop__cats a[aria-current] { color: var(--fp-accent); }
.fp-v2 .fp-shop__help { margin-top: 20px; padding: 18px; background: var(--fp-ink); color: var(--wp--preset--color--on-dark); }
.fp-v2 .fp-shop__help > * { margin: 0 0 8px; }
.fp-v2 .fp-shop__help .fp-eyebrow { color: var(--wp--preset--color--accent-on-dark); font-size: 0.75rem; }
.fp-v2 .fp-shop__help h3 { color: #fff; font-size: 1.25rem; line-height: 1.25; }
.fp-v2 .fp-shop__help p { font-size: 0.875rem; }
.fp-v2 .fp-shop__help a { color: #fff; font-weight: 700; }
.fp-v2 .fp-shop__featured { background: var(--fp-surface); padding: 28px; margin-bottom: 48px; }
.fp-v2 .fp-shop__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 8px 16px; margin-bottom: 20px; }
.fp-v2 .fp-shop__head h2 { margin-top: 4px; }
.fp-v2 .fp-shop__head-aside { font-size: 0.875rem; font-weight: 700; color: var(--fp-accent); }
.fp-v2 .fp-shop__head-aside a { color: inherit; text-decoration: none; }
.fp-v2 .fp-shop__cat-title { font-size: 1.375rem; margin: 40px 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--fp-line); }
.fp-v2 .fp-shop__cat-title a { color: var(--fp-ink); text-decoration: none; }
.fp-v2 .fp-shop__cat-title a:hover { color: var(--fp-accent); }
.fp-v2 .fp-shop__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.fp-v2 .fp-shop__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fp-v2 .fp-shop-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--fp-line); }
.fp-v2 .fp-shop-card figure { margin: 0; }
.fp-v2 .fp-shop-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--fp-surface); }
.fp-v2 .fp-shop-card__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 14px 14px 16px; }
.fp-v2 .fp-shop-card__meta { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fp-accent); }
.fp-v2 .fp-shop-card__model { white-space: nowrap; }
.fp-v2 .fp-shop-card__title { font-size: 1.0625rem; font-weight: 600; line-height: 1.3; }
.fp-v2 .fp-shop-card__title a { color: var(--fp-ink); text-decoration: none; }
.fp-v2 .fp-shop-card__title a:hover { color: var(--fp-accent); text-decoration: underline; }
.fp-v2 .fp-shop-card__text { font-size: 0.875rem; color: var(--fp-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fp-v2 .fp-shop-card__link { margin-top: auto !important; padding-top: 8px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.fp-v2 .fp-shop-card__link a { color: var(--fp-ink); text-decoration: none; }
.fp-v2 .fp-shop-card__link a:hover { color: var(--fp-accent); }
@media (max-width: 1100px) { .fp-v2 .fp-shop__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
	.fp-v2 .fp-shop { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.fp-v2 .fp-shop__side { padding: 0; border: 0; background: none; }
	.fp-v2 .fp-shop__side-title { font-size: 1rem; }
	.fp-v2 .fp-shop__cats { display: flex; flex-wrap: wrap; gap: 8px; }
	.fp-v2 .fp-shop__cats li { border: 0; }
	.fp-v2 .fp-shop__cats a { display: inline-flex; padding: 7px 12px; border: 1px solid var(--fp-line); border-radius: 999px; background: #fff; font-size: 0.875rem; }
	.fp-v2 .fp-shop__help { display: none; }
	.fp-v2 .fp-shop__featured { padding: 18px; margin-bottom: 32px; }
	.fp-v2 .fp-shop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.fp-v2 .fp-shop__grid--3 { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
	.fp-v2 .fp-shop__grid--3 > * { scroll-snap-align: start; }
	.fp-v2 .fp-shop__browse .fp-shop-card__cat { display: none; }
	.fp-v2 .fp-shop-card__body { padding: 10px 10px 12px; }
	.fp-v2 .fp-shop-card__title { font-size: 0.9375rem; }
}
/* Category tree: room level in the catalog sidebar and sections (taxonomy.TREE). */
.fp-v2 .fp-shop__room { margin: 18px 0 2px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.fp-v2 .fp-shop__room a { color: var(--fp-accent); text-decoration: none; }
.fp-v2 .fp-shop__cats li:last-child { border-bottom: 0; }
.fp-v2 .fp-shop__room-title { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; margin: 56px 0 4px; font-size: clamp(1.5rem, 3vw, 1.875rem); scroll-margin-top: 96px; }
.fp-v2 .fp-shop__head + .fp-shop__room-title { margin-top: 12px; }
.fp-v2 .fp-shop__room-title span { font-family: var(--wp--preset--font-family--body); font-size: 0.875rem; font-weight: 600; color: var(--fp-muted); }
.fp-v2 .fp-shop__room-title + .fp-shop__cat-title { margin-top: 12px; }
@media (max-width: 900px) {
	.fp-v2 .fp-shop__room { margin: 14px 0 8px; }
	.fp-v2 .fp-shop__room-title { margin-top: 40px; }
}
/* Header: Products > room > category flyouts. */
@media (min-width: 600px) {
	.fp-nav .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content { flex: 1; padding-right: 8px; }
	.fp-nav .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-icon { margin-right: 14px; }
	.fp-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { top: -9px !important; }
}
/* Phone menu (overlay): a left-aligned indented list instead of boxed, centered submenus. */
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; padding: 2px 0 6px 16px !important; min-width: 0 !important; gap: 0 !important; }
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 10px !important; }
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 7px 0 !important; font-size: 1.0625rem; }
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content { font-weight: 700; }
.fp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fp-accent); padding-top: 12px !important; }
