/* ==========================================================================
   Fashion By Sara — theme styles (white + hot pink)
   Design tokens (colours, fonts, sizes, spacing) live in theme.json.
   ========================================================================== */

:root {
	--fbs-ink: var(--wp--preset--color--contrast);
	--fbs-accent: var(--wp--preset--color--accent);
	--fbs-accent-dark: var(--wp--preset--color--accent-dark);
	--fbs-muted: var(--wp--preset--color--muted);
	--fbs-line: var(--wp--preset--color--sand);
	--fbs-blush: var(--wp--preset--color--surface);
	--fbs-peach: var(--wp--preset--color--peach);
	--fbs-lilac: var(--wp--preset--color--lilac);
	--fbs-mist: var(--wp--preset--color--mist);
	--fbs-base: var(--wp--preset--color--base);
	--fbs-head: var(--wp--preset--font-family--heading);
	--fbs-body: var(--wp--preset--font-family--body);
	--fbs-r-img: 16px;
	--fbs-r-card: 20px;
	--fbs-r-panel: 28px;
	--fbs-gap: clamp(1rem, 0.6rem + 1.6vw, 1.75rem);
	--fbs-shadow: 0 10px 30px -12px rgba(18, 18, 22, 0.18);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5rem; }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: var(--fbs-accent); color: #fff; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--fbs-accent); outline-offset: 2px; }
.fbs-icon { display: inline-block; flex: none; vertical-align: middle; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { z-index: 1000; }
mark.has-inline-color { background: transparent; }

/* ---------- Page frame ---------- */
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group { margin-block-start: 0; }
.fbs-main { margin-block-start: 0; }
.fbs-main > .fbs-band:last-child { margin-block-end: 0; }

/* ---------- Small pieces ---------- */
.fbs-eyebrow, .fbs-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--fbs-head);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--fbs-accent);
	line-height: 1.3;
	margin: 0 0 0.6rem;
}
.fbs-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--fbs-accent); flex: none; }
.fbs-eyebrow a, .fbs-pill a { color: inherit; text-decoration: none; }
.fbs-pill { background: var(--fbs-base); border-radius: 999px; padding: 0.4rem 0.9rem; }
.fbs-pill--pink { background: var(--fbs-accent); color: #fff; }
p.fbs-pill.has-text-align-center { display: flex; width: fit-content; margin-inline: auto; }

.fbs-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.fbs-button {
	background: var(--fbs-accent);
	color: #fff;
	font-family: var(--fbs-head);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.2;
	padding: 0.8rem 1.5rem;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	min-height: 44px;
	white-space: nowrap;
}
.fbs-button:hover, .fbs-button:focus-visible { background: var(--fbs-accent-dark); color: #fff; }
.fbs-button:active, .wp-block-button__link:active { transform: scale(0.98); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--fbs-ink);
	border: 2px solid var(--fbs-ink);
	padding: calc(0.8rem - 2px) calc(1.5rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--fbs-ink); color: #fff; }

.fbs-link-arrow {
	display: inline-flex; align-items: center; gap: 0.35rem;
	font-family: var(--fbs-head);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--fbs-accent);
	text-decoration: none;
}
.fbs-link-arrow:hover { color: var(--fbs-accent-dark); }
.fbs-link-arrow .fbs-icon { transition: transform 0.15s ease; }
.fbs-link-arrow:hover .fbs-icon { transform: translateX(3px); }

/* ---------- Header ---------- */
.fbs-header {
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--fbs-line);
	position: relative;
	z-index: 20;
}
header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
@media (max-width: 600px) { header.wp-block-template-part { top: 0; } }
.fbs-header__bar { min-height: 68px; gap: 1rem; position: relative; }
.fbs-wordmark { margin: 0; line-height: 1; }
.fbs-wordmark a {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--fbs-head);
	font-weight: 800;
	font-size: clamp(1.1rem, 0.9rem + 0.9vw, 1.45rem);
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--fbs-ink);
	text-decoration: none;
	padding: 0.5rem 0;
	white-space: nowrap;
}
.fbs-wordmark__by { color: var(--fbs-accent); margin: 0 0.12em; }
.fbs-header__actions { gap: 0.35rem; align-items: center; }
.fbs-header__actions > * { margin: 0 !important; }
.fbs-header .fbs-nav { order: 1; }
.fbs-header .fbs-header-search { order: 2; }
.fbs-header .fbs-header-follow { order: 3; margin-left: 0.5rem !important; }
.fbs-header-follow .fbs-button { padding: 0.55rem 1.1rem; min-height: 40px; font-size: var(--wp--preset--font-size--x-small); }
@media (max-width: 781px) { .fbs-header-follow { display: none; } }

.fbs-nav .wp-block-navigation__container { gap: 0.25rem; }
.fbs-nav .wp-block-navigation-item__content { padding: 0.55rem 0.85rem; border-radius: 999px; transition: background-color 0.15s ease, color 0.15s ease; }
.fbs-nav .wp-block-navigation-item__content:hover { background: var(--fbs-blush); color: var(--fbs-accent); }
.fbs-nav .wp-block-navigation__submenu-container {
	border: 0 !important;
	background: var(--fbs-base) !important;
	padding: 0.5rem !important;
	min-width: 230px !important;
	border-radius: 16px;
	box-shadow: var(--fbs-shadow);
}
.fbs-nav .wp-block-navigation__responsive-container-open,
.fbs-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; }
@media (min-width: 1000px) {
	.fbs-nav .wp-block-navigation__responsive-container-open.always-shown { display: none; }
	.fbs-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
		display: block; position: relative; width: 100%; z-index: auto; background-color: inherit;
	}
	.fbs-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	.fbs-nav .wp-block-navigation__container { flex-wrap: nowrap; }
}
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem 2rem; text-align: left; }
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start !important; }
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.35rem; align-items: flex-start !important; justify-content: flex-start !important; width: 100%; }
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: flex-start !important; }
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; padding: 0.3rem 0; border-radius: 0;
}
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { background: transparent; }
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding: 0 0 0.75rem !important; background: transparent !important; }
.fbs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.3rem 0 !important; color: var(--fbs-muted); font-weight: 600; }

