/**
 * Secret Boston V2 — base.css
 *
 * Design system foundation. Bold red identity, Archivo headings, Libre
 * Caslon body, square edges, no shadows, editorial grid. Every component
 * inherits from the custom properties defined here.
 *
 * Reference: Secret Boston Style Guide.
 * @package secret-boston-v2
 */

/* =========================================================================
 * TOKENS
 * ====================================================================== */
:root {
	/* Brand colors */
	--sb-red:        #ED1C24;
	--sb-black:      #111111;
	--sb-white:      #FFFFFF;
	--sb-paper:      #F4F1E8;
	--sb-grey:       #555555;
	--sb-border:     #D6D6D6;
	--sb-blue:       #1647D8;

	/* Semantic */
	--sb-bg:         var(--sb-paper);
	--sb-text:       #000000;
	--sb-text-muted: var(--sb-grey);
	--sb-accent:     var(--sb-red);

	/* Type */
	--sb-font-head: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--sb-font-body: 'Libre Caslon Text', Georgia, 'Times New Roman', serif;

	/* Type scale */
	--sb-fs-hero:    clamp(2.75rem, 6vw, 7.5rem);
	--sb-fs-h1:      clamp(2.25rem, 4.5vw, 4rem);
	--sb-fs-h2:      clamp(1.75rem, 3vw, 3rem);
	--sb-fs-h3:      1.25rem;
	--sb-fs-deck:    clamp(1.4rem, 2.2vw, 1.9rem);
	--sb-type-body:  1rem;
	--sb-fs-body:    var(--sb-type-body);
	--sb-fs-small:   0.9rem;
	--sb-fs-meta:    0.75rem;

	/* Approved text roles; page/article and 404 display scales stay unchanged. */
	--sb-type-intro: 1.25rem;
	--sb-type-card: 1.25rem;
	--sb-type-card-description: var(--sb-type-body);
	--sb-type-feature: clamp(2rem, 3.6vw, 3.25rem);
	--sb-type-section: clamp(1.75rem, 3vw, 2.375rem);
	--sb-type-control: 1rem;
	--sb-type-label: .75rem;
	--sb-type-meta: .875rem;
	--sb-type-search: 1.5rem;
	--sb-type-section-display: 3rem;
	--sb-type-lead: 1.5rem;
	--sb-type-support: 1.25rem;
	--sb-page-end: 80px;
	--sb-search-height: 50px;

	/* Line-height scale — change these to adjust rhythm sitewide */
	--sb-lh-tight:   1;       /* hero / display titles */
	--sb-lh-heading: 0.98;    /* h1–h4 section titles */
	--sb-lh-title:   1.05;    /* card + sub-titles */
	--sb-lh-body:    1.6;     /* default reading text */
	--sb-lh-deck:    1.4;     /* intro / deck copy */
	--sb-lh-prose:   1.55;    /* long-form article body */

	/* Spacing (8px base) */
	--sb-1: 8px;
	--sb-2: 16px;
	--sb-3: 24px;
	--sb-4: 32px;
	--sb-6: 48px;
	--sb-8: 64px;
	--sb-12: 96px;
	--sb-16: 128px;

	/* Layout */
	--sb-maxw: 1200px;
	--sb-measure: 680px;
	--sb-gutter: 24px;
	--sb-margin: clamp(20px, 4vw, 56px);

	--sb-border-line: 1px solid rgba(17, 17, 17, 0.14);
	--sb-border-hair: 1px solid var(--sb-border);
}

/* =========================================================================
 * BASE
 * ====================================================================== */
html, body { margin: 0; }
body.secret-boston-v2 {
	background: var(--sb-bg);
	color: var(--sb-text);
	font-family: var(--sb-font-body);
	font-size: var(--sb-fs-body);
	line-height: var(--sb-lh-body);
	-webkit-font-smoothing: antialiased;
}

/* Prevent any element from pushing the page sideways */
html, body.secret-boston-v2 { overflow-x: hidden; max-width: 100%; }
body.secret-boston-v2 img, body.secret-boston-v2 iframe, body.secret-boston-v2 video, body.secret-boston-v2 embed { max-width: 100%; }

/* Heading defaults for sb- components. Wrapped in :where() so this rule carries
 * ZERO specificity from the scope — any component class (e.g. .sb-card__title)
 * overrides it naturally, with no !important needed. This is the fix for the
 * old specificity trap that forced !important on every spacing tweak. */
:where([class^="sb-"]) h1,
:where([class^="sb-"]) h2,
:where([class^="sb-"]) h3,
:where([class^="sb-"]) h4 {
	font-family: var(--sb-font-head);
	font-weight: 800;
	line-height: var(--sb-lh-heading);
	letter-spacing: -0.025em;
	margin: 0 0 var(--sb-2);
}

:where([class^="sb-"]) p { margin: 0 0 var(--sb-2); }

[class^="sb-"] a { color: inherit; text-decoration: none; }
[class^="sb-"] a:hover { color: var(--sb-red); }
/* Body copy links stay underlined; UI links do not. */
.sb-prose a { text-decoration: underline; text-underline-offset: 2px; }

/* =========================================================================
 * CONTAINERS + GRID
 * ====================================================================== */
.sb-container,
.sb-browse__container,
.sb-hub__container,
.sb-join__container {
	max-width: var(--sb-maxw);
	margin: 0 auto;
	padding: 0 var(--sb-margin);
}

/* =========================================================================
 * BUTTONS
 * ====================================================================== */
.sb-btn,
.sb-claim-btn--primary {
	display: inline-block;
	font-family: var(--sb-font-head);
	font-weight: 700;
	font-size: 0.94rem;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sb-white);
	background: var(--sb-red);
	border: 1px solid var(--sb-red);
	border-radius: 0;
	padding: 12px 20px;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.sb-btn:hover,
.sb-claim-btn--primary:hover {
	color: var(--sb-white);
	background: var(--sb-black);
	border-color: var(--sb-black);
}
/* Link-buttons must keep white text against the global UI-link color. */
a.sb-btn:not(.sb-btn--secondary), a.sb-btn:not(.sb-btn--secondary):hover { color: var(--sb-white); }
a.sb-btn--secondary { color: var(--sb-black); }
a.sb-btn--secondary:hover { color: var(--sb-white); }

.sb-btn--secondary {
	display: inline-block;
	font-family: var(--sb-font-head);
	font-weight: 700;
	font-size: 0.94rem;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sb-black);
	background: transparent;
	border: 1px solid var(--sb-black);
	border-radius: 0;
	padding: 12px 20px;
}
.sb-btn--secondary:hover { color: var(--sb-white); background: var(--sb-black); }

.sb-claim-btn--claimed,
.sb-claim-btn--disabled {
	display: inline-block;
	font-family: var(--sb-font-head);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.94rem;
	border-radius: 0;
	padding: 12px 20px;
	border: 1px solid var(--sb-border);
	background: var(--sb-paper);
	color: var(--sb-grey);
	cursor: not-allowed;
}
.sb-claim-msg { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); margin-top: var(--sb-1); }
.sb-claim-msg.is-error { color: var(--sb-red); }

/* =========================================================================
 * SECTION HEADERS
 * ====================================================================== */
.sb-browse__header,
.sb-hub__header { padding: var(--sb-4) 0 var(--sb-3); border-bottom: var(--sb-border-line); margin-bottom: var(--sb-4); }
.sb-browse__title,
.sb-hub__title { font-size: var(--sb-fs-h1); }
.sb-browse__sub,
.sb-hub__sub { font-family: var(--sb-font-body); font-size: var(--sb-fs-deck); color: var(--sb-grey); }

.sb-events__submit { flex: 0 0 auto; }

/* The Events Calendar (Photo view) — brand it */
.tribe-common {
	--tec-color-accent-primary: var(--sb-red) !important;
	--tec-color-accent-primary-hover: var(--sb-red) !important;
	--tec-color-accent-primary-active: var(--sb-red) !important;
	--tec-color-accent-primary-background: var(--sb-red) !important;
	--tec-color-link-accent: var(--sb-red) !important;
	--tec-color-link-accent-hover: var(--sb-red) !important;
	--tec-color-button-primary: var(--sb-red) !important;
	--tec-color-button-primary-hover: var(--sb-black) !important;
}
.tribe-events { max-width: var(--sb-maxw) !important; margin-left: auto !important; margin-right: auto !important; padding-left: var(--sb-margin) !important; padding-right: var(--sb-margin) !important; }
.tribe-common .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn-border { background-color: var(--sb-red) !important; border-color: var(--sb-red) !important; border-radius: 0 !important; color: var(--sb-white) !important; }
.tribe-common .tribe-common-c-btn:hover { background-color: var(--sb-black) !important; border-color: var(--sb-black) !important; }
.tribe-common .tribe-events-c-search__button { background-color: var(--sb-red) !important; border-color: var(--sb-black) !important; border-radius: 0 !important; color: var(--sb-white) !important; }
.tribe-common .tribe-events-c-search__button:hover { background-color: var(--sb-black) !important; border-color: var(--sb-red) !important; }
/* Keep the calendar inside Kadence's padded mobile content container. */
@media (max-width: 767px) {
	.tribe-events.tribe-events-view.alignwide { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
	.tribe-events .tribe-events-header { width: 100%; max-width: 100%; }
	.tribe-events .tribe-events-c-messages__message { overflow-wrap: anywhere; }
}
/* Approved event single composition. */

.sb-event-page{max-width:1200px;margin:auto;padding:40px 32px 80px;color:var(--sb-black,#111)}
.sb-event-page *{box-sizing:border-box}
.sb-event-page a{color:inherit;text-decoration:none}
.sb-event-page-back{font:700 14px var(--sb-font-head);margin-bottom:32px}
.sb-event-page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.sb-event-page-poster img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--sb-paper)}
.sb-event-page-summary{padding-top:8px}
.sb-event-page-kicker{font:700 12px var(--sb-font-head);letter-spacing:.12em;color:var(--sb-red);text-transform:uppercase;margin:0 0 12px}
.sb-event-page h1{font:700 52px/1.1 var(--sb-font-body);margin:0 0 32px;letter-spacing:-.025em}
.sb-event-page dl{margin:0}
.sb-event-page dl>div{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--sb-border)}
.sb-event-page dt{font:700 14px/1.5 var(--sb-font-head)}
.sb-event-page dd{margin:0;font:500 18px/1.5 var(--sb-font-head)}
.sb-event-page dd>span,.sb-event-page-address{display:block;font-size:16px;font-weight:400;color:var(--sb-grey)}
.sb-event-page .sb-event-page-directions{display:inline-block;font:400 14px var(--sb-font-head);text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.sb-event-page-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px;font:700 16px var(--sb-font-head)}
.sb-event-page .sb-event-page-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--sb-red);color:#fff;padding:16px 24px;min-height:50px;line-height:1.2;white-space:nowrap}
.sb-event-page .sb-event-page-primary:hover{background:var(--sb-black);color:#fff}
.sb-event-page-calendar{text-decoration:underline!important;text-underline-offset:5px}
.sb-event-page-tools{display:flex;gap:24px;margin-top:16px}
.sb-event-page-tools button{appearance:none;border:0;background:transparent;color:inherit;padding:8px 0;font:400 14px var(--sb-font-head);min-height:44px;cursor:pointer;box-shadow:none}
.sb-event-page-about{display:grid;grid-template-columns:1fr 2fr;gap:48px;border-top:1px solid var(--sb-border);margin-top:64px;padding-top:40px}
.sb-event-page-about h2{font:700 28px/1.2 var(--sb-font-head);margin:0}
.sb-event-page-prose{max-width:680px;font:400 20px/1.6 var(--sb-font-body)}
.sb-event-page-prose p{margin:0 0 24px}
.sb-event-page-prose p:has(> b:first-child),.sb-event-page-prose p:has(> strong:first-child){font:600 16px/1.5 var(--sb-font-head);margin-bottom:8px}
.sb-event-page-more{margin-top:64px}
.sb-event-page-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--sb-border);padding-bottom:24px;margin-bottom:24px;gap:24px}
.sb-event-page-heading h2{font:700 var(--sb-type-section-display)/1.1 var(--sb-font-head);margin:0;letter-spacing:-.025em}
.sb-event-page-heading a{font:700 14px var(--sb-font-head)}
.sb-event-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.sb-event-page-grid img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--sb-paper);display:block}
.sb-event-page-date{border-top:2px solid var(--sb-red);padding-top:12px;margin:16px 0 8px;font:700 14px var(--sb-font-head);color:var(--sb-red)}
.sb-event-page-grid h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font:700 var(--sb-type-support)/1.25 var(--sb-font-head);margin:0 0 8px}
.sb-event-page-time{font:400 14px/1.4 var(--sb-font-head);color:var(--sb-black);margin:0 0 4px}
.sb-event-page-venue{font:400 14px/1.4 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-event-page a:focus-visible,.sb-event-page button:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}
.sb-event-page .sb-event-page-primary:focus-visible{outline:3px solid var(--sb-black)}
@media(max-width:700px){.sb-event-page{padding:24px 20px 48px}
.sb-event-page-hero{grid-template-columns:1fr;gap:24px}
.sb-event-page h1{font-size:36px;margin-bottom:24px}
.sb-event-page-summary{padding:0}
.sb-event-page-back{margin-bottom:24px}
.sb-event-page-about{grid-template-columns:1fr;gap:24px;margin-top:40px;padding-top:32px}
.sb-event-page-prose{font-size:18px}
.sb-event-page-about h2{font-size:24px}
.sb-event-page-more{margin-top:40px}
.sb-event-page-heading h2{font-size:32px}
.sb-event-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.sb-event-page-grid h3{font-size:18px}
.sb-event-page-heading{align-items:center}
.sb-event-page-heading a{font-size:12px;white-space:nowrap}
}

.sb-event-page-hero--no-image{grid-template-columns:1fr;max-width:680px}

.sb-event-page-address span{display:inline}

.sb-event-page-tools .sb-save{position:static;width:auto;height:auto;display:inline-flex;align-items:center;gap:8px;border-radius:0;background:transparent;color:var(--sb-black);overflow:visible}

.sb-event-page-tools :is(.sb-save,.sb-event-page-share):hover{background:transparent;color:var(--sb-red)}

.sb-event-page-tools :is(.sb-save,.sb-event-page-share):focus-visible{background:transparent;outline:3px solid var(--sb-red)}

.sb-event-page-tools .sb-save svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}

.sb-event-page-tools .sb-save::after{content:'Save event'}

.sb-event-page-tools .sb-save[aria-pressed="true"]::after{content:'Saved'}

.sb-event-page-tools .sb-save[aria-pressed="true"] svg{fill:currentColor}

.sb-event-page-prose :is(h2,h3,h4){font-family:var(--sb-font-head);font-weight:700;line-height:1.25;margin:32px 0 16px}

.sb-event-page-prose h2{font-size:28px}
.sb-event-page-prose h3{font-size:24px}
.sb-event-page-prose h4{font-size:20px}

.sb-event-page-prose a{text-decoration:underline;text-underline-offset:3px}

.sb-event-page-prose img{max-width:100%;height:auto}

.sb-event-page :is(h1,h2,h3,dd){overflow-wrap:anywhere}

/* Kill the focus border on Photo view / related images */
.tribe-common .tribe-events-pro-photo__event a:focus,
.tribe-common .tribe-events-pro-photo__event a:focus-visible,
.tribe-common .tribe-events-pro-photo__event a:focus img { outline: none !important; box-shadow: none !important; border: 0 !important; }

/* Photo view: square cropped tiles (aspect-ratio on the image itself,
   so it works regardless of TEC's wrapper class name). Event-detail
   posters stay contain so full artwork remains visible. */
.tribe-common .tribe-events-pro-photo__event img,
.tribe-common .tribe-events-pro-photo__event-featured-image {
	aspect-ratio: 1 !important;
	width: 100% !important;
	height: auto !important;
	object-fit: cover !important;
	display: block !important;
}
.tribe-common .tribe-events-pro-photo__event-featured-image-wrapper,
.tribe-common .tribe-events-pro-photo__event-image-wrapper { height: auto !important; padding: 0 !important; overflow: hidden !important; }

.tribe-common .sb-events__topbar { display: flex; align-items: center; justify-content: flex-end; gap: var(--sb-3); flex-wrap: wrap; margin: var(--sb-4) 0 var(--sb-3); }
/* TEC controls are deliberately scoped plugin overrides. */
.tribe-common a.sb-events__submit,
.tribe-common .tribe-events-c-subscribe-dropdown__button {
 font: 700 var(--sb-type-control)/1.4 var(--sb-font-head) !important;
 color: var(--sb-black) !important; background: transparent !important;
 border: 1px solid var(--sb-black) !important; border-radius: 0 !important;
 padding: 12px 20px !important;
}
.tribe-common :is(a.sb-events__submit,.tribe-events-c-subscribe-dropdown__button):hover { background: var(--sb-black) !important; color: var(--sb-white) !important; }
.tribe-common .tribe-events-c-subscribe-dropdown__button-text { color: inherit !important; }
.tribe-common .tribe-events-pro-photo__event-title { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; font: 700 var(--sb-type-card)/1.18 var(--sb-font-head) !important; order: 0 !important; }
.tribe-common .tribe-events-pro-photo__event-datetime { font: 400 var(--sb-type-meta)/1.3 var(--sb-font-head) !important; order: 1 !important; color: var(--sb-grey); margin: 0 0 3px !important; }
.tribe-common .sb-event-card-location { order: 2 !important; margin: 0; font: 400 var(--sb-type-meta)/1.3 var(--sb-font-head); color: var(--sb-grey); }
.tribe-common .tribe-events-pro-photo__event-date-tag-month { font: 700 var(--sb-type-label)/1.4 var(--sb-font-head); }
.tribe-common .tribe-events-pro-photo__event-date-tag-daynum { font-family: var(--sb-font-head); font-weight: 700; }
.tribe-common .tribe-events-c-top-bar__datepicker-button { font: 400 24px/1.4 var(--sb-font-head) !important; }
.tribe-common .tribe-events-c-nav a, .tribe-common .tribe-events-c-nav button { font: 700 var(--sb-type-control)/1.4 var(--sb-font-head); color: var(--sb-black); }
.tribe-common :is(.tribe-events-c-search__input,.tribe-events-c-search__button,.tribe-events-c-view-selector__button) { font-family: var(--sb-font-head) !important; font-size: var(--sb-type-control) !important; }
.tribe-common .tribe-events-c-search__input-control { padding-top: 8px; padding-bottom: 8px; }
.tribe-common .tribe-events-header__content-title h1 { position: static !important; clip: auto !important; clip-path: none !important; width: auto !important; height: auto !important; overflow: visible !important; white-space: normal !important; margin: 0; font: 700 var(--sb-fs-h1)/1 var(--sb-font-body); }
.tribe-common .tribe-events-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.tribe-common .tribe-events-header > * { grid-column: 1 / -1; min-width: 0; }
.tribe-common .tribe-events-header > .tribe-events-header__content-title { grid-column: 1; grid-row: 1; margin: 0; }
.tribe-common .tribe-events-header > .sb-events__topbar { grid-column: 2; grid-row: 1; margin: 0; }
.tribe-common .tribe-events-header__events-bar { clear: both; margin-top: var(--sb-4); }

/* =========================================================================
 * CARDS — square, no shadow, editorial
 * ====================================================================== */
.sb-rec-grid,
.sb-card-grid,
.sb-hub__opp-grid,
.sb-opp-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--sb-4) var(--sb-gutter);
}

.sb-rec-card, .sb-card, .sb-opp-card { list-style: none; }

/* Places filter bar — labels above each control, uniform, elegant */
.sb-filterbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sb-3) var(--sb-4); padding: 0 0 var(--sb-4); margin: 0 0 var(--sb-6); border-bottom: var(--sb-border-line); }
.sb-filterbar__item { display: flex; flex-direction: column; gap: 7px; }
.sb-filterbar__label { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; font-size: var(--sb-fs-meta); color: var(--sb-grey); }
.sb-filterbar .facetwp-facet { margin: 0 !important; }
.sb-filterbar select, .sb-filterbar .facetwp-dropdown { font-family: var(--sb-font-head); font-weight: 600; font-size: var(--sb-fs-small); min-width: 158px; padding: 10px 34px 10px 14px; border: 1px solid rgba(17,17,17,0.22); border-radius: 0; background: var(--sb-white); color: var(--sb-black); cursor: pointer; transition: border-color 0.15s ease; }
.sb-filterbar select:hover, .sb-filterbar .facetwp-dropdown:hover { border-color: var(--sb-black); }
.sb-filterbar__search { margin: 0 0 var(--sb-4); max-width: 400px; }
.sb-filterbar__search .facetwp-facet, .sb-filterbar__search .facetwp-search { width: 100%; margin: 0 !important; position: relative; }
.sb-filterbar__search .facetwp-search input { font-family: var(--sb-font-head); font-weight: 600; font-size: var(--sb-fs-small); width: 100%; padding: 11px 14px 11px 40px; border: 1px solid rgba(17,17,17,0.22); border-radius: 0; background-color: var(--sb-white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 13px center; background-size: 16px 16px; color: var(--sb-black); transition: border-color 0.15s ease; box-sizing: border-box; }
.sb-filterbar__search .facetwp-search input::placeholder { color: var(--sb-grey); font-weight: 500; }
.sb-filterbar__search .facetwp-search input:hover, .sb-filterbar__search .facetwp-search input:focus { border-color: var(--sb-black); outline: none; }
.sb-filterbar__search .facetwp-search .facetwp-icon { display: none; }
.sb-filterbar__reset { align-self: flex-end; padding-bottom: 11px; }
.sb-filterbar__reset .facetwp-reset, .sb-filterbar__reset a { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--sb-fs-meta); color: var(--sb-red); cursor: pointer; text-decoration: none; }
.sb-filterbar__reset a:hover { text-decoration: underline; }
.sb-filterbar__fixed-value { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--sb-border); background: var(--sb-white); font: 400 var(--sb-type-control)/1.4 var(--sb-font-head); color: var(--sb-black); }
.sb-filterbar__fixed-value small { flex: 0 0 auto; font: 400 var(--sb-type-meta)/1.4 var(--sb-font-head); color: var(--sb-grey); }

/* Load more (FacetWP pager) */
.sb-browse__loadmore { margin-top: var(--sb-4); display: flex; justify-content: center; }
.sb-browse__loadmore .facetwp-load-more { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: var(--sb-fs-small); color: var(--sb-black); background: transparent; border: 1px solid var(--sb-black); border-radius: 0; padding: 14px 32px; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.sb-browse__loadmore .facetwp-load-more:hover { background: var(--sb-black); color: var(--sb-white); }
.sb-browse__loadmore .facetwp-load-more.facetwp-loading { opacity: 0.6; pointer-events: none; }

/* Archive pagination — square, brand colors */
.sb-browse__pagination { margin-top: var(--sb-4); }
.sb-browse__pagination .nav-links { justify-content: center; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sb-browse__pagination .page-numbers { box-sizing: border-box; font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-fs-small); min-width: 44px; min-height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sb-black); color: var(--sb-black); text-decoration: none; background: transparent; border-radius: 0; }
.sb-browse__pagination a.page-numbers:hover { background: var(--sb-black); color: var(--sb-white); }
.sb-browse__pagination .page-numbers.current { background: var(--sb-red); border-color: var(--sb-red); color: var(--sb-white); }
.sb-browse__pagination .page-numbers.dots { border: 0; min-width: auto; padding: 0 4px; }
.sb-browse__pagination .page-numbers.next, .sb-browse__pagination .page-numbers.prev { text-transform: none; letter-spacing: 0.03em; }

/* The Move — sentence-builder */

.sb-move__intro { font-family: var(--sb-font-body); font-size: var(--sb-type-intro); line-height: var(--sb-lh-deck); color: var(--sb-grey); max-width: 34rem; margin: 0 auto var(--sb-8); }
.sb-move__sentence { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 14px; font-family: var(--sb-font-body); font-style: italic; font-size: var(--sb-fs-deck); color: var(--sb-grey); }
.sb-move__group { display: inline-flex; align-items: center; gap: 14px; }
.sb-move__select { font-family: var(--sb-font-head); font-weight: 700; font-style: normal; font-size: 1.05rem; color: var(--sb-black); background-color: var(--sb-white); border: 2px solid var(--sb-black); border-radius: 0; padding: 12px 42px 12px 16px; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23111111' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; }
.sb-move__select:hover { border-color: var(--sb-red); }
.sb-move__actions { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; margin: var(--sb-5) 0 0; }
.sb-move__actions[hidden] { display: none; }
.sb-move__go { display: inline-block; margin: 0; font-size: 1.05rem; padding: 16px 48px; }
/* The Move — result (search grid: a set of matching spots) */
.sb-move__result { position: relative; margin: var(--sb-8) auto 0; text-align: left; }
.sb-move__result.is-refining { opacity: .55; pointer-events: none; transition: opacity .15s ease; }
.sb-move__loading { margin: 1rem 0; color: var(--sb-grey); font-style: italic; text-align: center; font-family: var(--sb-font-body); }
.sb-move__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--sb-6) var(--sb-4); }
.sb-move__card { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.sb-move__card-media { position: relative; display: block; }
.sb-move__card-img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sb-sand, #e9e4d8); border-radius: 2px; }
.sb-move__card-img.is-empty { background: repeating-linear-gradient(135deg, #ece7db, #ece7db 12px, #e4dece 12px, #e4dece 24px); }
.sb-move__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.sb-move__card-img:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 4px; }
.sb-move__card:hover .sb-move__card-img img { transform: scale(1.04); }
.sb-move__card-body { display: block; padding-top: 14px; }
.sb-move__card-title { display: block; font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-type-card); line-height: 1.25; margin: 0 0 6px; color: var(--sb-black); }
.sb-move__card-title:focus-visible { color: var(--sb-red); outline: 2px solid var(--sb-red); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
	.sb-move__card:hover .sb-move__card-title { color: var(--sb-red); }
}
.sb-move__card-meta { display: block; font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-grey); line-height: 1.25; margin: 0 0 9px; }
.sb-move__card-vibes { display: flex; flex-wrap: wrap; gap: 5px; }
.sb-move__card-vibe { font-family: var(--sb-font-head); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.62rem; color: var(--sb-black); background: var(--sb-paper, #f4f1e8); padding: 2px 7px; border-radius: 999px; }
.sb-move__browse { text-align: center; margin: var(--sb-4) 0 0; font-family: var(--sb-font-head); font-weight: 600; text-transform: none; letter-spacing: 0; font-size: var(--sb-fs-small); line-height: 1.5; color: var(--sb-grey); }
.sb-move__browse a { text-decoration: underline; text-underline-offset: 0.22em; color: var(--sb-black); }
.sb-move__browse a:hover { color: var(--sb-red); }
.sb-move__empty { text-align: center; font-family: var(--sb-font-body); font-size: 1.05rem; }
.sb-move__footer { display: block; margin-top: 24px; text-align: center; }
.sb-move__next-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.sb-move__again { font: inherit; cursor: pointer; }
.sb-move-form :is(.sb-move__go,.sb-move__again,.sb-move__change,.sb-move__browse-link) { font-family: var(--sb-font-head); font-weight: 700; text-transform: none; letter-spacing: 0; }
.sb-move-form :is(.sb-move__again,.sb-move__change,.sb-move__browse-link) { font: 700 16px/1.4 var(--sb-font-head); }
.sb-move-form :is(.sb-move__again,.sb-move__change) { min-height: 52px; padding: 0 24px; border-radius: 0; }
.sb-move-form .sb-move__go,
.sb-move-form--has-results:not(.sb-move-form--dirty) .sb-move__again,
.sb-move-form--dirty .sb-move__go { background: var(--sb-red); border-color: var(--sb-red); color: var(--sb-white); }
.sb-move__change,
.sb-move-form--dirty .sb-move__again { border: 1px solid var(--sb-black); background: var(--sb-white); color: var(--sb-black); cursor: pointer; }
.sb-move__change:hover,
.sb-move__change:focus,
.sb-move-form--dirty .sb-move__again:hover,
.sb-move-form--dirty .sb-move__again:focus { background: var(--sb-white); border-color: var(--sb-red); color: var(--sb-red); }
.sb-move-form :is(.sb-move__go,.sb-move__again,.sb-move__change,.sb-move__browse-link):focus-visible { outline: 2px solid var(--sb-red); outline-offset: 4px; }
.sb-move__browse-link { display: inline; min-height: 0; color: var(--sb-black); text-decoration: underline; text-underline-offset: 0.22em; }
.sb-move__browse-link:hover { color: var(--sb-red); }
.sb-move__action-status { margin: var(--sb-3) auto 0; max-width: 34rem; font-family: var(--sb-font-head); font-size: var(--sb-fs-small); line-height: 1.45; color: var(--sb-grey); text-align: center; }
.sb-move__refine-note { margin: 0 auto var(--sb-3); max-width: 34rem; font-family: var(--sb-font-head); font-size: var(--sb-fs-small); line-height: 1.45; color: var(--sb-grey); text-align: center; }
.sb-move__refine-note[hidden] { display: none; }
.sb-move-form { text-align: center; }
.sb-move--home { background: var(--sb-white); padding-top: var(--sb-12); padding-bottom: var(--sb-12); }

/* Free account (create / sign in) */
.sb-account { max-width: 440px; margin: 0 auto; padding: var(--sb-12) var(--sb-margin) var(--sb-16); }
.sb-account--split { max-width: 1000px; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: var(--sb-12); align-items: center; padding: var(--sb-16) var(--sb-margin); }
.sb-account__kicker { font-family: var(--sb-font-head); font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; font-size: var(--sb-fs-small); color: var(--sb-red); margin: 0 0 var(--sb-1); }
.sb-account__title { font-family: var(--sb-font-body); font-weight: 700; font-size: var(--sb-fs-h1); line-height: var(--sb-lh-heading); letter-spacing: -0.02em; margin: 0 0 var(--sb-3); }
.sb-account__sub { font-family: var(--sb-font-body); font-size: var(--sb-type-intro); line-height: 1.4; color: var(--sb-grey); max-width: 30ch; margin: 0; }
@media (max-width: 760px) { .sb-account--split { grid-template-columns: 1fr; gap: var(--sb-6); max-width: 460px; padding-top: var(--sb-6); padding-bottom: var(--sb-8); } }
.sb-account__error { font-family: var(--sb-font-head); font-weight: 600; font-size: var(--sb-fs-small); color: var(--sb-red); background: rgba(237,28,36,0.08); padding: 12px 14px; margin: 0 0 var(--sb-4); }
.sb-account__card { background: var(--sb-white); padding: var(--sb-6); }
.sb-account__form { display: flex; flex-direction: column; gap: var(--sb-3); }
.sb-account__label { display: flex; flex-direction: column; gap: 6px; font-family: var(--sb-font-head); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-meta); color: var(--sb-grey); }
.sb-account__label input { font-family: var(--sb-font-head); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-control); color: var(--sb-black); padding: 12px 14px; border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-paper);  line-height: 1.4; }
.sb-account__submit { width: 100%; margin-top: var(--sb-2); }
.sb-account__switch { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-grey); text-align: center; margin: var(--sb-2) 0 0; }
.sb-account__switch a { color: var(--sb-black); text-decoration: underline; }
.sb-account__toggle { background: none; border: 0; padding: 0; font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-black); text-decoration: underline; cursor: pointer; }
.sb-account__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Saved page — signed-out gate */
.sb-saved__gate { max-width: 540px; }
.sb-saved__gate-copy { font-family: var(--sb-font-body); font-size: var(--sb-fs-deck); line-height: var(--sb-lh-deck); color: var(--sb-grey); margin: 0 0 var(--sb-4); }
.sb-saved__gate-actions { display: flex; flex-wrap: wrap; gap: var(--sb-2); }

@media (max-width: 620px) {  .sb-move__sentence { font-size: 1.2rem; } .sb-move__select { font-size: 1rem; } }

/* Featured lead card (archive page 1) */
.sb-lead { display: grid; grid-template-columns: 1.35fr 1fr; gap: var(--sb-6); align-items: center; text-decoration: none; color: inherit; margin: 0 0 var(--sb-8); }
.sb-lead__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.sb-lead__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-lead__title { display: block; font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-type-feature); line-height: 1.1; letter-spacing: -0.03em; margin-top: var(--sb-1); }
.sb-lead:hover .sb-lead__title { color: var(--sb-red); }
@media (max-width: 782px) { .sb-lead { grid-template-columns: 1fr; gap: var(--sb-3); margin-bottom: var(--sb-6); } }

.sb-rec-card__image, .sb-card__image {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 0;
}
.sb-rec-card__image img, .sb-card__image img {
	width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
}
.sb-browse--recommendations .sb-rec-card__image {
	aspect-ratio: 4 / 3;
}
.sb-browse--recommendations .sb-rec-card__image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
}

/* Category / partner label */
.sb-rec-card__badge {
	position: absolute; top: 0; left: 0;
	background: var(--sb-red); color: var(--sb-white);
	font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-fs-meta);
	text-transform: uppercase; letter-spacing: 0.03em;
	padding: 4px 8px; border-radius: 0;
}

/* Multi-location count pill */
.sb-rec-card__locs {
	position: absolute; left: 8px; bottom: 8px; z-index: 4;
	background: rgba(0,0,0,0.72); color: var(--sb-white);
	font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-fs-meta);
	text-transform: uppercase; letter-spacing: 0.03em; padding: 3px 8px;
}

/* Single: locations selector */
.sb-locations { margin: 0 0 24px; }
.sb-locations__title { font-family: var(--sb-font-head); font-size: var(--sb-fs-meta); text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 10px; }
.sb-locations__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sb-locations__item a, .sb-locations__item span { display: inline-block; font-size: 0.9rem; padding: 5px 11px; border: 1px solid var(--sb-border); border-radius: 999px; text-decoration: none; }
.sb-locations__item.is-current span { background: var(--sb-black); color: var(--sb-white); border-color: var(--sb-black); }

/* =========================================================================
 * CARD CONTENT — one rule per thing, no conflicts, no !important
 * ====================================================================== */

/* Title (Archivo, tight) */
.sb-rec-card__title, .sb-card__title {
	font-family: var(--sb-font-head); font-size: var(--sb-type-card); font-weight: 700; line-height: 1.2; margin: 0 0 4px;
}
.sb-rec-card__title { font-size: var(--sb-type-card); }
.sb-rec-card__title a, .sb-card__title a { text-decoration: none; }
.sb-rec-card__title a:hover, .sb-card__title a:hover { color: var(--sb-red); }

