/*----------------------------------------------------------------------------------------------------------
-	Title:		Stiffs.com 2026 look
-	File:		inc/css/stiffs-2026.css
-	Notes:		Loaded after Bootstrap 3 and stiffs.css while pages are converted one at a time.
-			Every class is prefixed sx- so it never collides with Bootstrap or the old styles.
----------------------------------------------------------------------------------------------------------*/

:root{
	--sx-ground: #0e0d0c;
	--sx-raised: #171614;
	--sx-rule: #2a2724;
	--sx-line: #3a3632;
	--sx-paper: #efe9dd;
	--sx-paper-rule: #cfc7b8;
	--sx-ink: #1b1916;
	--sx-text: #efe9dd;
	--sx-soft: #d6cfc2;
	--sx-muted: #a39d92;
	--sx-paper-muted: #5d574e;
	--sx-blood: #c4161f;
	--sx-blood-ink: #a3141c;
	--sx-blood-light: #ef5b5b;
	--sx-display: Anton, Impact, 'Arial Narrow', sans-serif;
	--sx-type: 'Special Elite', 'Courier New', monospace;
	--sx-body: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--sx-gutter: clamp(16px, 5.5vw, 80px);
	color-scheme: dark;
}

body.sx{
	margin: 0;
	padding: 0;
	background: var(--sx-ground);
	color: var(--sx-text);
	font-family: var(--sx-body);
	font-size: 17px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}
.sx a{ color: var(--sx-blood-light); }
.sx a:hover, .sx a:focus{ color: #ff8a85; }
.sx a:focus-visible, .sx button:focus-visible, .sx input:focus-visible, .sx summary:focus-visible{
	outline: 2px solid var(--sx-blood-light);
	outline-offset: 2px;
}
.sx img{ max-width: 100%; }

.sx-skip{ position: absolute; left: -9999px; top: 0; }
.sx-skip:focus{ left: 16px; top: 8px; z-index: 100; background: var(--sx-paper); color: var(--sx-ink) !important; padding: 10px 14px; border-radius: 4px; }

.sx-wrap{
	max-width: 1440px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: max(var(--sx-gutter), env(safe-area-inset-left, 0px));
	padding-right: max(var(--sx-gutter), env(safe-area-inset-right, 0px));
}

/* type */
.sx-eyebrow{
	font-family: var(--sx-type);
	font-size: 15px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--sx-blood-light);
}
.sx-label{
	font-family: var(--sx-type);
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sx-muted);
	font-weight: 400;
	margin: 0;
}
.sx-h1, .sx-h2, .sx-h3{
	font-family: var(--sx-display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0;
	text-wrap: balance;
	color: inherit;
}
.sx-h1{ font-size: clamp(46px, 7vw, 96px); line-height: 0.96; }
.sx-h2{ font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; }
.sx-h3{ font-size: clamp(24px, 2.6vw, 40px); line-height: 1; }
.sx-lede{ font-size: clamp(18px, 1.6vw, 22px); line-height: 1.5; color: var(--sx-soft); margin: 0; max-width: 40em; }
.sx-num{ font-variant-numeric: tabular-nums; }

/* buttons */
.sx-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	box-sizing: border-box;
	padding: 10px 20px;
	border-radius: 4px;
	border: 1px solid var(--sx-line);
	background: transparent;
	color: var(--sx-text) !important;
	font: 600 16px/1.2 var(--sx-body);
	text-decoration: none !important;
	cursor: pointer;
}
.sx-btn:hover{ border-color: var(--sx-muted); }
.sx-btn--primary{ background: var(--sx-blood); border-color: var(--sx-blood); color: #fff !important; }
.sx-btn--primary:hover{ background: #a8121a; border-color: #a8121a; }
.sx-btn--paper{ background: var(--sx-paper); border-color: var(--sx-paper); color: var(--sx-ink) !important; }
.sx-btn--big{ font-size: 18px; padding: 14px 28px; }

/* header */
.sx-header{ border-bottom: 1px solid var(--sx-rule); }
.sx-header .sx-wrap{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 14px; }
.sx-brand{ display: inline-flex; align-items: center; gap: 10px; color: var(--sx-text) !important; text-decoration: none !important; }
.sx-brand img{ width: 26px; height: 38px; object-fit: contain; }
.sx-brand span{ font-family: var(--sx-type); font-size: 27px; letter-spacing: 0.5px; }
.sx-nav{ display: flex; align-items: center; gap: 24px; }
.sx-nav a{ color: var(--sx-text); text-decoration: none; font-size: 16px; }
.sx-nav a:hover{ color: var(--sx-blood-light); }
.sx-nav .sx-btn{ margin-left: 4px; }
.sx-menu-btn{
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: transparent; color: var(--sx-text);
	border: 1px solid var(--sx-line); border-radius: 4px; cursor: pointer; padding: 0;
}
.sx-menu-btn[aria-expanded="true"]{ background: var(--sx-raised); }
.sx-menu-panel{
	background: var(--sx-raised); border-top: 1px solid var(--sx-line);
	display: flex; flex-direction: column;
	padding: 4px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px));
}
.sx-menu-panel[hidden]{ display: none; }
.sx-menu-panel a{ color: var(--sx-text); text-decoration: none; font-size: 18px; padding: 12px 0; border-bottom: 1px solid var(--sx-rule); }
.sx-menu-panel a:last-child{ border-bottom: 0; }
.sx-mobile-actions{ display: none; align-items: center; gap: 8px; }
@media (min-width: 900px){ .sx-menu-panel{ display: none !important; } }
@media (max-width: 899px){
	.sx-nav{ display: none; }
	.sx-mobile-actions{ display: flex; }
	.sx-brand span{ font-size: 22px; }
	.sx-brand img{ width: 22px; height: 32px; }
}