.fbs-header-search .wp-block-search__button {
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0; margin: 0;
	background: transparent !important;
	color: var(--fbs-ink) !important;
	border: 0; border-radius: 50%;
}
.fbs-header-search .wp-block-search__button:hover { background: var(--fbs-blush) !important; color: var(--fbs-accent) !important; }
.fbs-header-search .wp-block-search__button svg { width: 22px; height: 22px; }
.fbs-header-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.fbs-header-search .wp-block-search__input { border: 2px solid var(--fbs-ink); border-radius: 999px; background: #fff; font-size: 1rem; padding: 0.55rem 1rem; min-height: 44px; }
@media (max-width: 999px) {
	.fbs-header .fbs-nav { order: 2; }
	.fbs-header .fbs-header-search { order: 1; }
}
@media (max-width: 781px) {
	.fbs-header-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
		position: absolute; left: 0; right: 0; top: calc(100% + 8px); width: auto !important; z-index: 30; box-shadow: var(--fbs-shadow);
	}
}

/* ---------- Section headings ---------- */
.fbs-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin-bottom: var(--wp--preset--spacing--40) !important;
}
.fbs-section-head .fbs-eyebrow { margin-bottom: 0.4rem; }
.fbs-section-head__title { margin: 0 !important; font-size: var(--wp--preset--font-size--x-large); }
.fbs-section-head--simple { display: block; }
.fbs-section-head--simple > * { margin-top: 0 !important; }
.fbs-section-head__more {
	flex: none;
	display: inline-flex; align-items: center; gap: 0.35rem;
	font-family: var(--fbs-head);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	text-decoration: none;
	color: var(--fbs-ink);
	border: 2px solid var(--fbs-ink);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.fbs-section-head__more:hover { background: var(--fbs-ink); color: #fff; }
.fbs-section-title { font-size: var(--wp--preset--font-size--x-large); }

/* ---------- Grids ---------- */
.fbs-grid { display: grid; gap: var(--fbs-gap) calc(var(--fbs-gap) * 0.75); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fbs-grid > * { margin: 0 !important; }
.fbs-grid--cols-1 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) {
	.fbs-grid--grid.fbs-grid--cols-3, .fbs-grid--grid.fbs-grid--cols-4, .fbs-grid--grid.fbs-grid--cols-5, .fbs-grid--grid.fbs-grid--cols-6,
	.fbs-grid--pins { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.fbs-grid.fbs-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fbs-grid.fbs-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.fbs-grid.fbs-grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.fbs-grid.fbs-grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.fbs-grid--pins { gap: 0.9rem; }
.fbs-grid--list, .fbs-grid--numbered { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 782px) {
	.fbs-grid--list.fbs-grid--cols-2, .fbs-grid--numbered.fbs-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; }
	.fbs-grid--list.fbs-grid--cols-3, .fbs-grid--numbered.fbs-grid--cols-3,
	.fbs-grid--list.fbs-grid--cols-4, .fbs-grid--numbered.fbs-grid--cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 2rem; }
}

/* ---------- Cards ---------- */
.fbs-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.fbs-card__media {
	display: block; position: relative; overflow: hidden;
	background: var(--fbs-mist);
	aspect-ratio: 2 / 3;
	border-radius: var(--fbs-r-img);
}
.fbs-card__img, .fbs-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
@media (hover: hover) {
	.fbs-card:hover .fbs-card__img { transform: scale(1.04); }
	.fbs-card:hover .fbs-card__title a { color: var(--fbs-accent); }
}
.fbs-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-family: var(--fbs-head); font-weight: 800; font-size: 3rem; color: var(--fbs-accent); background: var(--fbs-blush); }
.fbs-card__body { padding-top: 0.8rem; min-width: 0; }
.fbs-card__cat {
	display: inline-block;
	font-family: var(--fbs-head);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	color: var(--fbs-accent);
	text-decoration: none;
	margin-bottom: 0.3rem;
	line-height: 1.35;
	position: relative; z-index: 2;
}
.fbs-card__cat:hover { text-decoration: underline; }
.fbs-card__title {
	margin: 0;
	font-family: var(--fbs-head);
	font-weight: 700;
	font-size: clamp(0.98rem, 0.92rem + 0.3vw, 1.125rem);
	line-height: 1.3;
	letter-spacing: -0.01em;
}
.fbs-card__title a { color: var(--fbs-ink); text-decoration: none; transition: color 0.15s ease; }
.fbs-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fbs-card__excerpt {
	margin: 0.45rem 0 0; color: var(--fbs-muted);
	font-size: var(--wp--preset--font-size--small); line-height: 1.55;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.fbs-card__meta { margin: 0.5rem 0 0; color: var(--fbs-muted); font-size: var(--wp--preset--font-size--x-small); }
.fbs-dot { margin: 0 0.4rem; }
@media (max-width: 599px) {
	.fbs-grid--grid .fbs-card__excerpt { display: none; }
	.fbs-grid--grid .fbs-card__title { font-size: 0.95rem; }
	.fbs-grid--grid .fbs-card__cat { font-size: 0.75rem; }
}

@media (min-width: 1100px) {
	.fbs-card--lead { grid-column: span 2; grid-row: span 2; }
	.fbs-card--lead .fbs-card__media { aspect-ratio: auto; flex: 1 1 auto; min-height: 0; border-radius: var(--fbs-r-card); }
	.fbs-card--lead .fbs-card__title { font-size: var(--wp--preset--font-size--x-large); font-weight: 800; }
	.fbs-card--lead .fbs-card__excerpt { display: block; -webkit-line-clamp: 2; font-size: var(--wp--preset--font-size--medium); }
}

.fbs-card--list { flex-direction: row; gap: 0.9rem; align-items: center; }
.fbs-card--list .fbs-card__media { flex: 0 0 auto; width: 76px; border-radius: 12px; }
.fbs-card--list .fbs-card__body { padding-top: 0; }
.fbs-card--list .fbs-card__title { font-size: 0.98rem; line-height: 1.35; }
.fbs-search .fbs-card--list .fbs-card__media { width: 104px; }
.fbs-search .fbs-card--list .fbs-card__title { font-size: var(--wp--preset--font-size--large); }
.fbs-search .fbs-card--list { align-items: flex-start; padding: 0.9rem; border-radius: var(--fbs-r-card); background: var(--fbs-mist); }

.fbs-card--numbered { flex-direction: row; gap: 1rem; align-items: center; }
.fbs-card__num {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	background: var(--fbs-accent); color: #fff;
	font-family: var(--fbs-head); font-weight: 800; font-size: 0.95rem;
}

.fbs-card--pin .fbs-card__media { border-radius: var(--fbs-r-img); }
.fbs-card--pin .fbs-card__body { padding-top: 0.5rem; }
.fbs-card--pin .fbs-card__title { font-size: 0.8125rem; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Featured (trending) ---------- */
.fbs-featured { display: grid; gap: var(--wp--preset--spacing--50); }
@media (min-width: 900px) {
	.fbs-featured { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }
	.fbs-featured--solo { grid-template-columns: minmax(0, 1fr); max-width: 820px; margin-inline: auto; }
}
.fbs-card--feature { background: var(--fbs-mist); border-radius: var(--fbs-r-panel); padding: 12px; }
.fbs-card--feature .fbs-card__media { aspect-ratio: 4 / 5; border-radius: var(--fbs-r-card); }
.fbs-card--feature .fbs-card__body { padding: 1rem 0.75rem 0.75rem; }
@media (min-width: 640px) {
	.fbs-card--feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--wp--preset--spacing--40); align-items: center; }
	.fbs-card--feature .fbs-card__body { padding: 1rem 1.25rem 1rem 0; }
}
.fbs-card--feature .fbs-card__title { font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.9rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; margin-top: 0.2rem; }
.fbs-card--feature .fbs-card__excerpt { font-size: var(--wp--preset--font-size--medium); -webkit-line-clamp: 4; margin-top: 0.85rem; }
.fbs-card--feature .fbs-card__meta { margin-top: 1rem; font-weight: 500; }
.fbs-featured__side { display: flex; flex-direction: column; gap: 1rem; }
.fbs-featured__label { margin: 0 0 0.25rem; }

/* ---------- Hero ---------- */
.fbs-hero { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); overflow: hidden; }
.fbs-hero__inner { display: grid; gap: var(--wp--preset--spacing--50); align-items: center; }
@media (min-width: 900px) { .fbs-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); } }
.fbs-hero__text > * { margin-top: 0; margin-bottom: 0; }
.fbs-hero__text > * + * { margin-top: 1.1rem; }
.fbs-hero__title { font-size: var(--wp--preset--font-size--huge) !important; line-height: 1.04 !important; letter-spacing: -0.03em; font-weight: 800; }
.fbs-hero__lead { font-size: var(--wp--preset--font-size--large); color: var(--fbs-muted); line-height: 1.55; max-width: 34ch; }
.fbs-hero__buttons { gap: 0.75rem; margin-top: 1.75rem !important; }