/* Meta line (neighborhood · cuisine, venue, dates) */
.sb-rec-card__meta, .sb-card__type {
	font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-grey); line-height: 1.25; margin: 0 0 7px;
}
.sb-card__type {
	text-transform: uppercase; letter-spacing: 0.03em; font-size: var(--sb-fs-meta); color: var(--sb-red); margin-bottom: 4px;
}
.sb-card__excerpt {
	font-family: var(--sb-font-body); font-size: 0.95rem; line-height: var(--sb-lh-prose); color: var(--sb-grey); margin: 6px 0 0;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Body */
.sb-card__body, .sb-rec-card__body { padding-top: 10px; }
.sb-card__body > :first-child, .sb-rec-card__body > :first-child { margin-top: 0; }

/* Vibe chips */
.sb-rec-card__vibes { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.sb-rec-card__vibe {
	font-family: var(--sb-font-head); font-size: 0.58rem; letter-spacing: 0.05em; text-transform: uppercase;
	color: var(--sb-grey); border: var(--sb-border-hair); border-radius: 0; padding: 3px 7px;
}
.sb-rec-card__perk { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-blue); margin-top: var(--sb-1); }
.sb-rec-card__perk-label { font-weight: 700; }

/* =========================================================================
 * PLACES ARCHIVE
 * ====================================================================== */
.sb-browse--recommendations .sb-browse__header { border-bottom: 0; padding: var(--sb-6) 0 var(--sb-4); margin-bottom: var(--sb-4); }
.sb-browse--recommendations .sb-rec-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--sb-6) var(--sb-4); }
@media (max-width: 520px) { .sb-browse--recommendations .sb-rec-grid { grid-template-columns: 1fr; } }
.sb-places-view { display: inline-flex; border: 1px solid var(--sb-black); font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: var(--sb-fs-small); letter-spacing: 0.04em; }
.sb-places-view__link { padding: 9px 16px; transition: background 0.15s ease, color 0.15s ease; }
.sb-places-view__link + .sb-places-view__link { border-left: 1px solid var(--sb-black); }
.sb-places-view__link:hover, .sb-places-view__link.is-active { background: var(--sb-black); color: var(--sb-white); }

/* =========================================================================
 * BROWSE LAYOUT + FACETS
 * ====================================================================== */

.facetwp-facet { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); }

/* =========================================================================
 * MAP
 * ====================================================================== */
.sb-places-map { margin-top: var(--sb-4); }
.sb-places-map[hidden] { display: none; }
.sb-map { width: 100%; height: min(70vh, 720px); min-height: 480px; border: var(--sb-border-line); }
.sb-map__summary { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-grey); margin: 0 0 var(--sb-2); }

.sb-single-opp__back a { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: var(--sb-fs-small); }
@media (max-width: 600px) { .sb-map { height: 68vh; min-height: 360px; } }
.sb-map-pop { width: 220px; }
.sb-map-pop--card { display: block; text-decoration: none; color: var(--sb-black); }
.sb-map-pop__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sb-sand, #e9e4d8); }
.sb-map-pop__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-map-pop__body { display: block; padding: 10px 2px 2px; }
.sb-map-pop__title { display: block; font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-type-card); color: var(--sb-black); line-height: 1.2; margin: 0 0 4px; text-decoration: none; }
.sb-map-pop--card:hover .sb-map-pop__title { color: var(--sb-red); }
.sb-map-pop__meta { display: block; font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-grey); margin: 0 0 6px; }
.sb-map-pop__vibes { display: flex; flex-wrap: wrap; gap: 5px; }
.sb-map-pop__vibe { font-family: var(--sb-font-head); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.6rem; color: var(--sb-black); background: var(--sb-paper); padding: 2px 7px; border-radius: 999px; }

/* =========================================================================
 * RESPONSIVE
 * ====================================================================== */
@media (max-width: 782px) {
	
	.sb-rec-grid, .sb-card-grid, .sb-hub__opp-grid, .sb-opp-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--sb-3) var(--sb-2); }
}

/* =========================================================================
 * SINGLE PAGES
 * ====================================================================== */
.sb-single__hero { position: relative; width: 100%; max-height: 68vh; overflow: hidden; border-bottom: var(--sb-border-line); }
.sb-single__hero img { width: 100%; height: 100%; max-height: 68vh; object-fit: cover; display: block; }
.sb-single__hero--captioned { max-height: none; overflow: visible; border-bottom: 0; }
.sb-place-find { border-bottom: var(--sb-border-line); background: var(--sb-paper); }
.sb-place-find__inner { max-width: none; margin: 0; padding: 6px 32px 8px; }
.sb-place-find__form { display: grid; grid-template-columns: minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(180px,0.95fr) auto; gap: 16px; align-items: end; min-width: 0; }
.sb-place-find .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.sb-place-find__field { min-width: 0; }
.sb-place-find__search,
.sb-place-find__field select,
.sb-place-find__submit { min-height: 38px; border-radius: 0; font-family: var(--sb-font-head); box-sizing: border-box; }
.sb-place-find__search,
.sb-place-find__field select { width: 100%; border: 1px solid rgba(17,17,17,.24); background: var(--sb-white); color: var(--sb-black); font-size: 13px; font-weight: 500; padding: 6px 10px; }
.sb-place-find__field select { cursor: pointer; }
.sb-place-find__search:focus,
.sb-place-find__field select:focus,
.sb-place-find__submit:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 2px; }
.sb-place-find__submit { cursor: pointer; width: 104px; border: 1px solid var(--sb-red); background: var(--sb-red); color: var(--sb-white); font-size: 14px; font-weight: 700; padding: 6px 12px; }
.sb-place-find__submit:hover { background: var(--sb-black); border-color: var(--sb-black); }
/* The bar is styled at every width but only shown below the breakpoint, so the
   noscript fallback can reveal a properly formed bar on desktop too. */
.sb-place-find__summary { display: none; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; cursor: pointer; list-style: none; font: 700 14px/1.2 var(--sb-font-head); letter-spacing: .02em; text-transform: uppercase; color: var(--sb-black); }
.sb-place-find__summary::-webkit-details-marker { display: none; }
.sb-place-find__summary::after { content: '+'; font-size: 22px; font-weight: 400; line-height: 1; }
.sb-place-find__collapse[open] .sb-place-find__summary::after { content: '\2212'; }
.sb-place-find__summary:focus-visible { outline: 2px solid var(--sb-red); outline-offset: -2px; }
@media (max-width: 720px) {
	.sb-place-find__inner { padding: 12px var(--sb-margin); }
	.sb-place-find__form { grid-template-columns: 1fr; gap: 10px; }
	.sb-place-find__search,
	.sb-place-find__field select { min-height: 44px; font-size: 15px; padding: 8px 12px; }
	.sb-place-find__submit { width: 100%; min-height: 44px; font-size: 15px; }
	/* Stacked, the five controls fill the whole first screen before the Place
	   cover, so on phones the module rests as a single bar. */
	.sb-place-find__inner { padding-top: 0; padding-bottom: 0; }
	.sb-place-find__summary { display: flex; }
	.sb-place-find__collapse[open] .sb-place-find__form { padding-bottom: 12px; }
}
.sb-image-caption,
.sb-prose figure.wp-block-image figcaption,
.sb-prose .wp-caption .wp-caption-text { font: 400 13px/1.45 var(--sb-font-head); color: var(--sb-grey); margin: 8px 0 0; text-transform: none; }
.sb-single__hero-caption { padding: 0 16px; color: #777; }
.sb-single__hero--empty { display: flex; align-items: center; justify-content: center; min-height: 260px; background: rgba(17,17,17,0.05); }
.sb-listing-upload { position: absolute; bottom: 16px; right: 16px; z-index: 5; display: inline-flex; align-items: center; gap: 6px; font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.72rem; color: var(--sb-black); background: var(--sb-white); padding: 9px 15px; border: 1px solid rgba(17,17,17,0.2); border-radius: 999px; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,0.12); transition: border-color 0.15s ease; }
.sb-single__hero--empty .sb-listing-upload { position: static; }
.sb-listing-upload:hover { border-color: var(--sb-black); }
.sb-listing-upload.is-busy { opacity: 0.6; pointer-events: none; }
.sb-listing-upload__status { position: absolute; bottom: 58px; right: 16px; z-index: 5; font-family: var(--sb-font-head); font-weight: 600; font-size: 0.72rem; color: var(--sb-black); background: var(--sb-white); padding: 6px 12px; border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.12); }
.sb-listing-upload__status.is-error { color: var(--sb-red); }
.sb-single__container { max-width: var(--sb-maxw); margin: 0 auto; padding: var(--sb-6) var(--sb-margin) var(--sb-12); }

.sb-single__kicker { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; font-size: var(--sb-fs-small); color: var(--sb-red); margin: 0 0 var(--sb-1); }
.sb-single__title { font-size: var(--sb-fs-h1); font-weight: 900; line-height: 1.02; letter-spacing: -0.01em; margin: 0 0 var(--sb-3); }

.sb-single__grid { display: grid; grid-template-columns: 1fr 300px; gap: var(--sb-8); align-items: start; }
.sb-single__body, .sb-single__intro, .sb-prose { font-family: var(--sb-font-body); font-size: 1.05rem; line-height: var(--sb-lh-prose); max-width: 640px; text-rendering: optimizeLegibility; font-feature-settings: "kern" 1, "liga" 1, "onum" 1; }
.sb-prose p { margin: 0 0 18px; }
.sb-prose h2, .sb-prose h3 { font-family: var(--sb-font-head); margin: var(--sb-6) 0 var(--sb-2); }
.sb-prose img, .sb-prose figure, .sb-prose .wp-block-image, .sb-prose .wp-caption { margin: 30px 0; }
.sb-prose figure img { margin: 0; }
.sb-prose .wp-caption { max-width: 100%; box-sizing: border-box; }
.sb-prose .wp-caption img { margin: 0; max-width: 100%; height: auto; }
.sb-prose p:empty { display: none; }
.sb-prose p:has(> br:only-child) { display: none; }

.sb-single__aside { border-top: var(--sb-border-line); padding-top: var(--sb-3); }

.sb-single__hours { width: 100%; border-collapse: collapse; margin: 0 0 var(--sb-4); font-family: var(--sb-font-head); font-size: var(--sb-fs-small); }
.sb-single__hours th { text-align: left; font-weight: 700; padding: 4px 0; }
.sb-single__hours td { text-align: right; color: var(--sb-grey); padding: 4px 0; }
.sb-single__hours tr + tr { border-top: var(--sb-border-hair); }

.sb-single__perk { border: 2px solid var(--sb-blue); padding: var(--sb-2); margin-bottom: var(--sb-4); }
.sb-single__perk-label { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: var(--sb-fs-meta); color: var(--sb-blue); margin: 0 0 var(--sb-1); }
.sb-single__perk-value { font-family: var(--sb-font-head); font-weight: 700; margin: 0; }
.sb-single__perk-locked { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); margin: 0; }

.sb-single__gallery { list-style: none; margin: var(--sb-4) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--sb-1); }
.sb-single__gallery img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }

.sb-guide-section { max-width: var(--sb-measure); margin: 0 auto var(--sb-6); }
.sb-guide-section--image, .sb-guide-section--recs { max-width: var(--sb-maxw); }
.sb-guide-section__heading { font-family: var(--sb-font-head); font-size: var(--sb-fs-h2); margin: var(--sb-8) 0 var(--sb-3); }
.sb-guide-section--image img { width: 100%; display: block; border: var(--sb-border-line); }
.sb-guide-section__caption { font-family: var(--sb-font-head); font-size: var(--sb-fs-meta); color: var(--sb-grey); text-transform: uppercase; margin-top: var(--sb-1); }
/* Guide sections inside the two-column article flow left, not centered */
.sb-article .sb-guide-section, .sb-article .sb-guide-section--image, .sb-article .sb-guide-section--recs { max-width: none; margin: 0 0 var(--sb-6); }
.sb-article .sb-guide-section__heading { font-size: var(--sb-fs-h2); margin: var(--sb-6) 0 var(--sb-2); }

.sb-single__related { margin-top: var(--sb-12); border-top: var(--sb-border-line); padding-top: var(--sb-4); }
.sb-single__related-title { font-size: var(--sb-fs-h2); margin-bottom: var(--sb-4); }
.sb-single__back { margin-top: var(--sb-8); font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: var(--sb-fs-small); }

/* Single article (standard post) */

.sb-article__head { margin: 0 0 var(--sb-4); }
.sb-article__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--sb-3); margin: 0 0 var(--sb-3); }
.sb-article__meta .sb-single__kicker { margin: 0; }
.sb-single__kicker-line { display: inline-flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 auto; }
.sb-single__kicker-line .sb-single__kicker { white-space: nowrap; }
.sb-place-move-mark { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--sb-red); cursor: pointer; line-height: 0; text-decoration: none; box-shadow: none; }
/* Two classes plus the element so this beats [class^="sb-"] a { color: inherit }. */
.sb-single__kicker-line a.sb-place-move-mark,
.sb-single__kicker-line a.sb-place-move-mark:hover,
.sb-single__kicker-line a.sb-place-move-mark:active,
.sb-single__kicker-line a.sb-place-move-mark:focus,
.sb-single__kicker-line a.sb-place-move-mark:visited {
	background: transparent;
	color: var(--sb-red);
	text-decoration: none;
	box-shadow: none;
}
.sb-place-move-mark svg { width: 17px; height: 17px; display: block; stroke: currentColor; }
.sb-place-move-mark .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sb-place-move-mark:focus { outline: none; }
.sb-place-move-mark:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 3px; }
.sb-place-move-mark__tip { position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); z-index: 2; box-sizing: border-box; max-width: min(240px, 70vw); padding: 6px 10px; border-radius: 2px; background: var(--sb-black); color: var(--sb-white); font: 600 12px/1.35 var(--sb-font-head); letter-spacing: 0; text-transform: none; white-space: nowrap; opacity: 0; visibility: hidden; pointer-events: none; }
.sb-place-move-mark:hover .sb-place-move-mark__tip,
.sb-place-move-mark:focus .sb-place-move-mark__tip,
.sb-place-move-mark:focus-visible .sb-place-move-mark__tip { opacity: 1; visibility: visible; }
.sb-article__tools { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.sb-article__tools .sb-save, .sb-share { position: static; width: 34px; height: 34px; border: 1px solid var(--sb-black); background: var(--sb-white); color: var(--sb-black); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 0; padding: 0; }
.sb-article__tools .sb-save:hover, .sb-share:hover { background: var(--sb-black); color: var(--sb-white); }
.sb-article__tools .sb-save svg, .sb-share svg { width: 17px; height: 17px; }
.sb-article__tools .sb-save.is-saved { background: var(--sb-red); border-color: var(--sb-red); color: var(--sb-white); }
.sb-share.is-copied { background: var(--sb-red); border-color: var(--sb-red); color: var(--sb-white); }
.sb-share__check { display: none; }
.sb-share.is-copied .sb-share__icon { display: none; }
.sb-share.is-copied .sb-share__check { display: block; }
.sb-author-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;font-family:var(--sb-font-head);max-width:100%;padding:16px 0;border-top:1px solid var(--sb-border);border-bottom:1px solid var(--sb-border)}
.sb-author-card__avatar{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--sb-border)}
.sb-author-card__name{font:800 18px/1.25 var(--sb-font-head);margin:0;color:var(--sb-black)}
.sb-author-card__bio{font:400 14px/1.45 var(--sb-font-head);color:var(--sb-grey);margin:4px 0 0;max-width:92ch}
.sb-author-card__links{display:flex;flex-wrap:wrap;gap:10px;font:800 11px/1 var(--sb-font-head);margin:10px 0 0;text-transform:uppercase}
.sb-author-card__links a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--sb-black);color:var(--sb-white);text-decoration:none}.sb-author-card__links a:hover{background:var(--sb-red);color:var(--sb-white)}.sb-author-card__links svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.sb-article__aside { position: sticky; top: var(--sb-4); border-top: 0; padding-top: 0; display: flex; flex-direction: column; gap: var(--sb-4); }
.sb-aside-more__title { font-family: var(--sb-font-head); font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; font-size: 1.25rem; margin: 0 0 var(--sb-2); }
.sb-aside-more__list { list-style: none; margin: 0; padding: 0; }
.sb-aside-more__item { display: flex; gap: 12px; align-items: center; text-decoration: none; color: inherit; padding: 12px 0; border-top: var(--sb-border-hair); }
.sb-aside-more__list li:first-child .sb-aside-more__item { border-top: 0; padding-top: 0; }
.sb-aside-more__thumb { flex: 0 0 auto; width: 62px; height: 62px; overflow: hidden; display: block; border-radius: 2px; background: var(--sb-sand, #e9e4d8); }
.sb-aside-more__thumb.is-empty { background: repeating-linear-gradient(135deg, #ece7db, #ece7db 10px, #e4dece 10px, #e4dece 20px); }
.sb-aside-more__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-aside-more__h { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; min-width: 0; flex: 1 1 auto; font-family: var(--sb-font-head); font-weight: 700; font-size: 0.95rem; line-height: 1.14; letter-spacing: -0.01em; }
.sb-aside-more__item:hover .sb-aside-more__h { color: var(--sb-red); }

/* Venue "The Details" sidebar box */
.sb-details__title { font-family: var(--sb-font-head); font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; font-size: 1.25rem; margin: 0 0 var(--sb-1); }
.sb-details__row { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; border-top: var(--sb-border-line); font-family: var(--sb-font-head); font-size: var(--sb-fs-small); line-height: var(--sb-lh-deck); }
.sb-details__icon { flex: 0 0 auto; color: var(--sb-grey); line-height: 1; }
.sb-details__icon svg { width: 20px; height: 20px; display: block; }
.sb-details__text a { color: var(--sb-black); text-decoration: underline; text-underline-offset: 2px; }
.sb-details__text a:hover { color: var(--sb-red); }
.sb-details__row--hours .sb-single__hours { margin: 0; flex: 1; }
.sb-details__reserve { display: block; text-align: center; width: 100%; margin-top: var(--sb-4); }

@media (max-width: 782px) {
	.sb-single__grid { grid-template-columns: 1fr; gap: var(--sb-4); }
	.sb-single__grid > * { min-width: 0; }
	.sb-single__aside { border-top: none; }
	.sb-article__aside { position: static; }
	/* Kicker + Move mark stay on one line. Save, share, and Suggest an edit
	   drop to the next row so they cannot widen the article and clip the copy. */
	.sb-single--rec .sb-article__meta { flex-wrap: wrap; align-items: center; row-gap: 12px; }
	.sb-single--rec .sb-single__kicker-line { flex: 1 1 auto; min-width: 0; max-width: 100%; }
	.sb-single--rec .sb-single__kicker-line .sb-single__kicker { white-space: normal; }
	.sb-single--rec .sb-article__tools { flex: 1 1 100%; justify-content: flex-start; }
}

/* =========================================================================
 * MASTHEAD + NAV
 * ====================================================================== */
.sb-skip { position: absolute; left: -9999px; }
.sb-skip:focus { left: 8px; top: 8px; z-index: 1000; background: var(--sb-black); color: #fff; padding: 8px 12px; }

.sb-masthead { position: relative; z-index: 100; }

/* Tier 1 — red utility bar */
.sb-masthead__utility { background: var(--sb-red); }
.sb-masthead__inner {
	max-width: var(--sb-maxw); margin: 0 auto; padding: 0 var(--sb-margin);
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--sb-2);
	min-height: 72px;
}
.sb-util { display: flex; gap: var(--sb-3); justify-self: start; }
.sb-util__item {
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
	box-sizing: border-box; min-width: 44px; min-height: 44px;
	color: var(--sb-white); text-decoration: none;
	font-family: var(--sb-font-head); font-weight: 700; font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase;
}
.sb-util__item svg { width: 22px; height: 22px; }
.sb-util__item:hover { color: var(--sb-black); }

.sb-search-toggle { appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; cursor: pointer; color: inherit; }
.sb-masthead .sb-search-toggle { appearance: none; -webkit-appearance: none; background: transparent; color: var(--sb-white); transition: none; }
.sb-masthead .sb-search-toggle:focus { background: transparent; color: var(--sb-white); }
.sb-masthead .sb-search-toggle:focus-visible { outline: 2px solid var(--sb-white); outline-offset: 3px; }

.sb-masthead__brand { justify-self: center; text-decoration: none; display: inline-flex; align-items: center; }
.sb-masthead__brand:hover { color: inherit; }
.sb-masthead__wordmark {
	font-family: var(--sb-font-head); font-weight: 900; letter-spacing: -0.02em;
	font-size: 1.9rem; line-height: 1; color: var(--sb-white);
}
.sb-masthead__brand img, .sb-masthead .custom-logo { max-height: 36px; width: auto; display: block; }
.sb-masthead__brand .custom-logo-link { display: inline-flex; }

.sb-masthead__account { justify-self: end; display: flex; align-items: center; gap: var(--sb-1); }

/* Tier 2 — white category strip */
.sb-masthead__strip { background: var(--sb-white); border-bottom: 1px solid var(--sb-border); }
.sb-nav { max-width: var(--sb-maxw); margin: 0 auto; padding: 0 var(--sb-margin); }
.sb-nav__menu {
	list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center;
	gap: var(--sb-6); flex-wrap: wrap; min-height: 46px;
}
.sb-nav__menu a {
	font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.04em; font-size: 0.8rem; color: var(--sb-black); text-decoration: none;
	padding: 13px 0; display: inline-block;
}
.sb-nav__menu a:hover { color: var(--sb-red); }
.sb-nav__menu .current-menu-item > a { color: var(--sb-red); }

/* Dropdown submenus */
.sb-nav__menu li { position: relative; }
.sb-nav__menu .menu-item-has-children > a::after { content: "\25BE"; font-size: 0.7em; margin-left: 4px; vertical-align: middle; }
.sb-nav__menu .sub-menu {
	list-style: none; margin: 0; padding: 6px 0;
	position: absolute; top: 100%; left: 0; min-width: 190px;
	background: var(--sb-white); border: 0; border-top: 3px solid var(--sb-red);
	box-shadow: 0 12px 24px rgba(17, 17, 17, 0.12);
	display: none; z-index: 200;
}
.sb-nav__menu li:hover > .sub-menu,
.sb-nav__menu li:focus-within > .sub-menu { display: block; }
.sb-nav__menu .sub-menu li { width: 100%; }
.sb-nav__menu .sub-menu a { display: block; padding: 8px 16px; font-size: 0.72rem; white-space: nowrap; }
.sb-nav__menu .sub-menu a:hover { background: var(--sb-paper); }

.sb-nav-toggle { display: none; appearance: none; -webkit-appearance: none; background: transparent; box-shadow: none; border: 0; cursor: pointer; padding: 8px; margin-right: -8px; min-width: 44px; min-height: 44px; box-sizing: border-box; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.sb-masthead .sb-nav-toggle:hover,
.sb-masthead .sb-nav-toggle:focus,
.sb-masthead .sb-nav-toggle:active { background: transparent; background-color: transparent; box-shadow: none; }
.sb-masthead .sb-nav-toggle:focus-visible { outline: 2px solid var(--sb-white); outline-offset: 2px; }
.sb-nav-toggle__bar { display: block; width: 26px; height: 3px; background: var(--sb-white); transition: transform .2s ease, opacity .2s ease; }

/* Header link overrides — beat the global [class^="sb-"] a rule (color + underline) */
.sb-masthead a { text-decoration: none; }
.sb-util .sb-util__item { color: var(--sb-white); }
.sb-util .sb-util__item:hover { color: var(--sb-black); }
.sb-masthead__account .sb-util__item { color: var(--sb-white); background: transparent; border: 0; }
.sb-masthead__account .sb-util__item:hover { color: var(--sb-black); }
.sb-masthead__account .sb-util__item:focus-visible { outline: 2px solid var(--sb-white); outline-offset: 3px; }

.sb-nav .sb-nav__menu a { color: var(--sb-black); }
.sb-nav .sb-nav__menu a:hover { color: var(--sb-red); }

@media (min-width: 861px) {
	.sb-masthead__inner { padding: 0 40px; }
	.sb-masthead .sb-util__item { font-size: 0.66rem; letter-spacing: 0.07em; }
	.sb-nav__menu { gap: 40px; }
	.sb-nav .sb-nav__menu > li > a {
		display: inline-flex; align-items: center; min-height: 46px; padding: 0;
		font-weight: 600; letter-spacing: 0.02em; line-height: 1;
	}
	.sb-nav .sb-nav__menu > li > a[aria-current="page"] {
		text-decoration-line: underline;
		text-decoration-color: var(--sb-red);
		text-decoration-thickness: 2px;
		text-underline-offset: 8px;
	}
}

/* Mobile */
@media (max-width: 860px) {
	.sb-util { display: none; }
	.sb-masthead__inner { grid-template-columns: auto 1fr auto; min-height: 60px; }
	.sb-masthead__brand { justify-self: start; }
	.sb-masthead__account .sb-account__hub { display: inline-flex; }
	.sb-mobile-move { display: inline-flex; }
	.sb-nav-toggle { display: inline-flex; }
	.sb-masthead__strip { height: 0; border: 0; background: transparent; }
	.sb-nav {
		position: fixed; top: var(--sb-nav-top, 60px); right: 0; bottom: 0; left: 0; z-index: 102; background: var(--sb-white);
		transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease;
		padding: var(--sb-2) var(--sb-margin) var(--sb-12); max-width: none;
		overflow-y: auto; -webkit-overflow-scrolling: touch;
	}
	.sb-nav-open .sb-nav { opacity: 1; transform: none; pointer-events: auto; }
	.sb-nav__menu { flex-direction: column; align-items: stretch; gap: 0; justify-content: flex-start; width: 100%; }
	.sb-nav .sb-nav__menu > li { border-bottom: 1px solid rgba(17,17,17,0.1); }
	.sb-nav .sb-nav__menu > li > a { display: flex; align-items: center; min-height: 72px; padding: 0; font-size: 1.12rem; letter-spacing: 0.06em; }
	.sb-nav .sb-nav__menu a { color: var(--sb-black); }
	.sb-nav .sb-nav__menu a:hover { color: var(--sb-red); }
	.sb-nav .sb-nav__menu .current-menu-item > a,
	.sb-nav .sb-nav__menu a[aria-current="page"] { color: var(--sb-red); text-decoration: none; border: 0; }
	.sb-nav .sb-nav__menu .menu-item-has-children > a::after { float: right; margin-top: 3px; opacity: 0.4; font-size: 0.7em; }
	/* Submenu: subtle indented items, grey with a hairline accent */
	.sb-nav__menu .sub-menu {
		position: static; display: block; border: 0; background: transparent;
		padding: 2px 0 14px; margin: 0; min-width: 0;
	}
	.sb-nav .sb-nav__menu .sub-menu a {
		color: var(--sb-grey); font-size: 0.92rem; letter-spacing: 0.06em;
		padding: 9px 0 9px 18px; display: block; border-left: 2px solid rgba(17,17,17,0.14); margin-left: 1px;
	}
	.sb-nav .sb-nav__menu .sub-menu a:hover { color: var(--sb-red); }
	.sb-nav .sb-nav__menu .sub-menu li + li a { border-top: 0; }
	.sb-nav-toggle { position: relative; }
	.sb-nav-open .sb-nav-toggle__bar { position: absolute; top: 50%; left: 50%; transform-origin: center; }
	.sb-nav-open .sb-nav-toggle__bar:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
	.sb-nav-open .sb-nav-toggle__bar:nth-child(2) { display: none; }
	.sb-nav-open .sb-nav-toggle__bar:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }
	body.sb-nav-open { overflow: hidden; overscroll-behavior: none; }
}

/* =========================================================================
 * HOMEPAGE
 * ====================================================================== */
/* Front-page hero: lead story + editorial secondary list */
.sb-kicker { display: block; font-family: var(--sb-font-head); font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.72rem; color: var(--sb-red); margin: 0 0 var(--sb-1); }

.sb-hero__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--sb-8); align-items: stretch; }
.sb-hero__aside { display: flex; flex-direction: column; }

.sb-hero__lead { display: block; text-decoration: none; color: inherit; }
.sb-hero__lead:hover { color: inherit; }
.sb-hero__lead-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; margin: 0 0 var(--sb-3); }
.sb-hero__lead-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-hero__lead-title { display: block; font-family: var(--sb-font-head); font-weight: 800; font-size: var(--sb-fs-h1); line-height: var(--sb-lh-heading); letter-spacing: -0.03em; margin: 0 0 var(--sb-2); text-decoration: none; }
.sb-hero__lead:hover .sb-hero__lead-title { color: var(--sb-red); }

.sb-hero__list { display: flex; flex-direction: column; }
.sb-hero__item { display: block; text-decoration: none; color: inherit; padding: var(--sb-3) 0; border-top: var(--sb-border-line); }
.sb-hero__item:first-child { padding-top: 0; border-top: 0; }
.sb-hero__item-title { display: block; font-family: var(--sb-font-head); font-weight: 800; font-size: 1.35rem; line-height: 1.04; letter-spacing: -0.02em; text-decoration: none; }
.sb-hero__item:hover .sb-hero__item-title { color: var(--sb-red); }

.sb-signup { background: var(--sb-white); padding: var(--sb-4); }
.sb-signup__title { font-family: var(--sb-font-head); font-weight: 800; font-size: 1.4rem; line-height: 1.02; letter-spacing: -0.02em; margin: 5px 0 4px; }
.sb-signup__copy { font-family: var(--sb-font-body); font-size: 0.95rem; line-height: var(--sb-lh-deck); color: var(--sb-grey); margin: 0 0 12px; }
.sb-signup__form { display: flex; flex-direction: column; gap: 8px; }
.sb-signup__input { padding: 11px 12px; border: 1px solid var(--sb-black); border-radius: 0; font-family: var(--sb-font-body); font-size: 0.95rem; background: var(--sb-white); color: var(--sb-black); width: 100%; }
.sb-signup__btn { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.8rem; padding: 12px; border: 0; border-radius: 0; background: var(--sb-red); color: var(--sb-white); cursor: pointer; }
.sb-signup__btn:hover { background: var(--sb-black); }
@media (max-width: 860px) {
	.sb-hero__grid { grid-template-columns: 1fr; gap: var(--sb-4); }
	.sb-hero__list { margin-top: var(--sb-2); }
	.sb-hero__item-title { font-size: 1.2rem; }
}

.sb-home__section-link { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: var(--sb-fs-small); white-space: nowrap; }

/* =========================================================================
 * JOIN PAGE
 * ====================================================================== */
.sb-join__hero { text-align: center; padding: 100px 0; border-bottom: var(--sb-border-line); }
.sb-join__hero-title { font-family: var(--sb-font-head); font-weight: 900; font-size: 72px; line-height: 0.95; letter-spacing: -0.035em; max-width: 16ch; margin: 0 auto var(--sb-3); }
.sb-join__hero-sub { font-family: var(--sb-font-body); font-size: 28px; line-height: 1.35; color: var(--sb-grey); max-width: 800px; margin: 0 auto; }
.sb-join__signup { width: min(100%, 480px); max-width: 480px; margin: 48px auto 0; }
.sb-join__privacy { width: min(100%, 480px); max-width: 480px; margin: 12px auto 0; color: rgba(31, 31, 31, 0.62); text-align: center; }
.sb-join__privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* =========================================================================
 * ADVERTISE PAGE (reskinned onto the .sb-amb__* system + .sb-adv__* cards)
 * ====================================================================== */

@media (max-width: 782px) {
	.sb-join__hero { padding: 64px 0; }
	.sb-join__hero .sb-join__container { padding-left: 24px; padding-right: 24px; }
	.sb-join__hero-title { font-size: 48px; }
	.sb-join__hero-sub { font-size: 21px; }
	.sb-join__signup { flex-direction: column; }
	.sb-join__signup .sb-footer__nl-input, .sb-join__signup .sb-footer__nl-btn { width: 100%; }
	
}

/* =========================================================================
 * REAL ESTATE LISTINGS
 * ====================================================================== */
.sb-listing .sb-container { padding-top: var(--sb-8); padding-bottom: var(--sb-8); }
.sb-listing__status { display: inline-block; background: var(--sb-black); color: var(--sb-white); font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: var(--sb-fs-meta); letter-spacing: 0.04em; padding: 4px 10px; margin: 0 0 var(--sb-2); }
.sb-listing__title { font-family: var(--sb-font-head); font-weight: 800; font-size: var(--sb-fs-h1); line-height: 1; margin: 0 0 var(--sb-1); }
.sb-listing__address { font-family: var(--sb-font-body); font-size: var(--sb-fs-deck); color: var(--sb-grey); margin: 0 0 var(--sb-4); }
.sb-listing__hero { aspect-ratio: 4 / 3; overflow: hidden; border: var(--sb-border-line); margin-bottom: var(--sb-4); }
.sb-listing__hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-listing__specs { list-style: none; margin: 0 0 var(--sb-4); padding: var(--sb-2) 0; display: flex; flex-wrap: wrap; gap: var(--sb-4); border-top: var(--sb-border-line); border-bottom: var(--sb-border-line); }
.sb-listing__specs li { display: flex; flex-direction: column; }
.sb-listing__specs span { font-family: var(--sb-font-head); font-size: var(--sb-fs-meta); text-transform: uppercase; letter-spacing: 0.04em; color: var(--sb-grey); }
.sb-listing__specs strong { font-family: var(--sb-font-head); font-weight: 800; font-size: 1.3rem; }
.sb-listing__body { max-width: var(--sb-measure); font-size: var(--sb-fs-body); margin-bottom: var(--sb-4); }
.sb-listing__open { font-family: var(--sb-font-head); margin-bottom: var(--sb-4); }
.sb-listing__gallery { list-style: none; margin: 0 0 var(--sb-6); padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--sb-2); }
.sb-listing__gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border: var(--sb-border-hair); }
.sb-listing__cta { margin-bottom: var(--sb-8); }
.sb-card__meta { font-family: var(--sb-font-head); font-size: var(--sb-fs-small); color: var(--sb-grey); margin-top: var(--sb-1); }

/* Boston Explained hub */
.sb-be { padding: 0; }
.sb-guides-index .sb-be__title { font-family: var(--sb-font-body); font-weight: 700; }
.sb-be__container { max-width: var(--sb-maxw); margin: 0 auto; padding: 0 var(--sb-margin); }
.sb-be__header { padding: var(--sb-8) 0 var(--sb-6); border-bottom: var(--sb-border-line); margin-bottom: var(--sb-6); }

