/* SGVR theme — layout details theme.json can't express. Mobile first. */

/* ---------- Header ---------- */
.sgvr-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .sgvr-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .sgvr-header-wrap { top: 0; position: relative; } }
.sgvr-logo-link img { display: block; width: 46px; height: 46px; }
.sgvr-brand-text p { margin: 0; line-height: 1.05; }
.sgvr-brand-name a {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700; font-size: 22px; letter-spacing: .06em;
	text-decoration: none; color: var(--wp--preset--color--contrast);
}
.sgvr-brand-sub { font-size: 12px; color: var(--wp--preset--color--muted); letter-spacing: .02em; }
.sgvr-nav a { text-decoration: none; font-weight: 600; font-size: 16px; }
.sgvr-nav a:hover { color: var(--wp--preset--color--accent); }
.sgvr-header-join .wp-block-button__link { padding: 9px 18px; font-size: 15px; }
/* Mobile menu: hamburger shows below 600px; keep Join visible but compact */
.sgvr-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; justify-content: center; }
.sgvr-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.sgvr-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	padding: 24px 20px;
}
.sgvr-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
.sgvr-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid #2c2c2c; }
.sgvr-nav .is-menu-open .wp-block-navigation-item a {
	display: block; padding: 14px 0; width: 100%;
	font-family: var(--wp--preset--font-family--display);
	font-size: 26px; font-weight: 600; text-transform: uppercase; color: #fff;
}
@media (max-width: 420px) { .sgvr-brand-sub { display: none; } }