.fbs-collage { position: relative; display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 560px; width: 100%; margin-inline: auto; aspect-ratio: 1.18; }
.fbs-collage::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: var(--fbs-accent); opacity: 0.12; right: -18%; top: -14%; z-index: 0; }
.fbs-collage__item { position: relative; z-index: 1; display: block; overflow: hidden; border-radius: var(--fbs-r-card); background: var(--fbs-mist); box-shadow: var(--fbs-shadow); }
.fbs-collage__item--1 { grid-row: span 2; }
.fbs-collage__item { height: 100%; }
.fbs-collage__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.fbs-collage__item:hover .fbs-collage__img { transform: scale(1.04); }
.fbs-collage__tag {
	position: absolute; left: 10px; bottom: 10px;
	background: #fff; color: var(--fbs-ink);
	font-family: var(--fbs-head); font-size: 0.75rem; font-weight: 700;
	padding: 0.35rem 0.75rem; border-radius: 999px;
}
.fbs-collage--n1 { grid-template-columns: 1fr; grid-template-rows: auto; max-width: 380px; aspect-ratio: 2 / 3; }
.fbs-collage--n2 { grid-template-columns: 1fr 1fr; grid-template-rows: auto; aspect-ratio: 4 / 3; }
.fbs-collage--n2 .fbs-collage__item--1 { grid-row: auto; }