.sb-be__title { font-size: var(--sb-fs-h1); line-height: 1; margin: 0 0 var(--sb-3); }
.sb-be__intro { max-width: 720px; color: var(--sb-grey); }
.sb-be__lead { margin-bottom: var(--sb-8); }
.sb-be__lead-copy { display: block; }
.sb-be__section-title { font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-type-section); line-height: 1.15; margin: 0 0 var(--sb-4); }
.sb-be__notice { border: var(--sb-border-line); padding: var(--sb-4); background: var(--sb-white); }
.sb-be__notice-title { font-size: var(--sb-fs-h3); margin: 0 0 var(--sb-2); }
.sb-be__notice ul { margin: 0; padding-left: 1.25rem; }
@media (max-width: 782px) {

	.sb-be__header { padding: var(--sb-4) 0; margin-bottom: var(--sb-4); }
	.sb-be__lead { margin-bottom: var(--sb-6); }
}

/* =========================================================================
 * SAVE BUTTON
 * ====================================================================== */
.sb-save { border: 0; background: rgba(255, 255, 255, 0.92); color: var(--sb-black); width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: background .15s ease; }
.sb-card__image .sb-save, .sb-rec-card__image .sb-save, .sb-single-opp__image .sb-save { position: absolute; top: 8px; right: 8px; z-index: 4; }
.sb-save svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.sb-save:hover { background: var(--sb-white); }
.sb-save.is-saved { background: var(--sb-red); color: var(--sb-white); }
.sb-save.is-saved svg { fill: currentColor; }

/* Header search overlay */
.sb-search-overlay { position: fixed; inset: 0; z-index: 10000; background: rgba(17,17,17,.55); display: flex; align-items: center; justify-content: center; padding: 24px; }
.sb-search-overlay[hidden] { display: none; }
.sb-search-overlay__close { position: absolute; top: 20px; right: 28px; background: none; border: 0; font: 700 var(--sb-type-control)/1.4 var(--sb-font-head); min-height: 44px; color: var(--sb-black); cursor: pointer; }
.sb-search-overlay__close:hover { color: var(--sb-red); }
.sb-search-overlay__close:focus-visible { color: var(--sb-red); outline: 2px solid var(--sb-red); outline-offset: 4px; }
.sb-search-overlay__inner { position: relative; box-sizing: border-box; width: 100%; max-width: 760px; max-height: 100%; overflow-y: auto; padding: 64px 32px 40px; background: var(--sb-paper); text-align: left; }
.sb-search-overlay__title { font: 700 28px/1.2 var(--sb-font-head); color: var(--sb-black); text-transform: none; letter-spacing: 0; margin: 0 0 var(--sb-3); }
.sb-search-overlay__form { margin: 0 0 12px; }
.sb-search-overlay__input::placeholder { color: var(--sb-grey); opacity: 1; }
.sb-search-overlay__suggest { display: flex; flex-wrap: nowrap; gap: 12px; align-items: center; justify-content: center; }
.sb-search-overlay__suggest a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 0 8px; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-family: var(--sb-font-head); font-weight: 500; font-size: 16px; line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--sb-grey); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
.sb-search-overlay__suggest a:hover,
.sb-search-overlay__suggest a:focus,
.sb-search-overlay__suggest a:focus-visible { background: transparent; color: var(--sb-red); box-shadow: none; }
.sb-search-overlay__suggest a:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 4px; }
.sb-search-overlay .sb-search-overlay__form,
.sb-search-overlay .sb-search-overlay__form:focus-within,
.sb-search-overlay .sb-search-overlay__form:has(:focus-visible) { border: 1px solid #D6D6D6; outline: 0; outline-offset: 0; box-shadow: none; }
.sb-search-overlay.sb-search-overlay--keyboard .sb-search-overlay__form:has(:focus-visible) { outline: 2px solid var(--sb-red); outline-offset: 2px; }
.sb-search-overlay .sb-search-overlay__input,
.sb-search-overlay .sb-search-overlay__input:focus,
.sb-search-overlay .sb-search-overlay__input:focus-visible { border: 0; outline: 0; box-shadow: none; caret-color: var(--sb-black); -webkit-appearance: none; appearance: none; }
.sb-search-overlay .sb-search-control__button:focus,
.sb-search-overlay .sb-search-control__button:focus-visible { outline: none; box-shadow: none; }
body.sb-search-open { overflow: hidden; }

/* =========================================================================
 * FOOTER — newsletter band + balanced columns + bottom bar
 * ====================================================================== */
.sb-footer { margin-top: 0; border-top: 3px solid var(--sb-black); background: var(--sb-black); color: var(--sb-white); }

/* Newsletter band */
.sb-footer__cta { border-bottom: 1px solid rgba(255,255,255,0.12); padding: var(--sb-6) var(--sb-margin); }
.sb-footer__cta-inner { max-width: 960px; margin: 0 auto; display: flex; align-items: start; justify-content: space-between; gap: var(--sb-6) var(--sb-8); flex-wrap: wrap; }
.sb-footer__cta-copy { flex: 1 1 340px; }
.sb-footer__cta-kicker { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.7rem; color: var(--sb-red); margin: 0 0 10px; }
.sb-footer__cta-title { font-family: var(--sb-font-head); font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1.02; letter-spacing: -0.01em; color: var(--sb-white); margin: 0 0 10px; }
.sb-footer__cta-note { font-family: var(--sb-font-body); font-size: 0.95rem; line-height: var(--sb-lh-deck); color: rgba(255,255,255,0.72); margin: 0; }
.sb-footer__cta-action { flex: 0 1 400px; display: flex; flex-direction: column; gap: 24px; }

.sb-footer__nl { display: flex; flex-direction: row; gap: 0; width: 100%; margin: 0; }
.sb-join__hero .sb-join__signup { width: min(100%, 480px); max-width: 480px; margin: 48px auto 0; }
.sb-join__hero p.sb-privacy-note.sb-join__privacy { display: block; width: min(100%, 480px); max-width: 480px; margin: 12px auto 0; font-size: 11px; line-height: 1.4; text-align: center; }
.sb-footer__nl-input { flex: 1 1 auto; min-width: 0; padding: 14px 16px; border: 0; border-radius: 0; font-family: var(--sb-font-head); font-size: 0.9rem; background: var(--sb-white); color: var(--sb-black); }
.sb-footer__nl-btn { flex: 0 0 auto; font-family: var(--sb-font-head); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: 0.78rem; padding: 14px 24px; border: 0; border-radius: 0; background: var(--sb-red); color: var(--sb-white); cursor: pointer; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
.sb-footer__nl-btn:hover { background: var(--sb-white); color: var(--sb-red); }
.sb-footer .sb-footer__privacy, .sb-footer .sb-footer__privacy a { color: rgba(255,255,255,0.72); }
.sb-footer .sb-footer__privacy { margin: 0; }
.sb-footer__social { display: flex; gap: 4px; align-items: center; margin-left: -10px; }
.sb-footer__social a { color: rgba(255,255,255,0.9); box-sizing: border-box; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: color 0.15s ease; }
.sb-footer__social a:hover { color: var(--sb-white); }
.sb-footer__social a:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 2px; }
.sb-footer__social svg { width: 22px; height: 22px; }

/* Link columns */
.sb-footer__main { padding: var(--sb-4) var(--sb-margin); }
.sb-footer__cols { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sb-6) var(--sb-4); }
.sb-footer__col-title { font-family: var(--sb-font-head); font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; font-size: 0.72rem; color: var(--sb-white); line-height: 1; }
.sb-footer .sb-footer__col-title { margin: 0 0 14px; }
.sb-footer .sb-footer__col-title.sb-footer__col-title--gap { margin-top: var(--sb-4); }
.sb-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; font-family: var(--sb-font-head); }
.sb-footer__list li { margin: 0; padding: 0; }
.sb-footer__list a { display: block; font-weight: 500; font-size: 0.82rem; line-height: 1.8; padding: 3px 0; color: rgba(255,255,255,0.76); text-decoration: none; text-transform: none; transition: color 0.15s ease; }
.sb-footer__list a:hover { color: var(--sb-white); }

/* Bottom bar */
.sb-footer__bottom { border-top: 1px solid rgba(255,255,255,0.12); padding: var(--sb-6) var(--sb-margin); }
.sb-footer__bottom-inner { max-width: 960px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--sb-4); flex-wrap: wrap; }
.sb-footer__bottom .sb-footer__brand, .sb-footer__bottom .custom-logo-link { display: inline-flex; align-items: center; margin: 0; text-decoration: none; }
.sb-footer__bottom .custom-logo, .sb-footer__bottom .sb-footer__brand img { max-height: 26px; width: auto; display: block; }
.sb-footer__wordmark { font-family: var(--sb-font-head); font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; font-size: 1rem; color: var(--sb-white); }
.sb-footer__legal { font-family: var(--sb-font-head); font-weight: 500; font-size: 0.75rem; line-height: var(--sb-lh-body); color: rgba(255,255,255,0.82); text-align: right; margin: 0; border: 0; text-transform: none; letter-spacing: 0; }
.sb-footer__credit { white-space: nowrap; }
.sb-footer__legal a { color: rgba(255,255,255,0.8); text-decoration: none; }
.sb-footer__legal a:hover { color: var(--sb-red); }

@media (max-width: 860px) {
	.sb-footer__cta-inner { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: var(--sb-4); }
	.sb-footer__cta-copy { flex: 0 0 auto; }
	.sb-footer__cta-action { flex: 0 0 auto; width: 100%; max-width: 440px; }
	.sb-footer__cols { grid-template-columns: 1fr 1fr; gap: var(--sb-8) var(--sb-4); }
}
@media (max-width: 640px) {
	.sb-footer__cta { padding: var(--sb-6) var(--sb-margin); }
	.sb-footer__main { padding: var(--sb-6) var(--sb-margin); }
	.sb-footer__bottom-inner { flex-direction: column; align-items: flex-start; gap: var(--sb-2); }
	.sb-footer__legal { text-align: left; }
}

/* =========================================================================
 * 404 — page not found
 * ====================================================================== */
.sb-404 { padding: var(--sb-16) var(--sb-margin); }
.sb-404__inner { max-width: 640px; margin: 0 auto; text-align: center; }
.sb-404__code { font-family: var(--sb-font-head); font-weight: 800; font-size: clamp(5rem, 16vw, 10rem); line-height: 0.9; letter-spacing: -0.02em; color: var(--sb-red); margin: 0; }
.sb-404__title { font-size: var(--sb-fs-h1); margin: var(--sb-2) 0 var(--sb-2); }
.sb-404__sub { font-family: var(--sb-font-body); font-size: var(--sb-fs-deck); line-height: var(--sb-lh-deck); color: var(--sb-grey); margin: 0 auto var(--sb-6); max-width: 34ch; }
.sb-404__search { display: flex; gap: var(--sb-1); max-width: 460px; margin: 0 auto var(--sb-4); }
.sb-404__search-input { flex: 1; font-family: var(--sb-font-head); font-size: 1rem; padding: 12px 16px; border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-white); color: var(--sb-black); }
.sb-404__search-input::placeholder { color: var(--sb-grey); font-size: 0.9em; opacity: 0.75; }
.sb-404__search-btn { flex: 0 0 auto; }
.sb-404__routes { display: flex; flex-wrap: wrap; gap: var(--sb-1); justify-content: center; margin-bottom: var(--sb-8); }

@media (max-width: 480px) { .sb-404__search { flex-direction: column; } }

/* =========================================================================
 * Ambassadors — Become an Ambassador (pitch + form)
 * ====================================================================== */

/* Apply — full-width white band, two columns: pitch left, form right */

.sb-amb__form { display: flex; flex-direction: column; gap: 18px; width: 100%; text-align: left; }
.sb-amb__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sb-amb__label { display: flex; flex-direction: column; gap: 7px; }
.sb-amb__label-text { font-family: var(--sb-font-head); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-meta); color: var(--sb-black); }
.sb-amb__label input, .sb-amb__label textarea { font-family: var(--sb-font-head); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-control); padding: 13px 14px; border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-paper); color: var(--sb-black); width: 100%;  line-height: 1.4; }
.sb-amb__label input:focus, .sb-amb__label textarea:focus, .sb-amb__check input:focus { outline: 2px solid var(--sb-red); outline-offset: 1px; }
.sb-amb__label textarea { resize: vertical; }
.sb-amb__label input::placeholder, .sb-amb__label textarea::placeholder { color: #9a968c; }
.sb-amb__req { color: var(--sb-red); }
.sb-amb__check { display: flex; align-items: flex-start; gap: 10px; font-family: var(--sb-font-head); font-size: var(--sb-type-control); line-height: 1.5; color: var(--sb-black); margin-top: 2px;  font-weight: 400; }
.sb-amb__check input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--sb-red); }
.sb-amb__check a { text-decoration: underline; text-underline-offset: 2px; }
.sb-amb__submit { align-self: flex-start; margin-top: 6px; }
.sb-amb__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.sb-terms .sb-amb__hp { display: none; }

.sb-amb__error { font-family: var(--sb-font-head); font-weight: 700; font-size: 0.95rem; color: var(--sb-red); border: 1px solid var(--sb-red); padding: 12px 14px; margin: 0 0 var(--sb-3); max-width: none; width: 100%; box-sizing: border-box; text-align: left; }
.sb-amb__success { border: 1px solid var(--sb-black); padding: var(--sb-6); max-width: 560px; margin: 0 auto; text-align: center; }
.sb-amb__success-title { font-family: var(--sb-font-head); font-weight: 800; font-size: 1.6rem; margin: 0 0 8px; }
.sb-amb__success-copy { font-family: var(--sb-font-body); font-size: 1.15rem; line-height: var(--sb-lh-prose); color: var(--sb-grey); margin: 0; }

@media (max-width: 560px) {
	
	.sb-amb__row { grid-template-columns: 1fr; }
}

/* =========================================================================
 * Newsletter signup page (reuses .sb-amb__* system)
 * ====================================================================== */