/* page sections */
.sx-messages:empty{ display: none; }
.sx-messages{ padding-top: 20px; }
.sx-hero{ border-bottom: 1px solid var(--sx-rule); }
.sx-hero .sx-wrap{
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: clamp(28px, 4.5vw, 64px);
	align-items: end;
	padding-top: clamp(32px, 5vw, 72px);
	padding-bottom: clamp(28px, 4.5vw, 64px);
}
.sx-hero-copy{ display: flex; flex-direction: column; gap: 20px; }
.sx-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.sx-columns{
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: clamp(36px, 4.5vw, 64px);
	padding-top: clamp(32px, 4vw, 56px);
	padding-bottom: clamp(40px, 5vw, 72px);
}
.sx-stack{ display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.sx-aside{ display: flex; flex-direction: column; gap: 40px; min-width: 0; }
.sx-section-head{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
@media (max-width: 899px){
	.sx-hero .sx-wrap, .sx-columns{ grid-template-columns: minmax(0, 1fr); }
}

/* paper panels */
.sx-paper{ background: var(--sx-paper); color: var(--sx-ink); border-radius: 4px; }
.sx-paper a{ color: var(--sx-ink); }
.sx-paper .sx-label{ color: var(--sx-paper-muted); }
.sx-box{ border: 1px solid var(--sx-line); border-radius: 4px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.sx-box p{ margin: 0; }

/* body count */
.sx-count{ padding: clamp(20px, 2.4vw, 32px); display: flex; flex-direction: column; gap: 16px; }
.sx-count-main{ display: flex; align-items: baseline; gap: 14px; }
.sx-count-big{ font-family: var(--sx-display); font-size: clamp(80px, 8.5vw, 120px); line-height: 0.9; color: var(--sx-blood-ink); }
.sx-count-main span:last-child{ font-size: 19px; line-height: 1.35; }
.sx-count-row{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; border-top: 1px solid var(--sx-paper-rule); padding-top: 16px; }
.sx-count-row b{ display: block; font-family: var(--sx-display); font-weight: 400; font-size: clamp(28px, 2.6vw, 36px); line-height: 1.1; }
.sx-count-row span{ font-size: 15px; color: var(--sx-paper-muted); }

/* obituary cards */
.sx-obit{ display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 26px; padding: 22px; }
.sx-obit-photo{ width: 168px; height: 210px; object-fit: cover; border-radius: 2px; filter: grayscale(1) contrast(1.05); display: block; background: var(--sx-paper-rule); }
.sx-obit-body{ display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sx-obit-date{ font-family: var(--sx-type); font-size: 14px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--sx-blood-ink); }
.sx-obit .sx-h3 a{ text-decoration: none; }
.sx-obit .sx-h3 a:hover{ text-decoration: underline; }
.sx-obit-text{ font-size: clamp(18px, 1.6vw, 22px); line-height: 1.4; font-style: italic; margin: 0; overflow-wrap: anywhere; }
.sx-obit-text i, .sx-obit-text em{ font-style: normal; }
.sx-obit-meta{ font-size: 15px; color: var(--sx-paper-muted); margin: 2px 0 0; }
.sx-obit--noface{ grid-template-columns: minmax(0, 1fr); }
@media (max-width: 599px){
	.sx-obit{ grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 14px; }
	.sx-obit-photo{ width: 96px; height: 120px; }
	.sx-obit--lead{ grid-template-columns: minmax(0, 1fr); padding: 0; overflow: hidden; }
	.sx-obit--lead .sx-obit-photo{ width: 100%; height: 300px; object-position: 50% 20%; border-radius: 0; }
	.sx-obit--lead .sx-obit-body{ padding: 0 18px 20px; }
}

/* standings */
.sx-table{ width: 100%; border-collapse: collapse; font-size: 16px; font-variant-numeric: tabular-nums; }
.sx-table th{ font-family: var(--sx-type); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sx-muted); font-weight: 400; text-align: left; padding: 8px; }
.sx-table td{ padding: 11px 8px; border-top: 1px solid var(--sx-rule); vertical-align: middle; }
.sx-table tr:last-child td{ border-bottom: 1px solid var(--sx-rule); }
.sx-table th:first-child, .sx-table td:first-child{ padding-left: 0; }
.sx-table th:last-child, .sx-table td:last-child{ padding-right: 0; }
.sx-table .sx-right{ text-align: right; }
.sx-rank{ font-family: var(--sx-display); font-size: 21px; width: 2ch; }
.sx-table tbody tr:first-child .sx-rank{ color: var(--sx-blood-light); }
.sx-table a{ color: var(--sx-text); text-decoration: none; }
.sx-table a:hover{ color: var(--sx-blood-light); }
.sx-sub{ display: block; font-size: 14px; color: var(--sx-muted); }
.sx-scroll{ overflow-x: auto; }

/* forms */
.sx-field{ display: flex; flex-direction: column; gap: 6px; }
.sx-field label{ font-size: 14px; color: var(--sx-muted); font-weight: 400; margin: 0; }
.sx-input{
	font: 16px/1.3 var(--sx-body);
	padding: 11px 13px;
	min-height: 44px;
	box-sizing: border-box;
	width: 100%;
	border-radius: 4px;
	border: 1px solid var(--sx-line);
	background: var(--sx-raised);
	color: var(--sx-text);
}
.sx-small{ font-size: 15px; color: var(--sx-muted); }
select.sx-input{
	-webkit-appearance: none; appearance: none;
	padding-right: 36px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a39d92' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
}
.sx-filter{ display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 12px; }

/* table row states */
.sx-table tr.sx-current td, .sx-table tr.sx-mine td{ background: var(--sx-raised); }
.sx-table tr.sx-current td:first-child a{ color: var(--sx-blood-light); }
.sx-you{ font-family: var(--sx-type); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--sx-ground); background: var(--sx-blood-light); padding: 1px 6px; border-radius: 3px; margin-left: 6px; }
.sx-table tr.sx-hit td{ background: var(--sx-raised); }
.sx-table tr.sx-hit a{ color: var(--sx-blood-light); font-weight: 600; }
.sx-table tr.sx-nofame td{ color: var(--sx-muted); }
.sx-entries .sx-rank{ width: 3ch; }
.sx-phone-only{ display: none; }
@media (max-width: 599px){
	.sx-wide-only{ display: none; }
	.sx-phone-only{ display: block; }
}

/* simple lists */
.sx-list{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sx-list li{ padding: 10px 0; border-top: 1px solid var(--sx-rule); display: flex; justify-content: space-between; gap: 12px; }
.sx-list li:last-child{ border-bottom: 1px solid var(--sx-rule); }
.sx-list a{ color: var(--sx-text); text-decoration: none; }
.sx-list a:hover{ color: var(--sx-blood-light); }

/* guess the stiff + footer */
.sx-guess{ border-top: 1px solid var(--sx-rule); }
.sx-guess .sx-wrap{ padding-top: 40px; padding-bottom: 40px; display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 24px; align-items: baseline; }
.sx-guess blockquote{ margin: 0; padding: 0; border: 0; font-size: clamp(19px, 1.8vw, 24px); line-height: 1.4; font-style: italic; color: var(--sx-soft); }
.sx-guess blockquote i, .sx-guess blockquote em{ font-style: normal; }
@media (max-width: 699px){ .sx-guess .sx-wrap{ grid-template-columns: minmax(0, 1fr); gap: 10px; } }
.sx-footer{ border-top: 1px solid var(--sx-rule); color: var(--sx-muted); font-size: 15px; }
.sx-footer .sx-wrap{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 26px; padding-bottom: max(26px, env(safe-area-inset-bottom, 0px)); }
.sx-footer nav{ display: flex; flex-wrap: wrap; gap: 8px 18px; }
.sx-footer a{ color: var(--sx-muted); }
.sx-tagline{ font-family: var(--sx-type); }

/* celebrity page */
.sx-crumbs{ padding-top: 24px; font-size: 15px; color: var(--sx-muted); display: flex; flex-wrap: wrap; gap: 8px; }
.sx-crumbs a{ color: var(--sx-blood-light); }
.sx-celeb{ display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); padding-top: 24px; padding-bottom: 56px; align-items: start; }
.sx-figure{ margin: 0; }
.sx-figure img{ display: block; width: 100%; aspect-ratio: 420 / 520; object-fit: cover; object-position: 50% 15%; border-radius: 4px 4px 0 0; filter: grayscale(1) contrast(1.05); }
.sx-figure--alive img{ filter: none; }
.sx-facts{ border-radius: 0 0 4px 4px; padding: 16px 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; font-variant-numeric: tabular-nums; }
.sx-facts div{ display: flex; flex-direction: column; gap: 2px; }
.sx-facts span:last-child{ font-size: 16px; }
.sx-credit{ font-size: 13px; color: var(--sx-muted); margin: 8px 0 0; }
.sx-credit a{ color: var(--sx-muted); }
.sx-celeb-main{ display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.sx-celeb-title{ display: flex; flex-direction: column; gap: 12px; }
.sx-celeb-title .sx-h1{ font-size: clamp(54px, 7.5vw, 112px); line-height: 0.92; }
.sx-quote{ margin: 0; padding: 26px 0; border: 0; border-top: 1px solid var(--sx-rule); border-bottom: 1px solid var(--sx-rule); }
.sx-quote p{ margin: 0; font-size: clamp(28px, 3vw, 44px); line-height: 1.2; font-style: italic; overflow-wrap: anywhere; }
.sx-quote p i, .sx-quote p em{ font-style: normal; }
.sx-quote footer{ margin-top: 12px; }
.sx-pair{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sx-stat{ padding: 20px 24px; display: flex; flex-direction: column; gap: 6px; }
.sx-stat p{ margin: 0; display: flex; align-items: baseline; gap: 10px; }
.sx-stat b{ font-family: var(--sx-display); font-weight: 400; font-size: 52px; line-height: 1; color: var(--sx-blood-ink); }
.sx-details{ display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 20px; margin: 0; }
.sx-details dt{ font-family: var(--sx-type); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sx-muted); font-weight: 400; padding-top: 3px; }
.sx-details dd{ margin: 0; }
.sx-share{ display: flex; flex-wrap: wrap; gap: 10px; }
.sx-more{ border-top: 1px solid var(--sx-rule); }
.sx-more .sx-wrap{ padding-top: 44px; padding-bottom: 60px; display: flex; flex-direction: column; gap: 20px; }
.sx-more-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sx-mini{ display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; padding: 12px; align-items: center; text-decoration: none !important; }
.sx-mini img{ width: 88px; height: 108px; object-fit: cover; filter: grayscale(1); display: block; }
.sx-mini strong{ display: block; font-family: var(--sx-display); font-weight: 400; font-size: 22px; line-height: 1.05; text-transform: uppercase; }
.sx-mini span{ font-size: 15px; color: var(--sx-paper-muted); }
.sx-alertbox details{ margin: 0; }
/* directory */
.sx-letters{ display: flex; flex-wrap: wrap; gap: 6px; }
.sx-letters a{ min-width: 40px; height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sx-line); border-radius: 4px; color: var(--sx-text); text-decoration: none; font-family: var(--sx-display); font-size: 19px; }
.sx-letters a:hover{ border-color: var(--sx-muted); color: var(--sx-text); }
.sx-letters a[aria-current]{ background: var(--sx-blood); border-color: var(--sx-blood); color: #fff; }
.sx-tabs{ display: flex; flex-wrap: wrap; gap: 8px; }
.sx-tabs a{ display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 8px 18px; border: 1px solid var(--sx-line); border-radius: 999px; color: var(--sx-text); text-decoration: none; font-weight: 600; }
.sx-tabs a[aria-current]{ background: var(--sx-paper); border-color: var(--sx-paper); color: var(--sx-ink); }
.sx-people{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.sx-noface{ width: 88px; height: 108px; background: var(--sx-paper-rule); display: block; border-radius: 2px; }
.sx-alertbox summary{ cursor: pointer; list-style: none; }
.sx-alertbox summary::-webkit-details-marker{ display: none; }
@media (max-width: 899px){
	.sx-celeb{ grid-template-columns: minmax(0, 1fr); }
	.sx-figure{ margin-left: calc(-1 * max(var(--sx-gutter), env(safe-area-inset-left, 0px))); margin-right: calc(-1 * max(var(--sx-gutter), env(safe-area-inset-right, 0px))); }
	.sx-figure img{ border-radius: 0; max-height: 460px; }
	.sx-facts{ border-radius: 0; }
	.sx-credit{ padding: 0 16px; }
	.sx-more-grid{ grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 599px){
	.sx-pair{ grid-template-columns: minmax(0, 1fr); }
	.sx-share .sx-btn{ flex: 1 1 0; padding-left: 8px; padding-right: 8px; }
}

/* text pages: rules, about, fame, contact */
.sx-hero .sx-wrap.sx-hero--text{ grid-template-columns: minmax(0, 1fr); }
.sx-hero--text .sx-h1{ max-width: 16ch; }
.sx-columns--text{ grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
@media (max-width: 899px){ .sx-columns--text{ grid-template-columns: minmax(0, 1fr); } }
.sx-prose{ max-width: 68ch; font-size: 19px; line-height: 1.65; color: var(--sx-soft); min-width: 0; }
.sx-prose > * + *{ margin-top: 1.1em; }
.sx-prose p, .sx-prose ul, .sx-prose ol{ margin-bottom: 0; }
.sx-prose strong, .sx-prose b{ color: var(--sx-text); }
.sx-prose h2{ font-family: var(--sx-display); font-weight: 400; text-transform: uppercase; letter-spacing: 0.5px; font-size: clamp(30px, 3vw, 40px); line-height: 1.05; color: var(--sx-text); margin: 1.6em 0 0; text-wrap: balance; }
.sx-prose h3{ font-family: var(--sx-type); font-weight: 400; font-size: 16px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sx-blood-light); margin: 1.6em 0 0; line-height: 1.4; }
.sx-prose ul, .sx-prose ol{ padding-left: 1.3em; }
.sx-prose li + li{ margin-top: 0.5em; }
.sx-dropcap::first-letter{ font-family: var(--sx-display); float: left; font-size: 4.6em; line-height: 0.8; padding: 0.06em 0.12em 0 0; color: var(--sx-blood-light); }
.sx-alignright{ float: right; margin: 0.3em 0 0.8em 1.2em; border-radius: 3px; filter: grayscale(1); }
.sx-tiers{ display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.sx-tiers section{ background: var(--sx-paper); color: var(--sx-ink); border-radius: 4px; padding: 18px 20px; font-size: 16px; line-height: 1.5; }
.sx-tiers h3{ margin: 0 0 8px; color: var(--sx-blood-ink); font-size: 14px; }
.sx-tiers ul{ margin: 0; padding-left: 1.1em; }
.sx-places{ font-size: 17px; }
.sx-places th{ font-family: var(--sx-body); font-size: 17px; letter-spacing: 0; text-transform: none; color: var(--sx-text); font-weight: 600; white-space: nowrap; padding: 10px 16px 10px 0; border-top: 1px solid var(--sx-rule); vertical-align: top; }
.sx-places tr:last-child th{ border-bottom: 1px solid var(--sx-rule); }
.sx-commandments li::marker{ font-family: var(--sx-display); color: var(--sx-blood-light); }

/* contact form */
.sx-reasons{ border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sx-reasons legend{ font-size: 17px; color: var(--sx-text); margin-bottom: 12px; padding: 0; border: 0; width: auto; font-weight: 600; }
.sx-reason{ display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 16px; border: 1px solid var(--sx-line); border-radius: 4px; cursor: pointer; font-weight: 400; margin: 0; }
.sx-reason:has(input:checked){ border-color: var(--sx-blood-light); background: var(--sx-raised); }
.sx-reason input{ margin-top: 5px; accent-color: var(--sx-blood); width: 18px; height: 18px; }
.sx-reason strong{ display: block; color: var(--sx-text); }
.sx-reason span span{ display: block; font-size: 16px; color: var(--sx-muted); line-height: 1.45; }
textarea.sx-input{ min-height: 180px; resize: vertical; line-height: 1.5; }
.sx-problem{ border-color: var(--sx-blood-light); }
.sx-problem ul{ margin: 0; padding-left: 1.2em; }

/* most-picked table */
.sx-who{ display: flex; align-items: center; gap: 12px; color: var(--sx-text) !important; text-decoration: none !important; }
.sx-face{ width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; background: var(--sx-raised); display: block; }
.sx-face--dead{ filter: grayscale(1); }
.sx-died{ color: var(--sx-blood-light); }
.sx-picks tr.sx-dead strong{ color: var(--sx-text); }

/* pages still built with Bootstrap markup: restyle the Bootstrap pieces to match */
.sx-legacy{ padding-top: 24px; padding-bottom: 56px; color: var(--sx-soft); font-size: 17px; line-height: 1.55; }
.sx-legacy .container-fluid{ padding-left: 0; padding-right: 0; }
.sx-legacy .row{ margin-left: -12px; margin-right: -12px; }
.sx-legacy [class*="col-"]{ padding-left: 12px; padding-right: 12px; }
/* old pages centre themselves with empty spacer columns; the new page width already does that */
.sx-legacy .sx-spacer{ display: none; }
.sx-legacy .sx-spacer + [class*="col-md-"]{ width: 100%; max-width: 1000px; float: none; }
.sx-legacy h1, .sx-legacy h2, .sx-legacy .h1, .sx-legacy .h2{ font-family: var(--sx-display); font-weight: 400; text-transform: uppercase; letter-spacing: 0.5px; color: var(--sx-text); line-height: 1.05; text-wrap: balance; }
.sx-legacy h1, .sx-legacy .h1{ font-size: clamp(40px, 5.5vw, 72px); margin: 8px 0 16px; }
.sx-legacy h2, .sx-legacy .h2{ font-size: clamp(28px, 3vw, 40px); }
.sx-legacy h3, .sx-legacy h4, .sx-legacy h5{ font-family: var(--sx-body); font-weight: 600; color: var(--sx-text); }
.sx-legacy .special{ font-family: var(--sx-body); }
.sx-legacy h1.special, .sx-legacy h2.special{ font-family: var(--sx-display); }
.sx-legacy .lead{ font-size: clamp(18px, 1.6vw, 21px); color: var(--sx-soft); }
.sx-legacy a{ color: var(--sx-blood-light); }
.sx-legacy .text-muted, .sx-legacy .muted, .sx-legacy .help-block, .sx-legacy small{ color: var(--sx-muted); }
.sx-legacy .text-success{ color: #7fc28f; }
.sx-legacy .text-danger, .sx-legacy .red{ color: var(--sx-blood-light); }
.sx-legacy .text-warning{ color: #e2b158; }
.sx-legacy hr{ border-top-color: var(--sx-rule); }
.sx-legacy .page-header{ border-bottom: 1px solid var(--sx-rule); margin: 8px 0 28px; padding-bottom: 12px; }
.sx-legacy .breadcrumb{ background: transparent; padding: 0; margin-bottom: 12px; font-size: 15px; }
.sx-legacy .breadcrumb > li, .sx-legacy .breadcrumb > .active{ color: var(--sx-muted); }
.sx-legacy .breadcrumb > li + li:before{ color: var(--sx-line); }

/* panels, wells, list groups */
.sx-legacy .panel, .sx-legacy .well, .sx-legacy .list-group-item{ background: var(--sx-raised); border: 1px solid var(--sx-line); border-radius: 4px; box-shadow: none; color: var(--sx-soft); }
.sx-legacy .panel-default > .panel-heading, .sx-legacy .panel-heading{ background: transparent; border-bottom: 1px solid var(--sx-rule); color: var(--sx-text); padding: 14px 18px; }
.sx-legacy .panel-title{ font-family: var(--sx-display); font-weight: 400; text-transform: uppercase; letter-spacing: 0.5px; font-size: 26px; color: var(--sx-text); }
.sx-legacy .panel-body{ padding: 18px; }
.sx-legacy .panel-footer{ background: transparent; border-top: 1px solid var(--sx-rule); }
.sx-legacy .well{ padding: 20px 22px; }
.sx-legacy .list-group-item + .list-group-item{ border-top: 0; }

/* tables */
.sx-legacy .table{ color: var(--sx-soft); background: transparent; font-variant-numeric: tabular-nums; }
.sx-legacy .table > thead > tr > th{ font-family: var(--sx-type); font-weight: 400; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sx-muted); border-bottom: 1px solid var(--sx-line); }
.sx-legacy .table > tbody > tr > td, .sx-legacy .table > tbody > tr > th, .sx-legacy .table > tfoot > tr > td, .sx-legacy .table > thead > tr > td{ border-top: 1px solid var(--sx-rule); vertical-align: middle; }
.sx-legacy .table-striped > tbody > tr:nth-of-type(odd), .sx-legacy .table-striped > tbody > tr:nth-child(odd) > td{ background: rgba(255, 255, 255, 0.025); }
.sx-legacy .table > tbody > tr.warning > td, .sx-legacy .table > tbody > tr.success > td, .sx-legacy .table > tbody > tr.info > td{ background: var(--sx-raised); color: var(--sx-text); }
.sx-legacy .table > tbody > tr.danger > td, .sx-legacy .table > tbody > tr.error > td{ background: #2a1615; color: var(--sx-text); }
.sx-legacy .table a{ color: var(--sx-text); }
.sx-legacy .table a:hover{ color: var(--sx-blood-light); }
.sx-legacy dl dt{ font-family: var(--sx-type); font-weight: 400; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sx-muted); }

/* buttons */
.sx-legacy .btn{ font-family: var(--sx-body); font-weight: 600; border-radius: 4px; border: 1px solid var(--sx-line); background: transparent; color: var(--sx-text); text-shadow: none; box-shadow: none; padding: 9px 18px; font-size: 16px; }
.sx-legacy .btn:hover, .sx-legacy .btn:focus{ border-color: var(--sx-muted); color: var(--sx-text); background: transparent; }
.sx-legacy .btn-lg{ padding: 13px 24px; font-size: 18px; }
.sx-legacy .btn-sm, .sx-legacy .btn-xs, .sx-legacy .btn-mini{ padding: 5px 10px; font-size: 14px; }
.sx-legacy .btn-primary, .sx-legacy .btn-success{ background: var(--sx-blood); border-color: var(--sx-blood); color: #fff; }
.sx-legacy .btn-primary:hover, .sx-legacy .btn-primary:focus, .sx-legacy .btn-success:hover{ background: #a8121a; border-color: #a8121a; color: #fff; }
.sx-legacy .btn-info{ background: var(--sx-paper); border-color: var(--sx-paper); color: var(--sx-ink); }
.sx-legacy .btn-info:hover, .sx-legacy .btn-info:focus{ background: #ffffff; color: var(--sx-ink); }
.sx-legacy .btn-danger{ border-color: #7a2a27; color: var(--sx-blood-light); }

/* forms */
.sx-legacy label, .sx-legacy .control-label{ color: var(--sx-soft); font-weight: 600; }
.sx-legacy .form-control, .sx-legacy select, .sx-legacy textarea, .sx-legacy input[type="text"], .sx-legacy input[type="email"], .sx-legacy input[type="password"], .sx-legacy input[type="number"], .sx-legacy input[type="tel"]{
	background: var(--sx-raised); border: 1px solid var(--sx-line); color: var(--sx-text); border-radius: 4px; box-shadow: none; font-family: var(--sx-body); font-size: 16px; min-height: 44px;
}
.sx-legacy .form-control:focus{ border-color: var(--sx-blood-light); box-shadow: none; }
.sx-legacy .form-control[readonly], .sx-legacy .form-control[disabled]{ background: var(--sx-ground); color: var(--sx-muted); }
.sx-legacy .form-control::placeholder{ color: #6f6a62; }
.sx-legacy .input-group-addon{ background: var(--sx-ground); border-color: var(--sx-line); color: var(--sx-muted); }
.sx-legacy .checkbox label, .sx-legacy .radio label{ font-weight: 400; }
/* side-by-side label/field forms stack instead, so fields get their full width */
.sx-legacy .form-horizontal .form-group{ margin-left: 0; margin-right: 0; }
.sx-legacy .form-horizontal .form-group > [class*="col-"], .sx-legacy .form-horizontal .control-label{ float: none; width: 100%; text-align: left; padding-left: 0; padding-right: 0; }
.sx-legacy .form-horizontal [class*="-offset-"]{ margin-left: 0; }
.sx-legacy .form-horizontal .control-label{ padding-top: 0; margin-bottom: 6px; }
.sx-legacy .input-group{ width: 100%; }

/* alerts */
.sx-legacy .alert{ background: var(--sx-raised); border: 1px solid var(--sx-line); color: var(--sx-soft); border-radius: 4px; text-shadow: none; }
.sx-legacy .alert h3, .sx-legacy .alert h4{ color: var(--sx-text); margin-top: 0; }
.sx-legacy .alert-danger, .sx-legacy .alert-error{ border-color: #7a2a27; }
.sx-legacy .alert-danger h3, .sx-legacy .alert-danger h4, .sx-legacy .alert-error h4{ color: var(--sx-blood-light); }
.sx-legacy .alert-success{ border-color: #2f5d3a; }
.sx-legacy .alert-warning{ border-color: #6b4f1d; }
.sx-legacy .alert .close{ color: var(--sx-text); opacity: 0.6; text-shadow: none; }

/* modals, tabs, pagination, labels */
.sx .modal-content{ background: var(--sx-raised); border: 1px solid var(--sx-line); color: var(--sx-soft); border-radius: 6px; }
.sx .modal-header, .sx .modal-footer{ border-color: var(--sx-rule); }
.sx .modal-title, .sx .modal-header h3{ font-family: var(--sx-display); font-weight: 400; text-transform: uppercase; color: var(--sx-text); }
.sx .modal-backdrop.in{ opacity: 0.75; }
.sx .modal .close{ color: var(--sx-text); text-shadow: none; opacity: 0.7; }
.sx .modal .btn{ font-family: var(--sx-body); font-weight: 600; border-radius: 4px; }
.sx .modal .btn-primary{ background: var(--sx-blood); border-color: var(--sx-blood); }
.sx .modal .btn-danger, .sx .modal .btn-default{ background: transparent; border-color: var(--sx-line); color: var(--sx-text); }
.sx-legacy .nav-tabs{ border-bottom-color: var(--sx-line); }
.sx-legacy .nav-tabs > li > a{ color: var(--sx-muted); border-radius: 4px 4px 0 0; }
.sx-legacy .nav-tabs > li > a:hover{ background: var(--sx-raised); border-color: transparent; color: var(--sx-text); }
.sx-legacy .nav-tabs > li.active > a, .sx-legacy .nav-tabs > li.active > a:hover, .sx-legacy .nav-tabs > li.active > a:focus{ background: var(--sx-raised); color: var(--sx-text); border-color: var(--sx-line) var(--sx-line) transparent; }
.sx-legacy .pagination > li > a, .sx-legacy .pagination > li > span{ background: var(--sx-raised); border-color: var(--sx-line); color: var(--sx-soft); }
.sx-legacy .pagination > .active > a, .sx-legacy .pagination > .active > span{ background: var(--sx-blood); border-color: var(--sx-blood); color: #fff; }
.sx-legacy .label, .sx-legacy .badge{ font-family: var(--sx-type); font-weight: 400; letter-spacing: 0.5px; }
.sx-legacy .img-rounded, .sx-legacy .img-circle{ background: var(--sx-raised); }
.sx-legacy .datepicker{ background: var(--sx-raised); color: var(--sx-soft); }

/* the oldest pages (login, profile, unsubscribe, tags) use the original table-based template */
.sx-legacy .box{ background: var(--sx-raised); border: 1px solid var(--sx-line); border-radius: 4px; padding: 22px 24px; margin: 0 0 24px; max-width: 900px; }
.sx-legacy .boxtitle{ font-family: var(--sx-display); font-weight: 400; text-transform: uppercase; letter-spacing: 0.5px; font-size: clamp(30px, 3.4vw, 46px); color: var(--sx-text); margin: 0 0 16px; }
.sx-legacy table.wide{ width: 100%; border-collapse: collapse; }
.sx-legacy table.wide td{ padding: 10px 8px; border-top: 1px solid var(--sx-rule); vertical-align: top; }
.sx-legacy .table > tbody > tr > td.success, .sx-legacy .table > tbody > tr > td.info, .sx-legacy .table > tbody > tr > td.warning, .sx-legacy .table > tbody > tr > td.active{ background: var(--sx-raised); color: var(--sx-text); font-family: var(--sx-type); letter-spacing: 1px; text-transform: uppercase; font-size: 14px; }
.sx-legacy .table > tbody > tr > td.success a, .sx-legacy .table > tbody > tr > td.info a{ color: var(--sx-blood-light); }
.sx-legacy .table > tbody > tr > td.danger{ background: #2a1615; color: var(--sx-text); }
.sx-legacy .table > thead > tr > *, .sx-legacy .table > thead > tr[class] > *{ background: transparent !important; color: var(--sx-muted); }
.sx-legacy table.table-bordered, .sx-legacy table.table-bordered > tbody > tr > td, .sx-legacy table.table-bordered > tbody > tr > th{ border: 0; }
.sx-legacy table.table-bordered > tbody > tr > td{ padding: 8px 10px 8px 0; vertical-align: top; }
.sx-legacy td.label{ display: table-cell; border-radius: 0; line-height: 1.4; }
.sx-legacy td.label label{ font-family: var(--sx-type); font-weight: 400; font-size: 13px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--sx-muted); margin: 10px 0 0; }
.sx-legacy td.message, .sx-legacy td.info{ background: var(--sx-raised); color: var(--sx-text); border: 1px solid var(--sx-line) !important; padding: 10px 12px !important; }
.sx-legacy fieldset + fieldset{ margin-top: 20px; }
.sx-legacy fieldset{ min-width: 0; }
@media (max-width: 599px){
	.sx-legacy .box{ padding: 16px; }
	.sx-legacy fieldset{ padding: 16px; }
	.sx-legacy .box table, .sx-legacy .box tbody, .sx-legacy .box tr, .sx-legacy .box td{ display: block; width: 100% !important; box-sizing: border-box; }
	.sx-legacy .box td{ padding: 4px 0 !important; }
	.sx-legacy .box td.label label{ margin-top: 12px; }
}
@media (max-width: 899px){
	.sx-legacy table.table-bordered.wide > tbody > tr > td{ display: block; width: 100% !important; }
}
.sx-legacy table.wide td.label, .sx-legacy td.minicol{ font-family: var(--sx-type); font-weight: 400; font-size: 13px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--sx-muted); background: none; text-align: left; white-space: nowrap; }
.sx-legacy span.label{ font-family: var(--sx-body); font-size: inherit; color: var(--sx-muted); padding: 0; }
.sx-legacy .row0 td, .sx-legacy .row1 td{ background: transparent; }
.sx-legacy .main, .sx-legacy .p10{ padding: 0; float: none !important; }
.sx-legacy fieldset{ border: 1px solid var(--sx-line); border-radius: 4px; padding: 22px 24px; max-width: 560px; background: var(--sx-raised); }
.sx-legacy legend{ font-family: var(--sx-display); text-transform: uppercase; font-size: 32px; color: var(--sx-text); border: 0; width: auto; padding: 0 8px; margin: 0; }
.sx-legacy input.button, .sx-legacy input.b1, .sx-legacy input[type="submit"]:not(.btn), .sx-legacy button:not(.btn):not(.sx-btn):not(.close){
	font: 600 16px/1.2 var(--sx-body); background: var(--sx-blood); color: #fff; border: 1px solid var(--sx-blood); border-radius: 4px; padding: 11px 20px; min-height: 44px; cursor: pointer;
}
.sx-legacy input.login, .sx-legacy input.txtwide, .sx-legacy input.txtmed, .sx-legacy input.txt300{ width: 100%; max-width: 420px; padding: 10px 12px; }
.sx-legacy .message{ border: 1px solid var(--sx-blood-light); border-radius: 4px; padding: 12px 16px; margin: 0 0 16px; color: var(--sx-text); background: #2a1615; }
.sx-legacy .message.info{ border-color: var(--sx-line); background: var(--sx-raised); }
.sx-legacy .right{ text-align: right; }
.sx-legacy .fl{ float: left; }
.sx-legacy .fr{ float: right; }
.sx-legacy .italic{ font-style: italic; }
.sx-legacy .stiffsfont, .sx-legacy .elite{ font-family: var(--sx-type); }

/* Select-O-Matic in the new frame: picks on the left, suggestions on the right */
.sx-legacy.sx-som{ padding-top: 32px; }
.sx-som > table{ width: 100%; background: none; margin: 0; }
.sx-som > table > tbody > tr{ display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 36px; background: none !important; }
.sx-som > table > tbody > tr > td{ display: block; width: auto !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
@media (max-width: 899px){ .sx-som > table > tbody > tr{ grid-template-columns: minmax(0, 1fr); gap: 20px; } }
.sx-som #stifflist > table{ background: var(--sx-raised); border: 1px solid var(--sx-line); border-radius: 4px; }
.sx-som #stifflist > table > tbody > tr > td, .sx-som #stifflist > table > tbody > tr > th{ border-top: 1px solid var(--sx-rule); padding: 10px 12px; background: none !important; vertical-align: middle; }
.sx-som #stifflist label{ font-family: var(--sx-display); font-weight: 400; font-size: 18px; color: var(--sx-text); white-space: nowrap; }
.sx-som #stifflist input.txt250{ width: 100%; }
.sx-som #stifflist input[readonly]{ background: var(--sx-ground); border-color: var(--sx-rule); }
.sx-som #stifflist input.button{ margin-top: 6px; min-height: 36px; padding: 6px 12px; font-size: 14px; background: transparent; border-color: var(--sx-line); color: var(--sx-text); }
.sx-som .green{ color: #7fc28f; font-size: 14px; }
.sx-som .red{ color: var(--sx-blood-light); }
.sx-som .bold{ font-weight: 600; }
.sx-som .italic{ font-style: italic; }
.sx-som #showhide, .sx-som #rules, .sx-som #rules + hr{ display: none !important; }
.sx-som div.info{ text-align: left !important; }
.sx-som #foo{ float: none !important; padding: 0 !important; margin: 16px 0 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.sx-som #foo > div{ float: none !important; margin: 0 !important; display: flex; flex-direction: column; gap: 6px; flex: 1 1 200px; }
.sx-som .somitem{ cursor: pointer; padding: 10px 12px; border: 1px solid var(--sx-line); border-radius: 4px; background: var(--sx-raised); color: var(--sx-text); }
.sx-som .somitem:hover{ border-color: var(--sx-blood-light); }
.sx-som .somwarning{ color: var(--sx-blood-light); padding: 10px 0; }

/* Select-O-Matic list form */
.sx-legacy td:has(> #stifflist){ width: 56%; min-width: 340px; }
.sx-legacy #stifflist input.txt250{ width: 100%; min-width: 0; }
.sx-legacy #stifflist td:first-child{ white-space: nowrap; }
.sx-legacy .table > thead > tr > td, .sx-legacy td.columnheader, .sx-legacy th.columnheader, .sx-legacy tr.columnheader > *{ background: transparent !important; color: var(--sx-muted); font-family: var(--sx-type); letter-spacing: 1.2px; text-transform: uppercase; font-size: 13px; }
@media (max-width: 899px){
	.sx-legacy td:has(> #stifflist), .sx-legacy td:has(> #stifflist) ~ td{ display: block; width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce){
	.sx *{ transition: none !important; animation: none !important; }
}

/* ---------- account pages: login, register, profile, checkout ---------- */
.sx-auth{ max-width: 560px; padding-top: 36px; padding-bottom: 64px; }
.sx-problem:not(.sx-box), .sx-done{ border: 1px solid var(--sx-line); border-left: 4px solid var(--sx-blood-light); border-radius: 4px; padding: 12px 16px; margin: 0 0 16px; }
.sx-done{ border-left-color: var(--sx-paper); }
.sx-sr{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sx-card .sx-pair, .sx-card .sx-filter{ gap: 12px; }
.sx-seal{ display: flex; justify-content: center; padding-top: 8px; }
.sx-seal a{ font-size: 12px; }
.sx-addresses summary{ cursor: pointer; }
.sx-address + .sx-address{ border-top: 1px solid var(--sx-line); padding-top: 14px; }
.sx-som #listname{ width: 100%; max-width: 360px; }
.sx-som #listname + .italic{ display: block; margin-top: 4px; }