/* ---------- Category tiles ---------- */
.fbs-tiles { display: grid; gap: var(--fbs-gap); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
@media (max-width: 599px) {
	.fbs-tiles { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0.9rem; padding-bottom: 0.5rem; margin-inline: calc(-1 * var(--wp--preset--spacing--30)); padding-inline: var(--wp--preset--spacing--30); scrollbar-width: none; }
	.fbs-tiles::-webkit-scrollbar { display: none; }
	.fbs-tile { flex: 0 0 68%; scroll-snap-align: start; }
}
.fbs-tile {
	display: flex; flex-direction: column;
	padding: 10px; border-radius: var(--fbs-r-panel);
	background: var(--fbs-blush);
	color: var(--fbs-ink); text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fbs-tile--1 { background: var(--fbs-peach); }
.fbs-tile--2 { background: var(--fbs-lilac); }
.fbs-tile:hover { transform: translateY(-4px); box-shadow: var(--fbs-shadow); }
.fbs-tile__media { display: block; aspect-ratio: 1; border-radius: var(--fbs-r-card); overflow: hidden; background: rgba(255, 255, 255, 0.6); }
.fbs-tile__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fbs-tile__body { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 0.75rem; padding: 0.9rem 0.6rem 0.5rem; }
.fbs-tile__name { font-family: var(--fbs-head); font-weight: 800; font-size: 1.25rem; letter-spacing: -0.02em; line-height: 1.2; }
.fbs-tile__count { grid-column: 1; color: var(--fbs-muted); font-size: var(--wp--preset--font-size--small); }
.fbs-tile__arrow { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--fbs-ink); color: #fff; transition: background-color 0.15s ease; }
.fbs-tile:hover .fbs-tile__arrow { background: var(--fbs-accent); }

/* ---------- Panels & bands ---------- */
.fbs-panel { border-radius: var(--fbs-r-panel); padding: clamp(1.25rem, 0.8rem + 2.4vw, 2.75rem); }
.fbs-panel > * { margin-top: 0; }
.fbs-panel .fbs-section-head__more { background: #fff; border-color: #fff; }
.fbs-panel .fbs-section-head__more:hover { background: var(--fbs-ink); border-color: var(--fbs-ink); }
.fbs-band__head { text-align: center; margin-bottom: var(--wp--preset--spacing--40); }
.fbs-band__head h2 { margin-top: 0.25rem; }
.fbs-band__text { color: var(--fbs-muted); }
.fbs-band--pins .fbs-band__text { color: rgba(255, 255, 255, 0.75); }
.fbs-band--pins .fbs-card__title a { color: #fff; }
.fbs-band--pins .fbs-card__media { background: rgba(255, 255, 255, 0.08); }
.fbs-band__cta { display: flex; justify-content: center; margin-top: var(--wp--preset--spacing--40) !important; }
.fbs-band--related .fbs-section-head__more { background: #fff; }

/* ---------- Chips ---------- */
.fbs-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; }
.fbs-chips--center { justify-content: center; }
.fbs-chips__label { font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--x-small); font-weight: 700; color: var(--fbs-muted); }
.fbs-chips__list { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; justify-content: inherit; }
.fbs-chip {
	display: inline-flex; align-items: center; min-height: 40px;
	padding: 0.45rem 1.1rem;
	background: #fff; border: 1px solid var(--fbs-line);
	color: var(--fbs-ink);
	font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--x-small); font-weight: 700;
	text-decoration: none; border-radius: 999px; line-height: 1.2;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
a.fbs-chip:hover { border-color: var(--fbs-accent); color: var(--fbs-accent); }
.fbs-chip.is-current { background: var(--fbs-accent); border-color: var(--fbs-accent); color: #fff; }

/* ---------- Author ---------- */
.fbs-author__photo { display: block; object-fit: cover; }
.fbs-author__photo--round { border-radius: 50%; aspect-ratio: 1; }
.fbs-author__name { font-family: var(--fbs-head); font-weight: 800; letter-spacing: -0.02em; }
.fbs-author__name a { color: inherit; text-decoration: none; }
.fbs-author__name a:hover { color: var(--fbs-accent); }
.fbs-author__role { color: var(--fbs-muted); font-family: var(--fbs-body); font-weight: 500; font-size: var(--wp--preset--font-size--small); letter-spacing: 0; }
.fbs-author__bio p { margin: 0 0 0.75rem; }
.fbs-author__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin-top: 1rem; }

.fbs-author--box { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 1.25rem; background: var(--fbs-mist); padding: var(--wp--preset--spacing--40); border-radius: var(--fbs-r-panel); }
@media (min-width: 600px) { .fbs-author--box { grid-template-columns: 110px minmax(0, 1fr); gap: 1.75rem; } }
.fbs-author--box .fbs-author__photo { width: 100%; height: auto; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--fbs-accent); }
.fbs-author--box .fbs-author__name { font-size: var(--wp--preset--font-size--large); margin: 0 0 0.5rem; }
.fbs-author--box .fbs-author__bio { font-size: var(--wp--preset--font-size--small); line-height: 1.65; }

.fbs-author--mini { text-align: center; background: var(--fbs-blush); border-radius: var(--fbs-r-panel); padding: 1.75rem 1.25rem; }
.fbs-author--mini .fbs-author__photo { width: 112px; height: 112px; margin: 0 auto 1rem; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--fbs-accent); }
.fbs-author--mini .fbs-author__name { font-size: 1.35rem; margin: 0; }
.fbs-author--mini .fbs-author__role { margin: 0.25rem 0 0; }
.fbs-author--mini .fbs-author__bio { font-size: var(--wp--preset--font-size--small); color: var(--fbs-muted); margin: 0.75rem 0 1rem; line-height: 1.6; }
.fbs-author--mini .fbs-social { justify-content: center; margin-top: 1rem; }

.fbs-author--intro { display: grid; gap: var(--wp--preset--spacing--50); align-items: center; background: var(--fbs-mist); border-radius: var(--fbs-r-panel); padding: clamp(1.5rem, 1rem + 3vw, 3.5rem); }
@media (min-width: 782px) { .fbs-author--intro { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } }
.fbs-author--intro .fbs-author__media { max-width: 320px; width: 100%; margin-inline: auto; }
.fbs-author--intro .fbs-author__photo { width: 100%; height: auto; aspect-ratio: 1; border-radius: 50%; box-shadow: 0 0 0 8px #fff, 0 0 0 11px var(--fbs-accent); }
.fbs-author--intro .fbs-author__name { font-size: var(--wp--preset--font-size--xx-large); margin: 0.1rem 0 1rem; }
.fbs-author--intro .fbs-author__bio { font-size: var(--wp--preset--font-size--large); line-height: 1.55; max-width: 34em; }

.fbs-author--profile { display: grid; gap: var(--wp--preset--spacing--50); align-items: start; background: var(--fbs-blush); border-radius: var(--fbs-r-panel); padding: clamp(1.25rem, 0.8rem + 2.4vw, 3rem); }
.fbs-author--profile .fbs-chip { background: #fff; border-color: #fff; }
@media (min-width: 782px) { .fbs-author--profile { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } }
.fbs-author--profile .fbs-author__media { max-width: 380px; width: 100%; }
.fbs-author--profile .fbs-author__photo { width: 100%; height: auto; aspect-ratio: 4 / 5; border-radius: var(--fbs-r-panel); }
.fbs-author--profile .fbs-author__name { font-size: var(--wp--preset--font-size--huge); line-height: 1; margin: 0.25rem 0 1.25rem; }
.fbs-author__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; }
.fbs-author__long { margin-top: 1rem; max-width: 40em; }
.fbs-author__long h2, .fbs-author__long h3 { font-size: var(--wp--preset--font-size--large); margin: 1.75rem 0 0.5rem; }
.fbs-author__sublabel { font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--x-small); font-weight: 700; color: var(--fbs-muted); margin: 1.5rem 0 0.6rem; }
.fbs-author__count { margin: 0; color: var(--fbs-muted); font-size: var(--wp--preset--font-size--small); }

.fbs-social { display: flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; margin: 0; padding: 0; }
.fbs-social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: #fff; color: var(--fbs-ink);
	transition: background-color 0.15s ease, color 0.15s ease;
}
.fbs-social a:hover { background: var(--fbs-accent); color: #fff; }

/* ---------- Breadcrumbs ---------- */
.fbs-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--x-small); color: var(--fbs-muted); }
.fbs-breadcrumbs li { display: inline-flex; align-items: center; min-width: 0; }
.fbs-breadcrumbs li + li::before { content: "›"; margin: 0 0.5rem; color: var(--fbs-muted); }
.fbs-breadcrumbs a { color: var(--fbs-muted); text-decoration: none; padding: 0.35rem 0; }
.fbs-breadcrumbs a:hover { color: var(--fbs-accent); }
.fbs-breadcrumbs [aria-current] span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 38ch; display: inline-block; vertical-align: bottom; }