.sb-nl__form { display: flex; gap: var(--sb-1); max-width: 480px; margin: var(--sb-4) 0 var(--sb-2); }
.sb-nl__input { flex: 1; font-family: var(--sb-font-head); font-size: 1rem; padding: 14px 16px; border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-white); color: var(--sb-black); }
.sb-nl__input::placeholder { color: #9a968c; }
.sb-nl__input:focus { outline: 2px solid var(--sb-red); outline-offset: 1px; }
.sb-nl__btn { flex: 0 0 auto; }

@media (max-width: 480px) { .sb-nl__form { flex-direction: column; } }

/* =========================================================================
 * SureCart — one consistent image ratio everywhere
 * SureCart reuses the .wp-block-surecart-product-media block on both the
 * single product page and each item in the shop / product-list grid. Its
 * defaults render these at different ratios (single = contain 1:1, grid =
 * something else). Locking every product-media image to the same square,
 * filled with cover, makes the shop and product page identical.
 * ====================================================================== */
.wp-block-surecart-product-media {
	margin: 0 !important;
	aspect-ratio: 1 / 1 !important;
	width: 100% !important;
	overflow: hidden !important;
}
.wp-block-surecart-product-media img,
.wp-block-surecart-product-media picture,
.wp-block-surecart-product-media a,
.wp-block-surecart-product-media .wp-block-cover,
.wp-block-surecart-product-media .wp-block-cover__image-background {
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}

/* =========================================================================
 * SureCart single product page — compact + branded
 * Caps the giant image, balances the two columns to a readable measure, and
 * puts the title/price/buttons/tag in the brand system (red, Archivo, square).
 * ====================================================================== */
.wp-block-surecart-product-page { max-width: 1080px !important; margin: 0 auto !important; }
.wp-block-surecart-product-page .wp-block-columns { align-items: flex-start !important; justify-content: center !important; gap: 48px !important; }
.wp-block-surecart-product-page .wp-block-columns > .wp-block-column:first-child { flex: 0 0 440px !important; max-width: 440px !important; }
.wp-block-surecart-product-page .wp-block-columns > .wp-block-column:last-child { flex: 0 1 540px !important; max-width: 540px !important; }
.wp-block-surecart-product-title {      margin: 0 0 6px !important;  }
.wp-block-surecart-product-collection-tags, .wp-block-surecart-product-collection-tag { display: none !important; }
@media (max-width: 900px) {
	.wp-block-surecart-product-page .wp-block-columns { flex-direction: column !important; align-items: center !important; }
	.wp-block-surecart-product-page .wp-block-columns > .wp-block-column:first-child,
	.wp-block-surecart-product-page .wp-block-columns > .wp-block-column:last-child { flex: 1 1 auto !important; max-width: 460px !important; width: 100% !important; }
}

/* SureCart product page — top space + tighten copy */
.wp-block-surecart-product-page { padding-top: 44px !important; }
.wp-block-surecart-product-list-price { margin: 0 0 18px !important; }
.wp-block-surecart-product-description { line-height: var(--sb-lh-prose) !important; }
.wp-block-surecart-product-description p { line-height: var(--sb-lh-prose) !important; margin: 0 0 12px !important; }
.wp-block-surecart-product-description ul, .wp-block-surecart-product-description ol { margin: 10px 0 !important; padding-left: 20px !important; }
.wp-block-surecart-product-description li { margin: 0 0 5px !important; line-height: var(--sb-lh-deck) !important; }

/* SureCart "You may also like" related cards — hug content, brand text */
.wp-block-surecart-product-list-related .is-layout-flex,
.wp-block-surecart-product-list-related .is-layout-grid { align-items: start !important; }
.wp-block-surecart-product-list-related a > .wp-block-group { height: auto !important; align-self: start !important; }
.wp-block-surecart-product-list-related .wp-block-group.is-layout-flow { gap: 0 !important; }
.wp-block-surecart-product-list-related .wp-block-surecart-product-title { margin: 12px 0 2px !important; padding: 0 !important;    }
.wp-block-surecart-product-list-related .wp-block-surecart-product-list-price { margin: 0 !important;     }

/* Advertising product pages keep SureCart controls, but own the page layout. */
body.sb-ad-product-page-body{background:var(--sb-paper)}
.sb-ad-product-page{box-sizing:border-box;width:min(100%,1200px);margin:0 auto;padding:36px 80px 96px;color:var(--sb-black)}
.sb-ad-product-page *{box-sizing:border-box}
.sb-ad-product__back{display:inline-flex;align-items:center;gap:8px;margin:0 0 64px;color:var(--sb-black);font:700 13px/1.4 var(--sb-font-head);text-decoration:none}
.sb-ad-product__back:hover{text-decoration:underline;text-underline-offset:4px}
.sb-ad-product__hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:start;margin-bottom:80px}
.sb-ad-product__eyebrow{margin:0 0 24px;color:var(--sb-red);font:800 12px/1.5 var(--sb-font-head);letter-spacing:.14em;text-transform:uppercase}
.sb-ad-product__intro h1{max-width:8.5em;margin:0 0 28px;font:700 clamp(56px,7.4vw,96px)/.94 var(--sb-font-body);letter-spacing:-.035em;color:var(--sb-black)}
.sb-ad-product__subtitle{max-width:690px;margin:0 0 52px;color:var(--sb-black);font:700 clamp(21px,2vw,30px)/1.28 var(--sb-font-body)}
.sb-ad-product__stats{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-top:1px solid var(--sb-border);border-bottom:1px solid var(--sb-border);padding:40px 0;text-align:center}
.sb-ad-product__stat{min-width:0;flex:1 1 0}
.sb-ad-product__stat:nth-child(2){flex-grow:1.2}
.sb-ad-product__stat strong{display:block;font:700 clamp(28px,2.65vw,40px)/.95 var(--sb-font-body);letter-spacing:-.03em;color:var(--sb-black);white-space:nowrap;overflow-wrap:normal}
.sb-ad-product__stat span{display:block;margin-top:6px;font:600 13px/1.35 var(--sb-font-head);color:var(--sb-grey)}
.sb-ad-product__purchase{position:sticky;top:28px;z-index:1}
.sb-ad-product__purchase-card{background:var(--sb-black);color:#fff;border-top:7px solid var(--sb-red);padding:36px;box-shadow:0 28px 58px rgba(17,17,17,.16)}
.sb-ad-product__purchase-label{margin:0 0 18px;color:#8f8f8f;font:800 11px/1.4 var(--sb-font-head);letter-spacing:.14em;text-transform:uppercase}
.sb-ad-product__price{margin:0;color:#fff;font:400 56px/1 var(--sb-font-head);letter-spacing:-.045em}
.sb-ad-product__saving{margin:10px 0 0;color:#b8b8b8;font:700 13px/1.4 var(--sb-font-head)}
.sb-ad-product__purchase-divider{height:1px;background:#333;margin:28px 0 22px}
.sb-ad-product__purchase-card .sb-commerce-compliance{margin:0 0 18px;color:#fff;font-family:var(--sb-font-head)}
.sb-ad-product__purchase-card .sb-age-check{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;color:#fff;font:700 13px/1.35 var(--sb-font-head)}
.sb-ad-product__purchase-card .sb-age-check input{width:14px;height:14px;flex:0 0 14px;margin:1px 0 0;accent-color:var(--sb-red)}
.sb-ad-product__purchase-card .sb-privacy-note{margin:0;color:#b8b8b8;font:400 11px/1.45 var(--sb-font-head)}
.sb-ad-product__purchase-card .sb-privacy-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.sb-ad-product__purchase-card .sb-commerce-compliance__error{color:#fff;font:700 13px/1.4 var(--sb-font-head);margin:8px 0 0}
.sb-ad-product__native .wp-block-surecart-product-page{max-width:none!important;margin:0!important;padding:0!important;color:#fff!important;font-family:var(--sb-font-head)!important}
.sb-ad-product__native .wp-block-surecart-product-page .wp-block-columns{display:block!important;margin:0!important;gap:0!important}
.sb-ad-product__native .wp-block-surecart-product-page .wp-block-column{max-width:none!important;width:100%!important;padding:0!important}
.sb-ad-product__native .wp-block-surecart-product-page .wp-block-column:first-child,
.sb-ad-product__native .wp-block-surecart-product-media,
.sb-ad-product__native .wp-block-surecart-product-collection-tags,
.sb-ad-product__native .wp-block-surecart-product-title,
.sb-ad-product__native .wp-block-surecart-product-description,
.sb-ad-product__native .wp-block-surecart-product-selected-price-scratch-amount,
.sb-ad-product__native .wp-block-surecart-product-selected-price-amount,
.sb-ad-product__native .wp-block-surecart-product-selected-price-interval,
.sb-ad-product__native .wp-block-surecart-product-sale-badge,
.sb-ad-product__native .wp-block-surecart-product-selected-price-trial,
.sb-ad-product__native .wp-block-surecart-product-selected-price-fees,
.sb-ad-product__native .wp-block-surecart-product-selected-price-ad-hoc-amount{display:none!important}
.sb-ad-product__native .wp-block-surecart-product-quantity{margin:0 0 18px!important;color:#fff}
.sb-ad-product__native .sc-form-label{display:block;margin:0 0 10px!important;color:#fff!important;font:800 12px/1.3 var(--sb-font-head)!important}
.sb-ad-product__native .sc-quantity-selector{width:100%!important;border:1px solid #444!important;background:transparent!important;color:#fff!important}
.sb-ad-product__native .sc-quantity-selector__control{background:transparent!important;color:#fff!important;border-color:#444!important;font:700 16px/1.2 var(--sb-font-head)!important}
.sb-ad-product__native .sc-input-group-text{background:transparent!important;color:#fff!important;border-color:#444!important}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons{display:block!important;width:100%!important;margin:0!important}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons.wp-block-buttons,
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-buttons{display:flex!important;flex-direction:column!important;width:100%!important}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-button:first-child{order:2}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-button:last-child{order:1}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-button,
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-button__link{display:block!important;width:100%!important;margin:0!important}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-button+.wp-block-button{margin-top:12px!important}
.sb-ad-product__native .wp-block-surecart-product-buy-buttons .wp-block-button__link{min-height:50px!important;border-radius:0!important;text-align:center!important;font:800 14px/1.4 var(--sb-font-head)!important}
.sb-ad-product__secure{margin:18px 0 0;color:#999;font:400 10px/1.5 var(--sb-font-head)}
.sb-ad-product__deliverables{margin:0 auto 78px;width:min(100%,1040px)}
.sb-ad-product__deliverables h2{margin:0 0 20px;font:700 clamp(36px,4vw,52px)/1.05 var(--sb-font-body);letter-spacing:-.03em;color:var(--sb-black)}
.sb-ad-product__deliverable-list{border-top:1px solid var(--sb-border)}
.sb-ad-product__deliverable{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;align-items:center;margin:0;padding:26px 0;border-bottom:1px solid var(--sb-border)}
.sb-ad-product__deliverable-number{color:var(--sb-red);font:800 15px/1 var(--sb-font-head);letter-spacing:.04em}
.sb-ad-product__deliverable h3{margin:0;font:700 clamp(22px,2vw,30px)/1.15 var(--sb-font-body);letter-spacing:-.02em;color:var(--sb-black)}
.sb-ad-product__custom{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:end;width:min(100%,1040px);margin:0 auto 86px;background:var(--sb-red);color:#fff;padding:40px 44px 32px}
.sb-ad-product__custom p{margin:0 0 24px;font:800 12px/1.4 var(--sb-font-head);letter-spacing:.14em;text-transform:uppercase}
.sb-ad-product__custom h2{margin:0;font:700 clamp(34px,2.8vw,38px)/.98 var(--sb-font-body);letter-spacing:-.035em;color:#fff}
.sb-ad-product__custom a{justify-self:end;margin-top:24px;color:#fff;font:800 14px/1.3 var(--sb-font-head);font-style:italic;text-decoration:none;white-space:nowrap}
.sb-ad-product__custom a:hover{text-decoration:underline;text-underline-offset:4px}
.sb-ad-product__related{width:min(100%,1040px);margin:0 auto}
.sb-ad-product__related-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:28px;align-items:end;border-bottom:1px solid var(--sb-black);padding-bottom:24px}
.sb-ad-product__related-head h2{margin:0;font:700 clamp(36px,4vw,52px)/1.05 var(--sb-font-body);letter-spacing:-.03em;color:var(--sb-black)}
.sb-ad-product__related-head p{margin:0;color:var(--sb-grey);font:600 14px/1.5 var(--sb-font-head)}
.sb-ad-product__related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.sb-ad-product__related-card{min-width:0;padding:30px 28px 34px;border-bottom:1px solid var(--sb-border);border-left:1px solid var(--sb-border)}
.sb-ad-product__related-card:first-child{border-left:0}
.sb-ad-product__related-card p{margin:0 0 16px;color:#969188;font:800 11px/1.4 var(--sb-font-head);letter-spacing:.14em;text-transform:uppercase}
.sb-ad-product__related-card h3{margin:0 0 6px;font:700 clamp(26px,2.3vw,34px)/1.02 var(--sb-font-body);letter-spacing:-.025em;color:var(--sb-black)}
.sb-ad-product__related-card strong{display:block;margin:0 0 18px;color:var(--sb-red);font:800 16px/1.3 var(--sb-font-head)}
.sb-ad-product__related-card span{display:block;margin:0 0 36px;color:var(--sb-grey);font:600 14px/1.45 var(--sb-font-head)}
.sb-ad-product__related-card a{display:inline-flex;color:var(--sb-black);font:800 14px/1.3 var(--sb-font-head);text-decoration:none}
.sb-ad-product__related-card a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1024px){
.sb-ad-product-page{padding:32px 32px 72px}
.sb-ad-product__hero{grid-template-columns:minmax(0,1fr) 320px;gap:40px}
.sb-ad-product__intro h1{font-size:64px}
}
@media(max-width:760px){
.sb-ad-product-page{padding:24px 20px 60px}
.sb-ad-product__back{margin-bottom:36px}
.sb-ad-product__hero{display:block;margin-bottom:54px}
.sb-ad-product__intro h1{max-width:100%;font-size:clamp(46px,14vw,60px);line-height:.96;margin-bottom:20px}
.sb-ad-product__subtitle{font-size:21px;margin-bottom:34px}
.sb-ad-product__stats{gap:10px;padding:28px 0;margin-bottom:28px}
.sb-ad-product__stat strong{font-size:clamp(18px,5.2vw,22px)}
.sb-ad-product__stat span{font-size:10px;line-height:1.25}
.sb-ad-product__purchase{position:static}
.sb-ad-product__purchase-card{padding:28px 22px}
.sb-ad-product__price{font-size:48px}
.sb-ad-product__deliverables{margin-bottom:54px}
.sb-ad-product__deliverable{grid-template-columns:36px minmax(0,1fr);gap:18px;padding:22px 0}
.sb-ad-product__custom{display:block;width:calc(100% + 40px);margin:0 -20px 58px;padding:30px 24px}
.sb-ad-product__custom p{margin-bottom:24px}
.sb-ad-product__custom h2{font-size:clamp(28px,8vw,32px);line-height:.98}
.sb-ad-product__custom a{display:inline-flex;margin-top:24px}
.sb-ad-product__related-head{display:block}
.sb-ad-product__related-head p{margin-top:10px}
.sb-ad-product__related-grid{display:block}
.sb-ad-product__related-card{border-left:0;padding:26px 0 30px}
}
@media(max-width:340px){
.sb-ad-product-page{padding-left:16px;padding-right:16px}
.sb-ad-product__purchase-card{padding:24px 18px}
.sb-ad-product__stats{gap:8px}
.sb-ad-product__stat strong{font-size:18px}
.sb-ad-product__custom{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
}

/* =========================================================================
 * Email signup popup
 * ====================================================================== */
.sb-popup { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: var(--sb-3); }
.sb-popup[hidden] { display: none; }
.sb-popup__backdrop { position: absolute; inset: 0; background: rgba(17,17,17,0.55); }
.sb-popup__card { position: relative; z-index: 1; background: var(--sb-paper); max-width: 440px; width: 100%; padding: var(--sb-8) var(--sb-6) var(--sb-6); text-align: center; border: 1px solid var(--sb-black); }
.sb-popup__close { position: absolute; top: 0; right: 0; box-sizing: border-box; width: 44px; height: 44px; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; font-size: 1.9rem; line-height: 1; color: var(--sb-black); cursor: pointer; padding: 0; }
.sb-popup__close:hover { color: var(--sb-red); }
.sb-popup__close:focus-visible { outline: 2px solid var(--sb-red); outline-offset: -4px; }
.sb-popup__kicker { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; font-size: var(--sb-fs-small); color: var(--sb-red); margin: 0 0 8px; }
.sb-popup__title { font-family: var(--sb-font-head); font-weight: 800; font-size: 1.9rem; line-height: var(--sb-lh-title); color: var(--sb-black); margin: 0 0 10px; }
.sb-popup__sub { font-family: var(--sb-font-body); font-size: 1.05rem; line-height: var(--sb-lh-deck); color: var(--sb-grey); margin: 0 auto var(--sb-4); max-width: 32ch; }
.sb-popup__form { display: flex; gap: var(--sb-1); margin: 0 0 12px; }
.sb-popup__input { flex: 1; font-family: var(--sb-font-head); font-size: 1rem; padding: 12px 14px; border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-white); color: var(--sb-black); }
.sb-popup__input::placeholder { color: #9a968c; }
.sb-popup__btn { flex: 0 0 auto; }
.sb-popup__note { font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.66rem; color: var(--sb-grey); margin: 0; }
@media (max-width: 420px) { .sb-popup__form { flex-direction: column; } }

/* Popup — success state */
.sb-popup__success { text-align: center; padding: var(--sb-2) 0 var(--sb-1); }
.sb-popup__check { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0 0 var(--sb-3); border-radius: 50%; background: var(--sb-red); color: var(--sb-white); }
.sb-popup__check svg { width: 28px; height: 28px; }
.sb-popup__success-title { font-family: var(--sb-font-head); font-weight: 800; font-size: 1.9rem; line-height: var(--sb-lh-title); color: var(--sb-black); margin: 0 0 8px; }
.sb-popup__success-sub { font-family: var(--sb-font-body); font-size: 1.05rem; line-height: var(--sb-lh-deck); color: var(--sb-grey); margin: 0 auto; max-width: 30ch; }

/* =========================================================================
 * Confirmation / thank-you pages — one composition for every success view.
 * Desktop: 120px top/bottom. Mobile: 72px / 24px. No vertical centering.
 * ====================================================================== */
.sb-confirm {
	display: flex;
	justify-content: center;
	padding: 120px var(--sb-margin);
	box-sizing: border-box;
}
.sb-confirm__inner {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
/* Title must beat later sitewide `main h1 { color: black }` (0,2,2). */
body.secret-boston-v2 .sb-confirm .sb-confirm__title {
	font: 800 clamp(3.5rem, 9vw, 5.5rem) / 0.95 var(--sb-font-head);
	letter-spacing: -0.035em;
	color: var(--sb-red);
	margin: 0 0 28px;
}
.sb-confirm__body {
	max-width: 540px;
	margin: 0 auto;
	font-family: var(--sb-font-body);
}
.sb-confirm__body p { margin: 0 0 var(--sb-3); }
.sb-confirm__body a { color: var(--sb-black); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 600px) {
	.sb-confirm { padding: 72px 24px; }
}

/* =========================================================================
 * Terms + Liability Waiver
 * ====================================================================== */
.sb-terms { padding: var(--sb-12) var(--sb-margin) var(--sb-16); }
.sb-terms__inner { max-width: 720px; margin: 0 auto; }
.sb-terms__title { font-size: var(--sb-fs-h1); line-height: var(--sb-lh-title); margin: 0 0 var(--sb-3);  font-family: var(--sb-font-body);  font-weight: 700;  letter-spacing: -0.02em; }
.sb-terms__lead { font-family: var(--sb-font-body); font-size: var(--sb-fs-body); line-height: var(--sb-lh-prose); color: var(--sb-black); margin: 0 0 var(--sb-4); }
.sb-terms__h2 { font-family: var(--sb-font-head); font-weight: 700; font-size: var(--sb-type-section); margin: var(--sb-6) 0 var(--sb-2);  line-height: 1.2; }
.sb-terms p { font-family: var(--sb-font-body); font-size: var(--sb-fs-body); line-height: var(--sb-lh-prose); color: var(--sb-black); margin: 0 0 var(--sb-3); }
.sb-terms ul { font-family: var(--sb-font-body); font-size: var(--sb-fs-body); line-height: var(--sb-lh-prose); color: var(--sb-black); margin: 0 0 var(--sb-3) var(--sb-3); }
.sb-terms li { margin: 0 0 4px; }
.sb-terms__meta { font-family: var(--sb-font-head); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-meta); color: var(--sb-grey); margin: var(--sb-6) 0 0; }
.sb-terms__agree { border-top: var(--sb-border-line); margin-top: var(--sb-8); padding-top: var(--sb-6); }
.sb-terms__agree .sb-amb__form { max-width: 520px; }

/* =========================================================================
 * Contact
 * ====================================================================== */

.sb-contact__notice { font-family: var(--sb-font-head); font-weight: 700; font-size: 0.95rem; padding: 12px 14px; margin: 0 0 var(--sb-4); border: 1px solid var(--sb-black); }
.sb-contact__notice--success { color: var(--sb-black); background: var(--sb-white); }
.sb-contact__notice--error { color: var(--sb-red); border-color: var(--sb-red); }
.sb-contact__form { display: flex; flex-direction: column; gap: 18px; width: 100%; text-align: left; }
.sb-contact__label { display: flex; flex-direction: column; gap: 7px; }
.sb-contact__label-text { font-family: var(--sb-font-head); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-meta); color: var(--sb-black); }
.sb-contact__label input,
.sb-contact__label select,
.sb-contact__label textarea { font-family: var(--sb-font-head); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: var(--sb-type-control); padding: 13px 14px; border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-paper); color: var(--sb-black); width: 100%;  line-height: 1.4; }
.sb-contact__label input:focus,
.sb-contact__label select:focus,
.sb-contact__label textarea:focus { outline: 2px solid var(--sb-red); outline-offset: 1px; }
.sb-contact__label textarea { resize: vertical; }
.sb-contact__label input::placeholder,
.sb-contact__label textarea::placeholder { color: #9a968c; }
.sb-contact__req { color: var(--sb-red); }
.sb-contact__hp { display: none; }
.sb-contact__privacy { font-family: var(--sb-font-body); font-size: 0.95rem; line-height: var(--sb-lh-deck); color: var(--sb-grey); margin: 0; }
.sb-contact__submit { align-self: flex-start; margin-top: 2px; }

/* =========================================================================
 * Mobile fixes (July QA)
 * ====================================================================== */
/* Homepage Latest/Guides + card grids: single column on phones */
@media (max-width: 600px) {
	.sb-card-grid { grid-template-columns: 1fr; gap: var(--sb-4); }
}
/* SureCart product page: side margins on mobile. Uses the body-class prefix so
   it beats SureCart's own mobile rule (verified: plain class loses, body class
   wins). Also trims the oversized top gap. */
@media (max-width: 900px) {
	.sc_product-template .wp-block-surecart-product-page,
	.sc_product-template .wp-block-surecart-product-list-related {
		padding-left: 18px !important;
		padding-right: 18px !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
	}
	.sc_product-template .wp-block-surecart-product-page { padding-top: 18px !important; }
	.sc_product-template .wp-block-surecart-product-page .wp-block-columns { gap: 20px !important; }
	/* Keep every child block inside the padded form (buttons, columns break out otherwise) */
	.sc_product-template .wp-block-surecart-product-page .wp-block-column,
	.sc_product-template .wp-block-surecart-product-page .wp-block-columns,
	.sc_product-template .wp-block-surecart-product-buy-buttons,
	.sc_product-template .wp-block-surecart-product-buy-buttons .wp-block-button,
	.sc_product-template .wp-block-surecart-product-buy-buttons .wp-block-button__link {
		margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; box-sizing: border-box !important;
	}
}

/* Mobile menu utility links (Search/Saved/Map) — desktop hides these */
.sb-nav__util { display: none; }
@media (max-width: 860px) {
	.sb-nav__util { display: flex; flex-direction: column; gap: 0; list-style: none; margin: 24px 0 0; padding: 0; border-top: 0; }
	/* Two-class selector so it beats the global [class^="sb-"] a colour. */
	.sb-nav .sb-nav__util-link { display: flex; align-items: center; width: 100%; min-height: 56px; box-sizing: border-box; font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; font-size: 0.95rem; letter-spacing: 0.08em; color: var(--sb-grey); background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-align: left; }
	.sb-nav .sb-nav__util > li:first-child .sb-nav__util-link { color: var(--sb-black); }
	.sb-nav .sb-nav__util-link:hover { color: var(--sb-red); }
	.sb-nav .sb-nav__menu a:focus-visible,
	.sb-nav .sb-nav__util-link:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 3px; }
}
.sb-edit-fab { position: fixed; bottom: 20px; right: 20px; z-index: 900; font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.75rem; color: var(--sb-white); background: var(--sb-red); padding: 10px 16px; border-radius: 999px; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,0.2); }
.sb-edit-fab:hover { color: var(--sb-white); opacity: 0.9; }

/* =========================================================================
 * PAGE COVER (full-bleed) + compact heading beneath it
 * ====================================================================== */
.sb-cover { position: relative; width: 100%; min-height: clamp(170px, 24vw, 320px); background-size: cover; background-position: center; background-color: var(--sb-black); }
.sb-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 45%, rgba(0,0,0,0.5)); pointer-events: none; }
.sb-cover--fallback { min-height: clamp(110px, 14vw, 170px); background: var(--sb-red); }
.sb-cover--fallback::after { display: none; }
.sb-cover__kicker { position: absolute; left: var(--sb-margin); bottom: 16px; z-index: 2; color: var(--sb-white); font-family: var(--sb-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--sb-fs-small); }

/* Compact heading row: title + inline action, filters directly beneath */
.sb-browse--covered .sb-browse__header { padding: var(--sb-2) 0 0; margin-bottom: var(--sb-2); border-bottom: 0; }
.sb-browse__head { display: flex; align-items: center; gap: var(--sb-3); flex-wrap: wrap; }
.sb-browse__head .sb-browse__title { margin: 0; line-height: 1; }
.sb-browse--covered .sb-browse__head + .sb-browse__sub { margin-top: var(--sb-2); }
.sb-browse--covered .sb-filterbar { padding-bottom: var(--sb-3); margin-bottom: var(--sb-4); }
.sb-browse--covered .sb-filterbar__label { font-size: 0.64rem; letter-spacing: 0.12em; }
@media (max-width: 600px) { .sb-cover { min-height: clamp(150px, 38vw, 220px); } }

/* =========================================================================
 * SEARCH RESULTS — persistent bar, wide grid, in-place swap
 * ====================================================================== */
.sb-search{padding-bottom:var(--sb-page-end)}
.sb-search__bar-wrap{padding:var(--sb-8) 0 var(--sb-4)}
.sb-search__bar-wrap .sb-browse__container{display:grid;grid-template-columns:1fr minmax(320px,520px);align-items:center;gap:24px 40px}
.sb-search__title{font:700 52px/1.1 var(--sb-font-body);letter-spacing:-.025em;margin:0}
:is(.sb-search-inline,.sb-search-overlay__form){display:flex;align-items:stretch;gap:0;width:100%;max-width:none;background:var(--sb-white);border:1px solid var(--sb-border);border-radius:0;padding:0;box-shadow:none}
:is(.sb-search-inline,.sb-search-overlay__form):focus-within{outline:2px solid var(--sb-black);outline-offset:3px}
.sb-search-field{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:12px;padding:0 0 0 16px}
.sb-search-inline__icon{display:flex;flex:0 0 auto;color:var(--sb-grey)}
.sb-search-inline__icon svg{width:20px;height:20px}
:is(.sb-search-inline__input,.sb-search-overlay__input){flex:1 1 auto;min-width:0;width:100%;-webkit-appearance:none;appearance:none;-webkit-border-radius:0;font:400 16px/1.4 var(--sb-font-head);border:0;border-radius:0;background:transparent;padding:12px 0;margin:0;min-height:var(--sb-search-height);color:var(--sb-black);box-shadow:none}
:is(.sb-search-inline__input,.sb-search-overlay__input):focus{outline:none;border:0;box-shadow:none}
:is(.sb-search-inline__input,.sb-search-overlay__input)::-webkit-search-decoration,
:is(.sb-search-inline__input,.sb-search-overlay__input)::-webkit-search-cancel-button,
:is(.sb-search-inline__input,.sb-search-overlay__input)::-webkit-search-results-button{display:none;-webkit-appearance:none}
:is(.sb-search-inline__input,.sb-search-overlay__input)::placeholder{color:var(--sb-grey)}
:is(.sb-search-inline__btn,.sb-search-control__button){align-self:stretch;flex:0 0 auto;font:700 16px/1.4 var(--sb-font-head);text-transform:none;letter-spacing:0;border:0;border-radius:0;background:var(--sb-red);color:var(--sb-white);padding:12px 24px;cursor:pointer}
:is(.sb-search-inline__btn,.sb-search-control__button):hover{background:var(--sb-black)}
.sb-search__count{grid-column:1/-1;border-top:1px solid var(--sb-border);padding-top:24px;font:400 16px/1.4 var(--sb-font-head);color:var(--sb-grey);margin:8px 0 0;text-transform:none;letter-spacing:0}
.sb-search .sb-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;margin-bottom:0}
.sb-search .sb-card-grid>li{min-width:0}
.sb-search :is(.sb-card__body,.sb-rec-card__body){padding:12px 0 0}
.sb-search :is(.sb-card__title,.sb-rec-card__title){font:700 var(--sb-type-card)/1.2 var(--sb-font-head);margin:0 0 8px}
.sb-search :is(.sb-card__type,.sb-rec-card__type){font:700 var(--sb-type-label)/1.4 var(--sb-font-head);margin:0 0 6px;color:var(--sb-red);text-transform:uppercase;letter-spacing:.06em}
.sb-search :is(.sb-card__meta,.sb-rec-card__meta){font:400 var(--sb-type-meta)/1.4 var(--sb-font-head);margin:0 0 8px}
.sb-search .sb-card__excerpt{font:400 var(--sb-type-card-description)/1.5 var(--sb-font-body);margin:0}
.sb-search .sb-browse__pagination:empty{display:none}
.sb-search.is-loading #sb-search-results{opacity:.45;transition:opacity .15s ease}
@media(max-width:1000px){.sb-search .sb-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-search__bar-wrap .sb-browse__container{grid-template-columns:1fr;gap:24px}:is(.sb-search-inline,.sb-search-overlay__form){max-width:680px}}
@media(max-width:700px){.sb-search__bar-wrap{padding:32px 0 24px}.sb-search__title{font-size:36px}.sb-search .sb-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}:is(.sb-search-inline__btn,.sb-search-control__button){padding-inline:16px}}
@media(max-width:380px){.sb-search .sb-card-grid{grid-template-columns:1fr}}

/* =========================================================================
 * CARD GRID — 4 per row, and the last row STRETCHES to fill (no trailing gap)
 * Flexbox with flex-grow: full rows stay uniform; an incomplete last row grows
 * to fill the width instead of leaving empty cells on the right.
 * ====================================================================== */
.sb-browse .sb-rec-grid, .sb-browse .sb-card-grid, .sb-hub__opp-grid, .sb-opp-grid {
	display: flex; flex-wrap: wrap; grid-template-columns: none;
	gap: var(--sb-4) var(--sb-gutter);
}
.sb-browse .sb-rec-grid > *, .sb-browse .sb-card-grid > *, .sb-hub__opp-grid > *, .sb-opp-grid > * {
	flex: 1 1 calc(25% - var(--sb-gutter)); min-width: 0;
}
@media (max-width: 1040px) {
	.sb-browse .sb-rec-grid > *, .sb-browse .sb-card-grid > *, .sb-hub__opp-grid > *, .sb-opp-grid > * { flex-basis: calc(33.333% - var(--sb-gutter)); }
}
@media (max-width: 720px) {
	.sb-browse .sb-rec-grid > *, .sb-browse .sb-card-grid > *, .sb-hub__opp-grid > *, .sb-opp-grid > * { flex-basis: calc(50% - var(--sb-gutter)); }
}
@media (max-width: 440px) {
	.sb-browse .sb-rec-grid > *, .sb-browse .sb-card-grid > *, .sb-hub__opp-grid > *, .sb-opp-grid > * { flex-basis: 100%; }
}

/* Homepage Move result rows. */
@media (min-width: 1024px) {
	.sb-home-refresh .sb-move--home .sb-move__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; }
	.sb-home-refresh .sb-move--home .sb-move__cards[data-count="1"] { grid-template-columns: minmax(0, 260px); justify-content: center; }
	.sb-home-refresh .sb-move--home .sb-move__cards[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 260px)); justify-content: center; }
	.sb-home-refresh .sb-move--home .sb-move__cards[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 260px)); justify-content: center; }
}

.sb-mobile-move { display: none; } /* desktop hides it; shown on mobile below */
.sb-footer__mnav { display: none; } /* mobile-only footer nav; desktop uses the columns */

.sb-privacy-note {
	margin: 10px 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--sb-grey);
}

.sb-privacy-note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sb-age-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 12px 0 0;
	font: 400 var(--sb-type-control)/1.5 var(--sb-font-head);
	color: var(--sb-ink);
}

.sb-age-check input {
	flex: 0 0 auto;
	margin-top: 0.2em;
}

.sb-form-support--privacy,
.sb-commerce-compliance {
	margin: 16px 0;
}

.sb-commerce-compliance__error,
.sb-waiver__status.is-error,
.sb-claim-msg.is-error {
	color: var(--sb-red);
}

.sb-waiver__status {
	margin-top: 12px;
	font-weight: 700;
}

@media (max-width: 767px) {
	.sb-masthead { position: sticky; top: 0; }
	.sb-masthead__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 56px; gap: var(--sb-2); }
	.sb-nav-toggle { justify-self: start; margin: 0; padding: 8px; }
	.sb-masthead__brand { justify-self: center; }
	.sb-masthead__wordmark { font-size: 1.4rem; }
	.sb-masthead__account { justify-self: end; gap: 8px; }
	.sb-masthead__account .sb-account__hub { display: inline-flex; }
	.sb-mobile-move { display: inline-flex; }
	.sb-masthead__account .sb-mobile-move { color: var(--sb-white); }
	.sb-masthead__account .sb-mobile-move:hover { color: var(--sb-black); }

	.sb-move__intro { font-size: 1.0625rem; line-height: 1.35; margin-bottom: 20px; }
	.sb-move__sentence { flex-direction: column; align-items: stretch; gap: 10px; }
	.sb-move__group { position: relative; display: block; width: 100%; border: 2px solid var(--sb-black); background: var(--sb-white); font-style: normal; }
	.sb-move__group > span { position: absolute; top: 9px; left: 16px; z-index: 1; pointer-events: none; font-family: var(--sb-font-head); font-style: normal; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.6rem; color: var(--sb-grey); }
	.sb-move__select { width: 100%; min-height: 58px; border: 0; margin: 0; padding: 23px 44px 7px 16px; font-size: 1.15rem; background-position: right 16px center; }

	.sb-move__go { width: 100%; min-height: 44px; margin-top: 20px; white-space: nowrap; }
	@media (max-width: 340px) {
		.sb-move__go { padding-inline: var(--sb-3); }
	}
	.sb-move__go:focus-visible { outline: 3px solid var(--sb-black); outline-offset: 3px; }
	.sb-move-form .sb-move__go:disabled { opacity: 1; background: var(--sb-red); border-color: var(--sb-black); color: var(--sb-white); cursor: wait; }
	.sb-move__actions { flex-direction: column; gap: 8px; margin-top: 20px; }
	.sb-move__actions .sb-move__go { margin-top: 0; }
	.sb-move__result { margin-top: var(--sb-6); }
	.sb-move__footer { margin-top: 24px; }
	.sb-move__next-buttons { display: grid; width: 100%; gap: 12px; }
	.sb-move-form :is(.sb-move__again,.sb-move__change) { width: 100%; }
	.sb-move__browse { margin-top: 16px; }

	.sb-footer__cta { padding: var(--sb-6) var(--sb-margin) var(--sb-4); }
	.sb-footer__cta-title { font-size: 1.5rem; }
	.sb-footer__nl-input, .sb-footer__nl-btn { min-height: 44px; }
	.sb-footer__main { display: none; }              /* desktop 4-column nav off on mobile */
	.sb-footer__mnav { display: block; padding: var(--sb-1) var(--sb-margin) 48px; }
	.sb-footer__mprimary, .sb-footer__mlist, .sb-footer__mlegal { list-style: none; margin: 0; padding: 0; }
	.sb-footer__mnav a, .sb-footer__more summary { display: flex; align-items: center; min-height: 48px; font-family: var(--sb-font-head); font-weight: 600; font-size: 0.95rem; color: rgba(255,255,255,0.82); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.12); }
	.sb-footer__more summary { width: 100%; justify-content: space-between; cursor: pointer; list-style: none; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.8rem; color: var(--sb-white); }
	.sb-footer__more summary::-webkit-details-marker { display: none; }
	.sb-footer__more summary::after { content: "\25BE"; font-size: 16px; opacity: 1; color: var(--sb-white); transition: transform .2s ease; }
	.sb-footer__more[open] summary::after { transform: rotate(180deg); }
	.sb-footer__mlist a { padding-left: var(--sb-2); color: rgba(255,255,255,0.76); font-weight: 500; }
	.sb-footer__mlegal { display: flex; gap: var(--sb-4); margin-top: var(--sb-3); }
	.sb-footer__mlegal a { min-height: 44px; border: 0; font-weight: 500; font-size: 0.8rem; color: rgba(255,255,255,0.68); }
	.sb-footer__mnav a:hover, .sb-footer__mlegal a:hover { color: var(--sb-white); }
	/* Bottom: drop the big wordmark band, keep the small company/legal line */
	.sb-footer__bottom { padding: var(--sb-4) var(--sb-margin); }
	.sb-footer__bottom .sb-footer__brand, .sb-footer__bottom .custom-logo-link, .sb-footer__wordmark { display: none; }
	.sb-footer__legal { white-space: nowrap; }
}

/* Approved typography roles: reviewed discovery surfaces. */
 .sb-be__intro, .sb-be__intro p { font: 400 var(--sb-type-intro)/1.4 var(--sb-font-body); }
.sb-single__body h2, .sb-single__body h3, .sb-prose h2, .sb-prose h3 { font-family: var(--sb-font-head); font-weight: 700; line-height: 1.2; }
.sb-be .sb-card__excerpt { display: block; overflow: visible; -webkit-line-clamp: unset; font: 400 var(--sb-type-card-description)/1.5 var(--sb-font-body); }
.sb-be .sb-card__type, .sb-saved-page .sb-card__type { font: 700 var(--sb-type-label)/1.4 var(--sb-font-head); letter-spacing: .06em; }
.sb-rec-card__meta, .sb-move__card-meta, .sb-map-pop__meta { font-size: var(--sb-type-meta); line-height: 1.4; }
.sb-rec-card__vibe, .sb-move__card-vibe, .sb-map-pop__vibe { font: 400 var(--sb-type-label)/1.4 var(--sb-font-head); letter-spacing: .03em; text-transform: uppercase; color: var(--sb-grey); background: transparent; border: var(--sb-border-hair); border-radius: 0; padding: 3px 7px; }
.sb-move__card-media .sb-save { position: absolute; top: 8px; right: 8px; z-index: 4; }
.sb-move-form .sb-move__reason { margin: .4rem 0 0; font: 400 var(--sb-type-card-description)/1.5 var(--sb-font-body); }
.sb-move__reason.is-lowconf { opacity: .75; }
.sb-move__lowconf { display: inline-block; margin-right: .35em; padding: .05em .5em; border: 1px solid currentColor; border-radius: 2rem; font-size: .7em; letter-spacing: .04em; opacity: .6; text-transform: uppercase; vertical-align: middle; }
.sb-places-map .mapboxgl-popup-close-button { background: var(--sb-white); color: var(--sb-black); width: 44px; height: 44px; font: 400 24px/1 var(--sb-font-head); }
.sb-filterbar :is(.fs-label-wrap,.fs-label,.fs-option,.fs-search input,.facetwp-dropdown), .sb-filterbar__search input.facetwp-search { font: 400 var(--sb-type-control)/1.4 var(--sb-font-head); }
.sb-filterbar .fs-label-wrap { border: var(--sb-border-hair); border-radius: 0; background: var(--sb-white); }
.sb-filterbar .fs-label { box-sizing: border-box; display: flex; align-items: center; min-height: 44px; padding: 0 34px 0 12px; }
.sb-filterbar .fs-counter { color: var(--sb-grey); }
.sb-filterbar__item .facetwp-facet { width: 100%; }
.sb-filterbar select.facetwp-dropdown { box-sizing: border-box; min-height: 44px; height: 44px; padding-top: 0; padding-bottom: 0; }
.sb-be__pagination { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
@media (max-width: 767px) {
 :root { --sb-type-intro: 1.25rem; --sb-type-search: 1.25rem; }
 
 .sb-search-overlay { padding: 0; }
 .sb-search-overlay__inner { height: 100%; max-width: none; padding: 80px 20px 32px; }
 .sb-search-overlay__close { top: 16px; right: 20px; }
 .sb-search-overlay .sb-search-overlay__form { margin-bottom: 0; }
 .sb-search-overlay__suggest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; margin-top: 12px; column-gap: 12px; row-gap: 16px; }
 .sb-search-overlay__suggest a { width: 100%; padding: 0; }
}

@media (max-width: 767px) { .tribe-common .tribe-events-header > .sb-events__topbar { grid-column: 1 / -1; justify-content: flex-start; } }

/* Shared DES-019 state typography follows the approved 404 reference. */
.sb-empty { max-width: 640px; margin-inline: auto; text-align: center; }
.sb-empty__title { font: 700 var(--sb-fs-h1)/1.5 var(--sb-font-body); letter-spacing: -.025em; }
.sb-empty__copy { font: 400 var(--sb-fs-deck)/1.4 var(--sb-font-body); color: var(--sb-grey); }
.sb-empty + p:has([data-sb-places-reset]) { text-align: center; }
.tribe-events .tribe-events-c-messages__message { font: 400 var(--sb-fs-deck)/1.4 var(--sb-font-body); text-align: center; }

/* Reviewed corrections: shared editorial masthead and control alignment. */
.sb-browse--recommendations .sb-browse__header, .sb-saved-page .sb-browse__header, .sb-be .sb-be__header { padding: var(--sb-8) 0 var(--sb-4); margin-bottom: 0; border-bottom: 0; }
 .sb-be .sb-be__title { margin: 0; line-height: 1; }
 .sb-be .sb-be__intro { max-width: 720px; margin: var(--sb-2) 0 0; }
.sb-be .sb-be__intro p { margin: 0; }

.sb-filterbar .fs-wrap { display: block; }
.sb-filterbar select.facetwp-dropdown:not(.fs-hidden) { display: block; min-height: 46px; }

/* Shared form and document roles, approved typography batch two. */

.sb-search .sb-search-inline__input { border: 0; background: transparent; }
.sb-search .sb-card__image { aspect-ratio: 4 / 3; }
.sb-search .sb-card__meta { font: 400 var(--sb-type-meta)/1.4 var(--sb-font-head); }
.sb-terms h3 { font: 700 var(--sb-type-card)/1.3 var(--sb-font-head); }
.sb-terms p.sb-terms__meta { font: 400 var(--sb-type-meta)/1.5 var(--sb-font-head); text-transform: none; letter-spacing: 0; }
.sb-terms a { text-decoration: underline; text-underline-offset: .15em; }
.sb-form-help, .sb-form-optional, .sb-privacy-note { font: 400 var(--sb-type-meta)/1.5 var(--sb-font-head); text-transform: none; letter-spacing: 0; }
.sb-account__form[hidden] { display: none; }
.sb-account__label input:focus-visible { outline: 2px solid var(--sb-red); outline-offset: 2px; }

/* TEC form: labels and controls remain plugin-owned and functional. */
.sb-submit-event .my-events-header .my-events { display: none; }
.sb-submit-event .sb-events__submit-head .sb-single__title { font: 700 var(--sb-fs-h1)/1.1 var(--sb-font-body); }
.sb-submit-event .tribe-community-events :is(h3,h4) { font: 700 var(--sb-type-card)/1.2 var(--sb-font-head); text-transform: none; }
.sb-submit-event .tribe-community-events label { font: 700 var(--sb-type-meta)/1.5 var(--sb-font-head); text-transform: none; }
.sb-submit-event .tribe-community-events :is(input,select,textarea,.select2-selection,.select2-results__option) { font: 400 var(--sb-type-control)/1.4 var(--sb-font-head); }
.sb-submit-event .tribe-community-events :is(.required,.req,.note,.description) { font: 400 var(--sb-type-meta)/1.5 var(--sb-font-head); }
.sb-submit-event .tribe-community-events :is(input[type=checkbox],input[type=radio]) + label { font: 400 var(--sb-type-control)/1.5 var(--sb-font-head); }
.sb-submit-event .tribe-community-events :is(.tribe-button,button,input[type=submit]) { font: 700 var(--sb-type-control)/1.4 var(--sb-font-head); }
.sb-submit-event .tribe-community-events .tribe-button-secondary { background: transparent; color: var(--sb-black); border: 1px solid var(--sb-black); }
.sb-submit-event .tribe-community-events :is(.tribe-button-primary,input[type=submit]) { background: var(--sb-red); color: var(--sb-white); }
.sb-submit-event .sb-event-image-error { margin: 10px 0 0; font: 700 var(--sb-type-meta)/1.5 var(--sb-font-head); color: var(--sb-red); }
.sb-submit-event .sb-event-image-preview { width: min(220px, 100%); margin-top: 12px; }
.sb-submit-event .sb-event-image-preview img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--sb-paper); border: 1px solid var(--sb-border); }
.sb-submit-event .sb-event-image-preview span { display: block; margin-top: 6px; font: 400 var(--sb-type-meta)/1.5 var(--sb-font-head); color: var(--sb-grey); }
.tribe-section-image-uploader .sb-current-event-image-preview { width: min(220px, 100%); max-width: 220px; }
.tribe-section-image-uploader .sb-current-event-image-frame { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }
.tribe-section-image-uploader .sb-current-event-image-frame img { display: block; width: 100% !important; height: 100% !important; aspect-ratio: 1 / 1; object-fit: cover !important; border: 1px solid var(--sb-border); }
.tribe-section-image-uploader .sb-event-image-replace { display: inline-block; margin-top: 10px; }
.sb-submit-event .sb-event-recurrence-error { margin: 10px 0 0; font: 700 var(--sb-type-meta)/1.5 var(--sb-font-head); color: var(--sb-red); }
.sb-submit-event .tribe-recurrence-exclusion-row[hidden] { display: none !important; }
.sb-submit-event .sb-event-virtual-link { margin-top: 10px; }
.sb-submit-event .sb-event-virtual-link[hidden], .sb-submit-event .tribe-section-virtual tbody[hidden] { display: none !important; }
.sb-submit-event .sb-event-virtual-error { margin: 10px 0 0; font: 700 var(--sb-type-meta)/1.5 var(--sb-font-head); color: var(--sb-red); }
.sb-package-includes { font: 700 var(--sb-type-card)/1.3 var(--sb-font-head); }
.sb-package-items, .sb-package-items p { font: 400 var(--sb-type-card-description)/1.5 var(--sb-font-head); }
.sb-package-saving { font: 400 var(--sb-type-meta)/1.5 var(--sb-font-head); }

/* SureCart exposes these native font tokens for branded forms and quantity controls. */
body.surecart-template { --sc-font-sans: var(--sb-font-head); --sc-input-label-font-size-medium: var(--sb-type-meta); --sc-input-font-size-medium: var(--sb-type-control); }

.sb-contact__form .sb-contact__label :is(input,select,textarea), .sb-amb__form .sb-amb__label :is(input,textarea), .sb-account__form .sb-account__label input { font: 400 var(--sb-type-control)/1.4 var(--sb-font-head); border: 1px solid var(--sb-black); border-radius: 0; background: var(--sb-paper); color: var(--sb-black); }

/* Approved nav-page spacing: shared entrance and footer clearance. */
.sb-browse--recommendations, .sb-saved-page, .sb-be { padding-bottom: var(--sb-page-end); }
.sb-browse--recommendations .sb-browse__head { justify-content: space-between; }
.sb-browse--recommendations .sb-filterbar__search { flex: 0 1 360px; margin: 0; }
.sb-places-controls { display: flex; align-items: flex-start; gap: var(--sb-3); border-bottom: var(--sb-border-line); padding-bottom: var(--sb-3); margin-bottom: var(--sb-4); }
.sb-places-controls .sb-filterbar { flex: 1; min-width: 0; border: 0; padding: 0; margin: 0; gap: var(--sb-2); }
.sb-places-controls .sb-filterbar__item { flex: 1 1 150px; min-width: 0; }
.sb-places-controls .fs-wrap, .sb-places-controls select.facetwp-dropdown { width: 100%; }
.sb-browse--recommendations .sb-filterbar__search :is(.facetwp-input-wrap,input.facetwp-search) { width: 100%; min-height: 44px; box-sizing: border-box; }
.sb-places-controls .sb-places-view { flex-shrink: 0; margin-top: 27px; }
.sb-browse--recommendations .sb-rec-grid > * { flex-grow: 0; }
.sb-saved-page .sb-card-grid > * { flex-grow: 0; }
.sb-places-selected { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -8px 0 var(--sb-4); }
.sb-places-selected[hidden] { display: none; }
.sb-places-selected__dynamic { display: contents; }
.sb-places-selected__chip { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; min-height: 40px; box-sizing: border-box; padding: 8px 12px; border: 1px solid var(--sb-border); border-radius: 0; background: var(--sb-white); color: var(--sb-black); font: 400 var(--sb-type-meta)/1.4 var(--sb-font-head); text-align: left; cursor: pointer; }
.sb-places-selected__chip:hover { border-color: var(--sb-black); }
.sb-places-selected__chip:focus-visible, .sb-places-view__link:focus-visible, .sb-filterbar__reset :is(a,button):focus-visible { outline: 2px solid var(--sb-red); outline-offset: 3px; }
.sb-places-selected__chip span:first-child { min-width: 0; overflow-wrap: anywhere; }
.sb-places-selected__chip--fixed { cursor: pointer; }
.sb-places-destination__context { max-width: 680px; margin-top: var(--sb-8); padding-top: var(--sb-4); border-top: var(--sb-border-line); }
.sb-places-destination__context h2 { margin: 0 0 var(--sb-2); font: 700 var(--sb-type-card)/1.25 var(--sb-font-head); }
.sb-places-destination__context p { margin: 0; font: 400 var(--sb-type-card-description)/1.6 var(--sb-font-body); color: var(--sb-black); }

.content-area:has(.tribe-events-view) { margin-top: var(--sb-8); margin-bottom: var(--sb-page-end); }
.sb-submit-event .tribe-community-events { box-sizing: border-box; width: 100%; max-width: 800px; margin-inline: auto; margin-bottom: var(--sb-page-end); padding: 0; background: transparent; border: 0; }
.sb-submit-event .my-events-header { margin: 0 0 var(--sb-4); padding: 0; border: 0; }
.sb-submit-event .my-events-header .tribe-button-secondary { float: none; display: inline-block; }
@media (max-width: 782px) {
 :root { --sb-page-end: 48px; }
 .sb-browse--recommendations .sb-browse__header, .sb-saved-page .sb-browse__header, .sb-be .sb-be__header { padding: var(--sb-4) 0 var(--sb-3); }
 .sb-browse--recommendations .sb-filterbar__search { flex-basis: 100%; max-width: none; }
 .sb-places-controls { flex-direction: column; gap: var(--sb-2); }
 .sb-places-controls .sb-filterbar { width: 100%; flex: auto; }
 .sb-places-controls .sb-places-view { margin-top: 0; }
 .sb-places-selected { margin-top: -4px; }
 
 .content-area:has(.tribe-events-view) { margin-top: var(--sb-4); }
 .tribe-common .tribe-events-header > .sb-events__topbar { grid-row: 2; margin-top: var(--sb-2); }
 .sb-submit-event .tribe-community-events { padding: 0; }
}

/* Shared approved editorial pages and inquiry forms. */
.sb-editorial {--ink:var(--sb-black);--line:var(--sb-border);color:var(--ink);max-width:1200px;margin:auto;padding:64px 56px 96px;}
.sb-editorial *{box-sizing:border-box}
.sb-editorial .eyebrow{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--sb-red);margin:0 0 20px}
.sb-editorial .hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.sb-editorial h1{font:700 64px/1.07 var(--sb-font-body);letter-spacing:-.025em;margin:0;max-width:18ch;text-wrap:balance}
.sb-editorial .hero-copy{padding-top:8px;max-width:440px}
.sb-editorial .hero-copy p{font:400 24px/1.4 var(--sb-font-body);color:var(--sb-grey);margin:0 0 16px}
.sb-editorial .sb-btn{font:700 14px/1.4 var(--sb-font-head);letter-spacing:.03em;min-height:48px;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:24px}
.sb-editorial .editorial-row{display:grid;grid-template-columns:280px 1fr;gap:64px;border-top:1px solid var(--line);padding-top:40px;margin-top:64px}
.sb-editorial h2{font:700 32px/1.15 var(--sb-font-head);letter-spacing:-.015em;margin:0}
.sb-editorial .perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:36px 32px}
.sb-editorial .perks li{display:flex;gap:16px}
.sb-editorial .perk-number{font:400 13px/1.5 var(--sb-font-head);color:var(--sb-red);padding-top:3px}
.sb-editorial h3{font:700 20px/1.25 var(--sb-font-head);margin:0 0 8px}
.sb-editorial .perks p{font:400 18px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0}
.sb-editorial .who-copy p{font:400 20px/1.5 var(--sb-font-body);margin:0 0 20px}
.sb-editorial .who-copy .last{margin:0;color:var(--sb-grey)}
.sb-editorial #apply{scroll-margin-top:32px;margin-top:64px}
.sb-editorial .application{max-width:800px;margin:auto;background:#fff;border:1px solid var(--line);padding:48px}
.sb-editorial .application-head{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:32px}
.sb-editorial .application-head h2{font-size:38px;margin-bottom:16px}
.sb-editorial .application-head p{font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);max-width:540px;margin:0}
.sb-editorial .required-note{font:400 13px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0 0 24px}
.sb-editorial .sb-amb__form{gap:24px}
.sb-editorial .sb-amb__row{gap:24px}
.sb-editorial .sb-amb__label{gap:8px}
.sb-editorial .sb-amb__label-text{font:600 14px/1.4 var(--sb-font-head)}
.sb-editorial .sb-amb__form .sb-amb__label input{background:#fff;border:1px solid #a5a29a;padding:14px 16px;min-height:52px;font:400 16px/1.4 var(--sb-font-head);border-radius:0}
.sb-editorial .sb-amb__label input::placeholder{color:#75736e}
.sb-editorial .sb-amb__label input:focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-editorial .sb-amb__check{border-top:1px solid var(--line);padding-top:28px;margin-top:8px}
.sb-editorial :is(.sb-amb__check,.sb-age-check){font:400 15px/1.5 var(--sb-font-head);display:flex;align-items:flex-start;gap:12px;margin-bottom:0}
.sb-editorial :is(.sb-amb__check,.sb-age-check) input{appearance:auto;flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--sb-red)}
.sb-editorial .sb-privacy-note{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-editorial .sb-amb__submit{width:auto;min-width:260px;margin-top:4px;min-height:52px}
.sb-editorial a:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}
@media(max-width:900px){.sb-editorial{padding-inline:32px}
.sb-editorial .hero-grid{grid-template-columns:1fr;gap:28px}
.sb-editorial .hero-copy{max-width:640px}
.sb-editorial .editorial-row{grid-template-columns:1fr;gap:28px}
.sb-editorial h1{max-width:20ch}
.sb-editorial .application{padding:40px}}
@media(max-width:600px){.sb-editorial{padding:32px 20px 48px}
.sb-editorial h1{font-size:36px;line-height:1.12;max-width:18ch}
.sb-editorial .hero-copy p{font-size:20px}
.sb-editorial .hero-copy{padding:0}
.sb-editorial .eyebrow{margin-bottom:16px}
.sb-editorial .editorial-row{margin-top:40px;padding-top:28px;gap:24px}
.sb-editorial h2{font-size:28px}
.sb-editorial .perks{grid-template-columns:1fr;gap:24px}
.sb-editorial .who-copy p{font-size:18px}
.sb-editorial #apply{margin-top:40px}
.sb-editorial .application{padding:24px 20px}
.sb-editorial .application-head h2{font-size:28px}
.sb-editorial .application-head p{font-size:18px}
.sb-editorial .sb-amb__row{grid-template-columns:1fr}
.sb-editorial .sb-amb__submit{width:100%;min-width:0}
.sb-editorial .application-head{padding-bottom:24px;margin-bottom:24px}}

.sb-editorial .application-head .eyebrow{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.12em;color:var(--sb-red);margin-bottom:16px}

.sb-info{padding-top:48px}
.sb-editorial.sb-about-refresh h1{max-width:none;text-wrap:pretty}
.sb-editorial.sb-about-refresh h1 a{color:inherit;text-decoration:none}
.sb-editorial.sb-about-refresh h1 a:hover{color:inherit;text-decoration:underline;text-underline-offset:.12em}
@media(max-width:600px){.sb-editorial.sb-about-refresh h1{font-size:30px;line-height:1.15}
.sb-editorial.sb-about-refresh header + .editorial-row{margin-top:28px}}
.sb-info .hero-grid{grid-template-columns:1.2fr 1fr;gap:40px}
.sb-info .hero-copy p{margin-bottom:16px}
.sb-info .who-copy p:last-child{margin-bottom:0}
.sb-info .numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);margin-top:48px;padding-top:32px}
.sb-info .numbers strong{display:block;color:var(--sb-red);font:700 42px/1.1 var(--sb-font-head)}
.sb-info .numbers span{display:block;margin-top:12px;font:600 12px/1.4 var(--sb-font-head);letter-spacing:.06em;text-transform:uppercase}
.sb-info .perks h3{margin-bottom:8px}
.sb-info .perks a{text-decoration:none}
.sb-info .perks a:hover{text-decoration:underline}
.sb-info .perks li > a{display:block;min-height:44px;color:inherit}
.sb-info .perks li > a:hover{text-decoration:none}
.sb-info .perks li > a:hover h3{text-decoration:underline}
.sb-contact-refresh{padding-top:64px}
.sb-contact-refresh .contact-panel{margin-top:64px;scroll-margin-top:32px}
.sb-contact-refresh .editorial-row{grid-template-columns:1fr}
.sb-contact-refresh .perks{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px;align-items:start}
.sb-contact-refresh .perks p{font:400 18px/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-contact-refresh .perks p a{font:600 16px/1.5 var(--sb-font-head);color:var(--sb-black);text-decoration:none}
.sb-contact-refresh .perks p a:hover{text-decoration:underline;text-underline-offset:4px}
.sb-contact-refresh .perks p+p,.sb-contact-refresh .perks .direct-email{margin-top:8px}
.sb-contact-refresh .perks .direct-email{display:inline-block}
.sb-contact-refresh .sb-contact__form{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sb-contact-refresh .sb-contact__label{display:flex;flex-direction:column;gap:8px;margin:0}
.sb-contact-refresh .sb-contact__label:nth-of-type(n+3),.sb-contact-refresh .sb-contact__privacy{grid-column:1/-1}
.sb-contact-refresh .sb-contact__label-text{font:600 14px/1.4 var(--sb-font-head)}
.sb-contact-refresh .sb-form-optional{font-weight:400;color:var(--sb-grey)}
.sb-contact-refresh .sb-contact__form :is(input,select,textarea){width:100%;background:#fff;border:1px solid #a5a29a;border-radius:0;padding:14px 16px;min-height:52px;font:400 16px/1.4 var(--sb-font-head)}
.sb-contact-refresh .sb-contact__form textarea{min-height:160px;resize:vertical}
.sb-contact-refresh .sb-contact__form :is(input,select,textarea):focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-contact-refresh .sb-form-help{font:400 13px/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-contact-refresh .sb-contact__submit{width:260px;max-width:100%;margin:0;grid-column:1/-1}
.sb-contact-refresh .direct-email{font:600 16px/1.5 var(--sb-font-head);color:var(--sb-black);text-decoration:none;text-underline-offset:4px}
.sb-contact-refresh .direct-email:hover{text-decoration:underline}
.sb-contact-refresh .application-head{padding-bottom:16px;margin-bottom:24px}
.sb-contact-refresh .application-head h2{margin-bottom:0}
.sb-contact-refresh .application-head .eyebrow{font:700 12px/1.4 var(--sb-font-head);color:var(--sb-red);margin-bottom:12px}
@media(max-width:900px){.sb-contact-refresh .perks{grid-template-columns:1fr;gap:24px}
.sb-info .hero-grid{grid-template-columns:1fr;gap:24px}
.sb-info.sb-ad-refresh .hero-grid{grid-template-columns:1fr;gap:24px}
.sb-ad-refresh .hero-grid h1{grid-column:auto}
.sb-ad-refresh .hero-copy{justify-self:start;display:block}
.sb-ad-refresh .hero-copy::before{content:none}
.sb-ad-refresh .hero-copy .sb-btn{grid-column:auto;justify-self:start}
}
@media(max-width:600px){.sb-info{padding-top:32px}
.sb-contact-refresh{padding-top:32px;display:flex;flex-direction:column}
.sb-contact-refresh .hero-copy p{margin-bottom:12px}
.sb-contact-refresh .hero-copy .sb-btn{width:100%}
.sb-contact-refresh .contact-panel{order:2;margin-top:28px}
.sb-contact-refresh .editorial-row{order:3;margin-top:28px;padding-top:0;border-top:1px solid var(--line)}
.sb-contact-refresh .perks{gap:0}
.sb-contact-refresh .perks li{border-bottom:1px solid var(--line);padding:16px 0;margin:0}
.sb-contact-refresh .perks li:last-child{border-bottom:0}
.sb-contact-refresh .perks h3{font:700 18px/1.25 var(--sb-font-head);letter-spacing:normal;text-transform:none;color:var(--sb-black);margin:0 0 4px}
.sb-contact-refresh .perks p{font:400 15px/1.4 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-contact-refresh .perks p+p{margin-top:4px}
.sb-contact-refresh .perks p a{font:600 15px/1.4 var(--sb-font-head);color:var(--sb-black)}
.sb-contact-refresh .perks li:first-child p{display:none}
.sb-contact-refresh .direct-email{font:600 15px/1.4 var(--sb-font-head);margin-top:0;color:var(--sb-black)}
.sb-info .numbers{gap:12px;grid-template-columns:1fr;margin-top:32px;padding-top:24px;text-align:left}
.sb-info .numbers > div{display:grid;grid-template-columns:7.4rem 1fr;gap:0 14px;align-items:baseline}
.sb-info .numbers strong{font-size:28px;line-height:1.1}
.sb-info .numbers span{margin:0;align-self:end;padding-bottom:2px;font-size:11px;letter-spacing:.04em}
.sb-contact-refresh .sb-contact__form{grid-template-columns:1fr}
.sb-contact-refresh .sb-contact__submit{width:100%}
.sb-contact-refresh .direct-email{overflow-wrap:anywhere}
}
.sb-editorial .sb-amb__form .sb-amb__label textarea{box-sizing:border-box;background:white;border:1px solid #a5a29a;padding:14px 16px;min-height:160px;font:400 16px/1.4 var(--sb-font-head);border-radius:0;resize:vertical}
.sb-editorial .sb-amb__label textarea:focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-editorial .sb-form-help{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-editorial .sb-age-check{padding-top:24px;border-top:1px solid var(--line)}

.sb-ad-refresh{padding-top:64px}
@media(min-width:901px){.sb-info.sb-ad-refresh .hero-grid{grid-template-columns:repeat(3,1fr);gap:32px;align-items:center}
.sb-ad-refresh .hero-grid h1{grid-column:1/3;max-width:none}
.sb-ad-refresh .hero-copy{padding-top:0;max-width:none;justify-self:stretch;align-self:center;display:grid;grid-template-columns:1fr max-content 1fr;align-items:center;align-content:center}
.sb-ad-refresh .hero-copy::before{content:attr(data-align);grid-column:2;font:700 42px/1.1 var(--sb-font-head);visibility:hidden;height:0;overflow:hidden;white-space:nowrap;pointer-events:none}
.sb-ad-refresh .hero-copy .sb-btn{grid-column:1/3;justify-self:end}}
.sb-ad-refresh .package-section{border-top:1px solid var(--line);margin-top:48px;padding-top:40px;scroll-margin-top:24px}
.sb-ad-refresh .package-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:32px}
.sb-ad-refresh .package-heading p{font:400 18px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0}
.sb-ad-refresh .package-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sb-ad-refresh .package{padding:32px;background:white;border:1px solid var(--line);display:flex;flex-direction:column}
.sb-ad-refresh .package-top{display:flex;align-items:baseline;gap:16px}
.sb-ad-refresh .sb-ad-refresh .package-top .eyebrow{margin:0}
.sb-ad-refresh .package h3{font-size:24px;margin:0}
.sb-ad-refresh .package-price{font:600 40px/1.15 var(--sb-font-head);letter-spacing:-.025em;margin:24px 0 16px;color:var(--ink)}
.sb-ad-refresh .package-copy{font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0 0 28px;max-width:32ch}
.sb-ad-refresh .package-link{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:auto;background:none;text-align:left;display:flex;justify-content:space-between;align-items:center;color:var(--ink);font:700 14px/1.4 var(--sb-font-head);cursor:pointer}
.sb-ad-refresh .package-link:hover{color:var(--sb-red)}
.sb-ad-refresh .package-link:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}

.sb-ad-refresh .sb-age-check{font-size:14px}
.sb-ad-refresh .sb-privacy-note{margin:12px 0 0;font-size:13px;max-width:700px}
.sb-ad-refresh .sb-privacy-note a{color:inherit}
.sb-ad-refresh .custom-row{margin-top:56px;border-top:0}
.sb-ad-refresh .custom-row .sb-btn{margin-top:8px}
.sb-ad-refresh .sb-commerce-compliance__error{color:var(--sb-red);font:600 14px/1.5 var(--sb-font-head)}
@media(max-width:600px){.sb-ad-refresh{padding-top:32px}
.sb-info.sb-ad-refresh .numbers{grid-template-columns:1fr;gap:12px;margin-top:28px;padding-top:20px;text-align:left}
.sb-ad-refresh .numbers > div{display:grid;grid-template-columns:7.4rem 1fr;gap:0 14px;align-items:baseline}
.sb-ad-refresh .numbers strong{font-size:28px;line-height:1.1}
.sb-ad-refresh .numbers span{margin:0;align-self:end;padding-bottom:2px;font-size:11px;letter-spacing:.04em}
.sb-ad-refresh .package-heading{display:block}
.sb-ad-refresh .package-heading p{margin-top:12px}
.sb-ad-refresh .package-grid{grid-template-columns:1fr;gap:16px}
.sb-ad-refresh .package{padding:24px}
.sb-ad-refresh .package h3{font-size:22px}
.sb-ad-refresh .package-price{font-size:34px;margin-top:20px}
.sb-ad-refresh .package-copy{font-size:18px}
.sb-ad-refresh .package-section{margin-top:28px;padding-top:24px}
.sb-ad-refresh .editorial-row.custom-row{margin-top:28px;padding-top:0;gap:16px}
.sb-ad-refresh .custom-row .who-copy{max-width:260px;min-width:0;justify-self:start}
.sb-ad-refresh .custom-row .who-copy p{max-width:260px}
.sb-ad-refresh .custom-row .sb-btn{width:auto;max-width:none;min-width:0;padding-inline:18px;gap:10px;white-space:nowrap}
}

@media(min-width:601px){.sb-info .numbers{text-align:center}}

.sb-editorial .inquiry-panel{margin-top:64px;scroll-margin-top:32px}

@media(max-width:600px){.sb-editorial .inquiry-panel{margin-top:40px}
}

/* Shared display roles: section > lead > supporting title. */
.sb-home-refresh{--sb-type-card:20px;--sb-type-section-display:2.3625rem;--sb-home-muted:#444444;--sb-home-section-gap:70px;--ink:var(--sb-black);--line:var(--sb-border);max-width:1200px;margin:auto;padding:0 56px 80px;color:var(--ink)}
.sb-home-refresh *{box-sizing:border-box;min-width:0}
.sb-home-refresh a{color:inherit;text-decoration:none}
.sb-home-refresh a:hover{color:var(--sb-red);text-decoration:none}
.sb-home-refresh .eyebrow{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--sb-red);margin:0 0 12px}
.sb-home-refresh .home-feature{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center}
.sb-home-refresh .home-move + .event-section{margin-top:48px}
.sb-home-refresh .home-move + .guides-section{margin-top:48px}
.sb-home-refresh .home-move + .home-feature-section{margin-top:48px}
.sb-home-refresh .home-feature-section{
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	box-sizing:border-box;
	background:var(--sb-white);
	box-shadow:0 10px 28px rgba(17,17,17,.055),0 -6px 20px rgba(17,17,17,.04);
	padding:40px 0;
}
.sb-home-refresh .home-feature-section .home-feature{max-width:1200px;margin:0 auto;padding:0 56px;box-sizing:border-box}
.sb-home-refresh .home-feature-section + .home-section{margin-top:48px}
.sb-home-refresh .guides-section{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);box-sizing:border-box;background:var(--sb-white);box-shadow:none;border:0;padding:48px 0}
.sb-home-refresh .guides-section .guides-band{max-width:1200px;margin:0 auto;padding:0 56px;box-sizing:border-box}
.sb-home-refresh .home-feature .eyebrow{margin-bottom:16px}
.sb-home-refresh .home-feature .feature-kicker{font:700 14px/1.4 var(--sb-font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--sb-red);margin:0 0 28px}
.sb-home-refresh .home-feature h3{font:700 64px/1.12 var(--sb-font-body);letter-spacing:-.025em;margin:0 0 8px}
.sb-home-refresh .home-feature .feature-place-meta{font:400 16px/1.4 var(--sb-font-head);color:var(--sb-home-muted);margin:0 0 40px}
.sb-home-refresh .home-feature .text-link{font-size:16px;font-weight:700;color:#111}
.sb-home-refresh .feature-media,.sb-home-refresh .sb-hero__lead-media{position:relative}
.sb-home-refresh :is(.feature-media,.sb-hero__lead-media)>.sb-save{position:absolute;top:8px;right:8px;z-index:4;width:44px;height:44px}
.sb-home-refresh .feature-photo img{display:block;width:100%;height:400px;object-fit:cover}
.sb-home-refresh .event-section + .home-section{margin-top:var(--sb-home-section-gap)}
.sb-home-refresh .feature-meta{font:400 18px/1.5 var(--sb-font-head);color:var(--sb-home-muted);margin:0 0 32px}
.sb-home-refresh .text-link{font:400 14px/1.4 var(--sb-font-head);color:var(--sb-home-muted)}
.sb-home-refresh .home-move{background:transparent;border:0;margin:0;padding:64px 0 36px;text-align:center}
.sb-home-refresh .home-move>.eyebrow{margin-bottom:4px}
.sb-home-refresh .home-move h1{font:800 60px/1.08 var(--sb-font-head);margin:0 0 12px}
.sb-home-refresh .sb-move__intro{font:400 16px/1.5 var(--sb-font-body);color:#000;margin:0 auto 32px;max-width:none}
.sb-home-refresh .sb-move-form{display:block;text-align:center}
.sb-home-refresh .sb-move__sentence{display:flex;flex-wrap:nowrap;justify-content:center;gap:20px;color:var(--sb-home-muted)}
.sb-home-refresh .sb-move__group{display:flex;align-items:center;gap:12px;font:italic 17px/1.35 var(--sb-font-body);color:var(--sb-home-muted)}
.sb-home-refresh .sb-move__select{font:500 18px/24px var(--sb-font-head);border:1px solid var(--ink);background-color:white;min-height:52px;max-width:180px;padding:12px 40px 12px 16px}
.sb-home-refresh .sb-move__select:focus-visible{outline:2px solid var(--sb-red);outline-offset:2px}
.sb-home-refresh .sb-move__select option{font:500 18px/24px var(--sb-font-head)}
.sb-home-refresh .sb-move__actions{margin:24px 0 0;display:flex;justify-content:center;gap:12px}
.sb-home-refresh .sb-move__result{flex-basis:100%;text-align:left}
.sb-home-refresh .home-section{margin-top:var(--sb-home-section-gap)}
.sb-home-refresh .home-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:20px;margin-bottom:24px}
.sb-home-refresh .home-heading h2{font:700 var(--sb-type-section-display)/1.1 var(--sb-font-head);letter-spacing:-.025em;margin:0}
.sb-home-refresh .home-heading a{font:700 14px/1.4 var(--sb-font-head);letter-spacing:0;text-transform:none}
.sb-home-refresh .sb-rec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.sb-home-refresh .sb-rec-card__title{font:700 var(--sb-type-card)/1.2 var(--sb-font-head);margin:10px 0 4px}
.sb-home-refresh .sb-rec-card__meta{margin:0;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-home-muted)}
.sb-home-refresh :is(.sb-move--home .sb-move__card-meta,.sb-move__browse,.sb-move__action-status,.sb-move__refine-note){color:var(--sb-home-muted)}

.sb-home-refresh .event-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.sb-home-refresh .event-image{display:block;background:#eae6dd;aspect-ratio:1}
.sb-home-refresh .event-image img{display:block;width:100%;height:100%;object-fit:cover}
.sb-home-refresh .event-date{border-top:1px solid var(--sb-red);padding-top:12px;margin:12px 0 8px;color:var(--sb-red);font:600 14px/1.4 var(--sb-font-head)}
.sb-home-refresh .event-name h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:700 20px/1.2 var(--sb-font-head);margin:0 0 8px}
.sb-home-refresh .event-name p{font:400 14px/1.4 var(--sb-font-head);color:var(--sb-home-muted);margin:0}
.sb-home-refresh .guide-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}
.sb-home-refresh .guide-0{grid-column:1;grid-row:1}
.sb-home-refresh .guide-support{grid-column:2;grid-row:1;display:grid;gap:24px}
.sb-home-refresh .guide-story{position:relative}
.sb-home-refresh .guide-media{position:relative}
.sb-home-refresh .guide-media>.sb-save{position:absolute;top:8px;left:8px;right:auto;z-index:2;width:44px;height:44px}
.sb-home-refresh .sb-move__go{margin:0;min-height:52px;padding:14px 28px;font-size:16px}
/* Beat Kadence global button:disabled fade on every width — loading stays solid red. */
.sb-home-refresh .sb-move-form .sb-move__go:disabled{opacity:1;background:var(--sb-red);border-color:var(--sb-black);color:var(--sb-white);cursor:wait}
.sb-home-refresh .guide-story img{display:block;width:100%;object-fit:cover}
.sb-home-refresh .guide-0 img{height:360px}
.sb-home-refresh .guide-story h3{font:700 var(--sb-type-card)/1.2 var(--sb-font-head);margin:0}
.sb-home-refresh .guide-0 h3{margin-top:20px}
.sb-home-refresh .guide-0 .sb-kicker{margin:24px 0 12px}
.sb-home-refresh .guide-0 .sb-kicker+h3{margin-top:0}
.sb-home-refresh .guide-support h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:700}

@media(min-width:651px){.sb-home-refresh .sb-move__select[data-facet="neighborhood"]{width:220px;max-width:220px;white-space:nowrap}}

.sb-home-refresh .guide-support .guide-story{display:grid;grid-template-columns:162px 1fr;gap:20px;align-items:start;min-height:0}
.sb-home-refresh .guide-support .guide-dek{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:6px 0 0;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-home-muted)}
@media(min-width:651px){
.sb-home-refresh .guide-support .guide-story>div{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;line-height:1.2}
.sb-home-refresh .guide-support h3{display:inline;margin-right:8px;-webkit-line-clamp:unset;overflow:visible;font:700 20px/1.2 var(--sb-font-head)}
.sb-home-refresh .guide-support .guide-dek{display:inline;-webkit-line-clamp:unset;overflow:visible;margin:0;font:400 15px/1.45 var(--sb-font-head);color:var(--sb-home-muted)}
}
.sb-home-refresh .guide-support img{width:162px;height:auto;aspect-ratio:3/2;object-fit:cover}
.sb-home-refresh .guide-media>.sb-save svg{position:relative;z-index:1}
.sb-home-refresh .sb-save{color:var(--sb-black);overflow:visible}
.sb-home-refresh .sb-save svg{flex:0 0 auto;width:18px;height:18px;min-width:18px;min-height:18px;position:relative;z-index:1;overflow:visible;fill:none;stroke:currentColor}
.sb-home-refresh .sb-save.is-saved{color:var(--sb-white)}
.sb-home-refresh .sb-rec-card__image .sb-save{width:44px;height:44px}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save{background:transparent;color:var(--sb-black)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save::before{content:'';position:absolute;z-index:0;inset:4px;border-radius:50%;background:rgba(255,255,255,.92)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save.is-saved{color:var(--sb-white)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save.is-saved::before{background:var(--sb-red)}
.sb-home-refresh .sb-hero__lead{color:inherit}
.sb-home-refresh .sb-hero__lead-body{color:inherit;text-decoration:none}

@media(min-width:1001px){
.sb-home-refresh .home-move:not(:has(.sb-move-form--has-results)) + .event-section{margin-top:48px}
.sb-home-refresh .home-move:not(:has(.sb-move-form--has-results)) + .guides-section{margin-top:48px}
.sb-home-refresh .home-move:not(:has(.sb-move-form--has-results)) + .home-feature-section{margin-top:48px}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save{top:4px;right:4px;left:auto;background:transparent}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save::before{content:'';position:absolute;inset:4px;border-radius:50%;background:rgba(255,255,255,.92)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save:hover{background:transparent}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save:hover::before{background:var(--sb-white)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save.is-saved{background:transparent;color:var(--sb-white)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save.is-saved::before{background:var(--sb-red)}
.sb-home-refresh :is(.feature-media,.guide-media,.sb-hero__lead-media)>.sb-save svg{position:relative;z-index:1}
.sb-home-refresh .guides-section .guide-support{margin-top:0}
.sb-home-refresh .guide-support .guide-story{grid-template-columns:162px 1fr;align-items:start;min-height:0}
.sb-home-refresh .guide-support img{width:162px;height:auto;aspect-ratio:3/2;object-fit:cover}
.sb-home-refresh .home-read .sb-hero__aside{margin-top:24px}
.sb-home-refresh .sb-rec-grid .sb-rec-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:700 20px/1.2 var(--sb-font-head);margin:16px 0 8px}
}
.sb-home-refresh .home-read .sb-container{padding:0;max-width:none}
.sb-home-refresh .sb-hero__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}
.sb-home-refresh .sb-hero__lead{display:block;background:none;border:0}
.sb-home-refresh .sb-hero__lead-media{display:block;aspect-ratio:16/9;margin:0}
.sb-home-refresh .sb-hero__lead-media img{width:100%;height:100%;object-fit:cover}
.sb-home-refresh .sb-hero__lead-body{display:block;padding:24px 0 0}
.sb-home-refresh .sb-hero__lead-body .sb-kicker{margin:0 0 12px}
.sb-home-refresh .sb-hero__item{display:block;padding:20px 0;border-bottom:1px solid var(--line)}
@media(min-width:651px){.sb-home-refresh .sb-hero__item{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;padding:14px 0;line-height:1.2}}
.sb-home-refresh .sb-hero__item:first-child{padding-top:0}
.sb-home-refresh .sb-hero__item-title{display:inline;margin-right:8px;font:700 20px/1.2 var(--sb-font-head)}
.sb-home-refresh .sb-hero__item-dek{display:inline;font:400 15px/1.45 var(--sb-font-head);color:var(--sb-home-muted)}
.sb-home-refresh .sb-hero__item:hover .sb-hero__item-dek{color:var(--sb-home-muted)}
.sb-home-refresh :is(.home-feature h3,.guide-0 h3,.sb-hero__lead-title){text-wrap:balance}
body.secret-boston-v2 :is(h1,h2,h3,.sb-single__title,.sb-aside-more__h,.sb-card__title,.sb-rec-card__title,.sb-hero__lead-title,.sb-hero__item-title){text-wrap:balance}
.sb-home-refresh :is(.guide-0 h3,.sb-hero__lead-title){font:700 40px/1.15 var(--sb-font-body);letter-spacing:-.02em}
.sb-home-refresh .sb-move--home .sb-move__cards{gap:24px}
.sb-home-refresh .sb-move--home .sb-move__card-img{aspect-ratio:1}
.sb-home-refresh .sb-move--home .sb-move__card-title{font:700 20px/1.2 var(--sb-font-head);margin:0 0 6px;color:var(--sb-black)}
.sb-home-refresh .sb-move--home .sb-move__card-title:focus-visible{color:var(--sb-red);outline:2px solid var(--sb-red);outline-offset:4px}
@media (hover: hover) and (pointer: fine) {
.sb-home-refresh .sb-move--home .sb-move__card:hover .sb-move__card-title{color:var(--sb-red)}
}
.sb-home-refresh .sb-move--home .sb-move__card-meta{font:400 14px/1.4 var(--sb-font-head);margin:0 0 9px}
.sb-home-refresh .sb-move--home .sb-move__reason{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font:400 16px/1.5 var(--sb-font-body);margin:8px 0 0}
.sb-home-refresh .sb-move--home .sb-move__footer{margin-top:48px}
@media(max-width:1000px){.sb-home-refresh .guide-support .guide-story{grid-template-columns:120px 1fr;gap:16px;align-items:start}.sb-home-refresh .guide-support img{width:120px;height:auto;aspect-ratio:3/2;object-fit:cover}.sb-home-refresh .event-list{gap:16px}}
@media(max-width:650px){
.sb-home-refresh{--sb-type-section-display:1.575rem;--sb-home-section-gap:56px;padding:24px 20px 48px}
.sb-home-refresh .home-feature{display:flex;flex-direction:column;align-items:stretch;gap:0}
.sb-home-refresh .home-feature .feature-copy{display:contents}
.sb-home-refresh .home-feature .feature-media{order:2;margin-top:22px}
.sb-home-refresh .home-feature .text-link{order:3;margin-top:16px;font-size:14.49px;font-weight:700;color:#111;text-decoration:none}
.sb-home-refresh .home-feature .text-link:hover{color:#111;text-decoration:underline;text-underline-offset:3px}
.sb-home-refresh .home-feature-section{padding:28px 0;box-shadow:0 8px 22px rgba(17,17,17,.05),0 -5px 16px rgba(17,17,17,.035)}
.sb-home-refresh .home-feature-section .home-feature{padding:0 20px}
.sb-home-refresh .home-feature .eyebrow{margin-bottom:12px}
.sb-home-refresh .home-feature .feature-kicker{font-size:13px;margin-bottom:22px}
.sb-home-refresh .home-feature h3{font-size:43.2px;line-height:1.15;margin-bottom:6px}
.sb-home-refresh .home-feature .feature-place-meta{margin-bottom:0;font-size:14.49px;color:#6f6f6f}
.sb-home-refresh .home-feature .feature-meta{margin-bottom:0}
.sb-home-refresh .feature-photo img{height:auto;aspect-ratio:4/3}
.sb-home-refresh .home-move{margin-top:0;padding:32px 20px 30px}
.sb-home-refresh .home-move + .event-section{margin-top:36px}
.sb-home-refresh .home-move + .guides-section{margin-top:36px}
.sb-home-refresh .home-move + .home-feature-section{margin-top:36px}
.sb-home-refresh .guides-section{padding:40px 0;box-shadow:none;border:0}
.sb-home-refresh .guides-section .guides-band{padding:0 20px}
.sb-home-refresh .home-move h1{font-size:40px;font-weight:800;line-height:1.1}
.sb-home-refresh .sb-move__intro{font-size:16px;line-height:1.5;margin-bottom:32px}
.sb-home-refresh .sb-move-form{width:100%;max-width:320px;margin:0 auto}
.sb-home-refresh .sb-move__sentence{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:16px}
.sb-home-refresh .sb-move__group{display:flex;flex-direction:column;align-items:stretch;justify-content:normal;font-size:18px;border:0;background:none;gap:8px}
.sb-home-refresh .sb-move__group>span{position:static;text-align:left;font:italic 18px/1.35 var(--sb-font-body);letter-spacing:0;text-transform:none;color:var(--sb-home-muted)}
.sb-home-refresh .sb-move__select{width:100%;max-width:none;height:52px;min-height:52px;font-size:16px;line-height:1.2;padding:0 48px 0 16px}
.sb-home-refresh .sb-move__select option{font-size:16px;line-height:1.2}
.sb-home-refresh .sb-move__actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px}
.sb-home-refresh .sb-move__go{width:100%;height:52px;min-height:52px}
.sb-home-refresh .sb-move__result{min-height:1.5em}
.sb-home-refresh .sb-move__loading{opacity:1;color:var(--sb-home-muted)}
.sb-home-refresh .sb-move--home .sb-move__card-media .sb-save{width:44px;height:44px}
.sb-home-refresh .sb-move--home .sb-move__footer{margin-top:40px}
.sb-home-refresh .sb-move--home .sb-move__next-buttons{display:flex;width:auto;flex-direction:column;align-items:center;gap:12px}
.sb-home-refresh .sb-move--home .sb-move-form :is(.sb-move__again,.sb-move__change){width:280px;max-width:100%;height:52px;min-height:52px}
.sb-home-refresh .home-section{margin-top:var(--sb-home-section-gap)}
.sb-home-refresh .home-heading{align-items:start;flex-direction:column;gap:12px}
.sb-home-refresh .home-heading a{align-self:flex-start;font-weight:400}
.sb-home-refresh .event-section .home-heading{gap:8px}
.sb-home-refresh .event-section .home-heading h2{line-height:1.15}
.sb-home-refresh .event-section .event-name h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:18px}
.sb-home-refresh .places-section .home-heading{gap:8px}
.sb-home-refresh .places-section .sb-rec-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:700 20px/1.2 var(--sb-font-head)}
.sb-home-refresh .sb-rec-grid,.sb-home-refresh .event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}

.sb-home-refresh .guide-layout,.sb-home-refresh .sb-hero__grid{grid-template-columns:1fr;gap:40px}
.sb-home-refresh .guide-0{grid-column:1;grid-row:1}
.sb-home-refresh .guide-support{grid-column:1;grid-row:2}
.sb-home-refresh .guide-0 img{height:auto;aspect-ratio:8/5}
.sb-home-refresh .guide-support img{width:120px;height:auto;aspect-ratio:3/2;object-fit:cover}
.sb-home-refresh .guide-support .guide-story{min-height:0;align-items:start}
.sb-home-refresh .guides-section .home-heading{gap:8px}
.sb-home-refresh .guides-section .guide-support .guide-story{grid-template-columns:120px 1fr;min-height:0;align-items:start}
.sb-home-refresh .guides-section .guide-support img{width:120px;height:auto;aspect-ratio:3/2;object-fit:cover}
.sb-home-refresh :is(.guide-0 h3,.sb-hero__lead-title){font:700 32px/1.18 var(--sb-font-body);letter-spacing:-.015em}
.sb-home-refresh .guides-section .guide-support .guide-story>div{text-wrap:wrap;line-height:1.2}
.sb-home-refresh .guides-section .guide-support h3{display:inline;margin-right:8px;-webkit-line-clamp:unset;overflow:visible;text-wrap:wrap;font:700 18px/1.2 var(--sb-font-head)}
.sb-home-refresh .guides-section .guide-support .guide-dek{display:inline;-webkit-line-clamp:unset;overflow:visible;margin:0;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-home-muted)}
.sb-home-refresh .sb-hero__lead-title{margin-bottom:0}
.sb-home-refresh .sb-hero__list{margin-top:0}
.sb-home-refresh .sb-hero__item{text-wrap:wrap;line-height:1.2}
.sb-home-refresh .sb-hero__item .sb-hero__item-title{display:inline;margin-right:8px;text-wrap:wrap;font:700 18px/1.2 var(--sb-font-head)}
.sb-home-refresh .sb-hero__item-dek{display:inline;-webkit-line-clamp:unset;overflow:visible;margin:0;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-home-muted)}
.sb-home-refresh .sb-hero__item-dek::before{content:none}
.sb-home-refresh .guides-section .guide-media>.sb-save{top:4px;right:4px;left:auto;background:transparent}
.sb-home-refresh .guides-section .guide-media>.sb-save::before{content:'';position:absolute;inset:6px;border-radius:50%;background:rgba(255,255,255,.92)}
.sb-home-refresh .guides-section .guide-media>.sb-save:hover{background:transparent}
.sb-home-refresh .guides-section .guide-media>.sb-save:hover::before{background:var(--sb-white)}
.sb-home-refresh .guides-section .guide-media>.sb-save.is-saved{background:transparent;color:var(--sb-white)}
.sb-home-refresh .guides-section .guide-media>.sb-save.is-saved::before{background:var(--sb-red)}
}
/* Legal reading layout; source policy remains server-rendered. */
.sb-legal-refresh .legal-header{padding-bottom:36px;border-bottom:1px solid var(--line)}
.sb-legal-refresh h1{max-width:20ch}
.sb-legal-refresh .legal-date{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:24px 0 0}
.sb-legal-refresh .legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;margin-top:40px;align-items:start}
.sb-legal-refresh .legal-nav{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:12px}
.sb-legal-refresh .legal-nav summary{list-style:none;pointer-events:none;font:700 13px/1.4 var(--sb-font-head);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}
.sb-legal-refresh .legal-nav summary::-webkit-details-marker{display:none}
.sb-legal-refresh .legal-nav ol{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.sb-legal-refresh .legal-nav a{display:block;font:400 14px/1.45 var(--sb-font-head);color:var(--sb-grey);text-decoration:none}
.sb-legal-refresh .legal-nav a:hover,.sb-legal-refresh .legal-nav a:focus-visible{color:var(--sb-red);text-decoration:underline}
.sb-legal-refresh .legal-copy{max-width:68ch;min-width:0}
.sb-legal-refresh .legal-copy p,.sb-legal-refresh .legal-copy li{font:400 18px/1.65 var(--sb-font-body);color:var(--ink)}
.sb-legal-refresh .legal-copy p{margin:0 0 20px}
.sb-legal-refresh .legal-copy h2{font:700 26px/1.25 var(--sb-font-head);margin:40px 0 16px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:24px;letter-spacing:-.015em}
.sb-legal-refresh .legal-copy h3{font:600 20px/1.35 var(--sb-font-head);margin:24px 0 12px}
.sb-legal-refresh .legal-copy ul{padding-left:24px;margin:0 0 24px}
.sb-legal-refresh .legal-copy li{padding-left:4px;margin-bottom:12px}
.sb-legal-refresh .legal-copy a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.sb-legal-refresh .legal-copy a:hover{color:var(--sb-red)}
.sb-legal-refresh .legal-copy strong{font-weight:700}
.sb-legal-refresh .sb-terms__agree .sb-terms__h2{margin-top:0;padding-top:0;border-top:0}

@media(max-width:900px){.sb-legal-refresh .legal-layout{grid-template-columns:1fr;gap:32px}
.sb-legal-refresh .legal-nav{position:static;max-height:none;padding:0 0 24px;border-bottom:1px solid var(--line)}
.sb-legal-refresh .legal-nav summary{pointer-events:auto;cursor:pointer;margin:0;display:flex;justify-content:space-between}
.sb-legal-refresh .legal-nav summary:after{content:'+'}
.sb-legal-refresh .legal-nav[open] summary:after{content:'−'}
.sb-legal-refresh .legal-nav ol{padding-top:20px}
.sb-legal-refresh .legal-copy{max-width:100%}
}
@media(max-width:600px){.sb-legal-refresh .legal-header{padding-bottom:24px}
.sb-legal-refresh .legal-layout{margin-top:24px;gap:28px}
.sb-legal-refresh .legal-copy p,.sb-legal-refresh .legal-copy li{font-size:17px;line-height:1.6}
.sb-legal-refresh .legal-copy h2{font-size:23px;margin-top:32px;padding-top:24px}

}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

.sb-legal-refresh{--ink:var(--sb-black);--line:var(--sb-border);max-width:1200px;margin:auto;padding:48px 56px 96px}.sb-legal-refresh .sb-terms__inner{max-width:none;padding:0}.sb-legal-refresh h1{font:700 64px/1.1 var(--sb-font-body)}.sb-legal-refresh .legal-date{font:400 14px/1.5 var(--sb-font-head)}@media(max-width:600px){.sb-legal-refresh{padding:32px 20px 48px}.sb-legal-refresh h1{font-size:36px}}

/* Events archive: compact controls and square editorial cards. */
.tribe-events .tribe-events-header{row-gap:28px;margin-bottom:32px}
.tribe-events .tribe-events-header__events-bar{margin-top:0;margin-bottom:0;border:0;background:transparent;gap:16px}
.tribe-events .tribe-events-c-events-bar__search-container{background:transparent}
.tribe-events .tribe-events-c-search{padding:0}
.tribe-events .tribe-events-c-search__input-control{padding:0}
.tribe-events .tribe-events-c-search__input-control input.tribe-events-c-search__input{height:48px!important;margin:0!important;box-sizing:border-box;padding-top:12px!important;padding-bottom:12px!important;line-height:24px!important;font-size:16px}
.tribe-events .tribe-events-c-search__button{height:48px;min-height:48px;padding:12px 24px;margin:0;font-size:var(--sb-type-control)!important}
.tribe-events .tribe-events-c-view-selector__button{padding:12px;min-height:48px;font-size:14px!important}
.tribe-events .tribe-events-c-top-bar{margin:0;padding:0}
.tribe-events .tribe-events-c-top-bar__datepicker-button{font-size:18px!important;font-weight:500!important}
.tribe-events .tribe-events-pro-photo__event-featured-image-wrapper{margin-bottom:16px;background:#eae6dd}
.tribe-events .tribe-events-pro-photo__event-details-wrapper{border-top:2px solid var(--sb-red);padding-top:14px}
.tribe-events .tribe-events-pro-photo__event-date-tag{width:48px;flex:0 0 48px;padding:0 12px 0 0}
.tribe-events .tribe-events-pro-photo__event-date-tag-datetime{padding:0}
.tribe-events .tribe-events-pro-photo__event-date-tag-daynum{color:var(--sb-red);font-size:26px;line-height:1.1}
.tribe-events .tribe-events-pro-photo__event-date-tag-month{color:var(--sb-red)}
.tribe-events .tribe-events-pro-photo__event-title{margin-bottom:4px}
.tribe-events .tribe-events-pro-photo__event a:focus-visible{outline:2px solid var(--sb-red)!important;outline-offset:4px}
@media(min-width:1100px){
.tribe-events .tribe-events-header{grid-template-columns:minmax(0,1fr) minmax(0,620px)}
.tribe-events .tribe-events-header>.tribe-events-header__events-bar{grid-column:2;grid-row:2}
.tribe-events .tribe-events-header>.tribe-events-header__top-bar{grid-column:1;grid-row:2}
.tribe-events .tribe-events-c-events-bar__search{padding:0}
.tribe-events .tribe-events-c-search__input-control input.tribe-events-c-search__input{padding-left:44px}
.tribe-events .tribe-events-c-search__input-control-icon-svg{left:16px}
}
/* Organizer action is secondary to browsing. */
.tribe-common a.sb-events__submit{border:1px solid var(--sb-border)!important;background:transparent!important;padding:12px 16px!important;font-size:14px!important;text-transform:none;letter-spacing:0;min-height:44px}
.tribe-common a.sb-events__submit:hover{background:none!important;color:var(--sb-red)!important;text-decoration:underline}
@media(min-width:768px){
.tribe-events .tribe-events-c-events-bar__search-container{border:1px solid var(--sb-border);background:var(--sb-white);min-width:0}
.tribe-events .tribe-events-header__events-bar{border:0!important;background:transparent!important;column-gap:16px;align-items:center}
.tribe-events .tribe-events-c-search{align-items:stretch;height:48px}
.tribe-events .tribe-events-c-events-bar__search{height:48px}
.tribe-events .tribe-events-c-events-bar__search-container{flex:1;height:50px;box-sizing:border-box}
.tribe-events .tribe-events-c-search__input-control{padding:0!important;height:48px}
.tribe-events .tribe-events-c-search__button{margin:0!important;align-self:stretch}
.tribe-events .tribe-events-c-events-bar__views{flex:none!important;border:0!important;background:transparent!important}
.tribe-events .tribe-events-c-view-selector__button{height:50px;padding:12px 16px!important;border:1px solid var(--sb-border)!important;display:flex;align-items:center;gap:10px}
.tribe-events .tribe-events-c-search__input-group{min-width:0}
.tribe-events .tribe-events-c-events-bar__views{border:0;background:transparent}
.tribe-events .tribe-events-pro-photo>.tribe-common-g-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;margin:0}
.tribe-events .tribe-events-pro-photo .tribe-events-pro-photo__event{width:100%!important;padding:0!important;margin:0!important;min-width:0}
.tribe-events .tribe-events-c-top-bar__today-button{min-height:48px;display:inline-flex;align-items:center;border:1px solid var(--sb-border)!important;border-radius:0!important;background:transparent!important;color:var(--sb-black);font:600 14px/1.4 var(--sb-font-head)}
}
@media(min-width:768px) and (max-width:1023px){.tribe-events .tribe-events-pro-photo>.tribe-common-g-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mobile Events index toolbar: title, date/search, then count/view. */
@media(max-width:767px){
.tribe-events-view.tribe-events .tribe-events-header{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:56px 44px 44px;column-gap:12px;row-gap:0;width:100%;max-width:100%;margin:0 0 16px;padding:0!important;align-items:center}
.tribe-events-view.tribe-events .tribe-events-header>.tribe-events-header__content-title{grid-column:1;grid-row:1;min-width:0;margin:0;align-self:center}
.tribe-events-view.tribe-events .tribe-events-header__content-title h1{white-space:nowrap}
.tribe-events-view.tribe-events .tribe-events-header>.sb-events__topbar{grid-column:2;grid-row:1;min-width:0;margin:0;display:flex;align-items:center;justify-content:flex-end}
.tribe-events-view.tribe-events .sb-events__submit{box-sizing:border-box;min-height:44px;height:44px;width:auto;padding:0 14px!important;font:700 15px/1 var(--sb-font-head)!important;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.tribe-events-view.tribe-events .tribe-events-header>.tribe-events-header__events-bar{grid-column:2;grid-row:2 / span 2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 44px;align-items:center;gap:0;width:100%;min-width:0;margin:0}
.tribe-events-view.tribe-events .tribe-events-header>.tribe-events-header__top-bar{grid-column:1;grid-row:2;width:100%;min-width:0;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-start}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-container{grid-column:1;grid-row:1;justify-self:end;width:auto;min-width:0;background:transparent;border:0}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search{height:44px;padding:0}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-button{box-sizing:border-box;justify-self:end;width:max-content!important;min-width:44px;min-height:44px;height:44px;margin-right:0!important;padding:0;display:inline-flex;align-items:center;gap:12px;font:700 18px/1 var(--sb-font-head)!important}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-button-icon-svg{width:24px;height:24px;flex:0 0 24px}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-button-text{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:nowrap!important;font:700 18px/1 var(--sb-font-head)!important}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__views{grid-column:1;grid-row:2;justify-self:end;flex:0 0 96px;width:96px;min-width:96px;border:0;background:transparent}
.tribe-events-view.tribe-events .tribe-events-c-view-selector{width:100%}
.tribe-events-view.tribe-events .tribe-events-c-view-selector__button{box-sizing:border-box;width:100%;min-width:96px;min-height:44px;height:44px;padding:0 14px!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--sb-font-head)!important}
.tribe-events-view.tribe-events .tribe-events-c-view-selector__button-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px}
.tribe-events-view.tribe-events .tribe-events-c-view-selector__button-icon-svg{width:20px;height:20px}
.tribe-events-view.tribe-events .tribe-events-c-view-selector__button-text{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:nowrap!important}
.tribe-events-view.tribe-events .tribe-events-c-view-selector__button-icon-caret-svg{width:10px;height:7px;flex:0 0 10px}
.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-button{box-sizing:border-box;min-height:44px;height:44px;display:inline-flex;align-items:center;gap:8px;padding:0;font:500 20px/1.2 var(--sb-font-head)!important;white-space:nowrap}
.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg{width:16px;height:16px;flex:0 0 16px}
.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-container{left:0!important;right:auto!important;width:min(363px,calc(100vw - 40px))!important;max-width:calc(100vw - 40px)!important;z-index:20}
.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-container>.datepicker{top:8px!important;left:0!important;right:auto!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-container>.datepicker .datepicker-days,.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-container>.datepicker .table-condensed{width:100%;max-width:100%;box-sizing:border-box}
.tribe-events-view.tribe-events .tribe-events-l-container{position:relative}
.tribe-events-view.tribe-events .sb-events-count{box-sizing:border-box;position:absolute;top:100px;left:0;right:auto;min-height:44px;height:44px;margin:0;display:flex;align-items:center;justify-content:flex-start;text-align:left;font:400 16px/1.25 var(--sb-font-head);color:var(--sb-grey)}
}

@media(max-width:360px){
.tribe-events-view.tribe-events{width:calc(100% + 8px)!important;max-width:calc(100% + 8px)!important;margin-left:-4px!important;margin-right:-4px!important}
.tribe-events-view.tribe-events .tribe-events-header{column-gap:0}
.tribe-events-view.tribe-events .sb-events__submit{padding-left:10px!important;padding-right:10px!important;font-size:14px!important}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-container{width:max-content!important}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search{width:max-content!important}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-button{justify-self:end;width:max-content!important;margin-right:0!important;gap:4px;font-size:14px!important}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-button-icon-svg{width:20px;height:20px;flex-basis:20px}
.tribe-events-view.tribe-events .tribe-events-c-events-bar__search-button-text{font-size:14px!important}
.tribe-events-view.tribe-events .tribe-events-c-top-bar__datepicker-button{gap:4px;font-size:16px!important}
}

/* Keep the heading and organizer action in one anchored row. */
@media(min-width:768px){
.tribe-events .tribe-events-header>.tribe-events-header__content-title,.tribe-events .tribe-events-header>.sb-events__topbar{align-self:stretch;border-bottom:1px solid var(--sb-border);padding-bottom:24px;display:flex;align-items:center}
.tribe-events .tribe-events-c-search__input-group{display:flex;align-items:center}
}

/* Approved Community submission form: native fields within an editorial panel. */
.sb-submit-event .tribe-community-events .sb-events__submit-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:baseline;margin:0 0 24px;padding:0;border:0}
.sb-submit-event .sb-events__submit-head .sb-kicker{grid-column:1/-1;margin:0;font:700 12px/1.4 var(--sb-font-head);letter-spacing:.12em;color:var(--sb-red)}
.sb-submit-event .sb-events__submit-head .sb-single__title{font:700 52px/1.1 var(--sb-font-body);letter-spacing:-.025em;margin:0}
.sb-submit-event__history{font:600 14px/1.4 var(--sb-font-head);color:var(--sb-black);text-decoration:underline;text-underline-offset:4px}
.sb-submit-event .tribe-community-events>form{box-sizing:border-box;background:white;border:1px solid var(--sb-border);padding:40px 48px 48px;margin:0}

.sb-submit-event .tribe-community-events .sb-submit-event__details{font:700 24px/1.25 var(--sb-font-head);margin:0 0 24px}
.sb-submit-event .tribe-community-events .tribe-section{background:transparent;border:0;border-top:1px solid var(--sb-border);padding:28px 0 0;margin:32px 0 0}
.sb-submit-event .tribe-community-events .tribe-section :is(h3,h4){font:700 24px/1.25 var(--sb-font-head)!important;text-transform:none!important;padding:0;margin:0 0 24px;border:0;background:none}
.sb-submit-event .tribe-community-events .events-community-post-title,.sb-submit-event .tribe-community-events .events-community-post-content{margin-bottom:24px}
.sb-submit-event .tribe-community-events label{font:600 14px/1.4 var(--sb-font-head);text-transform:none!important;margin-bottom:8px}
.sb-submit-event .tribe-community-events :is(input[type=text],input[type=email],input[type=url],input[type=tel],input[type=number],select,textarea){box-sizing:border-box;min-height:50px;padding:12px 14px;border:1px solid #aaa69e;border-radius:0;background:white;font:400 16px/1.4 var(--sb-font-head);max-width:100%}
@media(min-width:601px){
.sb-submit-event .tribe-community-events :is(#EventStartDate,#EventEndDate,input.tribe-datepicker){min-width:11em;width:11em;max-width:none;overflow:visible}
.sb-submit-event .tribe-community-events :is(#EventStartTime,#EventEndTime,input.tribe-timepicker){min-width:8.5em;width:8.5em;max-width:none;overflow:visible}
}
.sb-submit-event .tribe-community-events #post_content{height:190px;min-height:190px;resize:vertical}
.sb-submit-event .tribe-community-events .tribe-section table{margin:0;border:0}
.sb-submit-event .tribe-community-events .tribe-section td{border:0;padding:8px 0;vertical-align:top}
.sb-submit-event .tribe-community-events .tribe-section td:first-child{padding-right:16px}
.sb-submit-event .tribe-community-events .select2-container{max-width:100%}
.sb-submit-event .tribe-community-events .select2-selection{min-height:50px;border:1px solid #aaa69e;border-radius:0;background:white}
.sb-submit-event .tribe-community-events .select2-selection__rendered{line-height:48px}
.sb-submit-event .tribe-community-events .select2-selection__arrow{height:48px}
.sb-submit-event .tribe-community-events .tribe-events-community-footer{border-top:1px solid var(--sb-border);margin-top:32px;padding-top:28px}
.sb-submit-event .tribe-community-events #event_captcha{border:0;border-radius:0;background:none;box-shadow:none;margin:32px 0 0;padding:0}
.sb-submit-event .tribe-community-events #event_captcha .tribe-community-event-info{display:none}
.sb-submit-event .tribe-community-events #event_captcha + .tribe-events-community-footer{border-top:0;margin-top:20px;padding-top:0}
@media(max-width:359px){.sb-account__captcha,.sb-submit-event .tribe-community-events #event_captcha .g-recaptcha{transform:scale(.86);transform-origin:0 0;width:262px;height:67px}}
/* The floating badge sat over the privacy sentence. Google allows hiding it as
   long as the attribution is in the form, which .sb-account__recaptcha-note carries. */
.grecaptcha-badge{visibility:hidden}
.sb-account__recaptcha-note{margin:16px 0 0;font:400 12px/1.5 var(--sb-font-body);color:var(--sb-text-muted)}
.sb-account__recaptcha-note a{color:inherit;text-decoration:underline}
.sb-submit-event .tribe-community-events :is(input[type=submit],.tribe-button-primary){min-height:50px;min-width:220px;font:700 14px/1.4 var(--sb-font-head);padding:14px 24px}
.sb-submit-event .tribe-community-events :is(input,select,textarea,a):focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
@media(max-width:600px){
.sb-submit-event .tribe-community-events .sb-events__submit-head{grid-template-columns:1fr;gap:12px}
.sb-submit-event .sb-events__submit-head .sb-single__title{font-size:36px}
.sb-submit-event .tribe-community-events>form{padding:28px 20px}
.sb-submit-event .tribe-community-events .tribe-section td{display:block;width:100%;padding-right:0}
.sb-submit-event .tribe-community-events :is(input[type=submit],.tribe-button-primary){width:100%;min-width:0}
}

.sb-submit-event :is(.tribe-community-notice-updated,.tribe-community-notice:has(.sb-confirm)){background:transparent;border:0;box-shadow:none;margin:0;padding:0;max-width:none}
.sb-submit-event :is(.tribe-community-notice-updated,.tribe-community-notice:has(.sb-confirm))>p{margin:0}
.sb-submit-event .tribe-community-events:has(.sb-confirm),.sb-submit-event .tribe-community-events:has(.tribe-community-notice-updated){max-width:none;padding:0;border:0;background:transparent}
.sb-submit-event:has(.sb-confirm) .sb-events__submit-head,.sb-submit-event:has(.tribe-community-notice-updated) .sb-events__submit-head{display:none}
.sb-submit-event .tribe-community-events:has(.sb-confirm)>form,.sb-submit-event .tribe-community-events:has(.tribe-community-notice-updated)>form{display:none}

.sb-submit-event .tribe-community-events .select2-search--inline,.sb-submit-event .tribe-community-events .select2-search__field{max-width:100%}
/* Shared approved Guide / Boston Explained reading composition. */
.sb-editorial .sb-single__container{max-width:1200px;padding:40px 32px 80px;margin:auto}
.sb-editorial .sb-article__head{max-width:960px;margin:0 0 32px;display:flex;flex-direction:column}
.sb-editorial .sb-single__title{max-width:none;width:100%;font:700 52px/1.1 var(--sb-font-body);letter-spacing:-.025em;margin:0 0 24px;order:1}
.sb-editorial .sb-article__meta{display:contents}
.sb-editorial .sb-single__kicker{align-self:flex-start;text-decoration:none;color:var(--sb-red);font:700 12px/1.4 var(--sb-font-head);letter-spacing:.12em;margin:0 0 12px;order:0}
.sb-editorial .sb-author-card{order:3;margin:0 0 16px}
.sb-editorial .sb-single__intro.sb-prose{font:400 24px/1.4 var(--sb-font-body);max-width:760px;color:var(--sb-grey);margin:0 0 16px;order:2}
.sb-editorial .sb-single__intro p{margin:0}
.sb-editorial .sb-article__tools{order:4;justify-content:flex-start;gap:12px;margin:0}
.sb-editorial .sb-single__hero{width:100%;max-width:none;height:auto;margin:0 0 48px}
.sb-editorial .sb-single__hero img{width:100%;height:auto;aspect-ratio:2.4;object-fit:cover;display:block}
.sb-editorial .sb-single__grid{grid-template-columns:minmax(0,2.4fr) minmax(240px,1fr);gap:64px}
.sb-editorial .sb-prose{font:400 20px/1.6 var(--sb-font-body);max-width:680px}
.sb-editorial .sb-prose p{margin:0 0 24px}
.sb-editorial .sb-prose :is(h2,h3,h4),.sb-editorial .sb-guide-section__heading{font-family:var(--sb-font-head);font-weight:700;line-height:1.25;margin:32px 0 16px}
.sb-editorial .sb-prose h2{font-size:28px}.sb-editorial .sb-prose h3{font-size:24px}.sb-editorial .sb-prose h4{font-size:20px}
.sb-editorial .sb-prose :is(img,figure){max-width:100%;height:auto}
.sb-editorial .sb-article__aside{padding:0;border:0;position:static}
.sb-editorial .sb-signup{padding:24px;background:var(--sb-white);margin-bottom:40px;border:0}
.sb-editorial .sb-signup__title{font:700 24px/1.25 var(--sb-font-head);margin:12px 0 16px}
.sb-editorial .sb-signup__copy{font:400 16px/1.5 var(--sb-font-body);margin-bottom:24px}
.sb-editorial .sb-signup__input{font:400 16px/1.4 var(--sb-font-head);min-height:48px;padding:12px;width:100%;border:1px solid var(--sb-border);border-radius:0}
.sb-editorial .sb-signup__btn{font:700 16px/1.4 var(--sb-font-head);min-height:48px;padding:12px 16px;border-radius:0}
.sb-editorial .sb-aside-more__title,.sb-editorial-index h2{font:700 20px/1.25 var(--sb-font-head);letter-spacing:0;text-transform:none;margin:0 0 16px}
.sb-editorial .sb-aside-more__item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:16px 0;align-items:start}
.sb-editorial .sb-aside-more__item:not(:has(img)){grid-template-columns:1fr}
.sb-editorial .sb-aside-more__thumb,.sb-editorial .sb-aside-more__thumb img{width:64px;height:64px;object-fit:cover;border-radius:0}
.sb-editorial .sb-aside-more__h{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font:700 16px/1.3 var(--sb-font-head)}
.sb-editorial-index{border-top:2px solid var(--sb-black);padding-top:24px;margin-bottom:40px}
.sb-editorial-index a{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--sb-border);font:500 14px/1.4 var(--sb-font-head);text-decoration:none;color:var(--sb-black)}
.sb-editorial-index a span{color:var(--sb-red)}
.sb-editorial .sb-rec-grid{display:block;counter-reset:guide-place}
.sb-editorial .sb-rec-card{display:flex;flex-direction:column;border:0;border-bottom:1px solid var(--sb-border);padding:0 0 40px;margin:0 0 48px;background:none;scroll-margin-top:32px}
.sb-editorial .sb-guide-section--recs:has(+ .sb-guide-section--text){margin-bottom:12px}
.sb-editorial .sb-guide-section--recs:has(+ .sb-guide-section--text) .sb-rec-card{border-bottom:0;padding-bottom:0;margin-bottom:0}
.sb-editorial .sb-guide-section--recs:has(+ .sb-guide-section--text)+.sb-guide-section--text{margin-top:0}
.sb-editorial .sb-guide-section--recs > .sb-guide-section__heading{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--sb-red);margin:40px 0 12px}
.sb-editorial .sb-rec-card__body{display:contents}
.sb-editorial .sb-rec-card__title{order:0;font:800 42px/1.05 var(--sb-font-head);letter-spacing:-.015em;margin:0 0 4px}
.sb-editorial .sb-rec-card__meta{order:1;font:400 14px/1.4 var(--sb-font-head);margin:0 0 24px}
.sb-editorial-place-details{order:2;font:400 18px/1.35 var(--sb-font-head);color:var(--sb-black);margin:-4px 0 20px}
.sb-editorial .sb-rec-card__image{order:3;display:block;position:relative;width:100%;aspect-ratio:16/9;margin:0 0 16px}
.sb-editorial .sb-rec-card__image img{width:100%;height:100%;object-fit:cover}
.sb-editorial .sb-rec-card__vibes{order:4;margin:0 0 16px}
.sb-editorial-place-link{order:5;font:700 16px/1.4 var(--sb-font-head);text-decoration:underline;text-underline-offset:5px;color:var(--sb-black)}
.sb-editorial .sb-guide-section--text:has(> .sb-guide-section__place-link) .sb-prose p:last-of-type{margin-bottom:0}
.sb-guide-section__place-link{margin:16px 0 0}
@media(max-width:800px){
.sb-editorial .sb-single__container{padding:24px 20px 48px}
.sb-editorial .sb-single__title{font-size:36px}
.sb-editorial .sb-single__intro.sb-prose{font-size:20px}
.sb-editorial .sb-single__grid{grid-template-columns:1fr;gap:40px}
.sb-editorial .sb-single__hero{margin-bottom:32px}.sb-editorial .sb-single__hero img{aspect-ratio:4/3}
.sb-editorial .sb-prose{font-size:18px}
.sb-editorial-place-details{font-size:16px;margin:-4px 0 20px}
/* 36px matched the Guide H1 and ate the first screen. 28px is the same
   role as a section heading; 800 weight still marks it as the venue name. */
.sb-editorial .sb-rec-card__title{font-size:28px}
.sb-editorial .sb-guide-section--recs > .sb-guide-section__heading{margin:32px 0 10px}
.sb-editorial-index{display:none}
.sb-editorial .sb-rec-card{margin-bottom:32px;padding-bottom:32px}
}

/* Shared search-control contract; live facets retain their native behavior. */
.sb-filterbar__search .facetwp-input-wrap{display:block;position:relative;border:1px solid var(--sb-border);border-radius:0;background:var(--sb-white);box-sizing:border-box}
.sb-filterbar__search .facetwp-input-wrap .facetwp-icon{left:16px;right:auto;height:100%;opacity:1}
.sb-filterbar__search .facetwp-input-wrap input.facetwp-search{font:400 var(--sb-type-control)/1.4 var(--sb-font-head);height:var(--sb-search-height);min-height:var(--sb-search-height);padding:12px 40px 12px 48px;border:0;border-radius:0;margin:0;background:transparent;color:var(--sb-black);box-shadow:none}
.sb-filterbar__search .facetwp-input-wrap:focus-within{outline:2px solid var(--sb-black);outline-offset:3px}
.sb-filterbar__search input.facetwp-search:focus{outline:none;box-shadow:none}
.sb-filterbar__search input.facetwp-search::placeholder{color:var(--sb-grey);opacity:1}
.tribe-events .tribe-events-c-search__input-control input.tribe-events-c-search__input{font-family:var(--sb-font-head)!important;height:var(--sb-search-height)!important;color:var(--sb-black);border-radius:0}
.tribe-events .tribe-events-c-search__input::placeholder{color:var(--sb-grey);opacity:1}
.tribe-events .tribe-events-c-search__button{height:var(--sb-search-height);min-height:var(--sb-search-height);font-family:var(--sb-font-head)!important;text-transform:none;letter-spacing:0}
.tribe-events .tribe-events-c-search:focus-within{outline:2px solid var(--sb-black);outline-offset:3px}
@media(min-width:768px){.tribe-events .tribe-events-c-search,.tribe-events .tribe-events-c-events-bar__search,.tribe-events .tribe-events-c-search__input-control{height:var(--sb-search-height)}.tribe-events .tribe-events-c-events-bar__search-container{height:calc(var(--sb-search-height) + 2px)}}

@media(max-width:767px){
.tribe-events .tribe-events-c-search__input-control{position:relative;height:var(--sb-search-height);border:1px solid var(--sb-border);background:var(--sb-white)}
.tribe-events .tribe-events-c-search__input-control input.tribe-events-c-search__input{padding-left:48px!important;padding-right:12px!important;border:0!important;background:transparent}
.tribe-events .tribe-events-c-search__input-control-icon-svg{left:16px!important;right:auto!important}
}

/* Places uses the same joined search action as other search surfaces. */
.sb-places-search{display:flex;align-items:stretch;max-width:520px;width:100%;margin:0}
.sb-places-search .facetwp-facet{flex:1;min-width:0}
.sb-places-search .facetwp-input-wrap{border-right:0}
.sb-places-search .sb-search-control__button{flex:none;border:0;min-height:52px}
.sb-places-search:focus-within{outline:2px solid var(--sb-black);outline-offset:3px}
.sb-places-search .facetwp-input-wrap:focus-within{outline:none}

/* Individual Places: refreshed visit and neighborhood sidebar only. */
.sb-single--rec .sb-details,.sb-single--rec .sb-place-claim-cta,.sb-single--rec .sb-editorial-mentions{background:var(--sb-white);padding:28px;margin:0;border:0}
.sb-single--rec :is(.sb-details__title,.sb-place-claim-cta__title,.sb-editorial-mentions__title,.sb-aside-more__title,.sb-locations__title){font:700 24px/1.25 var(--sb-font-head);text-transform:none;letter-spacing:0;margin:0 0 16px}
.sb-single--rec .sb-details__row{font:400 14px/1.5 var(--sb-font-head);padding:16px 0;overflow-wrap:anywhere}
.sb-single--rec .sb-single__hours{font:400 14px/1.5 var(--sb-font-head)}
.sb-single--rec .sb-single__hours :is(th,td){padding:6px 0}
.sb-single--rec .sb-aside-more__item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start;padding:16px 0}
.sb-single--rec .sb-aside-more__thumb,.sb-single--rec .sb-aside-more__thumb img{width:64px;height:64px;border-radius:0;object-fit:cover}
.sb-single--rec .sb-aside-more__h{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font:700 16px/1.25 var(--sb-font-head);margin:0 0 4px}
.sb-single--rec .sb-details__icon{display:none}
.sb-single--rec .sb-details__text,.sb-single--rec .sb-visit-hours{display:block;width:100%}
.sb-single--rec .sb-visit-label{display:block;font:700 11px/1.4 var(--sb-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--sb-grey);margin-bottom:8px}
.sb-single--rec .sb-visit-hours summary{display:list-item;font:700 11px/1.4 var(--sb-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--sb-grey);margin:0;cursor:pointer}
.sb-single--rec .sb-visit-hours[open] summary{margin-bottom:8px}
.sb-single--rec .sb-visit-hours summary:focus-visible{outline:2px solid var(--sb-black);outline-offset:3px}
.sb-single--rec .sb-details__row{padding:20px 0}
.sb-single--rec .sb-details__row:last-child{padding-bottom:0}
.sb-single--rec .sb-single__hours :is(th,td){border:0;padding:5px 0}
.sb-single--rec .sb-single__hours th{font-weight:500}
.sb-single--rec .sb-single__hours td{text-align:right;font-variant-numeric:tabular-nums}
.sb-single--rec .sb-editorial-mentions__list{list-style:none;margin:0;padding:0}
.sb-single--rec .sb-editorial-mentions__item{border-top:var(--sb-border-line);padding:14px 0;font:400 15px/1.4 var(--sb-font-head)}
.sb-single--rec .sb-editorial-mentions__list>.sb-editorial-mentions__item:first-child{border-top:0;padding-top:0}
/* These read as plain black text without the underline: hover-only red says
   nothing on a phone, and the module's own More summary is already underlined. */
.sb-single--rec .sb-editorial-mentions__item a{display:block;color:var(--sb-black);text-decoration:underline;text-underline-offset:3px}
.sb-single--rec .sb-editorial-mentions__item a:hover{color:var(--sb-red)}
.sb-single--rec .sb-editorial-mentions__item a:focus-visible{outline:2px solid var(--sb-black);outline-offset:3px}
.sb-single--rec .sb-editorial-mentions__type{display:block;margin:0 0 5px;font:700 11px/1.3 var(--sb-font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--sb-grey)}
.sb-single--rec .sb-editorial-mentions__more{margin-top:2px}
.sb-single--rec .sb-editorial-mentions__more summary{font:700 13px/1.4 var(--sb-font-head);color:var(--sb-black);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sb-single--rec .sb-editorial-mentions__more summary:focus-visible{outline:2px solid var(--sb-black);outline-offset:3px}
.sb-single--rec .sb-editorial-mentions__more[open] summary{margin-bottom:14px}
.sb-single--rec .sb-place-claim-cta__copy{margin:0 0 18px;font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-single--rec .sb-place-claim-cta__button{width:100%;box-sizing:border-box;text-align:center}
.sb-single--rec .sb-place-related-copy{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.3}
.sb-single--rec .sb-place-related-meta{display:block;font:400 13px/1.35 var(--sb-font-head);color:var(--sb-grey);margin:0}

/* Places Claim request: sidebar CTA plus source-owned landing page. */
.sb-report__panel{box-sizing:border-box;min-width:min(320px,calc(100vw - 40px))}
.sb-report__status{margin:12px 0 0;font:400 14px/1.45 var(--sb-font-head);color:var(--sb-grey)}
.sb-report__status.is-error{color:var(--sb-red)}
.sb-report__status.is-success{padding:16px;background:var(--sb-paper);border:1px solid var(--sb-border);color:var(--sb-black)}
.sb-report__status.is-success h3{margin:0 0 8px;font:700 18px/1.25 var(--sb-font-head);text-transform:none;letter-spacing:0}
.sb-report__status.is-success p{margin:0;font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey)}
/* focus-visible, not focus: opening the sheet moves focus to the first control,
   and a red ring on a touch tap reads as a validation error. */
.sb-report__panel a:focus-visible,.sb-report__panel button:focus-visible,.sb-report__panel select:focus-visible,.sb-report__panel input:focus-visible,.sb-report__panel textarea:focus-visible,.sb-place-claim-page a:focus-visible,.sb-place-claim-page button:focus-visible,.sb-place-claim-page input:focus-visible,.sb-place-claim-page select:focus-visible,.sb-place-claim-page textarea:focus-visible{outline:2px solid var(--sb-red)!important;outline-offset:3px}
.sb-place-claim-page__inner{max-width:1100px}
.sb-place-claim-page__hero{grid-template-columns:minmax(0,760px);gap:20px;align-items:start;margin-top:28px;padding-top:28px;border-top:1px solid var(--sb-border)}
.sb-place-claim-page__place{max-width:720px}
.sb-place-claim-page__hero h2{font:700 32px/1.15 var(--sb-font-head);margin:0 0 8px}
.sb-place-claim-page__address{font:400 16px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-editorial .sb-place-claim-form-wrap{margin-top:56px}
.sb-place-claim-page__notice{max-width:680px;margin-top:32px;padding:32px;background:var(--sb-white);border:1px solid var(--sb-border)}
.sb-place-claim-page__notice h2{font:700 28px/1.2 var(--sb-font-head);margin:0 0 12px}
.sb-place-claim__form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.sb-place-claim__label--full,.sb-place-claim__submit,.sb-place-claim__summary,.sb-place-claim__confirmation,.sb-place-claim__privacy {grid-column:1/-1}

.sb-place-claim__label{display:flex;flex-direction:column;gap:8px;font:700 14px/1.4 var(--sb-font-head)}
.sb-place-claim__label>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.sb-place-claim__label em{font-style:normal;font-weight:400;color:var(--sb-grey)}
.sb-place-claim__label :is(input,select,textarea){box-sizing:border-box;width:100%;min-height:52px;background:#fff;border:1px solid #a5a29a;border-radius:0;padding:14px 16px;font:400 16px/1.4 var(--sb-font-head)}
.sb-place-claim__label textarea{min-height:140px;resize:vertical}
.sb-place-claim__check{display:flex;align-items:flex-start;gap:14px;font:400 15px/1.55 var(--sb-font-head)}
.sb-place-claim__check input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--sb-red)}
.sb-place-claim__privacy{margin:0;font:400 14px/1.6 var(--sb-font-head);color:var(--sb-grey)}
.sb-place-claim__hp{position:absolute;left:-9999px;top:auto}
.sb-place-claim__summary{border:1px solid var(--sb-red);padding:16px;color:var(--sb-black);background:#fff}
.sb-place-claim__summary p{margin:0 0 8px;font-weight:700}
.sb-place-claim__summary ul{margin:0;padding-left:20px}
.sb-place-claim__error{margin:4px 0 0;color:var(--sb-red);font:400 13px/1.4 var(--sb-font-head)}
.sb-place-claim__label [aria-invalid="true"]{border-color:var(--sb-red)}
.sb-place-claim__confirmation{padding:24px;background:#fff;border:1px solid var(--sb-border)}
.sb-place-claim__confirmation h2{margin:0 0 12px;font:700 28px/1.2 var(--sb-font-head)}
.sb-place-claim__confirmation p{margin:0 0 12px;font:400 16px/1.5 var(--sb-font-body)}
@media(max-width:700px){.sb-place-claim__form {grid-template-columns:1fr}.sb-place-claim-page__notice{padding:24px 20px}.sb-place-claim-page__hero h2{font-size:28px}}

.sb-single--rec .sb-article__aside{gap:32px}
.sb-single--rec .sb-aside-more{padding:0 28px}

/* Restore pre-breadcrumb-removal breathing room without the breadcrumb. */
@media(min-width:801px){.sb-single--rec .sb-single__container{padding-top:var(--sb-12)}}

/* Boston Explained: compact editorial opening and consistent reading scale. */
.sb-editorial-story .sb-single__container{max-width:var(--sb-maxw);padding:48px var(--sb-margin) 80px}
.sb-editorial-story .sb-article__head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:0;margin:0 0 14px}
.sb-editorial-story .sb-single__kicker{grid-column:1/-1;order:0;margin:0 0 12px}
.sb-editorial-story .sb-single__title{grid-column:1/-1;order:1;max-width:960px;margin:0 0 10px}
.sb-editorial-story .sb-single__intro.sb-prose{grid-column:1/-1;order:2;font:400 20px/1.5 var(--sb-font-body);max-width:800px;margin:0 0 12px}
.sb-editorial-story .sb-single__intro.sb-prose p{margin:0}
@media(min-width:801px){.sb-single--guide.sb-editorial-story .sb-single__intro.sb-prose{margin-bottom:32px}}
.sb-single--guide .sb-guide-review-date{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.04em;color:var(--sb-grey);margin:0 0 14px}
.sb-single--guide.sb-editorial-story .sb-guide-review-date{grid-column:1/-1;grid-row:4;order:3;align-self:start}
.sb-editorial-story .sb-author-card{grid-column:1;grid-row:4;order:3;margin:0;align-self:center}
.sb-editorial-story .sb-article__tools{grid-column:2;grid-row:4;order:3;align-self:center}
.sb-single--guide.sb-editorial-story .sb-author-card{grid-row:5;order:4}
.sb-single--guide.sb-editorial-story .sb-article__tools{grid-row:5;order:4}
.sb-editorial-story .sb-single__hero{margin:0 0 40px}
.sb-editorial-story .sb-single__hero img{aspect-ratio:2.2;max-height:none}
.sb-editorial-story .sb-single__grid{grid-template-columns:minmax(0,680px) minmax(260px,1fr);gap:48px}
.sb-editorial-story .sb-single__body.sb-prose{font:400 18px/1.65 var(--sb-font-body);max-width:680px}
.sb-editorial-story .sb-single__body p{margin:0 0 24px}
.sb-editorial-story .sb-single__body :is(figure,.wp-block-image){margin:32px 0}
.sb-editorial-story .sb-single__body > :first-child{margin-top:0}
.sb-editorial-story .sb-single__body img{display:block;max-width:100%;height:auto;max-height:520px;object-fit:contain;object-position:left center}
.sb-editorial-story .sb-single__body figure img{margin:0}
.sb-editorial-story .sb-article__aside{gap:32px}
.sb-editorial-story .sb-aside-more{order:0}
.sb-editorial-story .sb-aside-more__title{font:700 24px/1.25 var(--sb-font-head);margin:0 0 20px}
.sb-editorial-story .sb-aside-more__item{grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}
.sb-editorial-story .sb-aside-more__h{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font:700 16px/1.3 var(--sb-font-head);margin:0}
.sb-editorial-story .sb-signup{order:1;margin:0;padding:24px}
.sb-editorial-story .sb-signup__title{font:700 24px/1.25 var(--sb-font-head)}
.sb-editorial-story .sb-signup__copy{font:400 16px/1.5 var(--sb-font-body);margin-bottom:16px}
.sb-editorial-story .sb-single__back{margin-top:40px}
@media(max-width:800px){
.sb-editorial-story .sb-single__container{padding:32px 20px 48px}
.sb-editorial-story .sb-single__grid{grid-template-columns:1fr;gap:40px}
.sb-editorial-story .sb-single__title{font-size:36px}
.sb-editorial-story .sb-single__hero img{aspect-ratio:4/3}
.sb-editorial-story .sb-single__hero{margin-bottom:32px}
.sb-editorial-story .sb-single__intro.sb-prose{font-size:20px}
/* Tools sat in column 2 beside the author card, so a long bio wrapped around
   Save/Share. On phones they share the kicker row, like Places, and the card
   gets the full width. */
.sb-editorial-story .sb-single__kicker{grid-column:1;grid-row:1;align-self:center;margin:0}
.sb-editorial-story .sb-article__tools,
.sb-single--guide.sb-editorial-story .sb-article__tools{grid-column:2;grid-row:1;align-self:center;justify-content:flex-end}
.sb-editorial-story .sb-author-card,
.sb-single--guide.sb-editorial-story .sb-author-card{grid-column:1/-1;grid-row:auto;align-self:stretch}
/* Footer already carries the same signup. Hide the stacked aside form
   on phones; desktop keeps the sidebar capture. Guides stay as approved. */
.sb-single--post.sb-editorial-story .sb-article__aside .sb-signup{display:none}
}

/* Approved reading system: body 16/18, introductions 20, primary text black.
 * Scope color to content; inverted footer, buttons and accent labels retain theirs. */
@media(max-width:800px){:root{--sb-type-body:1.125rem}}
body.secret-boston-v2 :is(main,.sb-scope) :is(h1,h2,h3,h4,h5,h6){color:var(--sb-text)} /* .sb-scope matches nothing; it keeps this rule at class-level specificity. */
body.secret-boston-v2 :is(.sb-single__title,.sb-aside-more__h,.sb-signup__title,.sb-rec-card__title,.sb-card__title,.sb-hero__lead-title,.sb-hero__item-title){color:var(--sb-text)}
body.secret-boston-v2 :is(.sb-single__body.sb-prose,.sb-editorial .sb-prose,.sb-event-page-prose,.sb-listing__body,.sb-confirm__body,.sb-terms p,.sb-terms ul,.sb-editorial .who-copy p,.sb-editorial .perks p,.sb-ad-refresh .package-copy,.sb-signup__copy,.sb-card__excerpt){font-size:var(--sb-type-body);line-height:1.6;color:var(--sb-text)}
body.secret-boston-v2 :is(.sb-editorial .hero-copy p,.sb-editorial .application-head p,.sb-single__intro.sb-prose,.sb-move__intro,.sb-account__sub,.sb-browse__sub,.sb-be__intro,.sb-be__intro p,.sb-hub__sub,.sb-empty__copy){font-size:var(--sb-type-intro);line-height:1.5;color:var(--sb-grey)}
body.secret-boston-v2 .sb-home-refresh .home-move .sb-move__intro{font-size:16px;line-height:1.5;color:#000;max-width:none}
/* Keep section headings inside prose independent of its body size. */
body.secret-boston-v2 .sb-single__body :is(p,li){font-size:inherit;line-height:inherit}

/* Homepage discovery cards omit unverified vibe labels. */
.sb-home-refresh :is(.sb-rec-card__vibes,.sb-move__card-vibes){display:none}

/* Homepage headline links use color on hover, with separate keyboard focus. */
.sb-home-refresh :is(h1 a,h2 a,h3 a,.sb-hero__lead,.sb-hero__item):hover{text-decoration:none;color:var(--sb-red)}
body.secret-boston-v2 .sb-home-refresh :is(.sb-hero__lead:hover .sb-hero__lead-title,.sb-hero__item:hover .sb-hero__item-title){color:var(--sb-red);text-decoration:none}
.sb-home-refresh a:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}

/* Boston Explained hybrid: Guides-scale opening, restrained editorial rows. */
.sb-be .sb-be__lead{grid-template-columns:1.35fr 1fr;gap:48px;margin-bottom:64px}
.sb-be .sb-lead__title{font:700 var(--sb-type-feature)/1.1 var(--sb-font-head);letter-spacing:-.025em;color:var(--sb-text)}
.sb-be .sb-be__lead .sb-lead__title{margin-top:12px}
.sb-be .sb-be__lead .sb-card__excerpt{margin-top:20px}
.sb-be__reading-layout{display:grid;grid-template-columns:minmax(0,720px) 280px;gap:64px;justify-content:space-between;align-items:start}
.sb-be .sb-be__grid{display:block}
.sb-be .sb-be__grid>.sb-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;padding:28px 0;border-top:1px solid var(--sb-border)}
.sb-be .sb-card__image{aspect-ratio:3/2;align-self:start}
.sb-be .sb-card__image img{width:100%;height:100%;object-fit:cover}
.sb-be .sb-card__body{padding:0}
.sb-be .sb-card__title{font:700 24px/1.2 var(--sb-font-body);letter-spacing:-.01em;margin:0 0 12px}
.sb-be .sb-be__grid .sb-card__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 12px}
.sb-be__byline{font:400 14px/1.4 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-be__sidebar{padding-top:4px;display:grid;gap:32px}
.sb-be__sidebar .sb-signup{margin:0;padding:24px}
.sb-be__sidebar .sb-signup__title{font:700 24px/1.15 var(--sb-font-head)}
.sb-be__sidebar .sb-signup__privacy{font:400 8.75px/1.45 var(--sb-font-head);color:var(--sb-grey)}
.sb-be__guide-links h2{font:700 24px/1.2 var(--sb-font-head);margin:0 0 20px}
.sb-be__guide-links>a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--sb-border);font:700 16px/1.3 var(--sb-font-head);color:var(--sb-text);text-decoration:none}
.sb-be__guide-links>a.sb-be__guide-link--no-image{grid-template-columns:1fr}
.sb-be__guide-links img{width:64px;height:64px;object-fit:cover}
.sb-be__guide-links>a.sb-be__all-guides{display:block;border:0;font-size:14px}
.sb-be .sb-be__row-placeholder{display:block;width:64px;height:64px;background:var(--sb-border)}
.sb-be .sb-be__lead .sb-be__byline{display:none}
.sb-be .sb-card__title a:hover,.sb-be .sb-be__lead:hover .sb-lead__title,.sb-be__guide-links>a:hover{color:var(--sb-red);text-decoration:none}
.sb-be a:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}
.sb-places-count,.sb-events-count{font:400 16px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:-12px 0 24px}
.sb-browse .sb-places-empty{max-width:520px;margin:0 0 var(--sb-4);padding:20px 22px;border:1px solid var(--sb-border);background:var(--sb-white);text-align:left;box-sizing:border-box}
.sb-browse .sb-places-empty .sb-empty__title{margin:0 0 8px;font:700 20px/1.2 var(--sb-font-head);letter-spacing:0}
body.secret-boston-v2 .sb-browse .sb-places-empty .sb-empty__copy{max-width:440px;margin:0;font:400 16px/1.45 var(--sb-font-head);color:var(--sb-grey)}
.sb-places-empty__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 0}
.sb-places-empty__link{font:700 var(--sb-type-control)/1.4 var(--sb-font-head);color:var(--sb-black);text-decoration:underline;text-underline-offset:.18em}
.sb-places-empty__link:hover{color:var(--sb-red)}
.sb-places-empty :is(a,button):focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-browse__nearby{margin-top:var(--sb-6);padding-top:var(--sb-3);border-top:var(--sb-border-line)}
.sb-browse__nearby h2{margin:0;font:700 24px/1.2 var(--sb-font-head);letter-spacing:0;color:var(--sb-black)}
.sb-browse__nearby-copy{max-width:520px;margin:8px 0 24px;font:400 var(--sb-type-control)/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-browse__nearby .sb-rec-grid{margin:0}
.sb-browse__nearby-action{margin:var(--sb-4) 0 0}
.sb-browse__nearby-action a{font:700 var(--sb-type-control)/1.4 var(--sb-font-head);color:var(--sb-black);text-decoration:underline;text-underline-offset:.18em}
.sb-browse__nearby-action a:hover{color:var(--sb-red)}
.sb-browse__nearby-action a:focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-map.is-unavailable{height:auto;min-height:0;padding:24px;display:flex;align-items:center;justify-content:center;background:var(--sb-white);box-sizing:border-box}
.sb-map .sb-places-empty--map-failure{width:min(100%,480px);margin:0;padding:24px}
@media(max-width:600px){
.sb-browse .sb-places-empty{max-width:none;padding:18px}
.sb-browse .sb-places-empty .sb-empty__title{font-size:20px}
.sb-places-empty__actions{align-items:flex-start}
.sb-places-empty__actions .sb-btn{width:100%;justify-content:center;text-align:center;box-sizing:border-box}
.sb-browse__nearby{margin-top:40px;padding-top:20px}
.sb-browse__nearby h2{font-size:22px}
.sb-browse__nearby-copy{margin:8px 0 20px}
.sb-map.is-unavailable{padding:16px}
}
@media(max-width:1000px){.sb-be__reading-layout{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.sb-be .sb-be__grid>.sb-card{grid-template-columns:150px minmax(0,1fr);gap:20px}}
@media(max-width:782px){
.sb-be .sb-be__lead{grid-template-columns:1fr;gap:24px;margin-bottom:40px}
.sb-be .sb-lead__title{font-size:32px}
.sb-be__reading-layout{grid-template-columns:1fr;gap:40px}
.sb-be__sidebar{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:540px){.sb-be .sb-be__grid>.sb-card{grid-template-columns:1fr;gap:20px}.sb-be__sidebar{grid-template-columns:1fr}}

/* Four editorial rows, then a full-width discovery grid. */
.sb-be__discover{margin-top:48px;padding-top:32px;border-top:1px solid var(--sb-border)}
.sb-be .sb-be__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.sb-be .sb-be__tiles .sb-card__body{padding-top:16px}
.sb-be .sb-be__tiles .sb-card__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 12px}
@media(max-width:782px){.sb-be .sb-be__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.sb-be .sb-be__tiles{grid-template-columns:1fr}.sb-be__discover{margin-top:32px}}

/* Boston Explained index: mobile editorial hierarchy and compact rails. */
@media(max-width:767px){
.sb-be .sb-be__header{padding:32px 0 0;margin:0;border:0}
.sb-be .sb-be__title{font:700 40px/1.05 var(--sb-font-body);margin:0 0 20px}
.sb-be .sb-be__intro,.sb-be .sb-be__intro p{font:400 19px/1.45 var(--sb-font-body);max-width:none;margin:0}
.sb-be .sb-be__intro{margin:0 0 32px}
.sb-be .sb-be__lead{display:block;margin:0 0 48px}
.sb-be .sb-be__lead .sb-lead__media{aspect-ratio:16/10;margin:0 0 24px}
.sb-be .sb-be__lead .sb-card__type{font:700 12px/1.4 var(--sb-font-head);margin:0 0 12px}
.sb-be .sb-be__lead .sb-lead__title{font:700 32px/1.1 var(--sb-font-head);margin:0 0 16px}
.sb-be .sb-be__lead .sb-card__excerpt{font:400 20px/1.45 var(--sb-font-body);margin:0 0 12px}
.sb-be .sb-be__lead .sb-be__byline{display:block;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-be .sb-be__section-title{font:700 28px/1.1 var(--sb-font-head);margin:0;padding:0 0 24px;border-bottom:1px solid var(--sb-border)}
.sb-be__reading-layout{display:block;margin:0}
.sb-be .sb-be__grid,.sb-be .sb-be__tiles{display:block;margin:24px 0 0}
.sb-be .sb-be__grid>.sb-card,.sb-be .sb-be__tiles>.sb-card{display:block;padding:0;border:0}
.sb-be .sb-be__grid>.sb-card+.sb-card,.sb-be .sb-be__tiles>.sb-card+.sb-card{border-top:1px solid var(--sb-border);padding-top:32px;margin-top:32px}
.sb-be .sb-be__tiles>.sb-card+.sb-card{border-top:0;padding-top:0;margin-top:40px}
.sb-be .sb-card__image{aspect-ratio:16/10}
.sb-be .sb-card__body,.sb-be .sb-be__tiles .sb-card__body{padding-top:20px}
.sb-be .sb-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:700 26px/1.12 var(--sb-font-body);margin:0 0 12px}
.sb-be .sb-card__excerpt,.sb-be .sb-be__tiles .sb-card__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:400 19px/1.45 var(--sb-font-body);margin:0 0 12px}
.sb-be__sidebar{display:block;margin:48px 0 0;padding:0}
.sb-be .sb-be__sidebar .sb-be__newsletter{margin:0 0 48px;padding:24px}
.sb-be__newsletter{margin:48px 0;padding:24px}
.sb-be__newsletter .sb-kicker{font:700 12px/1.4 var(--sb-font-head);margin:0 0 12px}
.sb-be__newsletter .sb-signup__title{font:700 24px/1.1 var(--sb-font-head);margin:0 0 12px}
.sb-be__newsletter .sb-signup__copy{font:400 18px/1.4 var(--sb-font-body);margin:0 0 20px}
.sb-be__newsletter .sb-signup__form{gap:12px}
.sb-be__newsletter .sb-signup__label{font:600 14px/1.4 var(--sb-font-head);margin:0 0 8px}
.sb-be__newsletter .sb-signup__input,.sb-be__newsletter .sb-signup__btn{box-sizing:border-box;width:100%;min-height:48px;height:48px}
.sb-be__newsletter .sb-signup__privacy{margin:16px 0 0;font:400 12px/1.4 var(--sb-font-head);color:var(--sb-grey)}
.sb-be__compact-list{margin:0 0 48px}
.sb-be__compact-list h2{font:700 28px/1.1 var(--sb-font-head);margin:0;padding:0 0 24px;border-bottom:1px solid var(--sb-border)}
.sb-be__compact-list h2+.sb-be__guide-link{margin-top:24px}
.sb-be__compact-list>a.sb-be__guide-link,.sb-be__compact-list>a.sb-be__guide-link--no-image{display:grid;grid-template-columns:68px minmax(0,1fr);gap:16px;align-items:center;box-sizing:border-box;min-height:96px;padding:14px 0;border-bottom:1px solid var(--sb-border);font:700 17px/1.25 var(--sb-font-head)}
.sb-be__compact-list img,.sb-be__compact-list .sb-be__row-placeholder{display:block;width:68px;height:68px;object-fit:cover}
.sb-be__compact-list .sb-be__row-placeholder{background:var(--sb-border)}
.sb-be__compact-list .sb-be__guide-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-width:0}
.sb-be__compact-list>a.sb-be__all-guides{display:flex;align-items:center;min-height:44px;margin:24px 0 32px;padding:0;border:0;font:700 16px/1.4 var(--sb-font-head)}
.sb-be__discover{margin:48px 0 0;padding:0;border:0}
.sb-be__pagination{margin-top:48px;margin-bottom:48px;justify-content:center}
.sb-be__pagination .page-numbers{min-width:44px;min-height:44px}
.sb-be{padding-bottom:48px}
}
@media(max-width:359px){
.sb-be .sb-be__title{font-size:36px}
.sb-be .sb-be__lead .sb-lead__title{font-size:29px;line-height:1.12}
}