/* ---------- Shared bits ---------- */
.sgvr-home h2 { margin: 0; }
.sgvr-section-head { margin-bottom: var(--wp--preset--spacing--40); }
.sgvr-see-all { margin: 0; }
.sgvr-see-all a { font-weight: 600; font-size: 15px; }
.sgvr-eyebrow {
	margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--wp--preset--color--accent);
}
.sgvr-eyebrow-light { color: #bdbdbd; }
.sgvr-eyebrow-muted { color: var(--wp--preset--color--muted); }
.sgvr-meta { margin: 0; font-size: 15px; color: var(--wp--preset--color--muted); }
.sgvr-strong-link a { font-weight: 700; }

/* ---------- Hero ---------- */
.sgvr-hero { min-height: 72svh !important; }
@media (min-width: 900px) { .sgvr-hero { min-height: 620px !important; } }
.sgvr-hero .wp-block-cover__background { /* bottom fade so text stays readable on any photo */
	background: linear-gradient(to bottom, rgba(0,0,0,0) 25%, rgba(0,0,0,.82) 100%) !important;
	opacity: 1 !important;
}
.sgvr-hero h1 { margin: 0; text-shadow: 0 2px 16px rgba(0,0,0,.35); }
.sgvr-hero p { margin: 0; }
.sgvr-hero-buttons { width: 100%; flex-wrap: nowrap !important; gap: 10px; }
.sgvr-hero-buttons .wp-block-button { flex: 1 1 0; }
.sgvr-hero-buttons .wp-block-button__link { width: 100%; text-align: center; padding-top: 15px; padding-bottom: 15px; }
@media (min-width: 700px) { .sgvr-hero-buttons .wp-block-button { flex: 0 0 auto; } .sgvr-hero-buttons .wp-block-button__link { width: auto; } }
.sgvr-btn-light .wp-block-button__link { background: #fff; color: var(--wp--preset--color--contrast); }
.sgvr-btn-light .wp-block-button__link:hover { background: #e9e9e9; color: var(--wp--preset--color--contrast); }

/* ---------- Quick links ---------- */
.sgvr-quick-grid { gap: 8px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.sgvr-ql { margin: 0; }
.sgvr-ql a {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	min-height: 72px; padding: 10px 4px; border-radius: 10px;
	background: var(--wp--preset--color--surface);
	font-weight: 600; font-size: 14px; text-decoration: none; color: var(--wp--preset--color--contrast);
}
.sgvr-ql a:hover { background: #e7e7e7; color: var(--wp--preset--color--contrast); }
.sgvr-ql a::before {
	content: ""; width: 24px; height: 24px; background: currentColor;
	-webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.sgvr-ql-events   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.sgvr-ql-news     { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h13v14H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M17 9h3v8a2 2 0 0 1-2 2M8 9h5M8 13h5'/%3E%3C/svg%3E"); }
.sgvr-ql-photos   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='14' rx='2'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3Cpath d='M8 6l1.5-2h5L16 6'/%3E%3C/svg%3E"); }
.sgvr-ql-partners { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.6 5.6L3 18v3h3l6.1-6.1a4 4 0 0 0 5.6-5.6l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
@media (min-width: 900px) { .sgvr-ql a { flex-direction: row; min-height: 64px; font-size: 16px; } }

/* ---------- Event cards: swipe on phones, row on desktop ---------- */
.sgvr-scroller {
	display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
	margin-left: calc(-1 * var(--wp--preset--spacing--40)); margin-right: calc(-1 * var(--wp--preset--spacing--40));
	padding: 0 var(--wp--preset--spacing--40) 6px; scrollbar-width: none;
}
.sgvr-scroller::-webkit-scrollbar { display: none; }
.sgvr-scroller > * { margin: 0 !important; }
.sgvr-card {
	flex: 0 0 76%; scroll-snap-align: start;
	border: 1px solid var(--wp--preset--color--border); border-radius: 12px; overflow: hidden; background: #fff;
}
.sgvr-card-img {
	width: 100%; aspect-ratio: 16 / 9; background: #3a3a3a; color: #bdbdbd;
	font-size: 12px; display: flex; align-items: flex-end; padding: 10px; box-sizing: border-box;
}
.sgvr-card-img p { margin: 0; }
.sgvr-card-body { padding: 14px; width: 100%; box-sizing: border-box; }
.sgvr-card h3 { margin: 0; font-size: 19px; }
.sgvr-card h3 a { text-decoration: none; }
@media (min-width: 900px) {
	.sgvr-scroller { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; margin: 0; padding: 0; gap: 20px; }
}

/* ---------- Breakfast ---------- */
.sgvr-breakfast h2 { color: #fff; }
.sgvr-breakfast p { margin: 0; color: #e2e2e2; }
.sgvr-breakfast .sgvr-eyebrow-light { color: #bdbdbd; }
@media (min-width: 900px) { .sgvr-breakfast { padding: 48px 56px !important; } }

/* ---------- Weekly news: compact rows on phones, cards on desktop ---------- */
.sgvr-news-list { gap: 16px !important; }
.sgvr-news-item { display: grid; grid-template-columns: 104px 1fr; gap: 14px !important; align-items: start; }
.sgvr-news-item > * { margin: 0 !important; }
.sgvr-news-thumb { margin: 0; border-radius: 8px; overflow: hidden; background: #dcdcdc; aspect-ratio: 4/3; }
.sgvr-news-thumb img { border-radius: 8px; }
.sgvr-news-text h3 { margin: 0; font-size: 18px; line-height: 1.2; }
.sgvr-news-text h3 a { text-decoration: none; }
.sgvr-news-text .wp-block-post-excerpt__excerpt { margin: 0; }
.sgvr-news-text .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 899px) {
	.sgvr-news-list { grid-template-columns: 1fr !important; }
	.sgvr-news-text .wp-block-post-excerpt { display: none; }
}
@media (min-width: 900px) {
	.sgvr-news-item { grid-template-columns: 1fr; background: #fff; border-radius: 12px; overflow: hidden; padding-bottom: 16px; }
	.sgvr-news-thumb, .sgvr-news-thumb img { border-radius: 0; }
	.sgvr-news-text { padding: 0 16px; }
}

/* ---------- Partners ---------- */
.sgvr-chips { gap: 8px !important; }
.sgvr-chip { margin: 0; }
.sgvr-chip a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
	border: 1px solid var(--wp--preset--color--border); border-radius: 8px;
	font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap;
}
.sgvr-chip a:hover { border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--contrast); }

/* ---------- Footer ---------- */
.sgvr-footer { margin-top: 0 !important; }
.sgvr-footer h2 { color: #fff; margin: 0; }
.sgvr-footer p { margin: 0; }
.sgvr-footer-about { max-width: 420px; }
.sgvr-footer-links { gap: 10px 22px !important; }
.sgvr-footer-links a { text-decoration: none; font-weight: 600; }
.sgvr-footer-links a:hover { text-decoration: underline; color: #fff; }
.sgvr-legal { color: #9a9a9a; border-top: 1px solid #333; padding-top: 16px; }

/* Template wrappers shouldn't add stray gaps */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Member stats ---------- */
.sgvr-stats { gap: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.sgvr-stat { padding: 10px 12px; align-items: flex-start; }
.sgvr-stat:nth-child(odd) { border-right: 1px solid #333; }
.sgvr-stat:nth-child(-n+2) { border-bottom: 1px solid #333; }
.sgvr-stat p { margin: 0; }
.sgvr-stat-num {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700; font-size: 34px; line-height: 1; color: #fff;
}
.sgvr-stat:first-child .sgvr-stat-num { color: #ff4d57; }
.sgvr-stat-label { font-size: 13px; color: #bdbdbd; letter-spacing: .02em; }
@media (min-width: 900px) {
	.sgvr-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	.sgvr-stat { padding: 8px 28px; border-bottom: 0 !important; border-right: 1px solid #333; }
	.sgvr-stat:last-child { border-right: 0; }
	.sgvr-stat-num { font-size: 44px; }
	.sgvr-stat-label { font-size: 15px; }
}
@media (max-width: 699px) {
	.sgvr-hero-buttons .wp-block-button__link { padding-left: 8px; padding-right: 8px; white-space: nowrap; font-size: 15px; }
}

/* ---------- Inner pages ---------- */
.sgvr-page .wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.sgvr-page-hero h1 { margin: 0; color: #fff; }
.sgvr-page-hero p { margin: 0; }
.sgvr-lede { font-size: 19px; color: #e2e2e2; max-width: 640px; }
.sgvr-next-chip {
	align-self: flex-start; display: inline-block;
	padding: 8px 14px; border-radius: 999px; background: #2a2a2a; border: 1px solid #3d3d3d;
	font-size: 15px; color: #e2e2e2;
}
.sgvr-next-chip strong { color: #fff; }
.sgvr-page-hero .sgvr-hero-buttons { margin-top: 4px; }
@media (min-width: 900px) { .sgvr-page-hero .sgvr-hero-buttons { width: auto; } }

.sgvr-facts { gap: 10px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.sgvr-fact { padding: 14px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; }
.sgvr-fact p { margin: 0; }
.sgvr-fact-main { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 22px; line-height: 1.1; }
.sgvr-fact .sgvr-meta { font-size: 14px; }
@media (min-width: 900px) { .sgvr-facts { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; } .sgvr-fact { padding: 20px; } }

.sgvr-two-up h2 { margin: 0 0 var(--wp--preset--spacing--40); }
.sgvr-steps { width: 100%; }
.sgvr-step { padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--border); width: 100%; }
.sgvr-step:last-child { border-bottom: 0; }
.sgvr-step p { margin: 0; }
.sgvr-step-time {
	flex: 0 0 56px; font-family: var(--wp--preset--font-family--display);
	font-weight: 700; font-size: 18px; color: var(--wp--preset--color--accent); text-transform: uppercase;
}
.sgvr-step-text { font-size: 16px; }

.sgvr-two-up .sgvr-meta { margin: 0 0 var(--wp--preset--spacing--30); }
.sgvr-menu { border: 1px solid var(--wp--preset--color--border); border-radius: 12px; overflow: hidden; }
.sgvr-menu summary {
	padding: 14px 16px; min-height: 44px; box-sizing: border-box; cursor: pointer;
	font-weight: 700; background: var(--wp--preset--color--surface);
}
.sgvr-menu[open] summary { border-bottom: 1px solid var(--wp--preset--color--border); }
.sgvr-menu-list { padding: 0 16px; }
.sgvr-menu-item { padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--border); width: 100%; }
.sgvr-menu-item:last-child { border-bottom: 0; }
.sgvr-menu-item h4 { margin: 0; font-family: var(--wp--preset--font-family--body); text-transform: none; font-size: 17px; letter-spacing: 0; }
.sgvr-menu-item .sgvr-meta { margin: 0; font-size: 15px; }
@media (min-width: 900px) { .sgvr-menu { border: 0; } .sgvr-menu summary { display: none; } .sgvr-menu-list { padding: 0; } }

.sgvr-sponsor h2 { margin: 0; }
.sgvr-sponsor p { margin: 0; max-width: 680px; }
.sgvr-questions { margin-top: var(--wp--preset--spacing--50) !important; }
.sgvr-page-hero > * + * { margin-top: 16px !important; }
.sgvr-page-hero > .sgvr-eyebrow + h1 { margin-top: 8px !important; }
.sgvr-page-hero > .sgvr-next-chip { display: block; width: fit-content; max-width: 100%; box-sizing: border-box; margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }

/* ---------- Breakfast photos ---------- */
.sgvr-page .sgvr-lineup { margin: 0 !important; background: var(--wp--preset--color--contrast); }
.sgvr-lineup img { display: block; width: 100%; height: 120px; object-fit: cover; object-position: 50% 55%; }
@media (min-width: 900px) { .sgvr-lineup img { height: 200px; } }

.sgvr-photo-pair {
	display: grid; grid-template-columns: 1.9fr 1fr; gap: 10px;
	margin-top: var(--wp--preset--spacing--50) !important;
}
.sgvr-photo-pair figure { margin: 0 !important; border-radius: 12px; overflow: hidden; }
.sgvr-photo-pair img { display: block; width: 100%; height: 150px; object-fit: cover; }
.sgvr-photo-side img { object-position: 40% 50%; }
@media (min-width: 900px) { .sgvr-photo-pair { gap: 16px; } .sgvr-photo-pair img { height: 340px; } }

/* Breakfast page photo hero: inner content is the cover's container */
.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container > * + * { margin-top: 14px !important; }
.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container > .sgvr-eyebrow + h1 { margin-top: 6px !important; }
.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container > .sgvr-next-chip { margin-left: 0 !important; }
.sgvr-page-hero.wp-block-cover .sgvr-lede { text-shadow: 0 1px 10px rgba(0,0,0,.5); }
.sgvr-page-hero.wp-block-cover .sgvr-next-chip { background: rgba(20,20,20,.7); border-color: rgba(255,255,255,.18); backdrop-filter: blur(4px); }
.sgvr-page-hero.wp-block-cover .sgvr-eyebrow-light { color: #e6e6e6; }
.sgvr-page-hero.wp-block-cover .wp-block-cover__background {
	background: linear-gradient(to bottom, rgba(0,0,0,0) 15%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.85) 100%) !important;
}
@media (max-width: 899px) {
	/* phones: photo on top, text on a dark band below, so nothing covers the cars */
	.sgvr-page-hero.wp-block-cover {
		--photo-h: 300px;
		display: block; min-height: 0 !important; background: var(--wp--preset--color--contrast);
		padding-top: calc(var(--photo-h) - 40px) !important;
	}
	.sgvr-page-hero.wp-block-cover .wp-block-cover__image-background { height: var(--photo-h); bottom: auto; object-position: 45% 40% !important; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__background {
		height: var(--photo-h); bottom: auto;
		background: linear-gradient(to bottom, rgba(20,20,20,0) 55%, rgba(20,20,20,1) 100%) !important;
	}
	.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container { position: relative; }
	.sgvr-page-hero.wp-block-cover .sgvr-lede { text-shadow: none; font-size: 17px; }
}
/* Cover blocks: WP's layout gap was pushing the background image down */
.wp-block-cover > .wp-block-cover__image-background,
.wp-block-cover > .wp-block-cover__background { margin: 0 !important; }
@media (min-width: 900px) {
	/* desktop: text left on dark, photo right */
	.sgvr-page-hero.wp-block-cover { background: var(--wp--preset--color--contrast); min-height: 560px !important; align-items: center !important; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__image-background { left: 42%; width: 58%; object-position: 40% 45% !important; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__background {
		background: linear-gradient(to right, rgba(20,20,20,1) 42%, rgba(20,20,20,.55) 50%, rgba(20,20,20,0) 62%) !important;
	}
	.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container { max-width: 1200px; margin: 0 auto !important; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: auto !important; max-width: 500px; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container > .sgvr-hero-buttons { max-width: none; }
	.sgvr-page-hero.wp-block-cover .sgvr-lede { text-shadow: none; }
}
@media (min-width: 900px) { .sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container { width: 100% !important; } }
@media (min-width: 900px) {
	/* desktop v2: full-width photo, zoomed toward the cars, soft fade behind text only */
	.sgvr-page-hero.wp-block-cover { min-height: 620px !important; overflow: hidden; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__image-background {
		left: 0; width: 100%;
		object-position: 40% 42% !important;
		transform: scale(1.18); transform-origin: 0% 42%;
	}
	.sgvr-page-hero.wp-block-cover .wp-block-cover__background {
		background: linear-gradient(to right, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 28%, rgba(0,0,0,.12) 50%, rgba(0,0,0,0) 62%) !important;
	}
	.sgvr-page-hero.wp-block-cover h1,
	.sgvr-page-hero.wp-block-cover .sgvr-lede { text-shadow: 0 2px 14px rgba(0,0,0,.45); }
}
@media (min-width: 900px) {
	/* desktop v3: slide photo right, blend its left edge into black */
	.sgvr-page-hero.wp-block-cover { background: #000; }
	.sgvr-page-hero.wp-block-cover .wp-block-cover__image-background {
		object-position: 40% 47% !important;
		transform: translateX(15%) scale(1.06); transform-origin: 0% 30%;
	}
	.sgvr-page-hero.wp-block-cover .wp-block-cover__background {
		background: linear-gradient(to right, #000 0%, #000 15%, rgba(0,0,0,.6) 25%, rgba(0,0,0,.2) 38%, rgba(0,0,0,0) 50%) !important;
	}
	.sgvr-page-hero.wp-block-cover .wp-block-cover__inner-container > * { max-width: 460px; }
}

/* ---------- Event type colors ---------- */
.sgvr-type-social   { color: #B3121D; }
.sgvr-type-drive    { color: #1F5FA8; }
.sgvr-type-coffee   { color: #8A5A12; }
.sgvr-type-concours { color: #6B3FA0; }
.sgvr-type-track    { color: #1E7A46; }
.sgvr-type-other    { color: var(--wp--preset--color--muted); }

/* ---------- Homepage "Up next" cards (from calendar) ---------- */
.sgvr-upcoming { padding-bottom: 6px; }
.sgvr-ecard {
	flex: 0 0 82%; scroll-snap-align: start; display: flex; gap: 14px; align-items: stretch;
	padding: 14px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px;
	background: #fff; text-decoration: none; color: var(--wp--preset--color--contrast);
	min-height: 104px; box-sizing: border-box;
}
.sgvr-ecard:hover { border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--contrast); }
.sgvr-ecard-date {
	flex: 0 0 60px; display: flex; flex-direction: column; align-items: center; justify-content: center;
	border-radius: 10px; background: var(--wp--preset--color--contrast); color: #fff; line-height: 1;
}
.sgvr-ecard-date .sgvr-event-mo { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ff6b73; }
.sgvr-ecard-date .sgvr-event-day { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 30px; margin: 3px 0; }
.sgvr-ecard-date .sgvr-event-wd { font-size: 12px; color: #bdbdbd; }
.sgvr-ecard-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; justify-content: center; }
.sgvr-ecard-title { font-weight: 700; font-size: 17px; line-height: 1.2; }
.sgvr-ecard .sgvr-meta { font-size: 14px; }
@media (min-width: 900px) { .sgvr-upcoming .sgvr-ecard { flex: none; } }

/* ---------- Events page ---------- */
.sgvr-events-hero h1 { margin: 0; color: #fff; }
.sgvr-events-hero > * + * { margin-top: 12px !important; }
.sgvr-sample-note {
	margin: 0 0 var(--wp--preset--spacing--40); padding: 10px 14px; border-radius: 8px;
	background: #fff6d6; border: 1px solid #f0d77a; font-size: 14px;
}
.sgvr-filters {
	display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none;
	margin: 0 calc(-1 * var(--wp--preset--spacing--40)) var(--wp--preset--spacing--40);
	padding: 0 var(--wp--preset--spacing--40) 4px;
	position: sticky; top: 67px; z-index: 5; background: #fff; padding-top: 8px;
}
.sgvr-filters::-webkit-scrollbar { display: none; }
.sgvr-filter {
	flex: 0 0 auto; min-height: 40px; padding: 0 16px; border-radius: 999px; cursor: pointer;
	border: 1px solid var(--wp--preset--color--border); background: #fff;
	font: 600 15px/1 var(--wp--preset--font-family--body); color: var(--wp--preset--color--contrast);
}
.sgvr-filter:hover { border-color: var(--wp--preset--color--contrast); }
.sgvr-filter.is-active { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: #fff; }
.sgvr-month + .sgvr-month { margin-top: var(--wp--preset--spacing--50); }
.sgvr-month-title {
	margin: 0 0 var(--wp--preset--spacing--30) !important; font-size: 15px !important; letter-spacing: .1em !important;
	color: var(--wp--preset--color--muted);
}
.sgvr-month-list { display: flex; flex-direction: column; gap: 10px; }
.sgvr-event {
	display: flex; gap: 14px; padding: 14px; border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px; background: #fff; scroll-margin-top: 130px;
}
.sgvr-event.is-target { border-color: var(--wp--preset--color--accent); box-shadow: 0 0 0 3px rgba(179,18,29,.12); }
.sgvr-event-date {
	flex: 0 0 56px; height: 68px; display: flex; flex-direction: column; align-items: center; justify-content: center;
	border-radius: 10px; background: var(--wp--preset--color--surface); line-height: 1;
}
.sgvr-event-date .sgvr-event-wd { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--muted); }
.sgvr-event-date .sgvr-event-day { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 30px; margin: 3px 0 2px; }
.sgvr-event-date .sgvr-event-mo { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--muted); }
.sgvr-event-body { min-width: 0; flex: 1; }
.sgvr-event-body > * { margin: 0; }
.sgvr-event-title {
	margin: 2px 0 4px !important; font-family: var(--wp--preset--font-family--body) !important;
	text-transform: none !important; letter-spacing: 0 !important; font-size: 18px !important; line-height: 1.25 !important;
}
.sgvr-event-meta { display: flex; flex-direction: column; gap: 2px; font-size: 15px; color: var(--wp--preset--color--muted); }
.sgvr-event-when { font-weight: 600; color: var(--wp--preset--color--contrast); }
.sgvr-event-more { margin-top: 8px !important; font-size: 15px; }
.sgvr-event-more summary { cursor: pointer; font-weight: 600; min-height: 32px; display: flex; align-items: center; }
.sgvr-event-desc p { margin: 6px 0 0; }
.sgvr-event-actions { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px !important; font-size: 15px; }
.sgvr-event-actions a { font-weight: 600; display: inline-flex; align-items: center; min-height: 32px; }
.sgvr-events-empty, .sgvr-filter-empty { padding: 20px; border-radius: 12px; background: var(--wp--preset--color--surface); }
.sgvr-filter-reset { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
@media (min-width: 782px) { .sgvr-filters { top: 99px; } .admin-bar .sgvr-filters { top: 131px; } }
@media (min-width: 900px) {
	.sgvr-filters { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; flex-wrap: wrap; }
	.sgvr-event { padding: 18px 20px; gap: 20px; }
	.sgvr-event-date { flex-basis: 68px; height: 80px; }
	.sgvr-event-date .sgvr-event-day { font-size: 36px; }
	.sgvr-event-meta { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; }
	.sgvr-event-title { font-size: 20px !important; }
}
.sgvr-event-more { margin-top: 4px !important; }
.sgvr-event-more summary { min-height: 30px; }
.sgvr-event-actions { margin-top: 4px !important; gap: 0 18px; }
.sgvr-event-actions a { min-height: 30px; }
.sgvr-upcoming { align-items: flex-start; }
.sgvr-ecard { min-height: 0; align-items: center; }
.sgvr-ecard-date { height: 76px; align-self: flex-start; }
@media (min-width: 900px) { .sgvr-upcoming { align-items: stretch; } .sgvr-ecard { align-items: flex-start; } }
@media (max-width: 899px) {
	.sgvr-upcoming { align-items: stretch; }
	.sgvr-ecard { flex: 0 0 90%; gap: 12px; padding: 12px; align-items: flex-start; }
	.sgvr-ecard-date { flex-basis: 52px; height: 68px; }
	.sgvr-ecard-date .sgvr-event-day { font-size: 26px; }
	.sgvr-ecard-title { font-size: 16px; }
}

/* ---------- Generic buttons (outside the block editor) ---------- */
.sgvr-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px;
	border-radius: 8px; background: var(--wp--preset--color--accent); color: #fff !important;
	font-weight: 700; font-size: 16px; text-decoration: none; box-sizing: border-box;
}
.sgvr-btn:hover { background: var(--wp--preset--color--accent-dark); }
.sgvr-btn-ghost { background: transparent; color: var(--wp--preset--color--contrast) !important; border: 1px solid var(--wp--preset--color--border); }
.sgvr-btn-ghost:hover { background: var(--wp--preset--color--surface); }
.sgvr-btn-light { background: #fff; color: var(--wp--preset--color--contrast) !important; }
.sgvr-btn-light:hover { background: #e9e9e9; }

/* ---------- Partner logos ---------- */
.sgvr-plogo {
	flex: 0 0 auto; width: 64px; height: 64px; border-radius: 12px; background: #fff;
	border: 1px solid var(--wp--preset--color--border); display: flex; align-items: center; justify-content: center;
	overflow: hidden; box-sizing: border-box; padding: 6px;
}
.sgvr-plogo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.sgvr-plogo-mono {
	background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: #fff;
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 24px; letter-spacing: .04em;
}
.sgvr-plogo-lg { width: 96px; height: 96px; border-radius: 16px; }
.sgvr-plogo-lg.sgvr-plogo-mono { font-size: 34px; }
.sgvr-plogo-sm { width: 40px; height: 40px; border-radius: 8px; padding: 3px; }
.sgvr-plogo-sm.sgvr-plogo-mono { font-size: 15px; }

.sgvr-tier {
	display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase; margin-bottom: 6px;
}
.sgvr-tier-platinum { background: linear-gradient(135deg, #e9ecef, #c8cdd2); color: #222; }
.sgvr-tier-gold { background: #f3d77a; color: #3d2f00; }
.sgvr-tier-silver { background: #e3e3e3; color: #333; }

/* ---------- Partners directory ---------- */
.sgvr-pname { margin: 0 !important; font-family: var(--wp--preset--font-family--display) !important; text-transform: uppercase; }
.sgvr-pname a { text-decoration: none; }
.sgvr-pspecialty { margin: 2px 0 0; font-size: 15px; font-weight: 600; color: var(--wp--preset--color--muted); }
.sgvr-pexcerpt { margin: 10px 0 0; }
.sgvr-phighlight {
	margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--wp--preset--color--surface);
	font-size: 15px; border-left: 0;
}
.sgvr-pperk { margin: 10px 0 0; font-size: 15px; }
.sgvr-pactions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.sgvr-pactions-text { gap: 4px 18px; margin-top: 10px; }
.sgvr-pactions-text a { font-weight: 600; min-height: 32px; display: inline-flex; align-items: center; }

.sgvr-pfeature {
	display: grid; grid-template-columns: 1fr; border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px; overflow: hidden; margin-bottom: var(--wp--preset--spacing--40);
}
.sgvr-pfeature-media {
	min-height: 150px; display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--color--contrast) center / cover no-repeat;
}
.sgvr-pfeature-body { padding: 20px; }
.sgvr-pfeature .sgvr-pname { font-size: 30px; }
@media (min-width: 900px) {
	.sgvr-pfeature { grid-template-columns: 2fr 3fr; }
	.sgvr-pfeature-media { min-height: 300px; }
	.sgvr-pfeature-body { padding: 32px 36px; }
	.sgvr-pfeature .sgvr-pname { font-size: 38px; }
}

.sgvr-pgrid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 700px) { .sgvr-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.sgvr-pcard { padding: 16px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; }
.sgvr-pcard-top { display: flex; gap: 14px; align-items: center; }
.sgvr-pcard .sgvr-pname { font-size: 22px; }
.sgvr-pcard .sgvr-pexcerpt { font-size: 16px; }
@media (min-width: 900px) { .sgvr-pcard { padding: 22px; } }

.sgvr-become h2 { color: #fff; margin: 0; }
.sgvr-become p { margin: 0; color: #e2e2e2; }
.sgvr-become-points { gap: 16px !important; grid-template-columns: 1fr !important; }
@media (min-width: 900px) { .sgvr-become-points { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 28px !important; } }
.sgvr-become-point { border-top: 1px solid #333; padding-top: 12px; }
.sgvr-become .sgvr-stat-num { color: #ff6b73; font-size: 30px; margin-bottom: 4px; }
.sgvr-become-tiers { font-size: 15px; color: #bdbdbd !important; }

/* ---------- Homepage + "more partners" strip ---------- */
.sgvr-pstrip { display: flex; flex-wrap: wrap; gap: 8px; }
.sgvr-pstrip-item {
	display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 5px 14px 5px 6px;
	border: 1px solid var(--wp--preset--color--border); border-radius: 10px;
	font-weight: 600; font-size: 15px; text-decoration: none; color: var(--wp--preset--color--contrast);
}
.sgvr-pstrip-item:hover { border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--contrast); }
.sgvr-eyebrow a { color: inherit; }

/* ---------- Single partner ---------- */
.sgvr-phero {
	background: var(--wp--preset--color--contrast); color: #fff;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}
.sgvr-phero.has-photo {
	background: linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.85)), var(--photo) center / cover no-repeat, #141414;
	padding-top: 180px;
}
.sgvr-phero-inner { max-width: 1200px; margin: 0 auto; }
.sgvr-crumb { margin: 0 0 16px; font-size: 14px; font-weight: 600; }
.sgvr-crumb a { color: #bdbdbd; text-decoration: none; }
.sgvr-crumb a::before { content: "← "; }
.sgvr-crumb a:hover { color: #fff; }
.sgvr-phero-id { display: flex; gap: 16px; align-items: center; }
.sgvr-phero .sgvr-plogo { border-color: transparent; }
.sgvr-phero .sgvr-plogo-mono { background: #2a2a2a; border-color: #3a3a3a; }
.sgvr-phero-name { margin: 0; color: #fff; font-size: clamp(32px, 6vw, 56px); }
.sgvr-phero-sub { margin: 6px 0 0; color: #cfcfcf; font-weight: 600; }
.sgvr-phero .sgvr-pactions { margin-top: 20px; }
@media (max-width: 520px) { .sgvr-phero .sgvr-pactions > * { flex: 1 1 auto; } }

.sgvr-partner-about p { margin: 0 0 1em; }
.sgvr-pperk-box, .sgvr-phighlight-box { padding: 16px; border-radius: 12px; margin-bottom: 12px; }
.sgvr-pperk-box { background: #fff1f1; border: 1px solid #f3c5c8; }
.sgvr-phighlight-box { background: var(--wp--preset--color--surface); }
.sgvr-pperk-box p, .sgvr-phighlight-box p { margin: 0; }
.sgvr-pperk-box .sgvr-eyebrow, .sgvr-phighlight-box .sgvr-eyebrow { margin-bottom: 4px; }
.sgvr-pfacts { margin: 0; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; }
.sgvr-pfacts > div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--wp--preset--color--border); }
.sgvr-pfacts > div:first-child { border-top: 0; }
.sgvr-pfacts dt { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--muted); padding-top: 2px; }
.sgvr-pfacts dd { margin: 0; overflow-wrap: anywhere; }
.sgvr-pmore { margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--wp--preset--color--border); }
.sgvr-pmore .sgvr-eyebrow { margin-bottom: 12px; }
.sgvr-pmore .sgvr-see-all { margin-top: 14px; }
@media (max-width: 599px) {
	.sgvr-phero .sgvr-plogo-lg { width: 72px; height: 72px; border-radius: 14px; }
	.sgvr-phero .sgvr-plogo-lg.sgvr-plogo-mono { font-size: 26px; }
	.sgvr-phero-id { align-items: flex-start; }
	.sgvr-pfeature-media:not([style]) { min-height: 110px; }
}

/* ---------- Real partner logos (usually wide, not square) ---------- */
.sgvr-plogo-img { width: auto; min-width: 64px; max-width: 150px; padding: 8px 12px; }
.sgvr-plogo-img img { max-height: 48px; }
.sgvr-plogo-on-dark { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); }
.sgvr-plogo-sm.sgvr-plogo-img { max-width: 92px; padding: 4px 8px; }
.sgvr-plogo-sm.sgvr-plogo-img img { max-height: 30px; }
/* Featured card: the dark media panel shows the logo big */
.sgvr-pfeature-media .sgvr-plogo-img { max-width: 78%; width: 340px; height: auto; padding: 16px; }
.sgvr-pfeature-media .sgvr-plogo-img img { max-height: 160px; width: 100%; }
.sgvr-pfeature-media .sgvr-plogo-on-dark { background: transparent; border-color: transparent; }
/* Partner page header */
.sgvr-phero .sgvr-plogo-img.sgvr-plogo-lg { width: auto; height: auto; max-width: 260px; padding: 10px 14px; }
.sgvr-phero .sgvr-plogo-img.sgvr-plogo-lg img { max-height: 96px; }
.sgvr-phero .sgvr-plogo-on-dark { background: transparent; padding-left: 0 !important; }
.sgvr-phero-id:has(.sgvr-plogo-img) { flex-direction: column; align-items: flex-start; gap: 10px; }
@media (max-width: 599px) {
	.sgvr-phero .sgvr-plogo-img.sgvr-plogo-lg { width: auto; height: auto; max-width: 200px; }
	.sgvr-phero .sgvr-plogo-img.sgvr-plogo-lg img { max-height: 76px; }
}

/* ---------- Partner services + locations ---------- */
.sgvr-pservices { margin-top: var(--wp--preset--spacing--50); }
.sgvr-pservices h2 { margin: 0 0 var(--wp--preset--spacing--30); }
.sgvr-pservices ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; }
.sgvr-pservices li { padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--border); display: flex; flex-direction: column; gap: 2px; }
.sgvr-pservices li strong { font-size: 17px; }
.sgvr-pservices li span { font-size: 15px; color: var(--wp--preset--color--muted); }
@media (min-width: 700px) { .sgvr-pservices ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; } }
.sgvr-plocs { margin-bottom: 12px; scroll-margin-top: 90px; }
.sgvr-plocs .sgvr-eyebrow { margin-bottom: 8px; }
.sgvr-ploc { padding: 14px 16px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; margin-bottom: 8px; }
.sgvr-ploc p { margin: 0; font-size: 15px; }
.sgvr-ploc p + p { margin-top: 3px; }
.sgvr-ploc-name { font-weight: 700; font-size: 17px !important; margin-bottom: 4px !important; }
.sgvr-ploc a { text-decoration: none; }
.sgvr-ploc a:hover { text-decoration: underline; }
.sgvr-pservices li strong { font-weight: 700; }

/* ---------- Member stats v2: total on top, breakdown below ---------- */
.sgvr-stats-band p { margin: 0; }
.sgvr-total { align-items: center !important; text-align: center; }
.sgvr-total::before, .sgvr-substat::before {
	content: ""; display: block; background: currentColor;
	-webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.sgvr-total::before { width: 34px; height: 34px; color: #ff6b73; margin-bottom: 6px; }
.sgvr-total-num {
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	font-size: 64px; line-height: .95; color: #fff;
}
.sgvr-total-label { font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ff6b73; margin-top: 4px !important; }

.sgvr-substats {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important;
	margin-top: var(--wp--preset--spacing--40) !important; padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid #333;
}
.sgvr-substat { align-items: center !important; text-align: center; padding: 0 6px; }
.sgvr-substat + .sgvr-substat { border-left: 1px solid #333; }
.sgvr-substat::before { width: 22px; height: 22px; color: #9a9a9a; margin-bottom: 6px; }
.sgvr-substat-num { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 28px; line-height: 1; color: #fff; }
.sgvr-substat-label { font-size: 12px; line-height: 1.25; color: #bdbdbd; margin-top: 3px !important; }
@media (min-width: 900px) {
	.sgvr-total-num { font-size: 88px; }
	.sgvr-total::before { width: 40px; height: 40px; }
	.sgvr-substat-num { font-size: 36px; }
	.sgvr-substat-label { font-size: 14px; }
	.sgvr-substat::before { width: 26px; height: 26px; }
}

.sgvr-ico-group  { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='7.5' r='3'/%3E%3Cpath d='M6.5 20c0-3.2 2.5-5.5 5.5-5.5s5.5 2.3 5.5 5.5'/%3E%3Ccircle cx='5.2' cy='9.8' r='2.1'/%3E%3Cpath d='M1.6 18.6c0-2.3 1.5-4 3.6-4.2'/%3E%3Ccircle cx='18.8' cy='9.8' r='2.1'/%3E%3Cpath d='M22.4 18.6c0-2.3-1.5-4-3.6-4.2'/%3E%3C/svg%3E"); }
.sgvr-ico-person { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M5 20.5c0-3.7 3.1-6.3 7-6.3s7 2.6 7 6.3'/%3E%3C/svg%3E"); }
.sgvr-ico-pair   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='8.5' cy='8' r='3'/%3E%3Cpath d='M2.5 19.5c0-3.2 2.7-5.4 6-5.4s6 2.2 6 5.4'/%3E%3Ccircle cx='16.5' cy='8.5' r='2.7'/%3E%3Cpath d='M16.2 14.1c3 .2 5.3 2.3 5.3 5.4'/%3E%3C/svg%3E"); }
.sgvr-ico-family { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='8' cy='6' r='2.8'/%3E%3Cpath d='M3.5 20.5v-4c0-2.6 2-4.6 4.5-4.6s4.5 2 4.5 4.6v4'/%3E%3Ccircle cx='17.5' cy='11' r='2.2'/%3E%3Cpath d='M14.3 20.5v-2.2c0-1.9 1.4-3.4 3.2-3.4s3.2 1.5 3.2 3.4v2.2'/%3E%3C/svg%3E"); }

/* ---------- Stats v3: one compact row (total + breakdown) ---------- */
.sgvr-stats-band {
	display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 3fr); align-items: center;
	padding-top: 12px !important; padding-bottom: 12px !important;
	padding-left: max(var(--wp--preset--spacing--40), calc((100% - 960px) / 2)) !important;
	padding-right: max(var(--wp--preset--spacing--40), calc((100% - 960px) / 2)) !important;
}
.sgvr-stats-band > * { margin: 0 !important; max-width: none !important; }
.sgvr-total { padding-right: 10px; border-right: 1px solid #333; }
.sgvr-total::before { width: 18px; height: 18px; margin-bottom: 3px; }
.sgvr-total-num { font-size: 30px; }
.sgvr-total-label { font-size: 10px; letter-spacing: .08em; margin-top: 2px !important; }
.sgvr-substats { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.sgvr-substat { padding: 0 4px; }
.sgvr-substat + .sgvr-substat { border-left: 0; }
.sgvr-substat::before { width: 16px; height: 16px; margin-bottom: 3px; }
.sgvr-substat-num { font-size: 22px; }
.sgvr-substat-label { font-size: 10.5px; margin-top: 2px !important; }
@media (min-width: 900px) {
	.sgvr-stats-band { padding-top: 20px !important; padding-bottom: 20px !important; }
	.sgvr-total::before { width: 24px; height: 24px; }
	.sgvr-total-num { font-size: 46px; }
	.sgvr-total-label { font-size: 12px; }
	.sgvr-substat::before { width: 20px; height: 20px; }
	.sgvr-substat-num { font-size: 30px; }
	.sgvr-substat-label { font-size: 13px; }
}

/* Phones: hero + stats strip fill exactly one screen under the header */
@media (max-width: 899px) {
	.sgvr-home .sgvr-hero { min-height: calc(100svh - 67px - 96px) !important; padding-top: 24px !important; padding-bottom: 20px !important; }
	.sgvr-home .sgvr-hero h1 { font-size: clamp(34px, 10vw, 44px); }
	.sgvr-home .sgvr-hero-content { gap: 12px !important; }
}
.sgvr-total-label, .sgvr-substat-label { white-space: nowrap; }
@media (max-width: 389px) { .sgvr-substat-label { font-size: 10px; letter-spacing: -.01em; } }

/* ---------- Member Car of the Month (homepage) ---------- */
.sgvr-mcar { display: grid; grid-template-columns: 1fr; border-radius: 14px; overflow: hidden; background: var(--wp--preset--color--contrast); color: #fff; }
.sgvr-mcar-photo { margin: 0; }
.sgvr-mcar-photo img { display: block; width: 100%; height: 240px; object-fit: cover; }
.sgvr-mcar-body { padding: 20px; }
.sgvr-mcar-body p { margin: 0; }
.sgvr-mcar h2 { margin: 6px 0 4px; color: #fff; }
.sgvr-mcar .sgvr-eyebrow { color: #ff6b73; }
.sgvr-mcar-owner { color: #cfcfcf; font-weight: 600; }
.sgvr-mcar-story { margin-top: 12px !important; color: #e2e2e2; font-style: italic; }
.sgvr-mcar-cta { margin-top: 16px !important; }
.sgvr-mcar-cta a { color: #fff; font-weight: 700; }
.sgvr-mcar-empty { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); border: 2px dashed #cfcfcf; }
.sgvr-mcar-empty h2 { color: var(--wp--preset--color--contrast); }
.sgvr-mcar-empty .sgvr-eyebrow { color: var(--wp--preset--color--accent); }
.sgvr-mcar-empty p + p { margin-top: 8px; }
.sgvr-mcar-empty .sgvr-btn { margin-top: 8px; }
@media (min-width: 900px) {
	.sgvr-mcar { grid-template-columns: 3fr 2fr; }
	.sgvr-mcar-photo img { height: 100%; min-height: 360px; }
	.sgvr-mcar-body { padding: 36px; display: flex; flex-direction: column; justify-content: center; }
	.sgvr-mcar-empty { grid-template-columns: 1fr; text-align: center; }
	.sgvr-mcar-empty .sgvr-mcar-body { align-items: center; }
}

/* ---------- Forms ---------- */
.sgvr-form { display: flex; flex-direction: column; gap: 18px; }
.sgvr-field { display: flex; flex-direction: column; gap: 6px; }
.sgvr-field > label { font-weight: 700; font-size: 16px; }
.sgvr-req, .sgvr-opt { font-weight: 400; font-size: 13px; color: var(--wp--preset--color--muted); margin-left: 4px; }
.sgvr-form input[type=text], .sgvr-form input[type=email], .sgvr-form textarea {
	font: inherit; font-size: 16px; padding: 12px 14px; border: 1px solid #bdbdbd; border-radius: 8px; background: #fff; width: 100%; box-sizing: border-box;
}
.sgvr-form input:focus, .sgvr-form textarea:focus { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 1px; border-color: var(--wp--preset--color--contrast); }
.sgvr-help { margin: 0; font-size: 14px; color: var(--wp--preset--color--muted); }
.sgvr-file {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center;
	min-height: 120px; padding: 18px; border: 2px dashed #bdbdbd; border-radius: 12px; background: var(--wp--preset--color--surface); cursor: pointer;
}
.sgvr-file:hover { border-color: var(--wp--preset--color--contrast); }
.sgvr-file-cta { font-weight: 700; font-size: 17px; }
.sgvr-file-name { font-size: 14px; color: var(--wp--preset--color--muted); overflow-wrap: anywhere; }
#sgvr_photo { position: absolute; width: 1px; height: 1px; opacity: 0; }
#sgvr_photo:focus-visible + .sgvr-file-preview, .sgvr-field:focus-within .sgvr-file { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
.sgvr-file-preview { width: 100%; max-height: 260px; object-fit: cover; border-radius: 12px; }
.sgvr-check { flex-direction: row; align-items: flex-start; gap: 10px; }
.sgvr-check input { width: 22px; height: 22px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--wp--preset--color--accent); }
.sgvr-check label { font-weight: 400; font-size: 15px; }
.sgvr-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sgvr-submit { width: 100%; min-height: 52px; border: 0; cursor: pointer; font-size: 17px; }
.sgvr-submit:disabled { opacity: .7; cursor: wait; }
@media (min-width: 700px) { .sgvr-submit { width: auto; align-self: flex-start; padding: 0 28px; } }
.sgvr-form-error { padding: 12px 14px; border-radius: 8px; background: #fff1f1; border: 1px solid #f3c5c8; color: #8E0E17; font-weight: 600; margin: 0 0 16px; }
.sgvr-form-done { padding: 24px; border-radius: 14px; background: var(--wp--preset--color--surface); }
.sgvr-form-done h2 { margin: 4px 0 8px; }
.sgvr-form-done p { margin: 0 0 8px; }
.sgvr-tips h3 { margin: 0 0 10px; font-size: 18px; }
.sgvr-tips h3 + * { margin-top: 0; }
.sgvr-tips ul { margin: 0 0 20px; padding-left: 20px; }
.sgvr-tips li { margin-bottom: 6px; }
.sgvr-tips p { margin: 0; }

/* ---------- FAQ ---------- */
.sgvr-faq-tools { margin-bottom: var(--wp--preset--spacing--40); }
.sgvr-faq-search input {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; padding: 13px 16px 13px 44px;
	border: 1px solid #bdbdbd; border-radius: 999px; background: #fff
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E") 16px 50% / 20px no-repeat;
}
.sgvr-faq-search input:focus { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 1px; }
.sgvr-faq-jump { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 12px calc(-1 * var(--wp--preset--spacing--40)) 0; padding: 0 var(--wp--preset--spacing--40) 2px; }
.sgvr-faq-jump::-webkit-scrollbar { display: none; }
.sgvr-faq-jump a {
	flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border); font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap;
}
.sgvr-faq-jump a:hover { border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--contrast); }
@media (min-width: 900px) { .sgvr-faq-jump { flex-wrap: wrap; margin-left: 0; margin-right: 0; padding: 0; } }
.sgvr-faq-none { margin: 14px 0 0; padding: 14px; border-radius: 10px; background: var(--wp--preset--color--surface); }

.sgvr-faq-section { scroll-margin-top: 80px; margin-top: var(--wp--preset--spacing--50) !important; }
.sgvr-faq-section h2 { margin: 0 0 var(--wp--preset--spacing--30) !important; font-size: 24px !important; }
details.sgvr-faq { border-top: 1px solid var(--wp--preset--color--border); margin: 0 !important; scroll-margin-top: 80px; }
details.sgvr-faq:last-child { border-bottom: 1px solid var(--wp--preset--color--border); }
details.sgvr-faq > summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 16px 2px; min-height: 28px; font-weight: 700; font-size: 17px; line-height: 1.3;
}
details.sgvr-faq > summary::-webkit-details-marker { display: none; }
details.sgvr-faq > summary::after {
	content: ""; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--wp--preset--color--surface)
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .15s ease;
}
details.sgvr-faq[open] > summary::after { transform: rotate(45deg); background-color: var(--wp--preset--color--contrast);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E"); }
details.sgvr-faq > summary:hover { color: var(--wp--preset--color--accent); }
details.sgvr-faq > :not(summary) { margin: 0 0 12px !important; font-size: 16px; }
details.sgvr-faq[open] { padding-bottom: 6px; }
details.sgvr-faq ul, details.sgvr-faq ol { padding-left: 22px; }
details.sgvr-faq li { margin-bottom: 6px; }
.sgvr-faq-more { margin-top: var(--wp--preset--spacing--60) !important; }
.sgvr-faq-more h3 { margin: 0 0 6px; }
.sgvr-faq-more p { margin: 0 0 14px; }
details.sgvr-faq strong, .sgvr-step-text strong { font-weight: 700; }

/* ---------- Contact ---------- */
.sgvr-csection + .sgvr-csection, .sgvr-cquick + .sgvr-csection { margin-top: var(--wp--preset--spacing--60) !important; }
.sgvr-csection h2 { margin: 0 !important; }
.sgvr-csection > .sgvr-meta { margin: 4px 0 var(--wp--preset--spacing--40) !important; }
.sgvr-ctopics { display: grid; grid-template-columns: 1fr; gap: 10px; }
.sgvr-ctopics > * { margin: 0 !important; }
@media (min-width: 700px) { .sgvr-ctopics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (min-width: 1000px) { .sgvr-ctopics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sgvr-ctopic {
	position: relative; display: flex; flex-direction: column; padding: 16px 16px 16px 64px;
	border: 1px solid var(--wp--preset--color--border); border-radius: 12px; background: #fff;
}
.sgvr-ctopic::before {
	content: ""; position: absolute; left: 16px; top: 16px; width: 34px; height: 34px; border-radius: 10px;
	background: var(--wp--preset--color--contrast);
	-webkit-mask: none;
}
.sgvr-ctopic::after {
	content: ""; position: absolute; left: 23px; top: 23px; width: 20px; height: 20px; background: #fff;
	-webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.sgvr-ctopic h3 { margin: 0 !important; font-family: var(--wp--preset--font-family--body) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 18px !important; }
.sgvr-ctopic p { margin: 0; }
.sgvr-ctopic-desc { margin-top: 4px !important; font-size: 15px; color: var(--wp--preset--color--muted); }
.sgvr-ctopic-who { margin-top: 8px !important; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--muted); }
.sgvr-ctopic-btn { margin-top: auto !important; padding-top: 10px; }
.sgvr-ctopic-btn a { font-weight: 700; display: inline-flex; align-items: center; min-height: 32px; overflow-wrap: anywhere; }
.sgvr-ctopic-btn a::after { content: " →"; white-space: pre; }
.sgvr-ctopic:hover { border-color: var(--wp--preset--color--contrast); }
.sgvr-cico-chat    { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E"); }
.sgvr-cico-member  { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='11' r='2.2'/%3E%3Cpath d='M5.8 16.2c.6-1.6 1.8-2.4 3.2-2.4s2.6.8 3.2 2.4M15 10h3M15 13.5h3'/%3E%3C/svg%3E"); }
.sgvr-cico-drive   { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M3.8 10.5c2.5.3 5.2 0 6.4-1.2M20.2 10.5c-2.5.3-5.2 0-6.4-1.2M12 14v6.5'/%3E%3C/svg%3E"); }
.sgvr-cico-partner { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l2.4 4.9 5.4.8-3.9 3.8.9 5.4L12 16.4l-4.8 2.5.9-5.4-3.9-3.8 5.4-.8z'/%3E%3C/svg%3E"); }
.sgvr-cico-web     { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4.5' width='18' height='15' rx='2'/%3E%3Cpath d='M3 9h18M6.5 6.8h.01M9 6.8h.01'/%3E%3C/svg%3E"); }

.sgvr-cquick { margin-top: var(--wp--preset--spacing--50) !important; padding: 18px 20px; border-radius: 12px; background: var(--wp--preset--color--surface); }
.sgvr-cquick p { margin: 0 0 8px; font-size: 16px; }
.sgvr-cquick p:last-child { margin-bottom: 0; }
.sgvr-csocial { display: flex; gap: 18px; padding-top: 4px; }
.sgvr-csocial a { font-weight: 700; }

.sgvr-people { display: grid; grid-template-columns: 1fr; gap: 10px; }
.sgvr-people > * { margin: 0 !important; }
@media (min-width: 700px) { .sgvr-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
.sgvr-person { gap: 14px !important; align-items: center !important; padding: 14px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; }
.sgvr-person p { margin: 0; }
.sgvr-person-av {
	flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--color--contrast); color: #fff; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 18px; letter-spacing: .04em;
}
.sgvr-person-text { min-width: 0; }
.sgvr-person-name { font-weight: 700; font-size: 17px; line-height: 1.2; }
.sgvr-person-role { font-size: 14px; color: var(--wp--preset--color--accent); font-weight: 600; }
.sgvr-person-email { font-size: 14px; overflow-wrap: anywhere; }
/* whole topic card is the tap target */
.sgvr-ctopic-btn a::before { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.sgvr-ctopic-btn a:focus-visible { outline: none; }
.sgvr-ctopic:focus-within { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
@media (max-width: 699px) { .sgvr-ctopic { padding: 14px 14px 14px 60px; } .sgvr-ctopic-desc { font-size: 14px; } }

/* Homepage hero (group photo): on desktop show the whole photo so faces sit above the headline */
@media (min-width: 900px) {
	/* Overnight Drive panorama (about 2.4:1): a wide hero shows nearly the whole photo, cars left and group right */
	.sgvr-home .sgvr-hero { min-height: min(42vw, 780px) !important; }
	.sgvr-home .sgvr-hero .wp-block-cover__image-background { object-position: var(--sgvr-hero-pos-d, 60% 60%) !important; }
	.sgvr-home .sgvr-hero .wp-block-cover__background {
		background: linear-gradient(to bottom, rgba(0,0,0,0) 45%, rgba(0,0,0,.55) 72%, rgba(0,0,0,.85) 100%) !important;
	}
}
@media (min-width: 900px) {
	.sgvr-home .sgvr-hero { padding-bottom: 36px !important; }
	.sgvr-home .sgvr-hero h1 { font-size: clamp(40px, 3.6vw, 54px) !important; white-space: nowrap; }
	.sgvr-home .sgvr-hero h1 br { display: none; }
	.sgvr-home .sgvr-hero h1 br + * , .sgvr-home .sgvr-hero h1 { word-spacing: .02em; }
	.sgvr-home .sgvr-hero-content { gap: 10px !important; }
}
@media (max-width: 899px) {
	.sgvr-home .sgvr-hero { overflow: hidden; }
	.sgvr-home .sgvr-hero .wp-block-cover__image-background { transform: scale(1.32); transform-origin: 50% 100%; }
}

/* Wide screens: member counts float as a card in the hero's bottom-right corner */
@media (min-width: 1200px) {
	.sgvr-home .sgvr-stats-band {
		position: relative; z-index: 3;
		width: fit-content; height: 104px; box-sizing: border-box;
		grid-template-columns: auto auto !important; gap: 0;
		margin: -140px max(40px, calc((100% - 1200px) / 2)) 36px auto !important;
		padding: 12px 22px !important;
		background: rgba(15, 15, 15, .62) !important;
		-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
		border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px;
	}
	.sgvr-home .sgvr-total { padding-right: 20px; border-right-color: rgba(255,255,255,.18); }
	.sgvr-home .sgvr-total-num { font-size: 40px; }
	.sgvr-home .sgvr-substats { grid-template-columns: repeat(3, auto) !important; column-gap: 22px !important; padding-left: 20px; }
	.sgvr-home .sgvr-substat-num { font-size: 28px; }
	.sgvr-home .sgvr-substat-label { font-size: 12px; }
}

/* Hero spacing pass (desktop): room between headline, subtitle, buttons; roomier member card */
@media (min-width: 900px) {
	.sgvr-home .sgvr-hero { padding-bottom: 56px !important; }
	.sgvr-home .sgvr-hero h1 { font-size: clamp(38px, 3.3vw, 50px) !important; line-height: 1 !important; }
	.sgvr-home .sgvr-hero-content { gap: 18px !important; }
	.sgvr-home .sgvr-hero-content > p { font-size: 20px !important; }
	.sgvr-home .sgvr-hero-buttons { margin-top: 8px !important; gap: 14px !important; }
	.sgvr-home .sgvr-hero-buttons .wp-block-button__link { padding: 16px 26px !important; }
	/* 900–1199: strip under the photo gets more air too */
	.sgvr-home .sgvr-stats-band { padding-top: 26px !important; padding-bottom: 26px !important; }
}
@media (min-width: 1200px) {
	.sgvr-home .sgvr-stats-band {
		height: 136px; padding: 20px 30px !important;
		margin: -192px max(40px, calc((100% - 1200px) / 2)) 56px auto !important;
	}
	.sgvr-home .sgvr-total { padding-right: 28px; }
	.sgvr-home .sgvr-total::before { margin-bottom: 8px; }
	.sgvr-home .sgvr-total-label { margin-top: 8px !important; }
	.sgvr-home .sgvr-substats { column-gap: 32px !important; padding-left: 28px; }
	.sgvr-home .sgvr-substat::before { margin-bottom: 8px; }
	.sgvr-home .sgvr-substat-label { margin-top: 6px !important; }
}
@media (min-width: 900px) and (max-width: 1099px) {
	.sgvr-home .sgvr-hero { padding-bottom: 36px !important; }
	.sgvr-home .sgvr-hero h1 { font-size: 36px !important; }
	.sgvr-home .sgvr-hero-content { gap: 12px !important; }
	.sgvr-home .sgvr-hero-content > p { font-size: 18px !important; }
	.sgvr-home .sgvr-hero-buttons { margin-top: 4px !important; }
	.sgvr-home .sgvr-hero-buttons .wp-block-button__link { padding: 13px 22px !important; }
}

/* Member card vs headline: card must sit entirely below the headline (16px+ clear) */
@media (min-width: 1200px) {
	.sgvr-home .sgvr-stats-band {
		height: 100px; padding: 12px 26px !important;
		margin: -156px max(40px, calc((100% - 1200px) / 2)) 56px auto !important;
	}
	.sgvr-home .sgvr-total-num { font-size: 36px; }
	.sgvr-home .sgvr-substat-num { font-size: 26px; }
	.sgvr-home .sgvr-total::before, .sgvr-home .sgvr-substat::before { width: 18px; height: 18px; margin-bottom: 5px; }
	.sgvr-home .sgvr-total-label { margin-top: 5px !important; }
	.sgvr-home .sgvr-substat-label { margin-top: 4px !important; }
}

/* Wide screens: member card moves to the hero's top-right corner (over the sky) */
@media (min-width: 1200px) {
	.sgvr-home .sgvr-stats-band {
		--hero-h: min(56.25vw, 860px);
		margin: calc(32px - var(--hero-h)) max(40px, calc((100% - 1200px) / 2)) calc(var(--hero-h) - 132px) auto !important;
	}
}

/* Wide screens: member card = narrow vertical stack in the hero's top-right */
@media (min-width: 1200px) {
	.sgvr-home { position: relative; }
	.sgvr-home .sgvr-stats-band {
		position: absolute !important; z-index: 3; top: 32px; left: auto;
		right: max(32px, calc((100% - 1200px) / 2));
		margin: 0 !important; width: 132px; height: auto !important;
		display: flex !important; flex-direction: column; align-items: stretch;
		padding: 16px 14px !important;
	}
	.sgvr-home .sgvr-total { padding: 0 0 14px !important; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.18); }
	.sgvr-home .sgvr-substats { grid-template-columns: 1fr !important; row-gap: 14px !important; column-gap: 0 !important; padding: 14px 0 0 !important; }
	.sgvr-home .sgvr-substat { padding: 0 !important; }
	.sgvr-home .sgvr-substat-num { font-size: 24px; }
	.sgvr-home .sgvr-substat-label { font-size: 12px; }
}
@media (min-width: 1200px) {
	.sgvr-home .sgvr-stats-band { right: 24px; width: 124px; padding: 14px 12px !important; }
}

/* Member card v2: smaller, and shown on any landscape screen 900px+ (phones/portrait keep the strip) */
@media (min-width: 900px) and (orientation: landscape) {
	.sgvr-home { position: relative; }
	.sgvr-home .sgvr-stats-band {
		position: absolute !important; z-index: 3; top: 24px; right: 20px; left: auto;
		margin: 0 !important; width: 104px; height: auto !important;
		display: flex !important; flex-direction: column; align-items: stretch;
		padding: 12px 10px !important;
		background: rgba(15, 15, 15, .62) !important;
		-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
		border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px;
	}
	.sgvr-home .sgvr-total { padding: 0 0 10px !important; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.18); }
	.sgvr-home .sgvr-total::before { width: 16px; height: 16px; margin-bottom: 4px; }
	.sgvr-home .sgvr-total-num { font-size: 30px; }
	.sgvr-home .sgvr-total-label { font-size: 10px; margin-top: 3px !important; }
	.sgvr-home .sgvr-substats { grid-template-columns: 1fr !important; row-gap: 10px !important; column-gap: 0 !important; padding: 10px 0 0 !important; }
	.sgvr-home .sgvr-substat { padding: 0 !important; }
	.sgvr-home .sgvr-substat::before { width: 14px; height: 14px; margin-bottom: 3px; }
	.sgvr-home .sgvr-substat-num { font-size: 20px; }
	.sgvr-home .sgvr-substat-label { font-size: 10.5px; margin-top: 2px !important; }
}
@media (min-width: 900px) and (orientation: landscape) {
	.sgvr-home .sgvr-stats-band { width: 96px; right: 16px; padding: 10px 8px !important; }
	.sgvr-home .sgvr-stats-band p { line-height: 1.15 !important; }
}

/* =================== Weekly news =================== */
/* Event tags (from calendar titles) */
.sgvr-tag {
	display: inline-block; vertical-align: 2px; margin-left: 4px; padding: 2px 7px; border-radius: 999px;
	font: 700 11px/1.3 var(--wp--preset--font-family--body); letter-spacing: .04em; text-transform: uppercase;
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); white-space: nowrap;
}
.sgvr-tag-new { background: var(--wp--preset--color--accent); color: #fff; }
.sgvr-tag-sold-out { background: var(--wp--preset--color--contrast); color: #fff; }
.sgvr-tag-cancelled { background: var(--wp--preset--color--accent); color: #fff; }
.sgvr-tag-not-a-pca-event { background: transparent; border: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--muted); }
.sgvr-event-reg { font-weight: 700; }

/* Single post */
.sgvr-post { padding-bottom: var(--wp--preset--spacing--60); }
.sgvr-post-head { padding-top: var(--wp--preset--spacing--50); }
.sgvr-post-head .sgvr-eyebrow a { color: inherit; text-decoration: none; }
.sgvr-post-title { margin: 6px 0 6px; font-size: clamp(30px, 6vw, 44px); line-height: 1.05; }
.sgvr-post-photo { margin: var(--wp--preset--spacing--40) 0 0 !important; border-radius: 12px; overflow: hidden; }
.sgvr-post-photo img { border-radius: 12px; }
@media (max-width: 599px) {
	.sgvr-post-photo { margin-left: calc(-1 * var(--wp--preset--spacing--40)) !important; margin-right: calc(-1 * var(--wp--preset--spacing--40)) !important; border-radius: 0; }
	.sgvr-post-photo img { border-radius: 0; aspect-ratio: 2 / 1 !important; }
}
.sgvr-chips {
	position: sticky; top: 67px; z-index: 5; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none;
	margin: 0 calc(-1 * var(--wp--preset--spacing--40)); padding: 12px var(--wp--preset--spacing--40);
	background: rgba(255,255,255,.94); backdrop-filter: blur(6px); border-bottom: 1px solid var(--wp--preset--color--border);
}
.admin-bar .sgvr-chips { top: 99px; }
@media (max-width: 782px) { .admin-bar .sgvr-chips { top: 67px; } }
.sgvr-chips::-webkit-scrollbar { display: none; }
.sgvr-chips a {
	flex: 0 0 auto; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--wp--preset--color--border);
	font-size: 14px; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--contrast); background: #fff;
}
.sgvr-chips a:hover { border-color: var(--wp--preset--color--contrast); }
.sgvr-chips a.is-alert { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
.sgvr-post-body, .sgvr-post .sgvr-coming { scroll-margin-top: 130px; }
.sgvr-post-body h2, .sgvr-coming > h2 { scroll-margin-top: 130px; }
.sgvr-post-body { font-size: 18px; line-height: 1.6; padding-top: var(--wp--preset--spacing--40); }
.sgvr-post-body > * + * { margin-top: 1em; }
.sgvr-post-body h2, .sgvr-coming > h2 { font-size: 26px; margin: 0 0 12px; }
.sgvr-post-body > .sgvr-headsup, .sgvr-post-body > .sgvr-dontmiss, .sgvr-post-body > .sgvr-notes { margin-top: var(--wp--preset--spacing--50); }

/* Heads up */
.sgvr-headsup {
	background: #FBEDEE; border-left: 4px solid var(--wp--preset--color--accent); border-radius: 0 10px 10px 0;
	padding: 16px 18px;
}
.sgvr-headsup h2 { color: var(--wp--preset--color--accent-dark); font-size: 20px !important; margin-bottom: 6px !important; }
.sgvr-headsup p { margin: 0; font-size: 17px; }

/* Don't miss cards */
.sgvr-feature-list { display: grid; gap: 14px; }
@media (min-width: 640px) { .sgvr-feature-list { grid-template-columns: 1fr 1fr; } }
.sgvr-feature {
	display: grid; grid-template-columns: 96px 1fr; column-gap: 14px; row-gap: 2px; align-content: start;
	padding: 14px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; background: #fff;
	font-size: 16px; line-height: 1.45;
}
.sgvr-feature > * { margin: 0 !important; grid-column: 2; }
.sgvr-feature > .sgvr-feature-flyer { grid-column: 1; grid-row: 1 / span 6; }
.sgvr-feature-flyer img { width: 96px; height: 120px !important; object-fit: cover; border-radius: 8px; display: block; }
.sgvr-feature h3 { font-size: 20px; line-height: 1.15; margin: 2px 0 4px !important; }
.sgvr-feature .sgvr-deadline { font-weight: 700; color: var(--wp--preset--color--accent-dark); font-size: 15px; margin-top: 6px !important; }
.sgvr-feature .wp-block-buttons { margin-top: 10px !important; }
.sgvr-feature .wp-block-button__link { padding: 10px 18px; font-size: 15px; }
@media (min-width: 640px) {
	.sgvr-feature { grid-template-columns: 1fr; padding: 0 0 16px; overflow: hidden; }
	.sgvr-feature > * { grid-column: 1; padding: 0 16px; }
	.sgvr-feature > .sgvr-feature-flyer { grid-row: auto; padding: 0; margin-bottom: 12px !important; }
	.sgvr-feature-flyer img { width: 100%; height: 170px !important; border-radius: 0; }
}

/* Club notes */
.sgvr-note { border-top: 1px solid var(--wp--preset--color--border); padding: 0; margin: 0 !important; }
.sgvr-note:last-child { border-bottom: 1px solid var(--wp--preset--color--border); }
.sgvr-note summary {
	list-style: none; cursor: pointer; padding: 14px 30px 14px 0; position: relative; font-weight: 700; font-size: 17px;
}
.sgvr-note summary::-webkit-details-marker { display: none; }
.sgvr-note summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-size: 24px; font-weight: 400; color: var(--wp--preset--color--muted); }
.sgvr-note[open] summary::after { content: "–"; }
.sgvr-note > :not(summary) { margin: 0 0 14px; font-size: 16px; }

/* Coming up */
.sgvr-coming { margin-top: var(--wp--preset--spacing--50); }
.sgvr-coming-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--border); }
.sgvr-coming-item {
	display: grid; grid-template-columns: 74px 1fr auto; gap: 10px; align-items: center;
	padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--border);
}
.sgvr-coming-date { font: 700 16px/1.1 var(--wp--preset--font-family--display); text-transform: uppercase; }
.sgvr-coming-date span { display: block; font-size: 12px; color: var(--wp--preset--color--accent); letter-spacing: .06em; }
.sgvr-coming-what a { font-weight: 700; text-decoration: none; color: var(--wp--preset--color--contrast); }
.sgvr-coming-what a:hover { text-decoration: underline; }
.sgvr-coming-what .sgvr-meta { display: block; font-size: 14px; }
.sgvr-coming-reg {
	font-size: 14px; font-weight: 700; padding: 7px 12px; border-radius: 8px; text-decoration: none; white-space: nowrap;
	background: var(--wp--preset--color--accent); color: #fff !important;
}
.sgvr-coming-item.is-soldout .sgvr-coming-what a { color: var(--wp--preset--color--muted); }
.sgvr-coming-all { margin: 12px 0 0; font-weight: 700; }
.sgvr-coming-old { margin-top: var(--wp--preset--spacing--50); padding: 14px 16px; border-radius: 10px; background: var(--wp--preset--color--surface); font-size: 16px; }

/* Partners + sign-off + prev/next */
.sgvr-post-partners { margin-top: var(--wp--preset--spacing--50); }
.sgvr-post-partners .sgvr-eyebrow { color: var(--wp--preset--color--muted); margin-bottom: 10px; }
.sgvr-signoff { margin: var(--wp--preset--spacing--50) 0 0; font-size: 18px; font-style: italic; }
.sgvr-signoff span { display: block; font-style: normal; font-weight: 700; font-size: 16px; margin-top: 4px; }
.sgvr-pnav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: var(--wp--preset--spacing--50); }
.sgvr-pnav a {
	display: flex; flex-direction: column; gap: 4px; padding: 14px; border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px; text-decoration: none; color: var(--wp--preset--color--contrast);
}
.sgvr-pnav a:hover { border-color: var(--wp--preset--color--contrast); }
.sgvr-pnav-next { text-align: right; grid-column: 2; }
.sgvr-pnav-title { font-weight: 700; font-size: 16px; line-height: 1.25; }
.sgvr-pnav .sgvr-meta { font-size: 13px; }

/* /news/ page */
.sgvr-newspage h1 { margin: 0 0 6px; }
.sgvr-newsidx { margin-top: var(--wp--preset--spacing--40); }
.sgvr-newsidx-lead {
	display: grid; border-radius: 14px; overflow: hidden; background: var(--wp--preset--color--contrast); color: #fff;
	text-decoration: none;
}
.sgvr-newsidx-lead img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; display: block; }
.sgvr-newsidx-lead-text { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 22px; }
.sgvr-newsidx-lead-title { font: 700 clamp(24px, 4vw, 34px)/1.1 var(--wp--preset--font-family--display); text-transform: uppercase; }
.sgvr-newsidx-excerpt { color: #d6d6d6; font-size: 16px; }
.sgvr-newsidx-read { font-weight: 700; text-decoration: underline; }
@media (min-width: 900px) {
	.sgvr-newsidx-lead { grid-template-columns: 1.4fr 1fr; }
	.sgvr-newsidx-lead img { height: 100%; aspect-ratio: auto; min-height: 340px; }
	.sgvr-newsidx-lead-text { justify-content: center; padding: 28px; }
}
.sgvr-newsidx-h { margin: var(--wp--preset--spacing--50) 0 8px; font-size: 22px; }
.sgvr-newsidx-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--border); }
.sgvr-newsidx-list a {
	display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--border); text-decoration: none; color: var(--wp--preset--color--contrast);
}
.sgvr-newsidx-date {
	display: flex; flex-direction: column; align-items: center; justify-content: center; height: 54px; border-radius: 8px;
	background: var(--wp--preset--color--surface); font: 700 22px/1 var(--wp--preset--font-family--display);
}
.sgvr-newsidx-date span { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-bottom: 2px; }
.sgvr-newsidx-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sgvr-newsidx-title { font-weight: 700; font-size: 17px; }
.sgvr-newsidx-t .sgvr-meta { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sgvr-newsidx-pages { display: flex; justify-content: space-between; margin-top: 16px; font-weight: 700; }
/* News: section spacing (beat the layout's zero block-gap) */
.sgvr-post > .sgvr-coming, .sgvr-post > .sgvr-coming-old, .sgvr-post > .sgvr-post-partners, .sgvr-post > .sgvr-pnav { margin-top: var(--wp--preset--spacing--50) !important; }
.sgvr-post > .sgvr-signoff { margin-top: var(--wp--preset--spacing--40) !important; }
.sgvr-post > .sgvr-chips { margin-top: 12px !important; }
.sgvr-post-body > .sgvr-notes + *, .sgvr-post-body > :last-child { margin-bottom: 0; }
.sgvr-feature-list > * { margin: 0 !important; }

/* =================== Photos =================== */
.sgvr-photospage h1 { margin: 0 0 6px; }
.sgvr-photos { margin-top: var(--wp--preset--spacing--40); }
.sgvr-photos-years { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--wp--preset--spacing--40)) 16px; padding: 0 var(--wp--preset--spacing--40) 2px; }
.sgvr-photos-years::-webkit-scrollbar { display: none; }
.sgvr-photos-years button {
	flex: 0 0 auto; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: #fff;
	font: 600 15px/1 var(--wp--preset--font-family--body); color: var(--wp--preset--color--contrast); cursor: pointer;
}
.sgvr-photos-years button.is-on { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: #fff; }
.sgvr-albums { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
@media (min-width: 700px) { .sgvr-albums { grid-template-columns: repeat(3, 1fr); gap: 22px 18px; } }
@media (min-width: 1100px) { .sgvr-albums { grid-template-columns: repeat(4, 1fr); } }
.sgvr-album[hidden] { display: none; }
.sgvr-album a { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--wp--preset--color--contrast); }
.sgvr-album-cover { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #dcdcdc; }
.sgvr-album-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.sgvr-album a:hover .sgvr-album-cover img { transform: scale(1.04); }
.sgvr-album-text { display: flex; flex-direction: column; gap: 2px; }
.sgvr-album-text .sgvr-eyebrow { font-size: 11px; }
.sgvr-album-title { font-weight: 700; font-size: 16px; line-height: 1.25; }
@media (min-width: 700px) { .sgvr-album-title { font-size: 18px; } }
.sgvr-album-part { font-weight: 400; color: var(--wp--preset--color--muted); }
.sgvr-album-text .sgvr-meta { font-size: 14px; }
.sgvr-photos-more { margin: 20px 0 0; font-weight: 700; }
.sgvr-photos-share { margin-top: var(--wp--preset--spacing--60) !important; padding: 20px; border-radius: 12px; background: var(--wp--preset--color--surface); }
.sgvr-photos-share h2 { margin: 0 0 6px; font-size: 24px; }
.sgvr-photos-share p { margin: 0; }

/* Photos: on-site album viewer */
html.sgvr-viewer-open, html.sgvr-viewer-open body { overflow: hidden; }
.sgvr-viewer { position: fixed; inset: 0; z-index: 100000; background: #0d0d0d; display: flex; flex-direction: column; color: #fff; }
.sgvr-viewer[hidden] { display: none; }
.sgvr-viewer-bar { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 16px; border-bottom: 1px solid #262626; }
.sgvr-viewer-head { flex: 1 1 auto; min-width: 0; }
.sgvr-viewer-head p { margin: 0; }
.sgvr-viewer-title { font: 700 18px/1.2 var(--wp--preset--font-family--display); text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sgvr-viewer-when { font-size: 13px; color: #a8a8a8; }
.sgvr-viewer-flickr { flex: 0 0 auto; color: #fff; font-size: 14px; font-weight: 700; text-decoration: underline; }
.sgvr-viewer-close { flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #262626; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.sgvr-viewer-close:hover { background: #3a3a3a; }
.sgvr-viewer-stage { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.sgvr-viewer-stage iframe, .sgvr-viewer-stage img { display: block; max-width: 100%; max-height: 100%; border: 0; }
@media (max-width: 480px) { .sgvr-viewer-flickr { font-size: 13px; } .sgvr-viewer-title { font-size: 16px; } }

/* Events: category photo behind the date tile */
.sgvr-event-date.has-photo {
	position: relative; overflow: hidden; flex-basis: 84px; height: 100px; align-self: flex-start;
	background-size: cover; background-position: center; background-color: #333; color: #fff;
}
.sgvr-event-date.has-photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.6)); }
.sgvr-event-date.has-photo > * { position: relative; color: #fff !important; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
@media (min-width: 700px) {
	.sgvr-event-date.has-photo { flex-basis: 184px; height: 128px; align-items: flex-start; justify-content: flex-end; padding: 0 0 12px 14px; box-sizing: border-box; }
	.sgvr-event-date.has-photo::before { background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0) 70%); }
	.sgvr-event-date.has-photo .sgvr-event-day { font-size: 34px; margin: 2px 0; }
}

/* =================== Member Cars gallery =================== */
.sgvr-cgpage h1 { margin: 0 0 6px; }
.sgvr-mcar-all { white-space: nowrap; }
.sgvr-cg { list-style: none; margin: var(--wp--preset--spacing--40) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
@media (min-width: 700px) { .sgvr-cg { grid-template-columns: repeat(3, 1fr); gap: 24px 18px; } }
@media (min-width: 1100px) { .sgvr-cg { grid-template-columns: repeat(4, 1fr); } }
.sgvr-cg-card { all: unset; box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; width: 100%; cursor: pointer; color: var(--wp--preset--color--contrast); }
.sgvr-cg-card:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; border-radius: 10px; }
.sgvr-cg-photo { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #dcdcdc; }
.sgvr-cg-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.sgvr-cg-card:hover .sgvr-cg-photo img { transform: scale(1.04); }
.sgvr-cg-badge {
	position: absolute; left: 8px; top: 8px; padding: 4px 9px; border-radius: 999px; background: var(--wp--preset--color--accent);
	color: #fff; font: 700 11px/1.2 var(--wp--preset--font-family--body); letter-spacing: .04em; text-transform: uppercase;
}
.sgvr-cg-text { display: flex; flex-direction: column; gap: 2px; }
.sgvr-cg-title { font: 700 18px/1.15 var(--wp--preset--font-family--display); text-transform: uppercase; letter-spacing: .02em; }
.sgvr-cg-text .sgvr-meta { font-size: 14px; }
.sgvr-cg-dialog {
	width: min(920px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 14px;
	background: var(--wp--preset--color--contrast); color: #fff; overflow: auto;
}
.sgvr-cg-dialog::backdrop { background: rgba(0,0,0,.75); }
.sgvr-cg-dialog img { display: block; width: 100%; max-height: 70dvh; object-fit: contain; background: #000; }
.sgvr-cg-dtext { padding: 18px 20px 22px; }
.sgvr-cg-dtext p { margin: 0; }
.sgvr-cg-dtext .sgvr-eyebrow { color: #ff6b73; }
.sgvr-cg-dtext h2 { margin: 6px 0 4px; color: #fff; }
.sgvr-cg-dsub { color: #cfcfcf; font-weight: 600; }
.sgvr-cg-dstory { margin-top: 12px !important; color: #e2e2e2; font-style: italic; }
.sgvr-cg-close {
	position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: rgba(0,0,0,.6); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; z-index: 1;
}
.sgvr-cg-empty { padding: 20px; border-radius: 12px; background: var(--wp--preset--color--surface); }

/* Member cars: specs + full story */
.sgvr-cg-story-tag { margin-top: 2px; font-size: 13px; font-weight: 700; color: var(--wp--preset--color--accent); }
.sgvr-cg-dspecs { margin-top: 8px !important; font-size: 14px; font-weight: 600; color: #ff9aa0; letter-spacing: .01em; }
.sgvr-cg-dfull { margin-top: 14px; padding-top: 14px; border-top: 1px solid #333; }
.sgvr-cg-dfull p { margin: 0 0 12px !important; color: #e8e8e8; font-size: 16px; line-height: 1.6; }
.sgvr-cg-dfull p:last-child { margin-bottom: 0 !important; }
.sgvr-cg-dfull[hidden], .sgvr-cg-dspecs[hidden] { display: none; }
.sgvr-mcar-more { margin-top: 10px !important; }
.sgvr-mcar-more a { color: #fff; font-weight: 700; }

/* Gallery tabs + meeting type */
.sgvr-gtabs { display: flex; gap: 6px; margin: 4px 0 14px; padding: 4px; border-radius: 999px; background: var(--wp--preset--color--surface); width: fit-content; max-width: 100%; }
.sgvr-gtabs a { padding: 9px 18px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; color: var(--wp--preset--color--muted); white-space: nowrap; }
.sgvr-gtabs a:hover { color: var(--wp--preset--color--contrast); }
.sgvr-gtabs a.is-on { background: #fff; color: var(--wp--preset--color--contrast); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.sgvr-type-meeting { color: var(--wp--preset--color--muted); }
.sgvr-ecard-date.has-photo { position: relative; overflow: hidden; background-size: cover; background-position: center; }
.sgvr-ecard-date.has-photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.65)); }
.sgvr-ecard-date.has-photo > * { position: relative; color: #fff !important; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
.sgvr-gtabs { margin-left: 0 !important; margin-right: auto !important; }
body .is-layout-constrained > .sgvr-gtabs { margin-left: 0 !important; margin-right: auto !important; }

/* =================== Favorite drives =================== */
.sgvr-etabs { margin-bottom: 18px !important; }
body .is-layout-constrained > .sgvr-etabs { margin-left: 0 !important; margin-right: auto !important; }

/* Twistiness dots */
.sgvr-twisty { display: inline-flex; align-items: center; gap: 8px; }
.sgvr-twisty-dots { display: inline-flex; gap: 3px; }
.sgvr-twisty-dots span { width: 9px; height: 9px; border-radius: 50%; background: var(--wp--preset--color--border); }
.sgvr-twisty-dots span.on { background: var(--wp--preset--color--accent); }
.sgvr-twisty-label { font-weight: 600; }

/* Grid */
.sgvr-drives { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .sgvr-drives { grid-template-columns: 1fr 1fr; gap: 20px; } }
@media (min-width: 1000px) { .sgvr-drives { grid-template-columns: repeat(3, 1fr); } }
.sgvr-drive-card a {
	display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: center; padding: 10px;
	border: 1px solid var(--wp--preset--color--border); border-radius: 14px; background: #fff;
	text-decoration: none; color: var(--wp--preset--color--contrast); height: 100%; box-sizing: border-box;
}
.sgvr-drive-card a:hover { border-color: var(--wp--preset--color--contrast); }
.sgvr-drive-photo {
	position: relative; display: block; aspect-ratio: 1; border-radius: 10px; background: #d9d9d9 center / cover no-repeat;
}
.sgvr-drive-next {
	position: absolute; left: 6px; bottom: 6px; right: 6px; padding: 3px 6px; border-radius: 6px; text-align: center;
	background: var(--wp--preset--color--accent); color: #fff; font: 700 11px/1.3 var(--wp--preset--font-family--body); text-transform: uppercase; letter-spacing: .03em;
}
.sgvr-drive-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sgvr-drive-text .sgvr-eyebrow { font-size: 11px; }
.sgvr-drive-title { font: 700 20px/1.1 var(--wp--preset--font-family--display); text-transform: uppercase; letter-spacing: .01em; }
.sgvr-drive-tag { font-size: 15px; line-height: 1.35; color: var(--wp--preset--color--muted); }
.sgvr-drive-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 4px; font-size: 14px; color: var(--wp--preset--color--muted); }
@media (min-width: 640px) {
	.sgvr-drive-card a { grid-template-columns: 1fr; align-items: start; padding: 0 0 16px; overflow: hidden; }
	.sgvr-drive-photo { aspect-ratio: 16 / 10; border-radius: 0; }
	.sgvr-drive-text { padding: 0 16px; }
	.sgvr-drive-title { font-size: 24px; }
	.sgvr-drive-next { left: 10px; bottom: 10px; right: auto; padding: 4px 9px; }
}
.sgvr-drives-note { margin-top: var(--wp--preset--spacing--50) !important; }

/* Single drive */
.sgvr-drive-hero {
	position: relative; min-height: 300px; display: flex; align-items: flex-end; background: #333 center / cover no-repeat; color: #fff;
}
.sgvr-drive-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.05) 20%, rgba(0,0,0,.78)); }
.sgvr-drive-hero-inner { position: relative; width: 100%; max-width: 1100px; margin: 0 auto; padding: 24px var(--wp--preset--spacing--40); box-sizing: border-box; }
.sgvr-drive-hero .sgvr-eyebrow { color: #ffb3b7; }
.sgvr-drive-hero .sgvr-eyebrow a { color: inherit; text-decoration: none; }
.sgvr-drive-hero h1 { margin: 6px 0 6px; color: #fff; font-size: clamp(34px, 7vw, 60px); line-height: 1.02; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.sgvr-drive-hero-tag { margin: 0; font-size: 18px; color: #eee; max-width: 640px; }
@media (min-width: 900px) { .sgvr-drive-hero { min-height: 440px; } .sgvr-drive-hero-inner { padding-bottom: 40px; } .sgvr-drive-hero-tag { font-size: 21px; } }

.sgvr-drive-layout { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--50); }
.sgvr-drive-layout > * { margin: 0 !important; }
@media (min-width: 900px) {
	.sgvr-drive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 56px; }
	.sgvr-drive-facts { order: 2; position: sticky; top: 120px; }
	.sgvr-drive-body { order: 1; }
}
.sgvr-drive-body { font-size: 18px; line-height: 1.6; }
.sgvr-drive-body p { margin: 0 0 1em; }

.sgvr-drive-facts { padding: 18px; border-radius: 14px; background: var(--wp--preset--color--surface); }
.sgvr-drive-facts dl { margin: 0; display: grid; gap: 10px; }
.sgvr-drive-facts dl > div { display: grid; grid-template-columns: 104px 1fr; gap: 10px; align-items: baseline; }
.sgvr-drive-facts dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.sgvr-drive-facts dd { margin: 0; font-size: 16px; }
.sgvr-drive-run {
	display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; padding: 12px 14px; border-radius: 10px;
	background: var(--wp--preset--color--contrast); color: #fff; text-decoration: none;
}
.sgvr-drive-run .sgvr-eyebrow { color: #ff8a90; }
.sgvr-drive-run-date { font: 700 22px/1.15 var(--wp--preset--font-family--display); text-transform: uppercase; }
.sgvr-drive-run .sgvr-meta { color: #cfcfcf; font-size: 14px; }
.sgvr-drive-route { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--wp--preset--color--border); counter-reset: none; }
.sgvr-drive-route li { position: relative; padding: 0 0 12px 22px; font-size: 15px; line-height: 1.35; }
.sgvr-drive-route li::before { content: ""; position: absolute; left: 3px; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid var(--wp--preset--color--accent); box-sizing: border-box; }
.sgvr-drive-route li:not(:last-child)::after { content: ""; position: absolute; left: 7px; top: 16px; bottom: 0; border-left: 2px dotted #c9c9c9; }
.sgvr-drive-route li:first-child::before, .sgvr-drive-route li:last-child::before { background: var(--wp--preset--color--accent); }
.sgvr-drive-route li:last-child { padding-bottom: 0; }
.sgvr-drive-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.sgvr-drive-actions .sgvr-btn { width: 100%; }

.sgvr-drive-know { margin-top: var(--wp--preset--spacing--40); padding: 16px 18px; border-left: 4px solid var(--wp--preset--color--accent); background: #FBEDEE; border-radius: 0 10px 10px 0; }
.sgvr-drive-know h2 { margin: 0 0 6px; font-size: 20px; color: var(--wp--preset--color--accent-dark); }
.sgvr-drive-know ul { margin: 0; padding-left: 20px; font-size: 16px; line-height: 1.5; }
.sgvr-drive-know li + li { margin-top: 4px; }

.sgvr-drive-others { margin-top: var(--wp--preset--spacing--60) !important; }
.sgvr-drive-others h2 { margin: 0 0 14px; font-size: 26px; }
.sgvr-drive-others .sgvr-see-all { margin-top: 12px; }

/* =================== Club Life hub =================== */
.sgvr-gtabs { overflow-x: auto; scrollbar-width: none; }
.sgvr-gtabs::-webkit-scrollbar { display: none; }
.sgvr-hub { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
@media (min-width: 800px) { .sgvr-hub { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.sgvr-hub-card {
	display: flex; flex-direction: column; height: 100%; border-radius: 16px; overflow: hidden; text-decoration: none;
	background: var(--wp--preset--color--contrast); color: #fff;
}
.sgvr-hub-photo { position: relative; display: block; aspect-ratio: 16 / 9; background: #3a3a3a center / cover no-repeat; transition: transform .3s ease; }
@media (min-width: 800px) { .sgvr-hub-photo { aspect-ratio: 4 / 3; } }
.sgvr-hub-card:hover .sgvr-hub-photo { transform: scale(1.03); }
.sgvr-hub-count {
	position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(0,0,0,.6);
	font: 700 12px/1.3 var(--wp--preset--font-family--body); letter-spacing: .05em; text-transform: uppercase;
}
.sgvr-hub-text { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 20px; position: relative; background: var(--wp--preset--color--contrast); }
.sgvr-hub-title { font: 700 28px/1.05 var(--wp--preset--font-family--display); text-transform: uppercase; }
.sgvr-hub-title::after { content: " →"; color: #ff8a90; }
.sgvr-hub-desc { font-size: 16px; line-height: 1.45; color: #d2d2d2; }
.sgvr-events-drives-link { margin-top: var(--wp--preset--spacing--50) !important; padding: 16px 18px; border-radius: 12px; background: var(--wp--preset--color--surface); font-size: 17px; }
.sgvr-events-drives-link a { font-weight: 700; }
@media (max-width: 639px) { .sgvr-drive-next { font-size: 10px; letter-spacing: 0; white-space: nowrap; left: 4px; right: 4px; padding: 3px 2px; } }

/* Nav dropdown (Club Life) */
.sgvr-nav .wp-block-navigation__submenu-container {
	min-width: 220px !important; padding: 8px !important; border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 12px; background: #fff !important; box-shadow: 0 12px 32px rgba(0,0,0,.12);
}
.sgvr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item a { padding: 10px 12px !important; border-radius: 8px; font-size: 15px; }
.sgvr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.sgvr-nav .wp-block-navigation__submenu-icon { margin-left: 4px; }
/* Phone menu: show the section's pages indented under it */
.sgvr-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none; background: transparent !important; padding: 0 0 10px 16px !important; min-width: 0 !important;
}
.sgvr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0 !important; }
.sgvr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item a {
	font-family: var(--wp--preset--font-family--body) !important; font-size: 18px !important; text-transform: none !important; font-weight: 600; color: #cfcfcf !important; padding: 8px 0 !important;
}
.sgvr-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.sgvr-nav .is-menu-open .wp-block-navigation-item.has-child { flex-direction: column !important; align-items: stretch !important; flex-wrap: nowrap !important; }
.sgvr-nav .is-menu-open .wp-block-navigation__submenu-container { position: static !important; width: auto !important; height: auto !important; left: auto !important; }
.sgvr-nav .is-menu-open .wp-block-navigation-item.has-child > a { width: 100%; }
/* Keep hidden screen-reader labels inside their card (they were widening the page on phones) */
.sgvr-scroller, .sgvr-ecard, .sgvr-event, .sgvr-coming-item { position: relative; }

/* Partners dropdown */
.sgvr-sub-tier { margin-left: 6px; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; vertical-align: 1px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); }
.sgvr-sub-tier-platinum { background: #2a2a2a; color: #fff; }
.sgvr-nav .sgvr-sub-all { margin-top: 4px; padding-top: 4px; border-top: 1px solid var(--wp--preset--color--border); }
.sgvr-nav .sgvr-sub-all a { font-weight: 700; color: var(--wp--preset--color--accent) !important; }
/* Phones: Partners is a plain link */
.sgvr-nav .is-menu-open .sgvr-sub-partners > .wp-block-navigation__submenu-container { display: none !important; }
/* Club Life tabs: line up with the page content (the wrapper takes the content width, the pills sit at its left edge) */
.sgvr-gtabs-wrap { display: block; }
.sgvr-gtabs-wrap > .sgvr-gtabs { margin: 4px 0 14px !important; }

/* =================== Recently (past events + photos) =================== */
.sgvr-recent { margin-top: var(--wp--preset--spacing--60); }
.sgvr-recent h2 { margin: 0 0 14px; font-size: 28px; }
.sgvr-recent-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
@media (min-width: 700px) { .sgvr-recent-list { grid-template-columns: repeat(3, 1fr); gap: 20px 16px; } }
.sgvr-recent-card { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--wp--preset--color--contrast); }
.sgvr-recent-photo { display: block; aspect-ratio: 4 / 3; border-radius: 10px; background: #d9d9d9 center / cover no-repeat; transition: transform .3s ease; }
a.sgvr-recent-card:hover .sgvr-recent-photo { transform: scale(1.03); }
.sgvr-recent-card.no-photos .sgvr-recent-photo { filter: grayscale(.7) brightness(.95); opacity: .7; }
.sgvr-recent-text { display: flex; flex-direction: column; gap: 2px; }
.sgvr-recent-text .sgvr-eyebrow { font-size: 11px; }
.sgvr-recent-title { font-weight: 700; font-size: 16px; line-height: 1.25; }
.sgvr-recent-link { margin-top: 2px; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--accent); }
.sgvr-recent-link::after { content: " →"; }
.sgvr-recent-text .sgvr-meta { font-size: 14px; }

/* Breakfast sponsor box: partner logo */
.sgvr-sponsor { position: relative; }
.sgvr-sponsor .sgvr-partner-logo-link { display: inline-block; text-decoration: none; }
.sgvr-sponsor .sgvr-plogo-lg { width: 200px; height: 96px; border-radius: 12px; }
@media (min-width: 800px) {
	.sgvr-sponsor { padding-right: 320px !important; }
	.sgvr-sponsor .sgvr-partner-logo-link { position: absolute; right: 48px; top: 50%; transform: translateY(-50%); }
	.sgvr-sponsor .sgvr-plogo-lg { width: 240px; height: 120px; }
}

/* =================== What we do tiles =================== */
.sgvr-acts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (min-width: 800px) { .sgvr-acts { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
.sgvr-act {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; min-height: 112px; padding: 12px 14px;
	border-radius: 12px; overflow: hidden; text-decoration: none; color: #fff !important; background: #333 center / cover no-repeat; isolation: isolate;
}
@media (min-width: 800px) { .sgvr-act { min-height: 170px; padding: 16px 18px; } }
.sgvr-act::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(0,0,0,.05) 15%, rgba(0,0,0,.78)); transition: background .2s; }
.sgvr-act:hover::before { background: linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,.85)); }
.sgvr-act-title { font: 700 22px/1.05 var(--wp--preset--font-family--display); text-transform: uppercase; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
@media (min-width: 800px) { .sgvr-act-title { font-size: 28px; } }
.sgvr-act-sub { font-size: 13px; color: #e8e8e8; line-height: 1.3; }
.sgvr-act.is-new::before { background: linear-gradient(to bottom, rgba(179,18,29,.55), rgba(142,14,23,.92)); }
.sgvr-act.is-new .sgvr-act-sub::after { content: " →"; }

/* =================== New here page =================== */
.sgvr-newhere h2 { margin: var(--wp--preset--spacing--50) 0 14px; font-size: 30px; }
.sgvr-newhere > .sgvr-nh-first { margin-top: 0 !important; }
.sgvr-nh-first { padding: 22px; border-radius: 14px; background: var(--wp--preset--color--surface); }
.sgvr-nh-first h2 { margin-top: 4px !important; }
.sgvr-nh-first p { margin: 0 0 12px; font-size: 17px; }
.sgvr-nh-next { font-size: 18px !important; }
.sgvr-nh-steps { margin: 0; padding: 0; list-style: none; counter-reset: step; display: grid; gap: 12px; }
.sgvr-nh-steps li { position: relative; padding: 14px 16px 14px 60px; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; font-size: 17px; line-height: 1.5; counter-increment: step; }
.sgvr-nh-steps li::before { content: counter(step); position: absolute; left: 16px; top: 13px; width: 30px; height: 30px; border-radius: 50%; background: var(--wp--preset--color--accent); color: #fff; font: 700 17px/30px var(--wp--preset--font-family--display); text-align: center; }
.sgvr-nh-grid { display: grid; gap: 12px; }
@media (min-width: 760px) { .sgvr-nh-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.sgvr-nh-grid > * { margin: 0 !important; }
.sgvr-nh-card { padding: 18px; border-radius: 12px; background: var(--wp--preset--color--surface); }
.sgvr-nh-card h3 { margin: 0 0 6px; font-size: 20px; }
.sgvr-nh-card p { margin: 0; font-size: 16px; line-height: 1.5; }
.sgvr-nh-join { margin-top: var(--wp--preset--spacing--60) !important; padding: 26px 24px; }
.sgvr-nh-join h2 { margin: 0 0 8px !important; color: #fff; }
.sgvr-nh-join p { margin: 0 0 16px; color: #e2e2e2; font-size: 17px; }
.sgvr-nh-join .is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }

/* Annia's Kitchen picture */
.sgvr-annias { display: block; width: 76px; height: 76px; border-radius: 12px; object-fit: cover; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.sgvr-fact-where { position: relative; padding-right: 100px !important; }
.sgvr-fact-where .sgvr-annias { position: absolute; top: 14px; right: 14px; margin: 0 !important; }
.sgvr-nh-first { position: relative; }
.sgvr-nh-first .sgvr-annias { float: right; width: 92px; height: 92px; margin: 0 0 10px 14px !important; }
@media (min-width: 760px) { .sgvr-nh-first .sgvr-annias { position: absolute; top: 22px; right: 22px; width: 150px; height: 150px; float: none; } .sgvr-nh-first { padding-right: 196px !important; } }
.sgvr-breakfast .sgvr-annias { width: 84px; height: 84px; margin-bottom: 4px !important; }
@media (min-width: 900px) { .sgvr-breakfast .sgvr-annias { width: 110px; height: 110px; } }
.sgvr-fact-where { padding-right: revert-layer !important; }
.sgvr-fact-where .sgvr-annias { position: static; width: 64px; height: 64px; margin: 0 0 8px !important; order: -1; }
.sgvr-fact.sgvr-fact-where { padding-right: 14px !important; }
@media (min-width: 900px) { .sgvr-fact.sgvr-fact-where { padding-right: 20px !important; } }
@media (min-width: 900px) {
	.sgvr-breakfast :has(> .sgvr-annias) { position: relative; padding-right: 220px; }
	.sgvr-breakfast .sgvr-annias { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 160px; height: 160px; margin: 0 !important; }
}
@media (min-width: 900px) {
	.sgvr-breakfast:has(> .sgvr-annias) { position: relative; padding-right: 260px !important; }
	.sgvr-breakfast > .sgvr-annias { right: 56px; }
}
/* Annia's picture beside the Club Menu heading */
.sgvr-menu-col { position: relative; }
.sgvr-menu-col > .sgvr-annias { position: absolute; top: 0; right: 0; width: 76px; height: 76px; margin: 0 !important; }
.sgvr-menu-col > h2, .sgvr-menu-col > .sgvr-meta { padding-right: 92px; }
@media (min-width: 900px) { .sgvr-menu-col > .sgvr-annias { width: 96px; height: 96px; } .sgvr-menu-col > h2, .sgvr-menu-col > .sgvr-meta { padding-right: 116px; } }

/* =================== PCA / Zone 8 affiliation =================== */
.sgvr-affil { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.sgvr-affil-logo { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 6px; box-sizing: border-box; border-radius: 12px; background: #fff; }
.sgvr-affil-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.sgvr-affil-label { margin: 0 0 0 4px; font-size: 14px; color: #bdbdbd; }
footer .sgvr-affil { margin-top: var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid #333; }
.sgvr-nh-join .sgvr-affil { margin: 0 0 14px; }

/* =================== From PCA National =================== */
.sgvr-pcanews { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--wp--preset--color--border); border-radius: 14px; background: #fff; }
.sgvr-pcanews-logo { flex: 0 0 auto; width: 52px; height: 52px; }
.sgvr-pcanews-logo img { width: 100%; height: 100%; display: block; }
.sgvr-pcanews-body { flex: 1 1 auto; min-width: 0; }
.sgvr-pcanews-body p { margin: 0; }
.sgvr-pcanews-text { font-size: 16px; }
.sgvr-pcanews ul { list-style: none; margin: 2px 0 0; padding: 0; display: grid; gap: 2px; }
.sgvr-pcanews li { font-size: 16px; }
.sgvr-pcanews li a { font-weight: 700; text-decoration: none; color: var(--wp--preset--color--contrast); }
.sgvr-pcanews li a:hover { text-decoration: underline; }
.sgvr-pcanews-more { flex: 0 0 auto; font-weight: 700; white-space: nowrap; }
@media (max-width: 599px) { .sgvr-pcanews { flex-wrap: wrap; } .sgvr-pcanews-more { margin-left: 66px; } }
/* Footer: PCA / Zone 8 logos on the right on wider screens, label to their left */
@media (min-width: 900px) {
	footer .sgvr-affil { justify-content: flex-end; }
	footer .sgvr-affil-label { order: -1; margin: 0 6px 0 0; text-align: right; }
}
/* Footer: no divider lines on wider screens */
@media (min-width: 900px) {
	footer .sgvr-affil { border-top: 0; padding-top: 0; }
	.sgvr-legal { border-top: 0; padding-top: 0; }
}

/* =================== Add to Home Screen banner =================== */
.sgvr-a2hs {
	position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 9999;
	display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 12px; border-radius: 14px;
	background: #141414; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.35);
	transform: translateY(130%); transition: transform .35s ease;
}
.sgvr-a2hs.is-in { transform: none; }
.sgvr-a2hs img { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; background: #fff; }
.sgvr-a2hs p { flex: 1 1 auto; margin: 0; font-size: 14px; line-height: 1.3; }
.sgvr-a2hs p strong { display: block; font-size: 15px; }
.sgvr-a2hs p span { color: #d0d0d0; }
.sgvr-a2hs-share { display: inline-block; width: 12px; height: 14px; vertical-align: -2px; border: 1.5px solid #d0d0d0; border-top: 0; border-radius: 0 0 2px 2px; position: relative; margin: 0 2px; }
.sgvr-a2hs-share::before { content: ""; position: absolute; left: 50%; top: -6px; width: 1.5px; height: 11px; background: #d0d0d0; transform: translateX(-50%); }
.sgvr-a2hs-go { flex: 0 0 auto; padding: 9px 14px; border: 0; border-radius: 9px; background: var(--wp--preset--color--accent); color: #fff; font-weight: 700; font-size: 14px; }
.sgvr-a2hs-x { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #2c2c2c; color: #fff; font-size: 22px; line-height: 1; }

/* =================== Cancelled events =================== */
.is-cancelled .sgvr-event-title, .is-cancelled .sgvr-ecard-title, .is-cancelled .sgvr-coming-what > a {
	text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(0,0,0,.45); color: var(--wp--preset--color--muted);
}
.is-cancelled .sgvr-tag { text-decoration: none; }
.is-cancelled .sgvr-event-date.has-photo, .is-cancelled .sgvr-ecard-date.has-photo { filter: grayscale(1); opacity: .7; }
.sgvr-event-cancelled { margin: 8px 0 0; font-size: 15px; font-weight: 600; color: var(--wp--preset--color--accent-dark, #8f0e17); }

/* Partners page on wide screens: Platinum cards two across, other partners three across */
@media (min-width: 1000px) {
	.sgvr-pfeatures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
	.sgvr-pfeatures .sgvr-pfeature { display: flex; flex-direction: column; margin: 0; }
	.sgvr-pfeatures .sgvr-pfeature-media { min-height: 220px; }
	.sgvr-pfeatures .sgvr-pfeature-body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 26px 28px; }
	.sgvr-pfeatures .sgvr-pfeature .sgvr-pname { font-size: 34px; }
	.sgvr-pfeatures .sgvr-pactions { margin-top: auto; padding-top: 16px; }
	.sgvr-pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
	.sgvr-pcard { display: flex; flex-direction: column; }
	.sgvr-pcard .sgvr-pactions-text { margin-top: auto; padding-top: 10px; }
}

/* Small additions: national calendar line, Test Drive note, privacy page */
.sgvr-national-cal { margin-top: var(--wp--preset--spacing--40) !important; font-size: 16px; color: var(--wp--preset--color--muted); }
.sgvr-nh-testdrive { font-size: 15px; opacity: .85; }
.sgvr-nh-testdrive a { color: inherit; }
.sgvr-legal a { color: inherit; }
.sgvr-prose h2 { margin-top: var(--wp--preset--spacing--50); font-size: 28px; }
.sgvr-prose p, .sgvr-prose li { font-size: 18px; line-height: 1.6; }
.sgvr-prose li + li { margin-top: 10px; }

/* =================== Drive route graphics =================== */
.sgvr-drive-photo.is-route, .sgvr-drive-hero.is-route {
	background-color: #161514;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 22px 22px;
}
.sgvr-route { display: block; width: 100%; height: 100%; color: var(--wp--preset--color--accent); overflow: visible; }
.sgvr-route-line { fill: none; stroke: currentColor; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.sgvr-route-glow { fill: none; stroke: currentColor; stroke-width: 11; stroke-opacity: .18; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.sgvr-route-start { fill: #fff; }
.sgvr-route-end { fill: currentColor; stroke: #fff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.sgvr-route-label { fill: #e8e6e3; font: 600 13px/1 var(--wp--preset--font-family--body); letter-spacing: .02em; paint-order: stroke; stroke: #161514; stroke-width: 4px; }
.sgvr-drive-photo.is-route .sgvr-route { position: absolute; inset: 0; }
.sgvr-drive-photo.is-route .sgvr-drive-next { z-index: 1; }

/* Single drive header: the route on the right, the title bottom-left */
.sgvr-drive-hero.is-route::before { background: linear-gradient(to right, rgba(22,21,20,.85) 0%, rgba(22,21,20,.2) 55%, rgba(22,21,20,0) 100%); }
.sgvr-drive-hero-map { position: absolute; inset: 0; padding: 18px 16px 150px; box-sizing: border-box; }
@media (min-width: 900px) {
	.sgvr-drive-hero-map { left: 42%; right: 3%; padding: 36px 0; }
	.sgvr-drive-hero.is-route::before { background: linear-gradient(to right, rgba(22,21,20,.9) 0%, rgba(22,21,20,.4) 45%, rgba(22,21,20,0) 70%); }
}
.sgvr-drive-hero.is-route .sgvr-drive-hero-inner { z-index: 1; }
@media (max-width: 899px) {
	.sgvr-drive-hero.is-route { min-height: 470px; }
	.sgvr-drive-hero-map { top: 0; bottom: auto; height: 230px; padding: 20px 20px 8px; }
	.sgvr-drive-hero.is-route::before { background: linear-gradient(to bottom, rgba(22,21,20,0) 40%, rgba(22,21,20,.9) 62%); }
	.sgvr-route-label { display: none; }
}
.sgvr-drive-photo.is-route, .sgvr-drive-hero.is-route { background-repeat: repeat; background-position: 0 0; }

.sgvr-nw { white-space: nowrap; }
.sgvr-garage-share { font-weight: 700; white-space: nowrap; }
.sgvr-twisty-legend { display: flex; align-items: center; gap: 8px; margin: 0 0 14px !important; font-size: 14px; color: var(--wp--preset--color--muted); }