/* ---------- Article ---------- */
.fbs-single__layout { display: grid; gap: var(--wp--preset--spacing--60); }
.fbs-single__layout > * { margin: 0 !important; min-width: 0; }
.fbs-single__article { max-width: 760px; width: 100%; margin-inline: auto !important; }
.fbs-single__sidebar { display: none; }
@media (min-width: 1100px) {
	.fbs-single__layout.has-sidebar { grid-template-columns: minmax(0, 760px) 300px; justify-content: space-between; }
	.fbs-single__layout.has-sidebar .fbs-single__article { margin-inline: 0 !important; }
	.fbs-single__sidebar { display: block; }
}
.fbs-single__header { text-align: center; }
.fbs-single__header > * { margin: 0; }
.fbs-single__header .fbs-breadcrumbs ol { justify-content: center; }
.fbs-single__header .fbs-post-category { background: var(--fbs-blush); margin: 1.25rem auto 0; display: flex; width: fit-content; }
.fbs-single__header .fbs-post-category::before { display: none; }
.fbs-single__title { margin: 0.9rem 0 1.25rem !important; font-size: var(--wp--preset--font-size--xx-large); line-height: 1.12; letter-spacing: -0.03em; }
.fbs-single__meta { gap: 0.75rem 1.5rem; justify-content: center !important; }
.has-sidebar .fbs-single__header { text-align: left; }
.has-sidebar .fbs-single__header .fbs-breadcrumbs ol { justify-content: flex-start; }
.has-sidebar .fbs-single__header .fbs-post-category { margin-left: 0; }
.has-sidebar .fbs-single__meta { justify-content: space-between !important; }
@media (max-width: 781px) { .fbs-single__header .fbs-breadcrumbs li[aria-current] { display: none; } }
.fbs-single__image { margin-top: var(--wp--preset--spacing--40) !important; }
.fbs-single__image img { width: 100%; height: auto; display: block; border-radius: var(--fbs-r-panel); }
@media (min-width: 782px) { .fbs-single__image img { width: auto; max-width: 100%; max-height: 88vh; margin-inline: auto; } }