/* Guides index: mobile-only corrections layered over the shared editorial system. */
@media(max-width:767px){
.sb-guides-index .sb-guides-index__newsletter{margin:0 0 48px;padding:24px}
.sb-guides-index .sb-guides-index__newsletter .sb-signup__label{font:600 14px/1.4 var(--sb-font-head);margin:0 0 8px}
.sb-guides-index .sb-guides-index__newsletter .sb-signup__input,.sb-guides-index .sb-guides-index__newsletter .sb-signup__btn{box-sizing:border-box;width:100%;min-height:48px;height:48px}
.sb-guides-index .sb-guides-index__newsletter .sb-signup__privacy{margin:16px 0 0;font:400 12px/1.4 var(--sb-font-head);color:var(--sb-grey)}
.sb-guides-index .sb-latest-articles{margin-bottom:0}
.sb-guides-index .sb-guides-index__pagination{margin-top:48px;margin-bottom:0}
.sb-guides-index .sb-guides-index__pagination nav{margin:0}
.sb-guides-index .sb-guides-index__pagination .page-numbers{min-width:44px;min-height:44px}
}

/* Dedicated newsletter landing page. */
.sb-newsletter-page{max-width:1200px;margin:0 auto;padding:88px 32px}
.sb-newsletter-page__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
.sb-newsletter-page__eyebrow{font:700 12px var(--sb-font-head);text-transform:uppercase;letter-spacing:.12em;color:var(--sb-red);margin:0 0 20px}
.sb-newsletter-page h1{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);letter-spacing:-.02em;margin:0 0 24px}
.sb-newsletter-page__intro{font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);max-width:38ch}
.sb-newsletter-page__signup{background:var(--sb-white);padding:36px}
.sb-newsletter-page__signup h2{font:700 var(--sb-type-section)/1.15 var(--sb-font-head);margin:0 0 12px}
.sb-newsletter-page__signup>p{font:400 var(--sb-type-body)/1.6 var(--sb-font-body)}
.sb-newsletter-page__signup>p.sb-privacy-note{font:400 var(--sb-type-meta)/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-newsletter-page .sb-nl__form{display:flex;flex-direction:column;max-width:none;gap:10px;margin:24px 0 16px}
.sb-newsletter-page label{font:700 var(--sb-type-meta)/1.4 var(--sb-font-head)}
.sb-newsletter-page label span{font-weight:400;color:var(--sb-grey)}
.sb-newsletter-page .sb-nl__input{min-width:0;width:100%;box-sizing:border-box;margin-bottom:10px}
.sb-newsletter-page .sb-nl__btn{margin-top:6px}

.sb-signup-error{font:400 16px/1.5 var(--sb-font-head);border-left:3px solid currentColor;padding-left:12px;flex-basis:100%}
form[aria-busy="true"] button{opacity:.65;cursor:wait}
@media(max-width:800px){.sb-newsletter-page{padding:48px 24px}.sb-newsletter-page__grid{grid-template-columns:1fr;gap:32px}.sb-newsletter-page__signup{padding:24px}.sb-newsletter-page__signup>p{font-size:18px}}

/* Community Agreement form controls. */
.sb-community-agreement .sb-terms__agree{background:var(--sb-white);border-top:1px solid var(--sb-border);padding:32px;margin-top:48px}
.sb-community-agreement .sb-terms__agree>.sb-terms__h2{margin-top:0;margin-bottom:24px}
.sb-community-agreement .sb-amb__form{max-width:none;gap:12px;margin-bottom:0}
.sb-community-agreement .sb-amb__label input{box-sizing:border-box;width:100%;min-height:48px;padding:12px;font:400 16px/1.4 var(--sb-font-head);background:var(--sb-white);border:1px solid var(--sb-border);border-radius:0}
.sb-community-agreement .sb-amb__label{margin:0;gap:8px;font:700 14px/1.5 var(--sb-font-head)}
.sb-community-agreement .sb-amb__row{gap:12px}
.sb-community-agreement .sb-amb__check{gap:12px;align-items:flex-start;margin:0;font:400 16px/1.5 var(--sb-font-head)}
.sb-community-agreement .sb-amb__check input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:var(--sb-red)}
.sb-community-agreement input:focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-community-agreement .sb-waiver__status:empty{display:none}
.sb-community-agreement .sb-amb__submit{min-height:48px;margin-top:0}
@media(max-width:600px){.sb-community-agreement .sb-terms__agree{padding:24px 20px}.sb-community-agreement .sb-amb__row{grid-template-columns:1fr;flex-direction:column}}

