/* The Fresh Nook — calm "spa clean" styles. Colors and type come from theme.json. */

:root {
	--fn-ink: var(--wp--preset--color--ink, #24332C);
	--fn-sage: var(--wp--preset--color--sage, #7E9C88);
	--fn-sage-deep: var(--wp--preset--color--sage-deep, #4F6E5A);
	--fn-soft: var(--wp--preset--color--sage-soft, #E6EDE6);
	--fn-sand: var(--wp--preset--color--sand, #EFE8DD);
	--fn-cream: var(--wp--preset--color--cream, #FAF8F4);
	--fn-muted: var(--wp--preset--color--muted, #5F6B64);
	--fn-line: var(--wp--preset--color--line, #E3E0D8);
	--fn-serif: var(--wp--preset--font-family--display);
	--fn-ease: cubic-bezier(.2, .7, .2, 1);
	--fn-arch: 999px 999px 24px 24px;
}

body { overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
:where(a) { text-underline-offset: 4px; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--fn-sage); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
h1 em, h2 em, h3 em, .sn-about-text em { font-style: italic; color: var(--fn-sage-deep); }

/* ---------- Type helpers ---------- */
.sn-eyebrow { font-size: 12px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--fn-sage-deep); margin: 0; }
.sn-script, .is-style-script { font-family: var(--fn-serif); font-style: italic; font-weight: 400; font-size: 22px; line-height: 1.2; color: var(--fn-sage-deep); letter-spacing: 0; }
.sn-kicker { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fn-sage-deep); }
.sn-lead { font-size: clamp(17px, 1.6vw, 19px) !important; line-height: 1.65; color: var(--fn-muted); max-width: 34em; }
.sn-muted { color: var(--fn-muted); }
.has-drop-cap:not(:focus)::first-letter { font-family: var(--fn-serif); font-weight: 400; color: var(--fn-sage-deep); font-size: 4.2em; line-height: .82; margin: .06em .1em 0 0; }

/* ---------- Header ---------- */
.sn-header { padding-block: 22px; }
.sn-header-row { gap: 24px; }
.sn-logo { font-family: var(--fn-serif); font-weight: 500; font-size: 27px; letter-spacing: -.01em; color: var(--fn-ink) !important; text-decoration: none; white-space: nowrap; line-height: 1; }
.sn-logo em { font-style: italic; color: var(--fn-sage); }
.sn-nav .wp-block-navigation-item__content { color: var(--fn-ink); padding: 6px 0; background-image: linear-gradient(var(--fn-sage), var(--fn-sage)); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .3s var(--fn-ease); }
.sn-nav .wp-block-navigation-item__content:hover, .sn-nav .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 1px; }
.sn-header-cta .wp-block-button__link { padding: 11px 20px; font-size: 14px; white-space: nowrap; }
.sn-icon-btn .wp-block-search__button { width: 42px; height: 42px; min-width: 42px; padding: 0; margin: 0; border-radius: 50%; border: 1px solid var(--fn-line); background: transparent; color: var(--fn-ink); display: inline-flex; align-items: center; justify-content: center; }
.sn-icon-btn .wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; min-width: 20px; }
.sn-icon-btn .wp-block-search__button:hover { background: #fff; }
.sn-icon-btn .wp-block-search__input { border-radius: 999px; border: 1px solid var(--fn-line); padding: 0 16px; height: 42px; box-sizing: border-box; font: inherit; font-size: 16px; background: #fff; }
.sn-icon-btn.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--fn-cream) !important; padding: 28px 24px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--fn-serif); font-size: 28px; padding: 6px 0; }
@media (max-width: 781px) {
	.sn-header { padding-block: 16px; }
	.sn-header-row { gap: 12px; }
	.sn-logo { font-size: 23px; margin-right: auto; }
	.sn-nav { order: 3; }
	.sn-header .sn-header-cta { display: none; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .25s, color .25s, border-color .25s; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; border: 1px solid var(--fn-ink); color: var(--fn-ink); padding: 13px 23px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--fn-ink); color: #fff; }
.wp-block-button.is-style-soft > .wp-block-button__link { background: var(--fn-soft); color: var(--fn-ink); }
.wp-block-button.is-style-soft > .wp-block-button__link:hover { background: var(--fn-sage); color: #fff; }

/* ---------- Images ---------- */
.is-style-arch img, .wp-block-post-featured-image.is-style-arch img, .sn-arch-img img { border-radius: var(--fn-arch) !important; }

/* ---------- Sections ---------- */
.sn-section { padding-block: clamp(28px, 4.5vw, 56px); }
main > .wp-block-group + .wp-block-group { margin-top: 0; }
.sn-section-title { font-size: clamp(28px, 3.4vw, 38px) !important; margin: 0 0 28px; }
.sn-section-head { margin-bottom: 28px; }
.sn-section-head .sn-section-title { margin: 0; }

/* ---------- Home hero ---------- */
.sn-hero { padding-block: clamp(8px, 2.5vw, 32px) clamp(20px, 3vw, 40px); }
.sn-hero-cols { gap: clamp(32px, 5vw, 64px) !important; }
.sn-hero-title { font-size: clamp(42px, 5.6vw, 68px) !important; line-height: 1.04 !important; margin: 18px 0 22px !important; }
.sn-hero-photo { margin: 0; aspect-ratio: 1 / 1.02; border-radius: 999px 999px 28px 28px; overflow: hidden; background: var(--fn-soft); }
.sn-hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sn-hero-photo.is-empty { display: flex; align-items: center; justify-content: center; color: var(--fn-sage); background: linear-gradient(180deg, var(--fn-soft), var(--fn-sand)); }
.sn-hero-photo.is-empty svg { width: 38%; height: auto; }
@media (min-width: 782px) { .sn-hero-photo { max-height: 600px; aspect-ratio: auto; height: 600px; } }
@media (max-width: 781px) {
	.sn-hero-cols { flex-direction: column-reverse; }
	.sn-hero-photo { aspect-ratio: 1 / .9; border-radius: 999px 999px 24px 24px; }
}

/* ---------- Forms ---------- */
.sn-form { display: flex; flex-wrap: wrap; gap: 10px; max-width: 500px; margin: 0; }
.sn-form input[type="email"] { flex: 1 1 220px; min-width: 0; height: 54px; box-sizing: border-box; border: 1px solid var(--fn-line); border-radius: 999px; padding: 0 22px; font: inherit; font-size: 16px; color: var(--fn-ink); background: #fff; }
.sn-form input[type="email"]:focus { outline: none; border-color: var(--fn-sage); }
.sn-form button { height: 54px; border: 0; border-radius: 999px; padding: 0 26px; background: var(--fn-ink); color: #fff; font: inherit; font-weight: 500; font-size: 15px; cursor: pointer; transition: background-color .25s; white-space: nowrap; }
.sn-form button:hover { background: var(--fn-sage-deep); }
.sn-form--pill { flex-wrap: nowrap; background: #fff; border: 1px solid var(--fn-line); border-radius: 999px; padding: 6px; gap: 6px; }
.sn-form--pill input[type="email"] { border: 0; height: 48px; padding: 0 16px; background: transparent; }
.sn-form--pill button { height: 48px; padding: 0 22px; }
.sn-form-note { font-size: 13px; color: var(--fn-muted); margin: 12px 0 0; }
.sn-hero .sn-form { margin-top: 30px; }
@media (max-width: 480px) {
	.sn-form--pill { flex-wrap: wrap; background: transparent; border: 0; padding: 0; }
	.sn-form--pill input[type="email"] { background: #fff; border: 1px solid var(--fn-line); height: 54px; padding: 0 20px; flex-basis: 100%; }
	.sn-form--pill button { height: 54px; flex-basis: 100%; }
}
.sn-form-done { margin: 0; padding: 18px 22px; border-radius: 18px; background: var(--fn-soft); color: var(--fn-ink); font-weight: 500; font-size: 17px; line-height: 1.5; max-width: 520px; }
.sn-form-err { flex-basis: 100%; margin: 6px 0 0; font-size: 14px; color: #8A3B2E; }

/* ---------- Rooms (round photos) ---------- */
.sn-rooms { display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(14px, 2vw, 26px); }
.sn-room { display: flex; flex-direction: column; align-items: center; gap: 14px; text-decoration: none; color: var(--fn-ink); font-weight: 500; font-size: 15px; }
.sn-room-pic { width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--fn-sand); display: flex; align-items: center; justify-content: center; color: var(--fn-sage-deep); transition: transform .5s var(--fn-ease); }
.sn-room-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sn-room-pic.is-empty svg { width: 34%; height: auto; }
.sn-room:nth-child(2n) .sn-room-pic.is-empty { background: var(--fn-soft); }
.sn-room:hover .sn-room-pic { transform: translateY(-4px); }
.sn-room:hover .sn-room-name { color: var(--fn-sage-deep); }
@media (max-width: 781px) { .sn-rooms { grid-template-columns: repeat(3, 1fr); row-gap: 24px; } }

/* ---------- Cards (query loops) ---------- */
.sn-cards .wp-block-post-template { row-gap: 40px !important; }
.sn-cards .wp-block-post { display: flex; flex-direction: column; gap: 10px; }
.sn-cards .wp-block-post-featured-image { margin: 0 0 6px; overflow: hidden; border-radius: 18px; background: var(--fn-soft); }
.sn-cards .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; transition: transform .8s var(--fn-ease); }
.sn-cards .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.sn-cards .wp-block-post-terms, .sn-cards .wp-block-post-title { margin: 0; }
.sn-cards .wp-block-post-title { font-family: var(--fn-serif); font-weight: 500; font-size: clamp(20px, 1.8vw, 23px); line-height: 1.25; }
.sn-cards .wp-block-post-title a { color: var(--fn-ink); }
.sn-cards .wp-block-post-title a:hover { color: var(--fn-sage-deep); }
.sn-cards .wp-block-post-excerpt { margin: 0; color: var(--fn-muted); font-size: 15px; line-height: 1.6; }
.sn-cards .wp-block-post-excerpt__more-text { display: none; }
.sn-card-body { display: flex; flex-direction: column; gap: 8px; }
.sn-cards.sn-cards--arch .wp-block-post-featured-image, .sn-cards.sn-cards--arch .wp-block-post-featured-image img { border-radius: 999px 999px 18px 18px; }
.sn-cards.sn-cards--arch .wp-block-post-featured-image img { aspect-ratio: 4 / 4.4; }
@media (min-width: 900px) {
	.sn-archive-grid .wp-block-post-template > .wp-block-post:first-child { grid-column: span 2; flex-direction: row; align-items: center; gap: 32px; }
	.sn-archive-grid .wp-block-post-template > .wp-block-post:first-child .wp-block-post-featured-image { flex: 1 1 56%; margin: 0; }
	.sn-archive-grid .wp-block-post-template > .wp-block-post:first-child .sn-card-body { flex: 1 1 44%; }
	.sn-archive-grid .wp-block-post-template > .wp-block-post:first-child .wp-block-post-title { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.15; }
}
.wp-block-query-pagination { gap: 8px; justify-content: center; margin-top: 48px; }
.wp-block-query-pagination .page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 16px; box-sizing: border-box; border-radius: 999px; border: 1px solid var(--fn-line); background: #fff; color: var(--fn-ink); text-decoration: none; transition: background-color .25s, color .25s; }
.wp-block-query-pagination .page-numbers.current, .wp-block-query-pagination a:hover { background: var(--fn-ink); color: #fff; border-color: var(--fn-ink); }
.wp-block-query-pagination .page-numbers.dots { border: 0; background: none; }

/* ---------- Method ---------- */
.sn-method-cols { gap: clamp(28px, 5vw, 72px) !important; }
.sn-method .sn-section-title { margin-top: 14px; }
.sn-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sn-steps li { background: #fff; border: 1px solid var(--fn-line); border-radius: 22px; padding: 26px 24px; }
.sn-step-num { display: inline-flex; width: 40px; height: 40px; border-radius: 50%; align-items: center; justify-content: center; background: var(--fn-soft); color: var(--fn-sage-deep); font-family: var(--fn-serif); font-size: 19px; }
.sn-steps h3 { font-size: 21px !important; margin: 18px 0 8px; }
.sn-steps p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--fn-muted); }
@media (max-width: 781px) { .sn-steps { grid-template-columns: 1fr; gap: 14px; } .sn-steps li { padding: 22px; } }

/* ---------- Sign-up band ---------- */
.sn-signup { background: var(--fn-soft); border-radius: 32px; padding: clamp(28px, 5vw, 64px) clamp(22px, 5vw, 72px) !important; margin-block: clamp(24px, 4vw, 48px) !important; overflow: hidden; }
.sn-signup-cols { gap: clamp(28px, 5vw, 64px) !important; }
.sn-signup-title { font-size: clamp(30px, 3.6vw, 44px) !important; margin: 14px 0 14px !important; }
.sn-signup .sn-form { margin-top: 22px; }
.sn-sheets { position: relative; height: clamp(300px, 34vw, 420px); }
.sn-sheet { position: absolute; width: 62%; height: auto; border-radius: 10px; box-shadow: 0 24px 50px -24px rgba(36, 51, 44, .35); background: #fff; }
.sn-sheet.one { right: 0; top: 0; transform: rotate(4deg); }
.sn-sheet.two { left: 2%; top: 9%; transform: rotate(-3deg); }
@media (max-width: 781px) { .sn-signup { border-radius: 24px; } .sn-sheets { height: 300px; max-width: 360px; margin: 0 auto; } }

/* ---------- About ---------- */
.sn-about { text-align: center; }
.sn-about-text { font-family: var(--fn-serif); font-size: clamp(23px, 2.6vw, 32px) !important; line-height: 1.35; letter-spacing: -.01em; margin-top: 18px !important; margin-bottom: 18px !important; }

/* ---------- Single post ---------- */
.sn-post-title { font-size: clamp(36px, 4.6vw, 58px) !important; line-height: 1.08 !important; margin: 14px 0 18px !important; }
.sn-archive-title { font-size: clamp(40px, 6vw, 72px) !important; line-height: 1.05 !important; margin: 10px 0 14px !important; }
.sn-meta { font-size: 14px; color: var(--fn-muted); }
.sn-meta p { margin: 0; }
.sn-byline { font-weight: 600; color: var(--fn-ink); }
.is-style-disclosure { font-size: 13.5px !important; line-height: 1.6; color: var(--fn-muted); background: #fff; border: 1px solid var(--fn-line); border-radius: 14px; padding: 12px 16px; }
.sn-entry { max-width: 740px; }
.sn-entry > * + * { margin-top: 24px; }
.sn-entry h2 { font-size: clamp(26px, 2.8vw, 32px); margin-top: 1.7em; }
.sn-entry h3 { margin-top: 1.4em; }
.sn-entry .wp-block-image img { border-radius: 20px; }
.sn-entry .wp-block-image.is-style-arch img { border-radius: var(--fn-arch); }
.sn-entry li { margin-bottom: 6px; }

/* Numbered idea headings: 01, 02, 03 … */
.wp-block-post-content { counter-reset: sn-idea; }
h2.is-style-numbered { counter-increment: sn-idea; display: flex; gap: 16px; align-items: baseline; }
h2.is-style-numbered::before { content: counter(sn-idea, decimal-leading-zero); font-style: italic; font-size: .85em; line-height: 1; color: var(--fn-sage); flex-shrink: 0; }

/* Table of contents */
.sn-toc { background: #fff; border: 1px solid var(--fn-line); border-radius: 22px; padding: 24px 26px; }
.sn-toc ol { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 11px; counter-reset: toc; }
.sn-toc li { counter-increment: toc; }
.sn-toc a { display: flex; gap: 12px; font-weight: 500; font-size: 15px; line-height: 1.45; color: var(--fn-ink); text-decoration: none; transition: color .2s; }
.sn-toc a::before { content: counter(toc, decimal-leading-zero); flex: 0 0 1.6em; font-family: var(--fn-serif); font-style: italic; color: var(--fn-sage); }
.sn-toc a:hover { color: var(--fn-sage-deep); }
.sn-toc:not(.is-filled) { display: none; }
.sn-toc.is-inline { margin: 0 0 32px; }
@media (min-width: 1000px) { .sn-sidebar-sticky { position: sticky; top: 24px; } }
.sn-side-signup .sn-form { flex-direction: column; }
.sn-side-signup .sn-form input[type="email"], .sn-side-signup .sn-form button { flex: none; width: 100%; }

/* Article components (the pipeline uses these class names) */
.sn-tip { position: relative; background: var(--fn-soft); border-radius: 22px; padding: 24px 28px !important; border-left: 0; }
.sn-tip p { margin: 0; color: var(--fn-ink); }
.sn-tip .sn-script { margin-bottom: 6px; font-size: 21px; }
.sn-tip p:not(.sn-script) { font-size: 17px; line-height: 1.65; }
.sn-tip.sn-affiliate { background: var(--fn-sand); }
.sn-related-link { margin: 28px 0 !important; padding: 14px 20px; border-left: 2px solid var(--fn-sage); background: #fff; border-radius: 0 14px 14px 0; font-size: .95em; }
.sn-related-link strong { color: var(--fn-ink); margin-right: 4px; font-weight: 600; }
.sn-related-link a { color: var(--fn-sage-deep); }
.sn-shop-link { margin: 6px 0 26px !important; font-size: 15px; line-height: 1.3; }
.sn-shop-link strong { display: block; margin-bottom: 8px; font-family: var(--fn-serif); font-style: italic; font-weight: 400; font-size: 18px; line-height: 1.2; color: var(--fn-sage-deep); }
.sn-shop-link a { display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px; border: 1px solid var(--fn-ink); border-radius: 999px; background: #fff; color: var(--fn-ink); font-weight: 500; text-decoration: none; transition: background .25s, color .25s; }
.sn-shop-link a::after { content: "\2192"; }
.sn-shop-link a:hover { background: var(--fn-ink); color: #fff; }
.sn-picks { background: var(--fn-soft); border-radius: 28px; padding: clamp(22px, 3vw, 34px) !important; }
.sn-picks h2, .sn-picks h3 { margin: 0; }
.sn-pick { background: #fff; border-radius: 20px; padding: 16px !important; height: 100%; box-sizing: border-box; }
.sn-pick .wp-block-image, .sn-product .wp-block-image { width: 100%; margin: 0; }
.sn-pick .wp-block-image img, .sn-product .wp-block-image img { width: 100%; }
.sn-pick .wp-block-image img { border-radius: 14px; aspect-ratio: 1 / 1; object-fit: cover; background: var(--fn-cream); }
.sn-pick .sn-badge { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; background: var(--fn-ink); color: #fff; margin: 0; }
.sn-pick .sn-badge.is-budget { background: var(--fn-sand); color: var(--fn-ink); }
.sn-pick .sn-badge.is-renter { background: var(--fn-soft); color: var(--fn-ink); }
.sn-pick .wp-block-button, .sn-pick .wp-block-button__link { width: 100%; text-align: center; }
@media (max-width: 600px) {
	.sn-pick { display: grid !important; grid-template-columns: 84px 1fr; column-gap: 14px; row-gap: 4px; align-items: center; height: auto; }
	.sn-pick > .wp-block-image { grid-row: 1 / span 2; width: 84px; }
	.sn-pick > .sn-badge { align-self: end; justify-self: start; }
	.sn-pick > p:not(.sn-badge) { align-self: start; margin: 0; }
	.sn-pick > .wp-block-buttons { grid-column: 1 / -1; margin-top: 10px; }
}
.sn-product { background: #fff; border: 1px solid var(--fn-line); border-radius: 24px; padding: 22px !important; }
.sn-product .wp-block-image img { border-radius: 16px; aspect-ratio: 1 / 1.05; object-fit: cover; }
.sn-product h3 { font-size: 22px; margin: 0; }
.sn-product ul { margin: 0; padding-left: 20px; font-size: 15px; line-height: 1.6; color: var(--fn-muted); }
.sn-product .wp-block-buttons { flex-direction: column; align-items: stretch; }
.sn-product .wp-block-button, .sn-product .wp-block-button__link { width: 100%; text-align: center; }

/* ---------- Footer ---------- */
.sn-footer { background: var(--fn-sand); margin-top: clamp(32px, 5vw, 64px) !important; padding: clamp(44px, 6vw, 72px) clamp(16px, 3vw, 24px) 0 !important; }
.sn-footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.sn-footer-intro .sn-logo { font-size: 28px; display: inline-block; margin-bottom: 14px; }
.sn-footer-intro p { max-width: 24em; margin: 0; font-size: 16px; }
.sn-footer-col { display: flex; flex-direction: column; gap: 10px; }
.sn-footer-col a { color: var(--fn-ink); text-decoration: none; font-size: 15px; }
.sn-footer-col a:hover { color: var(--fn-sage-deep); text-decoration: underline; }
.sn-footer-label { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fn-sage-deep); margin: 0 0 4px; }
.sn-footer-bottom { border-top: 1px solid #DDD3C3; padding-block: 22px; }
.sn-footer-bottom p { font-size: 13px; line-height: 1.6; color: var(--fn-muted); margin: 0; }
.sn-footer-bottom a { color: var(--fn-muted); }
@media (max-width: 781px) {
	.sn-footer-top { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
	.sn-footer-intro { grid-column: 1 / -1; }
}

/* ---------- Motion (gentle) ---------- */
@keyframes sn-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.sn-rise { animation: sn-rise .9s var(--fn-ease) both; }
.sn-d1 { animation-delay: .1s; } .sn-d2 { animation-delay: .2s; } .sn-d3 { animation-delay: .3s; } .sn-d4 { animation-delay: .4s; }
@supports (animation-timeline: view()) {
	.sn-reveal { animation: sn-rise linear both; animation-timeline: view(); animation-range: entry 0% cover 22%; }
}
.editor-styles-wrapper .sn-rise, .editor-styles-wrapper .sn-reveal { animation: none !important; opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Small fixes ---------- */
.sn-keep:not(:has(.wp-block-post)) { display: none; }
@media (max-width: 781px) {
	.sn-sidebar-sticky .sn-side-signup { display: none; }
	.wp-block-post-terms a { display: inline-block; padding: 8px 0; }
}

/* Sign-up band inside a narrow column (pages): stack the form above the printable preview. */
.sn-signup { container-type: inline-size; }
@container (max-width: 820px) {
	.sn-signup-cols { flex-wrap: wrap !important; }
	.sn-signup-cols > .wp-block-column { flex-basis: 100% !important; }
	.sn-sheets { height: 300px; max-width: 380px; margin: 8px auto 0; }
}