.fbs-byline { display: flex; align-items: center; gap: 0.7rem; line-height: 1.35; text-align: left; }
.fbs-byline__photo { flex: none; }
.fbs-byline__img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--fbs-accent); }
.fbs-byline__text { display: flex; flex-direction: column; font-size: var(--wp--preset--font-size--small); }
.fbs-byline__author a { color: var(--fbs-ink); font-weight: 700; text-decoration: none; }
.fbs-byline__author a:hover { color: var(--fbs-accent); }
.fbs-byline__role { color: var(--fbs-muted); }
.fbs-byline__date { color: var(--fbs-muted); font-size: var(--wp--preset--font-size--x-small); }

.fbs-share { display: flex; align-items: center; gap: 0.35rem; }
.fbs-share__label { font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--x-small); font-weight: 700; color: var(--fbs-muted); margin-right: 0.25rem; }
.fbs-share__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%;
	background: var(--fbs-mist); border: 0; color: var(--fbs-ink); cursor: pointer; padding: 0;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.fbs-share__btn:hover { background: var(--fbs-ink); color: #fff; }
.fbs-share__btn--pinterest { background: var(--fbs-accent); color: #fff; }
.fbs-share__btn--pinterest:hover { background: var(--fbs-accent-dark); }
.fbs-share__btn.is-copied { background: var(--fbs-accent); color: #fff; }

.fbs-share--cta {
	display: flex; gap: 1.25rem; align-items: center;
	background: var(--fbs-accent); color: #fff;
	border-radius: var(--fbs-r-panel);
	padding: 1.25rem;
	margin-top: var(--wp--preset--spacing--50) !important;
}
@media (min-width: 600px) { .fbs-share--cta { padding: 1.75rem 2rem; gap: 1.75rem; } .fbs-share__media { width: 120px !important; } }
.fbs-share__media { flex: 0 0 auto; width: 88px; }
.fbs-share__thumb { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 14px; box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.35); }
.fbs-share__heading { font-family: var(--fbs-head); font-weight: 800; font-size: var(--wp--preset--font-size--large); line-height: 1.2; margin: 0 0 0.35rem; letter-spacing: -0.02em; }
.fbs-share__text { margin: 0 0 1rem; color: rgba(255, 255, 255, 0.9); font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.fbs-share__actions { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: center; }
.fbs-share--cta .fbs-button--pinterest { background: #fff; color: var(--fbs-accent); }
.fbs-share--cta .fbs-button--pinterest:hover { background: var(--fbs-ink); color: #fff; }
.fbs-share__icons { display: flex; gap: 0.35rem; }
.fbs-share__icons .fbs-share__btn--pinterest { display: none; }
.fbs-share--cta .fbs-share__btn { background: rgba(255, 255, 255, 0.18); color: #fff; }
.fbs-share--cta .fbs-share__btn:hover { background: #fff; color: var(--fbs-accent); }

/* Article body */
.fbs-content { margin-top: var(--wp--preset--spacing--40) !important; font-size: var(--wp--preset--font-size--medium); line-height: 1.75; }
.fbs-content > * { margin-block: 0; }
.fbs-content > * + * { margin-top: 1.3rem; }
.fbs-content > h2 { margin-top: 2.75rem; font-size: var(--wp--preset--font-size--x-large); }
.fbs-content > h3 { margin-top: 2rem; }
.fbs-content > h2 + *, .fbs-content > h3 + * { margin-top: 1rem; }
.fbs-num {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 1.6em; height: 1.6em; padding: 0 0.35em;
	margin-right: 0.45em;
	border-radius: 999px;
	background: var(--fbs-accent); color: #fff;
	font-size: 0.8em; font-weight: 800; letter-spacing: 0;
	vertical-align: 0.12em;
}
.fbs-content .alignwide, .fbs-content .alignfull { max-width: 100%; margin-left: 0; margin-right: 0; width: auto; }
.fbs-content .wp-block-image img { display: block; height: auto; border-radius: var(--fbs-r-img); }
.fbs-content .wp-block-image figcaption, .fbs-content figcaption { text-align: center; margin-top: 0.6rem; }
.fbs-content ul, .fbs-content ol { padding-left: 1.25rem; }
.fbs-content li + li { margin-top: 0.4rem; }
.fbs-content li::marker { color: var(--fbs-accent); font-weight: 700; }
.fbs-content a { color: var(--fbs-accent); font-weight: 600; }
.fbs-content .fbs-author a, .fbs-content .fbs-card a { font-weight: inherit; }
.fbs-content .fbs-author__name a, .fbs-content .fbs-social a { color: var(--fbs-ink); }
.fbs-content .fbs-social a:hover { color: #fff; }
.fbs-content hr { margin-block: 2.5rem; }
.fbs-content .wp-block-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--fbs-line); border-radius: 14px; overflow: hidden; }
.fbs-content .wp-block-table th, .fbs-content .wp-block-table td { border: 0; border-bottom: 1px solid var(--fbs-line); padding: 0.65rem 0.85rem; text-align: left; }
.fbs-content .wp-block-table th { background: var(--fbs-blush); font-weight: 700; }
.fbs-idea__tip { background: var(--fbs-blush); padding: 0.9rem 1.1rem; border-radius: 14px; font-size: var(--wp--preset--font-size--small); }

.fbs-tags { margin-top: var(--wp--preset--spacing--40) !important; display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0 !important; justify-content: center; }
.has-sidebar .fbs-tags { justify-content: flex-start; }
.fbs-tags a {
	display: inline-flex; align-items: center; min-height: 36px;
	padding: 0.3rem 0.95rem; border-radius: 999px;
	background: var(--fbs-mist);
	font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--x-small); font-weight: 700;
	color: var(--fbs-ink) !important;
}
.fbs-tags a::before { content: "#"; color: var(--fbs-accent); margin-right: 2px; }
.fbs-tags a:hover { background: var(--fbs-blush); }
.fbs-tags .wp-block-post-terms__separator { display: none; }
.fbs-single__article .fbs-author--box { margin-top: var(--wp--preset--spacing--40); }

.fbs-sidebar { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--50); height: 100%; }
.fbs-sidebar > * { margin: 0 !important; }
.fbs-sidebar .fbs-section-head { margin-bottom: 1rem !important; }
.fbs-sidebar .fbs-section-head__title { font-size: var(--wp--preset--font-size--large); }
.fbs-sidebar__sticky { position: sticky; top: 6rem; }

.fbs-single__after > * + * { margin-top: var(--wp--preset--spacing--50); }
.fbs-post-nav { gap: 1rem; align-items: stretch; }
.fbs-post-nav > * { flex: 1 1 0; min-width: 0; background: var(--fbs-mist); border-radius: var(--fbs-r-card); padding: 1rem 1.25rem; }
.fbs-post-nav > *:empty { display: none; }
.fbs-post-nav .post-navigation-link-next { text-align: right; }
.fbs-post-nav a { color: var(--fbs-ink); text-decoration: none; font-family: var(--fbs-head); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.fbs-post-nav a:hover { color: var(--fbs-accent); }
.fbs-post-nav .post-navigation-link__label { display: block; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; color: var(--fbs-accent); margin-bottom: 0.3rem; }
.fbs-post-nav .wp-block-post-navigation-link__arrow-previous, .fbs-post-nav .wp-block-post-navigation-link__arrow-next { display: none; }

.fbs-comments .wp-block-comments-title { font-size: var(--wp--preset--font-size--x-large); }
.fbs-comment { border-bottom: 1px solid var(--fbs-line); padding-bottom: 1.25rem; margin-bottom: 1.25rem; }
.fbs-comment .wp-block-comment-author-name { font-weight: 700; }
.fbs-comment .wp-block-comment-date { color: var(--fbs-muted); font-size: var(--wp--preset--font-size--x-small); }
.fbs-comments .comment-form input:not([type="submit"]):not([type="checkbox"]),
.fbs-comments .comment-form textarea { width: 100%; border: 1px solid var(--fbs-line); background: var(--fbs-mist); border-radius: 14px; padding: 0.75rem 1rem; font: inherit; font-size: 1rem; }
.fbs-comments .comment-form label { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 600; margin-bottom: 0.3rem; }

/* ---------- Archives ---------- */
.fbs-archive__head { text-align: center; padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.fbs-archive__head > * + * { margin-top: 1rem; }
.fbs-archive__head .fbs-breadcrumbs ol { justify-content: center; }
.fbs-archive__head h1 { font-size: var(--wp--preset--font-size--huge); line-height: 1; letter-spacing: -0.03em; margin-top: 0.5rem; }
.fbs-archive__desc, .fbs-archive__head .wp-block-term-description { color: var(--fbs-muted); font-size: var(--wp--preset--font-size--large); line-height: 1.55; }
.fbs-archive__desc p { margin: 0; }
.fbs-archive__head .fbs-chips { margin-top: 1.5rem; }
.fbs-archive .fbs-post-grid { margin-top: var(--wp--preset--spacing--50); }
.fbs-term-extended { background: var(--fbs-mist); border-radius: var(--fbs-r-panel); padding: clamp(1.5rem, 1rem + 2vw, 3rem); max-width: 860px; margin-inline: auto !important; }
.fbs-term-extended h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2rem; }
.fbs-term-extended > :first-child { margin-top: 0; }
.fbs-author-page__head { padding-top: var(--wp--preset--spacing--30); }
.fbs-author-page__head > * + * { margin-top: 1rem; }

.fbs-pagination { margin-top: var(--wp--preset--spacing--50); display: flex; justify-content: center; }
.fbs-pagination ul { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0; padding: 0; justify-content: center; }
.fbs-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; min-height: 44px; padding: 0 1rem; border-radius: 999px;
	background: var(--fbs-mist); color: var(--fbs-ink); text-decoration: none;
	font-family: var(--fbs-head); font-weight: 700; font-size: var(--wp--preset--font-size--small);
}
.fbs-pagination a.page-numbers:hover { background: var(--fbs-blush); color: var(--fbs-accent); }
.fbs-pagination .page-numbers.current { background: var(--fbs-accent); color: #fff; }
.fbs-pagination .page-numbers.dots { background: transparent; }
.fbs-empty { text-align: center; padding: var(--wp--preset--spacing--50) 0; color: var(--fbs-muted); font-size: var(--wp--preset--font-size--large); }

/* ---------- Search & 404 ---------- */
.fbs-search { padding-top: var(--wp--preset--spacing--40) !important; }
.fbs-search__head h1 { font-size: var(--wp--preset--font-size--xx-large); }
.fbs-search-form .wp-block-search__inside-wrapper { border: 2px solid var(--fbs-ink); border-radius: 999px; padding: 4px; background: #fff; }
.fbs-search-form .wp-block-search__input { border: 0; padding: 0.6rem 1rem; font-size: 1rem; min-height: 44px; background: transparent; }
.fbs-search-form .wp-block-search__button { margin: 0; border-radius: 999px; }
.fbs-404 { padding-top: var(--wp--preset--spacing--50) !important; }
.fbs-404__head { text-align: center; }
.fbs-404__head > * + * { margin-top: 1.25rem; }
.fbs-404__head h1 { font-size: var(--wp--preset--font-size--huge); line-height: 1.02; letter-spacing: -0.03em; }

/* ---------- Pages ---------- */
.fbs-page__head { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--50); }
.fbs-page__head > * + * { margin-top: 1.25rem; }
.fbs-page__title { font-size: var(--wp--preset--font-size--huge); line-height: 1.02; letter-spacing: -0.03em; margin-bottom: 0 !important; }
.fbs-page__content { margin-top: var(--wp--preset--spacing--40) !important; padding-bottom: var(--wp--preset--spacing--60); }
.fbs-page__content > h2 { margin-top: 2.5rem; font-size: var(--wp--preset--font-size--x-large); }
.fbs-page__content > h3 { margin-top: 1.75rem; }
.fbs-page__content .fbs-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; }

/* ---------- Footer ---------- */
.fbs-footer { margin-top: 0; }
.fbs-footer a { color: inherit; }
.fbs-footer__top { display: grid; gap: var(--wp--preset--spacing--50) 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fbs-footer__brand { grid-column: 1 / -1; }
@media (min-width: 782px) { .fbs-footer__top { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); } .fbs-footer__brand { grid-column: auto; } }
.fbs-footer__top > * { margin: 0 !important; }
.fbs-wordmark--footer a { color: #fff; }
.fbs-footer__tagline { color: rgba(255, 255, 255, 0.72); font-size: var(--wp--preset--font-size--small); max-width: 32ch; margin: 0.9rem 0 1.1rem !important; }
.fbs-footer .fbs-social a { background: rgba(255, 255, 255, 0.1); color: #fff; }
.fbs-footer .fbs-social a:hover { background: var(--fbs-accent); }
.fbs-footer__heading { font-family: var(--fbs-head) !important; font-size: var(--wp--preset--font-size--x-small) !important; font-weight: 700 !important; letter-spacing: 0.04em !important; text-transform: uppercase; color: #FF7AA8 !important; margin: 0 0 1rem !important; }
.fbs-footer-nav { font-family: var(--fbs-body) !important; font-size: var(--wp--preset--font-size--small) !important; font-weight: 400 !important; }
.fbs-footer-nav .wp-block-navigation__container { gap: 0.15rem !important; }
.fbs-footer-nav .wp-block-navigation-item__content { padding: 0.35rem 0; color: rgba(255, 255, 255, 0.82); }
.fbs-footer-nav .wp-block-navigation-item__content:hover { color: #fff; text-decoration: underline; }
.fbs-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.14); margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.25rem; font-size: var(--wp--preset--font-size--x-small); color: rgba(255, 255, 255, 0.72); }
.fbs-footer__bottom p { margin: 0; }

/* ---------- Style variations & patterns ---------- */
.is-style-fbs-checklist { list-style: none; padding-left: 0 !important; }
.is-style-fbs-checklist li { position: relative; padding-left: 1.9rem; }
.is-style-fbs-checklist li::before { content: ""; position: absolute; left: 0; top: 0.35em; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--fbs-accent); }
.is-style-fbs-checklist li::after { content: ""; position: absolute; left: 0.38rem; top: 0.6em; width: 0.45rem; height: 0.25rem; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
.wp-block-separator.is-style-fbs-ornament { border: 0 !important; height: auto; text-align: center; background: none !important; }
.wp-block-separator.is-style-fbs-ornament::before { content: "• • •"; color: var(--fbs-accent); letter-spacing: 0.5em; font-size: 1.25rem; font-weight: 800; }
.is-style-fbs-note { background: var(--fbs-blush); border-radius: var(--fbs-r-card); padding: 1.25rem 1.5rem !important; }
.is-style-fbs-note > * + * { margin-top: 0.5rem; }
.is-style-fbs-note .fbs-note__label { font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--small); font-weight: 800; color: var(--fbs-accent); margin: 0; }
.wp-block-image.is-style-fbs-frame img { border: 8px solid #fff; box-shadow: var(--fbs-shadow); }
.fbs-product { gap: 1.25rem !important; background: var(--fbs-mist); border-radius: var(--fbs-r-card); padding: 1rem; align-items: center; }
.fbs-product__image { flex: none; margin: 0 !important; }
.fbs-product__image img { border-radius: 12px; }
.fbs-product__body > * { margin: 0 0 0.35rem !important; }
.fbs-product__name { font-family: var(--fbs-head); font-size: var(--wp--preset--font-size--large); }
.fbs-product__why { color: var(--fbs-muted); font-size: var(--wp--preset--font-size--small); }
.fbs-product .wp-block-buttons { margin-top: 0.75rem !important; }
.fbs-shop { background: var(--fbs-blush); border-radius: var(--fbs-r-panel); padding: 1.25rem !important; }
.fbs-shop__title { margin-top: 0 !important; }
.fbs-shop__grid { gap: 0.75rem !important; }
.fbs-shop__name { font-size: var(--wp--preset--font-size--small); font-weight: 600; margin: 0.5rem 0 !important; line-height: 1.35; }
.fbs-shop .wp-block-button__link { padding: 0.5rem 1rem !important; width: 100%; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* Keep the pin wall short on phones */
@media (max-width: 599px) {
	.fbs-grid--pins > .fbs-card:nth-child(n+5) { display: none; }
}