/* Free account: compact editorial introduction and aligned form column. */
.sb-account-page .sb-account--split{box-sizing:border-box;width:100%;max-width:900px;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:56px;padding:64px 24px;align-items:start}
.sb-account-page .sb-account__pitch,.sb-account-page .sb-account__col{align-self:start;min-width:0}
.sb-account-page .sb-account__card{background:transparent;padding:0 0 0 32px;border-left:1px solid var(--sb-border)}
.sb-account-page .sb-account__title{font-size:var(--sb-fs-h1);line-height:1.08;max-width:12ch;margin:0 0 20px}
.sb-account-page .sb-account__kicker{font-size:12px;margin:0 0 16px}
.sb-account-page .sb-account__sub{max-width:30ch}
.sb-account-page .sb-account__form{gap:16px}
.sb-account-page .sb-account__label{color:var(--sb-text);gap:8px}
.sb-account-page .sb-account__label input{min-height:48px;box-sizing:border-box;width:100%;background:var(--sb-white);border-color:var(--sb-border)}
.sb-account__help{font:400 var(--sb-type-meta)/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-account-hub{padding:64px 24px 72px}
.sb-account-hub__inner{max-width:900px;margin:0 auto}
.sb-account-hub__header{border-bottom:1px solid var(--sb-border);padding-bottom:32px}
.sb-account-hub__kicker,.sb-account-hub__label{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--sb-red)}
.sb-account-hub__kicker{margin:0 0 16px}
.sb-account-hub h1{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);margin:0 0 16px;letter-spacing:0}
.sb-account-hub__header>p:last-child{font:400 var(--sb-type-intro)/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0;max-width:36ch}
.sb-account-hub__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}
.sb-account-hub__card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:180px;padding:28px;background:var(--sb-white);border:1px solid var(--sb-border);color:var(--sb-text);text-decoration:none}
.sb-account-hub__card--primary{background:var(--sb-black);border-color:var(--sb-black);color:var(--sb-white);grid-row:span 2;min-height:376px}
.sb-account-hub__card .sb-account-hub__label{margin-bottom:28px}
.sb-account-hub__card strong{font:700 var(--sb-type-section)/1.15 var(--sb-font-head);margin-bottom:12px;overflow-wrap:anywhere}
.sb-account-hub__email{display:block;min-width:0;max-width:100%;width:100%;font:700 clamp(20px,2.2vw,28px)/1.25 var(--sb-font-head)!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;overflow:visible;text-overflow:clip}
.sb-account-hub__card--primary strong,.sb-account-hub__card--primary .sb-account-hub__arrow{color:var(--sb-white)}
.sb-account-hub__card>span:not(.sb-account-hub__label):not(.sb-account-hub__arrow){font:400 var(--sb-type-body)/1.5 var(--sb-font-body);color:var(--sb-grey);max-width:30ch}
.sb-account-hub__card--primary>span:not(.sb-account-hub__label):not(.sb-account-hub__arrow){color:var(--sb-white)}
.sb-account-hub__activity-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:start;color:var(--sb-white);text-decoration:none;padding:24px 0}
.sb-account-hub__activity-item+ .sb-account-hub__activity-item{border-top:1px solid rgba(255,255,255,.35)}
.sb-account-hub__activity-item strong{color:var(--sb-white)}
.sb-account-hub__activity-item>span:not(.sb-account-hub__arrow){grid-column:1;font:400 var(--sb-type-body)/1.5 var(--sb-font-body);max-width:30ch}
.sb-account-hub__activity-item strong{grid-column:1}
.sb-account-hub__activity-item .sb-account-hub__arrow{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--sb-white);padding-left:24px}
.sb-account-hub a.sb-account-hub__activity-item:hover,.sb-account-hub a.sb-account-hub__activity-item:focus-visible{color:var(--sb-white)}
.sb-account-hub a.sb-account-hub__activity-item:hover strong,.sb-account-hub a.sb-account-hub__activity-item:focus-visible strong{color:var(--sb-white);text-decoration:underline;text-underline-offset:4px}
.sb-account-hub a.sb-account-hub__activity-item:hover>span:not(.sb-account-hub__arrow),.sb-account-hub a.sb-account-hub__activity-item:focus-visible>span:not(.sb-account-hub__arrow){color:var(--sb-white)}
.sb-account-hub a.sb-account-hub__activity-item:hover .sb-account-hub__arrow,.sb-account-hub a.sb-account-hub__activity-item:focus-visible .sb-account-hub__arrow{color:var(--sb-red)}
.sb-account-hub__activity-item{transition:color .15s ease}
.sb-account-hub__activity-item .sb-account-hub__arrow{transition:color .15s ease}
.sb-account-hub__activity-item:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.sb-account-hub__activity-item,.sb-account-hub__activity-item .sb-account-hub__arrow{transition:none}}
.sb-account-hub__arrow{margin-top:auto;padding-top:24px;font:400 24px/1 var(--sb-font-head)}
.sb-account-hub__card:focus-visible,.sb-account-hub__footer a:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}
.sb-account-hub__card[href]:hover strong{text-decoration:underline;text-underline-offset:4px}
.sb-account-hub__footer{border-top:1px solid var(--sb-border);margin-top:32px;padding-top:24px}
.sb-account-hub__footer a{font:600 var(--sb-type-control)/1.4 var(--sb-font-head);color:var(--sb-text);text-decoration:underline;text-underline-offset:4px}
.sb-account-page .sb-account__submit{min-height:48px;font-size:var(--sb-type-control);margin-top:4px;text-transform:none}
.sb-account-page .sb-account__error[hidden]{display:none}
.sb-account-page .sb-account__switch{margin:0;font:400 var(--sb-type-meta)/1.5 var(--sb-font-head)}
.sb-account-page .sb-age-check--account{margin:0}
.sb-account-page .sb-account__privacy{margin:-10px 0 0;font:400 12px/1.65 var(--sb-font-head);color:var(--sb-grey)}
.sb-account-page .sb-account__recaptcha-note{margin:20px 0 0;font:400 12px/1.65 var(--sb-font-head);color:var(--sb-grey)}
.sb-account-page .sb-account__error{font:400 14px/1.5 var(--sb-font-head);margin:0 0 20px;padding:12px 14px;border-left:2px solid var(--sb-red);color:var(--sb-red);background:#f9e6e4}
.sb-account-page .sb-account__error-action{font:700 14px/1.5 var(--sb-font-head);margin:-12px 0 20px}
.sb-account-page .sb-account__error-action a{color:var(--sb-black);text-decoration:underline;text-underline-offset:3px}
.sb-account__password{position:relative;display:block}
.sb-account-page .sb-account__password input{padding-right:64px}
.sb-account__reveal{position:absolute;right:8px;top:4px;min-height:40px;padding:0 8px;border:0;background:transparent;color:var(--sb-grey);font:500 12px var(--sb-font-head);cursor:pointer}
.sb-account__reveal:focus-visible{outline:2px solid var(--sb-red)}
.sb-account__recovery{margin:0;text-align:right;font:400 14px/1.4 var(--sb-font-head)}
@media(max-width:760px){.sb-account-page .sb-account--split{max-width:460px;grid-template-columns:1fr;gap:28px;padding:40px 20px;align-items:start}.sb-account-page .sb-account__card{padding:24px 0 0;border-left:0;border-top:1px solid var(--sb-border)}}
@media(max-width:600px){.sb-account-hub{padding:40px 20px}.sb-account-hub__grid{grid-template-columns:1fr;margin-top:24px}.sb-account-hub__card,.sb-account-hub__card--primary{min-height:180px}.sb-account-hub__card--primary{min-height:240px}}

/* Password reset: match the approved Create account / Sign in entrance. */
.sb-password-reset{box-sizing:border-box;max-width:900px;margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;color:var(--sb-text)}
.sb-password-reset *{box-sizing:border-box}
.sb-password-reset header,.sb-password-reset__panel{align-self:start;min-width:0}
.sb-password-reset h1{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);margin:0 0 20px;max-width:16ch;color:var(--sb-text);letter-spacing:0}
.sb-password-reset .kicker{font:700 12px/1.4 var(--sb-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--sb-red);margin:0 0 16px}
.sb-password-reset .deck{font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0;max-width:29ch}
.sb-password-reset__panel{padding-left:32px;border-left:1px solid var(--sb-border);min-width:0}
.sb-password-reset form{display:grid;gap:16px;margin:0}
.sb-password-reset label{font:700 14px/1.4 var(--sb-font-head);display:block;margin:0;color:var(--sb-text)}
.sb-password-reset input{display:block;width:100%;min-height:48px;border:1px solid var(--sb-border);border-radius:0;background:#fff;padding:12px;font:400 16px/1.4 var(--sb-font-head);color:var(--sb-text);margin-top:8px}
.sb-password-reset .help{font:400 12px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:8px 0 0}
.sb-password-reset .body{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0 0 20px}
.sb-password-reset .primary{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;background:var(--sb-red);border:1px solid var(--sb-red);color:#fff;font:700 16px/1.4 var(--sb-font-head);padding:12px 16px;text-decoration:none;cursor:pointer;margin:0}
.sb-password-reset .primary:hover{background:var(--sb-black);border-color:var(--sb-black);color:#fff}
.sb-password-reset .back{display:block;width:fit-content;margin:16px auto 0;font:400 14px/1.5 var(--sb-font-head);color:var(--sb-text);text-decoration:underline;text-underline-offset:3px}
.sb-password-reset .input-wrap{position:relative;display:block;margin-top:8px}
.sb-password-reset .input-wrap input{margin-top:0;padding-right:64px}
.sb-password-reset form>.help{margin:-8px 0 0}
.sb-password-reset .show{position:absolute;right:8px;top:4px;min-height:40px;padding:0 8px;border:0;background:none;color:var(--sb-grey);font:500 12px var(--sb-font-head);cursor:pointer}
.sb-password-reset .error{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-red);border-left:2px solid var(--sb-red);padding:12px;background:#f9e6e4;margin:0 0 16px}
.sb-password-reset [hidden]{display:none!important}
.sb-password-reset :focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-password-reset__hint{margin-bottom:20px!important}
@media(max-width:760px){.sb-password-reset{max-width:460px;grid-template-columns:1fr;padding:40px 20px;gap:28px;align-items:start}.sb-password-reset h1{font-size:36px}.sb-password-reset__panel{border-left:0;border-top:1px solid var(--sb-border);padding:24px 0 0}.sb-password-reset form{gap:12px}}

/* Customer shell. Native SureCart components use their supported theme variables. */
body.sb-customer-dashboard{--sc-font-sans:var(--sb-font-head);--sc-input-font-family:var(--sb-font-head);--sc-color-gray-50:var(--sb-paper);--sc-font-size-medium:var(--sb-type-control);--sc-font-size-small:var(--sb-type-meta);--sc-font-weight-bold:700;--sc-font-weight-semibold:700;--sc-input-label-font-size-medium:14px;--sc-input-label-font-weight:700;--sc-input-font-size-medium:16px;--sc-input-font-size-large:16px;--sc-input-font-weight:400;--sc-input-color:var(--sb-text);--sc-input-label-color:var(--sb-text);--sc-button-font-size-medium:16px;--sc-button-font-size-large:16px;--sc-dashbaord-module-heading-size:var(--sb-type-section);--sc-dashbaord-module-heading-weight:700;--sc-dashbaord-module-heading-line-height:1.15;--sc-card-border-radius:0;--sc-card-border-color:var(--sb-border);--sc-shadow-small:none}
.sb-customer-dashboard__masthead,.sb-customer-dashboard__shell{box-sizing:border-box;max-width:1120px;margin:0 auto;padding-left:32px;padding-right:32px}
.sb-customer-dashboard__masthead{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--sb-border);font:400 var(--sb-type-meta)/1.4 var(--sb-font-head)}
.sb-customer-dashboard__brand .custom-logo{width:240px;height:auto;display:block;filter:brightness(0)}
.sb-customer-dashboard__brand a{display:flex;align-items:center;min-height:44px}
.sb-customer-dashboard__shell{padding-top:64px;padding-bottom:80px}
.sb-customer-dashboard__eyebrow{font:700 var(--sb-type-label)/1.4 var(--sb-font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--sb-red);margin:0 0 12px}
.sb-customer-dashboard__title{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);letter-spacing:-.02em;margin:0 0 16px}
.sb-customer-dashboard__intro{font:400 var(--sb-type-intro)/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0}
.sb-customer-dashboard__layout{display:grid;grid-template-columns:184px minmax(0,1fr);gap:64px;margin-top:48px}
.sb-customer-dashboard__nav{border-right:1px solid var(--sb-border);padding-right:24px}
.sb-customer-dashboard__nav-toggle{display:none}
body.sb-customer-dashboard :is(.sb-customer-dashboard__nav,.sb-customer-dashboard__masthead) a{text-decoration:none;color:var(--sb-text)}
.sb-customer-dashboard__nav a{box-sizing:border-box;display:block;padding:12px 0;min-height:44px;font:400 var(--sb-type-meta)/1.4 var(--sb-font-head)}
.sb-customer-dashboard__nav a[aria-current]{font-weight:700}
.sb-customer-dashboard__nav a[aria-current]::before{content:"";display:inline-block;width:5px;height:5px;background:var(--sb-red);margin:0 10px 3px 0}
.sb-customer-dashboard__account-links{border-top:1px solid var(--sb-border);margin-top:24px;padding-top:16px}
.sb-customer-dashboard__content{min-width:0;font:400 var(--sb-type-control)/1.6 var(--sb-font-head)}
.sb-customer-dashboard__help{margin:32px 0 0;font:400 var(--sb-type-meta)/1.4 var(--sb-font-head);color:var(--sb-grey)}
.sb-customer-dashboard a:focus-visible{outline:2px solid var(--sb-red);outline-offset:4px}
body.sb-customer-dashboard :is(.sb-customer-dashboard__nav,.sb-customer-dashboard__masthead) a:hover{color:var(--sb-red)}
.sb-customer-dashboard__shell--secondary{padding-top:48px}
.sb-customer-dashboard__shell--secondary .sb-customer-dashboard__title{font-size:clamp(2rem,4vw,2.75rem);max-width:16ch;margin-bottom:0}
.sb-customer-dashboard__shell--secondary .sb-customer-dashboard__layout{margin-top:32px}
.sb-customer-dashboard__content :is(sc-wordpress-user-edit,sc-wordpress-password-edit,sc-customer-edit,sc-dashboard-customer-details){display:block;max-width:640px}
.sb-customer-dashboard__content sc-payment-methods-list{display:block;max-width:720px}
.sb-customer-dashboard__content sc-wordpress-password-edit{margin-top:32px}
.sb-customer-dashboard__content :is(sc-customer-edit,sc-dashboard-customer-details)::part(button__base){width:auto;align-self:flex-start;font-family:var(--sb-font-head);font-size:16px;font-weight:700}
.sb-customer-dashboard__content sc-dashboard-customer-details::part(heading){align-items:flex-start;gap:12px;flex-wrap:wrap}
.sb-customer-dashboard__content sc-dashboard-customer-details::part(heading-title){white-space:normal}
@media(max-width:700px){
.sb-customer-dashboard__masthead{min-height:72px;padding:0 24px;gap:16px}
.sb-customer-dashboard__brand .custom-logo{width:180px}
.sb-customer-dashboard__shell{padding:40px 24px 48px}
.sb-customer-dashboard__shell--secondary{padding-top:28px}
.sb-customer-dashboard__shell--secondary .sb-customer-dashboard__title{font-size:32px}
.sb-customer-dashboard__layout{grid-template-columns:1fr;gap:28px;margin-top:28px}
.sb-customer-dashboard__nav-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--sb-border);background:var(--sb-paper);color:var(--sb-text);font:700 14px/1.4 var(--sb-font-head);text-align:left}
.sb-customer-dashboard__nav-toggle span:last-child{font-weight:400;color:var(--sb-grey);text-align:right}
.sb-customer-dashboard__nav-toggle:focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-customer-dashboard__nav{display:flex;flex-wrap:wrap;gap:0 20px;border-right:0;border-bottom:1px solid var(--sb-border);padding:0}
.sb-customer-dashboard__shell--secondary .sb-customer-dashboard__nav{display:block;border:1px solid var(--sb-border);border-top:0;padding:4px 14px 12px}
.sb-customer-dashboard__shell--secondary .sb-customer-dashboard__nav[hidden]{display:none}
.sb-customer-dashboard__account-links{display:flex;flex-wrap:wrap;gap:0 20px;width:100%;margin-top:8px;padding-top:8px}
.sb-customer-dashboard__shell--secondary .sb-customer-dashboard__account-links{display:block}
.sb-customer-dashboard__content :is(sc-wordpress-user-edit,sc-wordpress-password-edit,sc-customer-edit,sc-dashboard-customer-details,sc-payment-methods-list){max-width:100%}
.sb-customer-dashboard__content :is(sc-customer-edit,sc-dashboard-customer-details)::part(button__base){width:100%}
}

.sb-customer-dashboard__overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;--sc-dashbaord-module-heading-size:var(--sb-type-card);--sc-color-gray-800:var(--sb-text);--sc-color-gray-500:var(--sb-grey)}
.sb-customer-dashboard__overview>sc-orders-list{grid-column:1/-1;--sc-dashbaord-module-heading-size:var(--sb-type-section)}
.sb-customer-dashboard__empty{font:400 var(--sb-type-meta)/1.4 var(--sb-font-head);color:var(--sb-grey);margin:0}
@media(max-width:700px){.sb-customer-dashboard__overview{grid-template-columns:1fr}}

/* Saved inherits the approved destination-title role, not the generic heading font. */
.sb-saved-page .sb-browse__title{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);letter-spacing:-.02em}

/* Approved mobile account and Newsletter corrections; desktop stays unchanged. */
@media(max-width:760px){
.sb-account-page .sb-account__form{gap:12px}
.sb-account-page .sb-account__card{padding-top:20px}
body.secret-boston-v2 .sb-account-page .sb-age-check--account{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-text);display:flex;align-items:flex-start;gap:10px;min-height:24px;margin:0}
body.secret-boston-v2 .sb-account-page .sb-age-check--account input{width:16px;height:16px;flex:0 0 16px;margin:3px 0 0;accent-color:var(--sb-red)}
body.secret-boston-v2 .sb-account-page p.sb-account__privacy{font:400 12px/1.65 var(--sb-font-head);color:var(--sb-grey);margin:-6px 0 0}
}
@media(max-width:700px){
.sb-customer-dashboard__brand .custom-logo{width:clamp(140px,45vw,180px)}
.sb-customer-dashboard__overview>sc-orders-list{--sc-font-weight-semibold:400;--sc-font-size-medium:16px;--sc-button-font-size-medium:14px;--sc-button-font-weight:400}
}

/* Community Terms consent and privacy hierarchy. */
body.secret-boston-v2 .sb-community-agreement .sb-amb__check{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-text);display:flex;align-items:flex-start;gap:10px;min-height:24px;margin:0}
body.secret-boston-v2 .sb-community-agreement .sb-amb__check input{width:16px;height:16px;flex:0 0 16px;margin:3px 0 0;accent-color:var(--sb-red)}
body.secret-boston-v2 .sb-community-agreement p.sb-terms__privacy{font:400 12px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0}

/* Community Terms mobile entrance matches the approved account entrance. */
body.secret-boston-v2 .sb-community-agreement p.sb-terms__eyebrow{display:block;font:800 12px/1.6 var(--sb-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--sb-red);margin:0 0 16px}

/* Checkout presentation wraps native SureCart controls without replacing payment flow. */
body.sb-checkout-design{--sc-color-primary-500:var(--sb-red);--sc-color-primary-600:var(--sb-red);--sc-color-primary-700:var(--sb-red);--sc-font-weight-semibold:700;--sc-font-sans:var(--sb-font-head);--sc-input-font-family:var(--sb-font-head);--sc-font-size-medium:16px;--sc-font-size-small:14px;--sc-input-font-size-medium:16px;--sc-input-font-size-large:16px;--sc-input-label-font-size-medium:14px;--sc-input-label-font-size-large:14px;--sc-input-label-font-weight:700;--sc-input-help-text-font-size-medium:12px;--sc-button-font-size-medium:16px;--sc-button-font-size-large:16px;--sc-input-color:var(--sb-black);--sc-input-label-color:var(--sb-black);background:var(--sb-paper);font-family:var(--sb-font-head)}
.sb-checkout-design .sb-checkout-shell{box-sizing:border-box;max-width:1096px;margin:0 auto;padding:28px 28px 72px;color:var(--sb-black)}
.sb-checkout-design .sb-checkout__mast{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:28px;margin-bottom:56px;border-bottom:1px solid var(--sb-border)}
.sb-checkout-design .sb-checkout__brand,.sb-checkout-design .sb-checkout__back{color:inherit;text-decoration:none}
.sb-checkout-design .sb-checkout__back{font:700 14px/1.4 var(--sb-font-head)}
.sb-checkout-design .sb-checkout-logo{display:block;width:220px;max-width:100%;height:auto;filter:brightness(0)}
.sb-checkout-design .sb-checkout-wordmark{font:800 24px/1 var(--sb-font-head);letter-spacing:-.02em;text-transform:uppercase}
.sb-checkout-design .sb-checkout__intro{margin:0 0 40px}
.sb-checkout-design .sb-checkout__eyebrow{font:800 12px/1.6 var(--sb-font-head);letter-spacing:.1em;color:var(--sb-red);text-transform:uppercase;margin:0 0 16px}
.sb-checkout-design .sb-checkout__intro h1{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);letter-spacing:-.02em;margin:0 0 16px}
.sb-checkout-design .sb-checkout__intro p:last-child{font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0}
.sb-checkout-design [data-sb-checkout-intro][hidden],.sb-checkout-design [data-sb-checkout-empty][hidden],.sb-checkout-design .wp-block-surecart-checkout-form[hidden]{display:none!important}
.sb-checkout-design .sb-checkout-empty{max-width:620px;padding:0 0 48px}
.sb-checkout-design .sb-checkout-empty h1{font:700 var(--sb-fs-h1)/1.08 var(--sb-font-body);letter-spacing:-.02em;margin:0 0 16px}
.sb-checkout-design .sb-checkout-empty p:not(.sb-checkout__eyebrow){font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0}
.sb-checkout-design .sb-checkout-empty__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:28px;padding:12px 18px;background:var(--sb-red);color:#fff;border:1px solid var(--sb-red);font:700 16px/1.4 var(--sb-font-head);text-decoration:none}
.sb-checkout-design .wp-block-surecart-checkout-form,.sb-checkout-design sc-checkout,.sb-checkout-design sc-form{display:block}
.sb-checkout-design sc-columns.wp-block-surecart-columns{display:grid!important;grid-template-columns:minmax(0,1fr) 340px;gap:64px!important;align-items:start!important;background:transparent!important}
.sb-checkout-design sc-column.wp-block-surecart-column{box-sizing:border-box;width:100%;max-width:none!important;padding:0!important;--sc-column-content-width:100%!important;--sc-form-row-spacing:16px!important}
.sb-checkout-design sc-column.wp-block-surecart-column:first-of-type{background:transparent!important}
.sb-checkout-design sc-column.wp-block-surecart-column.is-sticky{position:sticky;top:24px;background:var(--sb-white);border:1px solid var(--sb-border);padding:28px!important;--sc-column-content-width:340px!important}
.sb-checkout-design .wp-block-surecart-store-logo{display:none}
.sb-checkout-design sc-payment{display:block;border-top:1px solid var(--sb-border);margin-top:28px;padding-top:24px}
.sb-checkout-design sc-checkout-form-errors{display:block;margin:0 0 20px}
.sb-checkout-design sc-order-submit{display:block;margin-top:16px}
.sb-checkout-design sc-order-summary.wp-block-surecart-totals{display:block;background:var(--sb-white)}
.sb-checkout-design .sb-commerce-compliance{box-sizing:border-box;max-width:none;margin:24px 0 12px;padding:0}
body.sb-checkout-design .sb-commerce-compliance .sb-age-check{font:400 14px/1.5 var(--sb-font-head);display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;min-height:24px}
.sb-checkout-design .sb-age-check input{width:16px;height:16px;flex:0 0 16px;margin:3px 0 0;accent-color:var(--sb-red)}
body.sb-checkout-design .sb-commerce-compliance .sb-privacy-note{font:400 12px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-checkout-design .sb-commerce-compliance__error{color:var(--sb-red);font:700 14px/1.5 var(--sb-font-head);margin:8px 0 0}
@media(max-width:760px){
.sb-checkout-design .sb-checkout-shell{padding:20px 24px 48px}
.sb-checkout-design .sb-checkout__mast{padding-bottom:20px;margin-bottom:40px}
.sb-checkout-design .sb-checkout-logo{width:160px}
.sb-checkout-design .sb-checkout__back{font-size:12px}
.sb-checkout-design .sb-checkout__intro{margin-bottom:28px}
.sb-checkout-design sc-columns.wp-block-surecart-columns{display:flex!important;flex-direction:column!important;gap:28px!important}
.sb-checkout-design sc-column.wp-block-surecart-column.is-sticky{order:-1;position:static;padding:20px!important;--sc-column-content-width:100%!important}
}

/* Approved event management. Native TEC queries, fields and action controls retained. */
.sb-management-list{max-width:1120px;width:calc(100% - 80px);margin:0 auto;padding:64px 0 80px}
.sb-edit-event-management .tribe-community-events{box-sizing:border-box;max-width:800px;width:calc(100% - 80px);margin:0 auto 80px;padding:64px 0 0;background:transparent!important;border:0!important}
.sb-management-list .sb-management-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker ." "title submit" "intro search";align-items:center;justify-items:start;column-gap:32px;row-gap:12px;margin-bottom:32px}
.sb-management-heading__copy{display:contents}
.sb-management-heading h1{font:700 52px/1.08 var(--sb-font-body);color:var(--sb-black);margin:0}
.sb-management-list .sb-management-heading h1{grid-area:title}
.sb-management-heading .sb-kicker{font:700 12px/1.4 var(--sb-font-head);color:var(--sb-red);letter-spacing:.1em;margin:0}
.sb-management-list .sb-management-heading .sb-kicker{grid-area:kicker}
.sb-management-intro{font:400 20px/1.5 var(--sb-font-body);color:var(--sb-grey);margin:0}
.sb-management-list .sb-management-intro{grid-area:intro}
.sb-management-actions{grid-area:search;justify-self:end;width:220px}
.sb-management-list .sb-management-heading>.add-new,.sb-management-list .sb-management-heading>a.tribe-button-primary{grid-area:submit;justify-self:end;width:auto!important;margin:0!important;padding:12px 24px;min-height:48px;font:700 16px/1.4 var(--sb-font-head);text-transform:none;background:var(--sb-red)!important;border:1px solid var(--sb-red)!important;color:#fff!important;box-shadow:none!important;text-align:center}
.sb-management-list .tribe-event-list-search{float:none;margin:0;max-width:none;width:100%}
.sb-management-list .tribe-search-form>div{display:flex}
.sb-management-list input[type=search]{min-width:0;width:100%;height:40px;border:1px solid var(--sb-border);background:#fff;padding:8px 10px;font:400 14px/1.4 var(--sb-font-head)}
.sb-management-list #search-submit{display:block;min-height:40px;padding:0 12px;font:700 13px/1.4 var(--sb-font-head);border-radius:0}
.sb-management-list .tribe-nav{font:400 14px/1.4 var(--sb-font-head)}
.sb-management-tools{display:flex;justify-content:flex-start;align-items:flex-end;gap:24px;border-bottom:1px solid var(--sb-border);margin:0 0 8px}
.sb-management-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0}
.sb-management-tabs :is(a,span){position:relative;display:inline-flex;align-items:center;min-height:48px;margin:0 32px 0 0;padding:0 0 8px;color:var(--sb-grey);font:700 16px/1.4 var(--sb-font-head);text-decoration:none;text-transform:none;white-space:nowrap}
.sb-management-tabs :is(a:hover,a:focus-visible){color:var(--sb-red)}
.sb-management-tabs :is(a.tribe-button-secondary,span)::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sb-red)}
.sb-management-tabs :is(a.tribe-button-secondary,span){color:var(--sb-black)}
.sb-management-events{display:block;width:100%;font:400 14px/1.5 var(--sb-font-head)}
.sb-management-event{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--sb-border);align-items:start}
.sb-management-event__date{border-right:1px solid var(--sb-border);font:400 12px/1.4 var(--sb-font-head);text-transform:uppercase;color:var(--sb-red)}
.sb-management-event__date strong{display:block;font:700 28px/1.15 var(--sb-font-body);color:var(--sb-black);letter-spacing:0;text-transform:none}
.sb-management-event__status{margin:0 0 12px}
.sb-management-event__status .event-status{display:inline-block;background:#e7ece5;color:#354a36;padding:4px 8px}
.sb-management-event__status .event-status svg{margin-left:6px;vertical-align:middle}
.sb-management-event__title{margin:0 0 8px;font:700 20px/1.2 var(--sb-font-head);color:var(--sb-black)}
.sb-management-event__title .title{display:block}
.sb-management-event__title a{color:var(--sb-black);text-decoration:none}
.sb-management-event__title a:hover{text-decoration:underline;text-underline-offset:4px}
.sb-management-event__meta{font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey);margin:0}
.sb-management-event__details{margin-top:12px;font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-management-event__details summary{cursor:pointer;width:fit-content}
.sb-management-event__details p{font:inherit;margin:8px 0 0}
.sb-management-list .row-actions{font:400 14px/1.4 var(--sb-font-head);margin-top:12px;position:static;visibility:visible}
.sb-management-list .row-actions a{display:inline-block;padding:8px 0;min-height:36px;color:var(--sb-black)}
.sb-management-list .sb-management-empty,.sb-management-list .tribe-community-no-items{margin:16px 0 0;padding:0;border:0;background:transparent;box-shadow:none;font:400 14px/1.5 var(--sb-font-head);color:var(--sb-grey)}
.sb-management-edit-heading{display:block;margin-bottom:32px}
.sb-management-edit-heading>a{display:block;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-grey);margin-bottom:24px}
.sb-management-edit-heading .sb-kicker{margin:0 0 12px;letter-spacing:.12em}
.sb-management-edit-heading h1{letter-spacing:-.025em;margin:0 0 16px}
.sb-management-edit{display:block}
.sb-management-sections{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px;position:static}
.sb-management-sections a{padding:8px 0;font:400 14px/1.4 var(--sb-font-head);color:var(--sb-grey)}
.sb-management-edit>form,.sb-edit-event-management .tribe-community-events>form{box-sizing:border-box;min-width:0;margin:0;background:#fff;border:1px solid var(--sb-border);padding:40px 48px 48px}
.sb-management-edit label,.sb-edit-event-management .tribe-community-events label{font:600 14px/1.4 var(--sb-font-head)!important;text-transform:none!important;margin-bottom:8px}
.sb-management-edit :is(input[type=text],input[type=email],input[type=url],input[type=tel],input[type=number],select,textarea),.sb-edit-event-management .tribe-community-events :is(input[type=text],input[type=email],input[type=url],input[type=tel],input[type=number],select,textarea){box-sizing:border-box;max-width:100%;min-height:50px;border:1px solid #aaa69e;border-radius:0;background:#fff;padding:12px 14px;font:400 16px/1.4 var(--sb-font-head)}
.sb-management-edit #post_content{min-height:190px;resize:vertical}
.sb-management-edit .tribe-section,.sb-edit-event-management .tribe-community-events .tribe-section{background:none!important;border:0!important;border-top:1px solid var(--sb-border)!important;padding:28px 0 0;margin:32px 0 0}
.sb-management-edit :is(h3,h4),.sb-edit-event-management .tribe-community-events :is(h3,h4){font:700 24px/1.25 var(--sb-font-head)!important;text-transform:none!important;background:none!important;margin:0 0 24px;padding:0;border:0}
.sb-management-edit :is(.events-community-post-title,.events-community-post-content){margin-bottom:24px}
.sb-management-edit table{border:0;width:100%;max-width:100%;margin:0}
.sb-management-edit td{border:0;padding:8px 0;vertical-align:top}
.sb-management-edit :is(.select2-container,.select2-selection){max-width:100%}
.sb-management-edit .tribe-events-community-footer{border-top:1px solid var(--sb-border);padding-top:28px;margin-top:32px}
.sb-management-edit .sb-management-cancel{display:inline-block;font:400 14px/1.4 var(--sb-font-head);margin-top:16px;color:var(--sb-grey)}
.sb-management-edit .sb-privacy-note{font:400 12px/1.5 var(--sb-font-head)}
.sb-management-edit :is(input,select,textarea),.sb-management-edit [id]{scroll-margin-top:24px}
body.sb-edit-event-management :is(input[type=submit],.tribe-button-primary){min-height:50px;min-width:220px;padding:14px 24px;background:var(--sb-red)!important;border:1px solid var(--sb-red)!important;border-radius:0!important;color:#fff!important;box-shadow:none!important;font:700 14px/1.4 var(--sb-font-head)!important;text-transform:none!important}
@media(min-width:601px){
.sb-edit-event-management .tribe-community-events :is(#EventStartDate,#EventEndDate,input.tribe-datepicker){min-width:11em;width:11em;max-width:none;overflow:visible}
.sb-edit-event-management .tribe-community-events :is(#EventStartTime,#EventEndTime,input.tribe-timepicker){min-width:8.5em;width:8.5em;max-width:none;overflow:visible}
}
:is(.sb-management-list,.sb-management-edit) :focus-visible{outline:2px solid var(--sb-red);outline-offset:3px}
.sb-event-management-list #tribe-events-pg-template{max-width:none;padding:0}
.sb-event-management-list .tribe-community-events-content{width:min(1200px,calc(100% - 160px));margin:0 auto;padding:48px 0 80px;font-family:var(--sb-font-head)}
.sb-event-management-list .tribe-community-events-list-title{margin:0 0 12px;font:700 56px/1.05 var(--sb-font-body);letter-spacing:0;color:var(--sb-black)}
body.sb-event-management-list .tribe-community-events-content>.add-new,body.sb-event-management-list a.tribe-button-primary.add-new{float:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:var(--sb-red)!important;border:1px solid var(--sb-red)!important;color:#fff!important;box-shadow:none!important;font:700 16px/1.4 var(--sb-font-head);text-decoration:none;text-transform:none}
body.sb-event-management-list .tribe-community-events-content>.add-new{margin:8px 0 24px}
.sb-event-management-list .tribe-event-list-search,.sb-management-actions .tribe-event-list-search{float:none;margin:0;max-width:none;width:100%}
.sb-management-list .sb-management-actions .tribe-event-list-search{width:100%}
.sb-event-management-list .tribe-search-form>div{display:flex}
.sb-event-management-list .tribe-event-list-search input[type=search]{min-width:0;width:100%;height:48px;border:1px solid var(--sb-border);background:#fff;padding:12px;font:400 16px/1.4 var(--sb-font-head)}
body.sb-event-management-list .tribe-event-list-search #search-submit,body.sb-management-list #search-submit{display:block;min-height:48px;border:0!important;border-radius:0;background:var(--sb-black)!important;color:#fff!important;font:700 14px/1.4 var(--sb-font-head)}
body.sb-event-management-list .my-events-display-options{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0}
body.sb-event-management-list .my-events-display-options .tribe-button{position:relative;display:inline-flex!important;float:none!important;width:auto!important;align-items:center;min-height:48px;margin:0 32px 0 0!important;padding:0 0 8px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--sb-grey)!important;font:700 16px/1.4 var(--sb-font-head)!important;text-transform:none;white-space:nowrap}
body.sb-event-management-list .my-events-display-options .tribe-button-secondary{color:var(--sb-black)!important}
body.sb-event-management-list .my-events-display-options .tribe-button-secondary::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sb-red)}
body.sb-event-management-list .tribe-community-no-items,body.sb-event-management-list .sb-management-empty{margin:16px 0 0;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:400 14px/1.5 var(--sb-font-head)!important;color:var(--sb-grey)}
.sb-event-management-list .tribe-nav-top{display:flex;align-items:flex-end;justify-content:flex-start;gap:24px;border-bottom:1px solid var(--sb-border);margin:0}
.sb-event-management-list .my-events-display-options a:hover,.sb-event-management-list .my-events-display-options a:focus-visible{color:var(--sb-red)}
.sb-event-management-list .tribe-nav-top .table-menu-wrapper{display:none!important}
.sb-event-management-list .tribe-responsive-table-container{overflow:visible;width:100%;margin:0}
.sb-event-management-list #tribe-community-events-list,.sb-event-management-list #tribe-community-events-list tbody{display:block;width:100%;border:0}
.sb-event-management-list #tribe-community-events-list thead{display:none}
.sb-event-management-list #tribe-community-events-list tr{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 24px;padding:24px 0;border-bottom:1px solid var(--sb-border)}
.sb-event-management-list #tribe-community-events-list td{display:block;border:0!important;padding:0;background:transparent!important;color:var(--sb-grey);font:400 14px/1.5 var(--sb-font-head)}
.sb-event-management-list #tribe-community-events-list .tribe-list-column-status{grid-column:1;grid-row:1}
.sb-event-management-list #tribe-community-events-list .tribe-list-column-start_date{grid-column:1;grid-row:2;color:var(--sb-red);font-weight:700;text-transform:uppercase}
.sb-event-management-list #tribe-community-events-list .tribe-list-column-end_date{grid-column:1;grid-row:3}
.sb-event-management-list #tribe-community-events-list .tribe-list-column-title{grid-column:2;grid-row:1/span 2;color:var(--sb-black)}
.sb-event-management-list #tribe-community-events-list .tribe-list-column-category,.sb-event-management-list #tribe-community-events-list .tribe-list-column-venue,.sb-event-management-list #tribe-community-events-list .tribe-list-column-organizer,.sb-event-management-list #tribe-community-events-list .tribe-list-column-recurring{grid-column:2}
.sb-event-management-list #tribe-community-events-list .event-status{display:inline-flex;align-items:center;gap:6px;background:#e7ece5;color:#354a36;padding:4px 8px}
.sb-event-management-list #tribe-community-events-list .event-status img{width:14px;height:14px;margin:0}
.sb-event-management-list #tribe-community-events-list .title{display:block;font:700 20px/1.2 var(--sb-font-head);color:var(--sb-black)}
.sb-event-management-list #tribe-community-events-list .title a{color:inherit;text-decoration:none}
.sb-event-management-list #tribe-community-events-list .title a:hover{text-decoration:underline;text-underline-offset:4px}
.sb-event-management-list #tribe-community-events-list .row-actions{position:static;visibility:visible;margin-top:12px;font:400 14px/1.4 var(--sb-font-head)}
.sb-event-management-list #tribe-community-events-list .row-actions a{display:inline-block;min-height:36px;padding:8px 0;color:var(--sb-black)}
.sb-event-management-list .tribe-nav-bottom{margin-top:24px}
@media(max-width:700px){
.sb-management-list,.sb-edit-event-management .tribe-community-events{width:calc(100% - 40px);padding:32px 0 48px}
.sb-management-list .sb-management-heading{display:flex;flex-direction:column;align-items:stretch;grid-template-columns:none;grid-template-areas:none;margin-bottom:28px}
.sb-management-heading__copy{display:block}
.sb-management-list .sb-management-heading h1{font-size:36px;margin-bottom:8px}
.sb-management-edit-heading h1{font-size:36px}
.sb-management-intro{font-size:16px}
.sb-management-actions{order:2;width:100%;margin:20px 0 0;justify-self:stretch}
.sb-management-list .sb-management-heading>.add-new{order:3;display:flex;width:100%!important;margin-top:16px!important;justify-content:center}
.sb-management-list .tribe-event-list-search{max-width:none}
.sb-management-list input[type=search]{height:48px;padding:12px;font:400 16px/1.4 var(--sb-font-head)}
.sb-management-list #search-submit{min-height:48px;padding:0 16px;font:700 14px/1.4 var(--sb-font-head)}
.sb-management-tools{display:block;margin-bottom:0}.sb-management-tabs,body.sb-event-management-list .my-events-display-options{margin:0}
.sb-management-event{grid-template-columns:1fr;gap:10px;padding:20px 0}
.sb-management-event__date{border-right:0;border-bottom:1px solid var(--sb-border);padding-bottom:8px;width:fit-content}
.sb-management-edit{display:block}.sb-management-sections{display:none!important}.sb-management-edit>form,.sb-edit-event-management .tribe-community-events>form{padding:28px 20px}
.sb-management-edit :is(h3,h4){font-size:22px}.sb-management-edit td{display:block;width:100%}
.sb-management-edit input[type=submit]{max-width:100%;width:100%}
.sb-event-management-list .tribe-community-events-content{width:calc(100% - 40px);padding:32px 0 48px}
.sb-event-management-list .tribe-community-events-list-title{font-size:36px}
.sb-event-management-list .tribe-community-events-content>.add-new{margin-top:8px}
.sb-event-management-list .tribe-event-list-search{max-width:none}
.sb-event-management-list .my-events-display-options{gap:20px}
.sb-event-management-list #tribe-community-events-list tr{grid-template-columns:1fr;gap:8px;padding:20px 0}
.sb-event-management-list #tribe-community-events-list :is(.tribe-list-column-status,.tribe-list-column-start_date,.tribe-list-column-end_date,.tribe-list-column-title,.tribe-list-column-category,.tribe-list-column-venue,.tribe-list-column-organizer,.tribe-list-column-recurring){grid-column:1;grid-row:auto}
}

/* Single Place public report panel. */
.sb-report{ position:relative; }
.sb-report__toggle{ min-height:34px; border:1px solid currentColor; background:var(--sb-white); color:var(--sb-black); padding:0 .65rem; font:inherit; font-size:.78rem; cursor:pointer; }
.sb-report__toggle:hover,
.sb-report__toggle[aria-expanded="true"]{ background:var(--sb-black); color:var(--sb-white); }
.sb-report__panel{ position:absolute; z-index:30; top:calc(100% + .5rem); right:0; width:min(320px, calc(100vw - 2rem)); padding:.85rem; border:1px solid var(--sb-black); background:var(--sb-white); color:var(--sb-black); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.sb-report__panel[hidden]{ display:none; }
.sb-report__panel:focus{ outline:none; }
.sb-report__field{ display:block; margin:0 0 .65rem; font-size:.88rem; }
.sb-report__field span{ display:block; margin:0 0 .25rem; }
.sb-report__field select,
.sb-report__field textarea,
.sb-report__field input{ width:100%; color:var(--sb-black); }
.sb-report__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.sb-report__actions{ display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.sb-report__submit,
.sb-report__close{ font:inherit; font-size:.86rem; cursor:pointer; }
.sb-report__submit{ border:1px solid var(--sb-black); background:var(--sb-black); color:var(--sb-white); padding:.35rem .75rem; }
.sb-report__submit:disabled{ opacity:.6; cursor:not-allowed; }
.sb-report__close{ border:0; background:none; color:var(--sb-black); padding:.35rem 0; text-decoration:underline; }
.sb-report__status{ margin:.6rem 0 0; font-size:.85rem; }
.sb-report__status.is-error{ color:var(--sb-red); }
/* Anchored to its button, the panel covered the headline and pushed Send edit
   below the fold on a phone, so below the breakpoint it becomes a sheet. */
@media (max-width: 720px) {
	body.sb-report-open { overflow: hidden; overscroll-behavior: none; }
	.sb-report.is-open::before{ content:''; position:fixed; inset:0; z-index:40; background:rgba(0,0,0,.45); }
	.sb-report__panel{ position:fixed; z-index:41; inset:auto 0 0 0; top:auto; right:auto; width:auto; max-width:none; min-width:0; max-height:min(84vh,600px); overflow-y:auto; overscroll-behavior:contain; padding:16px 16px calc(16px + env(safe-area-inset-bottom)); border:0; border-top:1px solid var(--sb-black); box-shadow:0 -12px 30px rgba(0,0,0,.18); }
	.sb-report__field select,
	.sb-report__field input{ min-height:44px; }
	.sb-report__actions{ margin-top:16px; }
	.sb-report__submit{ flex:1 1 auto; min-height:44px; }
	.sb-report__close{ min-height:44px; padding:0 .5rem; }
}

.sb-locations__item.is-current span {
	background: var(--sb-red);
	color: #fff;
	border-color: var(--sb-red);
}
