/* ==========================================================================
   Shed City USA — 2026 redesign
   Barn red from the Shed City wordmark, warm cream and deep pine.
   ========================================================================== */

:root {
	--scr-red: #a9362f;
	--scr-red-dark: #87281f;
	--scr-red-brand: #bf3e3e;
	--scr-ink: #231f1c;
	--scr-ink-2: #4b443e;
	--scr-muted: #6b625a;
	--scr-paper: #fffdf9;
	--scr-cream: #f5efe4;
	--scr-cream-2: #ebe2d2;
	--scr-line: #ddd2c0;
	--scr-pine: #22302a;
	--scr-pine-2: #2e3f37;
	--scr-tan: #d8b27a;
	--scr-focus: #1f6feb;
	--scr-radius: 10px;
	--scr-radius-lg: 16px;
	--scr-shadow: 0 1px 2px rgba(35, 31, 28, .06), 0 6px 20px rgba(35, 31, 28, .08);
	--scr-shadow-lg: 0 2px 6px rgba(35, 31, 28, .08), 0 18px 40px rgba(35, 31, 28, .14);
	--scr-font: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--scr-display: "Bitter", Georgia, "Times New Roman", serif;
	--scr-wrap: 1240px;
	--scr-gutter: 16px;
	--scr-header-h: 68px;
}
@media (min-width: 640px) { :root { --scr-gutter: 24px; } }
@media (min-width: 1180px) { :root { --scr-header-h: 80px; } }

/* ---------- Base (overrides child theme defaults) ---------- */
/* Child theme caps `.woocommerce-page, body.woocommerce` at max-width:1440px (meant for an inner wrapper); on <body> that leaves a gap on wide screens. */
body.scr {
	padding: 0 !important;
	margin: 0;
	max-width: none;
	width: auto;
	background: var(--scr-paper);
	color: var(--scr-ink);
	font-family: var(--scr-font);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
body.scr h1, body.scr h2, body.scr h3, body.scr h4 {
	font-family: var(--scr-display);
	color: var(--scr-ink);
	line-height: 1.18;
	letter-spacing: -0.01em;
	font-weight: 800;
}
body.scr a { color: var(--scr-red); text-underline-offset: 2px; }
body.scr a:hover { color: var(--scr-red-dark); }
body.scr :focus-visible {
	outline: 3px solid var(--scr-focus);
	outline-offset: 2px;
	border-radius: 4px;
}
body.scr img { max-width: 100%; height: auto; }

.scr-wrap {
	width: 100%;
	max-width: var(--scr-wrap);
	margin-inline: auto;
	padding-inline: var(--scr-gutter);
	box-sizing: border-box;
}
.scr *, .scr *::before, .scr *::after { box-sizing: border-box; }
.scr-icon { width: 1.15em; height: 1.15em; fill: currentColor; flex: none; vertical-align: -0.18em; }
.screen-reader-text:focus { z-index: 100000; }

/* Elementor pages pick up the same fonts and red */
body.scr.elementor-kit-6198 {
	--e-global-color-primary: var(--scr-red);
	--e-global-color-text: var(--scr-ink-2);
	--e-global-typography-primary-font-family: "Bitter";
	--e-global-typography-secondary-font-family: "Bitter";
	--e-global-typography-text-font-family: "Source Sans 3";
	--e-global-typography-accent-font-family: "Source Sans 3";
	--e-global-typography-primary-font-weight: 800;
	--e-global-typography-secondary-font-weight: 800;
}
/* Elementor's generated CSS colors heading widgets with the kit primary (red) at (0,2,0); headings are ink in this design. */
body.scr .elementor-widget-heading .elementor-heading-title { color: var(--scr-ink); font-family: var(--scr-display); font-weight: 800; }

/* ---------- Buttons ---------- */
.scr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 48px;
	padding: .7em 1.3em;
	border-radius: 999px;
	border: 2px solid transparent;
	font-family: var(--scr-font);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.15;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
	text-align: center;
}
.scr-btn .scr-icon { width: 1.1em; height: 1.1em; }
.scr-btn--lg { min-height: 56px; padding: .85em 1.6em; font-size: 1.08rem; }
.scr-btn--small { min-height: 40px; padding: .45em 1em; font-size: .92rem; }
body.scr .scr-btn--primary { background: var(--scr-red); color: #fff; }
body.scr .scr-btn--primary:hover { background: var(--scr-red-dark); color: #fff; }
body.scr .scr-btn--light { background: #fff; color: var(--scr-ink); border-color: #fff; }
body.scr .scr-btn--light:hover { background: var(--scr-cream); color: var(--scr-ink); }
body.scr .scr-btn--outline { background: transparent; color: var(--scr-ink); border-color: var(--scr-ink); }
body.scr .scr-btn--outline:hover { background: var(--scr-ink); color: #fff; }
body.scr .scr-btn--ghost { background: transparent; color: var(--scr-red); padding-inline: .6em; }
body.scr .scr-btn--ghost:hover { color: var(--scr-red-dark); text-decoration: underline !important; }
.scr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.4rem; align-items: center; }

.scr-link {
	display: inline-flex; align-items: center; gap: .4em;
	font-weight: 700; text-decoration: none;
}
.scr-link:hover { text-decoration: underline; }
body.scr .scr-link--light { color: #fff; }
body.scr .scr-link--light:hover { color: var(--scr-tan); }

.scr-eyebrow {
	display: inline-flex; align-items: center; gap: .45em;
	margin: 0 0 .6rem;
	font-size: .82rem; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--scr-red);
}

/* ---------- Phone links ---------- */
.scr-phone {
	display: inline-flex; align-items: baseline; gap: .35em;
	text-decoration: none !important; white-space: nowrap;
	font-weight: 700;
}
.scr-phone__label {
	font-size: .72em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--scr-muted);
}
.scr-phonepair { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; }
.scr-phonepair--stack { flex-direction: column; gap: .5rem; }
.scr-phonepair .scr-phone { font-size: 1.12rem; color: var(--scr-ink); }
.scr-phonepair .scr-phone:hover .scr-phone__num { color: var(--scr-red); text-decoration: underline; }
.scr-phonepair--onDark .scr-phone, body.scr .scr-phonepair--onDark .scr-phone { color: #fff; }
.scr-phonepair--onDark .scr-phone__label { color: var(--scr-tan); }
.scr-phonepair--onDark .scr-phone:hover .scr-phone__num { color: #fff; }

/* ---------- Announcement + utility bars ---------- */
.scr-announce { background: var(--scr-red); color: #fff; font-size: .93rem; }
.scr-announce__inner { padding-block: .55rem; text-align: center; }
.scr-announce p { margin: 0; }
.scr-announce strong { font-weight: 700; }
body.scr .scr-announce a { color: #fff; font-weight: 700; margin-left: .5em; text-decoration: underline; white-space: nowrap; }
body.scr .scr-announce a:hover { color: var(--scr-cream); }

.scr-util { display: none; background: var(--scr-cream); border-bottom: 1px solid var(--scr-line); font-size: .9rem; }
.scr-util__inner { display: flex; justify-content: space-between; align-items: center; min-height: 38px; gap: 1rem; }
.scr-util__claim { margin: 0; color: var(--scr-ink-2); font-weight: 600; }
.scr-util__phones { display: flex; gap: 1.5rem; }
.scr-util__phones .scr-phone { color: var(--scr-ink); font-size: .98rem; }
.scr-util__phones .scr-phone:hover .scr-phone__num { color: var(--scr-red); }
@media (min-width: 960px) { .scr-util { display: block; } }

/* ---------- Header ---------- */
.scr-header {
	position: sticky; top: 0; z-index: 990;
	background: #fff;
	border-bottom: 1px solid var(--scr-line);
	box-shadow: 0 2px 10px rgba(35, 31, 28, .05);
}
body.admin-bar .scr-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .scr-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .scr-header { top: 0; } }
.scr-header__inner {
	display: flex; align-items: center; gap: 1rem;
	min-height: var(--scr-header-h);
}
.scr-brand { display: inline-flex; flex-direction: column; text-decoration: none !important; line-height: 1; margin-right: auto; }
.scr-brand__name {
	font-family: "Cinzel", Georgia, serif; font-weight: 700;
	font-size: 1.55rem; color: var(--scr-red-brand); letter-spacing: .01em; white-space: nowrap;
}
.scr-brand__tag {
	margin-top: .3rem; font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--scr-muted); white-space: nowrap;
}
.scr-brand:hover .scr-brand__name { color: var(--scr-red-dark); }
@media (min-width: 400px) { .scr-brand__name { font-size: 1.75rem; } }
@media (min-width: 1180px) { .scr-brand__name { font-size: 2rem; } .scr-brand__tag { font-size: .7rem; } }

.scr-header__actions { display: flex; align-items: center; gap: .5rem; }
.scr-cart {
	position: relative; display: inline-grid; place-items: center;
	width: 44px; height: 44px; border-radius: 50%; color: var(--scr-ink) !important;
}
.scr-cart:hover { background: var(--scr-cream); }
.scr-cart__count {
	position: absolute; top: 2px; right: 0; min-width: 19px; height: 19px; padding: 0 5px;
	border-radius: 999px; background: var(--scr-red); color: #fff; font-size: .72rem; font-weight: 700;
	display: grid; place-items: center;
}
.scr-header__call { min-height: 44px; padding: .45em 1em; }
.scr-header__call-text { display: none; flex-direction: column; align-items: flex-start; line-height: 1.1; font-size: 1.05rem; white-space: nowrap; }
.scr-header__call { border-radius: 999px; white-space: nowrap; }
.scr-header__call-text small { font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; opacity: .9; font-weight: 700; }
@media (min-width: 640px) {
	.scr-header__call-text { display: inline-flex; }
	.scr-header__call-short { display: none; }
}
.scr-menu-toggle {
	display: inline-flex; align-items: center; gap: .35rem;
	min-height: 44px; padding: 0 .8rem; border-radius: 999px;
	border: 2px solid var(--scr-ink) !important; background: #fff !important; color: var(--scr-ink) !important;
	font: 700 .95rem/1 var(--scr-font); cursor: pointer;
}
.scr-menu-toggle .scr-icon--close { display: none; }
.scr-nav-open .scr-menu-toggle .scr-icon--close { display: inline; }
.scr-nav-open .scr-menu-toggle .scr-icon--menu { display: none; }
@media (max-width: 399px) { .scr-menu-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* Nav: mobile drawer */
.scr-nav { display: none; }
.scr-nav ul { list-style: none; margin: 0; padding: 0; }
.scr-nav a { text-decoration: none !important; }
.scr-nav-open .scr-nav {
	display: block;
	position: fixed; left: 0; right: 0; bottom: 0;
	top: var(--scr-nav-top, var(--scr-header-h));
	background: #fff; overflow-y: auto; overscroll-behavior: contain;
	padding: .5rem var(--scr-gutter) 6rem;
	border-top: 1px solid var(--scr-line);
	z-index: 989;
}
.scr-nav-open { overflow: hidden; }
.scr-nav .menu > li { border-bottom: 1px solid var(--scr-line); position: relative; }
.scr-nav .menu > li > a {
	display: flex; align-items: center; min-height: 54px; padding-right: 54px;
	font-weight: 700; font-size: 1.1rem; color: var(--scr-ink);
}
.scr-nav .sub-menu { display: none; padding: 0 0 .8rem .9rem; }
.scr-nav .is-open > .sub-menu { display: block; }
.scr-nav .sub-menu a { display: block; padding: .55rem 0; color: var(--scr-ink-2); font-size: 1.02rem; font-weight: 600; }
.scr-nav .sub-menu a:hover, .scr-nav .menu > li > a:hover { color: var(--scr-red); }
.scr-subtoggle {
	position: absolute; right: -8px; top: 5px; width: 44px; height: 44px;
	display: grid; place-items: center; border: 0 !important; background: transparent !important;
	color: var(--scr-ink) !important; border-radius: 50%; cursor: pointer; padding: 0;
}
.scr-subtoggle .scr-icon { transition: transform .2s ease; }
.scr-nav .is-open > .scr-subtoggle .scr-icon { transform: rotate(180deg); }
.scr-nav__mobile-extra { padding: 1.4rem 0; }
.scr-nav__mobile-title { margin: 0 0 .6rem; font-weight: 700; color: var(--scr-muted); font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; }
.scr-nav__mobile-extra .scr-phone { font-size: 1.3rem; }
.scr-nav__cart { display: inline-block; margin-top: 1rem; font-weight: 700; }

/* Nav: desktop bar */
@media (min-width: 1180px) {
	.scr-menu-toggle { display: none; }
	.scr-nav, .scr-nav-open .scr-nav {
		display: block; position: static; padding: 0; overflow: visible; border: 0; background: none;
	}
	.scr-nav-open { overflow: visible; }
	.scr-nav__mobile-extra { display: none; }
	.scr-nav .menu { display: flex; align-items: center; gap: .1rem; }
	.scr-nav .menu > li { border: 0; }
	.scr-nav .menu > li > a {
		min-height: var(--scr-header-h); padding: 0 .62rem; font-size: .98rem; font-weight: 700;
		border-bottom: 3px solid transparent; white-space: nowrap;
	}
	.scr-nav .menu > li.menu-item-has-children > a { padding-right: 1.45rem; }
	.scr-nav .menu > li.current-menu-item > a,
	.scr-nav .menu > li.current-menu-ancestor > a,
	.scr-nav .menu > li > a:hover { color: var(--scr-red); border-bottom-color: var(--scr-red); }
	.scr-subtoggle { right: 0; top: 50%; width: 22px; height: 30px; transform: translateY(-50%); }
	.scr-subtoggle .scr-icon { width: 16px; height: 16px; }
	.scr-nav .sub-menu {
		display: block; visibility: hidden; opacity: 0;
		position: absolute; top: calc(100% - 6px); left: -.4rem; min-width: 250px;
		background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius);
		box-shadow: var(--scr-shadow-lg); padding: .5rem; transform: translateY(6px);
		transition: opacity .15s ease, transform .15s ease, visibility .15s;
	}
	.scr-nav li:hover > .sub-menu,
	.scr-nav li:focus-within > .sub-menu,
	.scr-nav .is-open > .sub-menu { visibility: visible; opacity: 1; transform: none; }
	/* Escape dismisses a submenu even while focus stays on its toggle (:focus-within); cleared on focus/mouse leave. */
	.scr-nav li.scr-dismissed > .sub-menu { visibility: hidden; opacity: 0; }
	.scr-nav .sub-menu a { padding: .55rem .8rem; border-radius: 6px; font-size: .97rem; }
	.scr-nav .sub-menu a:hover { background: var(--scr-cream); color: var(--scr-red); }
	.scr-header__actions { margin-left: .4rem; }
}
@media (min-width: 1180px) and (max-width: 1439px) {
	.scr-nav .menu > li > a { padding-inline: .4rem; font-size: .92rem; }
	.scr-nav .menu > li.menu-item-has-children > a { padding-right: 1.25rem; }
	.scr-brand__tag { display: none; }
	.scr-brand__name { font-size: 1.75rem; }
	.scr-header__inner { gap: .6rem; }
	.scr-header__call { padding-inline: .8em; }
}

/* ---------- Sections ---------- */
.scr-section { padding-block: clamp(3.2rem, 7vw, 5.5rem); }
.scr-section--tint { background: var(--scr-cream); }
.scr-section--dark { background: var(--scr-pine); color: #e9e4da; }
body.scr .scr-section--dark h2, body.scr .scr-section--dark h3 { color: #fff; }
.scr-section--dark .scr-eyebrow { color: var(--scr-tan); }
.scr-section__head { max-width: 760px; margin-bottom: clamp(1.8rem, 4vw, 2.8rem); }
.scr-section__head h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin: 0 0 .7rem; }
.scr-section__head p { margin: 0; color: var(--scr-ink-2); font-size: 1.08rem; }
.scr-section--dark .scr-section__head p { color: #d9d2c4; }
.scr-section__head--split { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1.2rem 2rem; }
.scr-section__head--split > div { max-width: 700px; }
.scr-lead { font-size: 1.15rem; color: var(--scr-ink-2); }

/* ---------- Hero ---------- */
.scr-hero { position: relative; isolation: isolate; color: #fff; overflow: hidden; background: var(--scr-pine); }
.scr-hero__media { position: relative; aspect-ratio: 16 / 10; max-height: 52vh; width: 100%; }
.scr-hero__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: 30% 55%; }
.scr-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(34, 48, 42, 0) 55%, var(--scr-pine) 100%);
}
@media (min-width: 900px) {
	.scr-hero__media { position: absolute; inset: 0 0 0 auto; width: 54%; aspect-ratio: auto; max-height: none; }
	.scr-hero__media img { object-position: 22% 50%; }
	.scr-hero__media::after {
		background: linear-gradient(90deg, var(--scr-pine) 0%, rgba(34, 48, 42, .55) 18%, rgba(34, 48, 42, 0) 42%);
	}
	.scr-hero__content { max-width: min(620px, 46vw) !important; }
}
@media (min-width: 1300px) { .scr-hero__media { width: 56%; } }
.scr-hero__inner { position: relative; z-index: 1; padding-block: 1.2rem 3.5rem; }
@media (min-width: 900px) { .scr-hero__inner { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(5rem, 9vw, 7.5rem); } }
.scr-hero__content { max-width: 680px; }
.scr-hero__badge {
	display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 1.2rem;
	padding: .4rem 1rem .4rem .45rem; border-radius: 999px;
	background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28);
	backdrop-filter: blur(4px);
	font-size: .78rem; font-weight: 700; line-height: 1.05; letter-spacing: .1em; text-transform: uppercase;
}
.scr-hero__years {
	display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%;
	background: var(--scr-red); font-family: var(--scr-display); font-size: 1.2rem; letter-spacing: 0;
}
body.scr .scr-hero__title {
	color: #fff; margin: 0 0 1rem;
	font-size: clamp(2rem, 5.2vw, 3.5rem); line-height: 1.07; letter-spacing: -.02em;
	text-wrap: balance;
}
.scr-hero__title span { color: var(--scr-tan); }
@media (min-width: 900px) { body.scr .scr-hero__title { font-size: clamp(2.1rem, 3.5vw, 3.4rem); } }
.scr-hero__lead { font-size: clamp(1.08rem, 2vw, 1.28rem); max-width: 600px; margin: 0 0 1.8rem; color: #f1ece3; }
.scr-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.scr-hero__call { margin-top: 2rem; padding-top: 1.3rem; border-top: 1px solid rgba(255, 255, 255, .22); }
.scr-hero__call p { margin: 0 0 .35rem; font-size: .9rem; color: #e2dccf; }
.scr-hero__call .scr-phone { font-size: 1.3rem; }
@media (max-width: 479px) { .scr-hero__actions .scr-btn { width: 100%; } }

/* ---------- Promotion ---------- */
.scr-promo { padding-block: clamp(2rem, 5vw, 3.5rem) 0; }
.scr-promo--page { padding-block: 1.5rem; }
.scr-promo--home { margin-top: clamp(-4.5rem, -6vw, -2rem); position: relative; z-index: 2; }
.scr-promo__card {
	background: #fff; border-radius: var(--scr-radius-lg); box-shadow: var(--scr-shadow-lg);
	border-top: 6px solid var(--scr-red);
	padding: clamp(1.4rem, 4vw, 2.6rem);
	display: grid; gap: 1.4rem 2.4rem;
}
@media (min-width: 900px) {
	.scr-promo__card { grid-template-columns: 1.1fr 1fr; }
	.scr-promo__head, .scr-promo__actions, .scr-promo__phones { grid-column: 1 / -1; }
}
.scr-promo__title { margin: 0; font-size: clamp(1.6rem, 3.6vw, 2.5rem); color: var(--scr-red) !important; }
.scr-promo__intro { margin: .5rem 0 0; font-size: 1.12rem; font-weight: 600; color: var(--scr-ink-2); }
.scr-promo__offers { display: grid; gap: 1rem; }
@media (min-width: 640px) { .scr-promo__offers { grid-template-columns: 1fr 1fr; } }
.scr-promo__offer { background: var(--scr-cream); border-radius: var(--scr-radius); padding: 1.1rem 1.2rem; }
.scr-promo__offer h3 { margin: 0 0 .35rem; font-size: 1.15rem; }
.scr-promo__offer p { margin: 0; color: var(--scr-ink-2); }
.scr-promo__terms-title { margin: 0 0 .5rem; font-family: var(--scr-font) !important; font-size: .82rem !important; letter-spacing: .12em; text-transform: uppercase; color: var(--scr-muted) !important; font-weight: 700 !important; }
.scr-promo__actions { display: flex; flex-wrap: wrap; gap: 12px; }
body.scr .scr-promo__actions .scr-btn--light { border-color: var(--scr-ink); }
.scr-promo__phones { margin: 0; color: var(--scr-ink-2); display: flex; flex-wrap: wrap; gap: .3rem .8rem; align-items: baseline; }
.scr-promo__phones .scr-phone { color: var(--scr-ink); }

.scr-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.scr-checklist li { display: flex; gap: .55rem; align-items: flex-start; }
.scr-checklist .scr-icon { color: var(--scr-red); margin-top: .22em; }

/* ---------- Trust strip ---------- */
.scr-trust { padding-block: clamp(2.2rem, 5vw, 3.2rem); border-bottom: 1px solid var(--scr-line); }
.scr-trust__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem 1.6rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.scr-trust__list li { display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: center; }
.scr-trust__list .scr-icon {
	grid-row: span 2; width: 48px; height: 48px; padding: 11px; border-radius: 50%;
	background: var(--scr-cream); color: var(--scr-red);
}
.scr-trust__list strong { font-family: var(--scr-display); font-size: 1.12rem; line-height: 1.2; }
.scr-trust__list span { color: var(--scr-muted); font-size: .97rem; }

/* ---------- Building types ---------- */
.scr-types__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }
@media (min-width: 640px) { .scr-types__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .scr-types__grid { grid-template-columns: repeat(4, 1fr); } }
.scr-type { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); overflow: hidden; box-shadow: var(--scr-shadow); }
.scr-type__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--scr-cream); }
.scr-type__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.scr-type:hover .scr-type__media img { transform: scale(1.04); }
.scr-type__body { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.scr-type__body h3 { margin: 0 0 .4rem; font-size: 1.35rem; }
body.scr .scr-type__body h3 a { color: var(--scr-ink); text-decoration: none; }
body.scr .scr-type__body h3 a:hover { color: var(--scr-red); }
.scr-type__body > p { margin: 0 0 1rem; color: var(--scr-ink-2); font-size: .98rem; }
.scr-type__styles { list-style: none; margin: 0 0 1.1rem; padding: 0; border-top: 1px solid var(--scr-line); }
.scr-type__styles li { border-bottom: 1px solid var(--scr-line); }
.scr-type__styles a {
	display: flex; justify-content: space-between; gap: .8rem; align-items: baseline;
	padding: .55rem 0; min-height: 44px; align-items: center;
	text-decoration: none; color: var(--scr-ink) !important; font-weight: 600; font-size: .98rem;
}
.scr-type__styles a:hover span { color: var(--scr-red); text-decoration: underline; }
.scr-type__styles em { font-style: normal; color: var(--scr-muted); font-size: .9rem; white-space: nowrap; font-weight: 600; }
.scr-type__body .scr-link { margin-top: auto; }

/* ---------- Inventory ---------- */
.scr-inv { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (min-width: 760px) { .scr-inv { grid-template-columns: repeat(3, 1fr); gap: 1.2rem; } }
@media (min-width: 1100px) { .scr-inv { grid-template-columns: repeat(4, 1fr); } }
.scr-inv__link { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--scr-radius); overflow: hidden; text-decoration: none !important; color: var(--scr-ink) !important; box-shadow: var(--scr-shadow); transition: box-shadow .2s ease, transform .2s ease; }
.scr-inv__link:hover { box-shadow: var(--scr-shadow-lg); transform: translateY(-2px); }
.scr-inv__media { position: relative; display: block; aspect-ratio: 1 / 1; background: var(--scr-cream-2); }
.scr-inv__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scr-inv__body { padding: .8rem .9rem 1rem; display: flex; flex-direction: column; gap: .3rem; flex: 1; }
.scr-inv__loc { display: inline-flex; gap: .25rem; align-items: center; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--scr-muted); }
.scr-inv__loc .scr-icon { width: 14px; height: 14px; color: var(--scr-red); }
.scr-inv__name { font-weight: 700; line-height: 1.3; font-size: .98rem; }
.scr-inv__price { margin-top: auto; font-weight: 700; color: var(--scr-red); }
.scr-inv__price del { color: var(--scr-muted); font-weight: 400; margin-right: .3em; }
.scr-inv__price ins { text-decoration: none; }
.is-sold .scr-inv__price { color: var(--scr-muted); }
.is-sold .scr-inv__media img { filter: grayscale(.5); opacity: .85; }
.scr-badge { position: absolute; top: .6rem; left: .6rem; padding: .25rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.scr-badge--sale { background: var(--scr-red); color: #fff; }
.scr-badge--sold { background: var(--scr-ink); color: #fff; }
.scr-lots { margin-top: 2.4rem; padding: 1.3rem 1.4rem; background: #fff; border-radius: var(--scr-radius); border: 1px solid var(--scr-line); }
.scr-lots__title { display: flex; align-items: center; gap: .5rem; margin: 0 0 .8rem; font-size: 1.15rem; }
.scr-lots__title .scr-icon { color: var(--scr-red); }
.scr-lots__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem 1.6rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.scr-lots__list li { line-height: 1.35; }
.scr-lots__list strong { display: block; }
.scr-lots__list span { color: var(--scr-muted); font-size: .95rem; }

/* ---------- Split (custom) ---------- */
.scr-split { display: grid; gap: 2.2rem; align-items: center; }
@media (min-width: 960px) { .scr-split { grid-template-columns: 1fr 1fr; gap: 3.5rem; } }
.scr-split__text h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin: 0 0 .9rem; }
.scr-custom__media { position: relative; padding-bottom: 2.5rem; }
.scr-custom__main { margin: 0; border-radius: var(--scr-radius-lg); overflow: hidden; box-shadow: var(--scr-shadow-lg); }
.scr-custom__main img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.scr-custom__main figcaption { padding: .6rem .9rem; background: #fff; font-size: .9rem; color: var(--scr-muted); }
.scr-custom__inset { position: absolute; right: -6px; bottom: 0; width: 42%; margin: 0; border: 6px solid var(--scr-paper); border-radius: var(--scr-radius); overflow: hidden; box-shadow: var(--scr-shadow-lg); }
.scr-custom__inset img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
@media (max-width: 639px) { .scr-custom__inset { display: none; } .scr-custom__media { padding-bottom: 0; } }
.scr-chips { list-style: none; margin: 1.2rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.scr-chips li { padding: .35rem .8rem; border-radius: 999px; background: var(--scr-cream); border: 1px solid var(--scr-line); font-weight: 600; font-size: .93rem; color: var(--scr-ink-2); }

/* ---------- Delivery ---------- */
.scr-delivery__grid { display: grid; gap: 1.2rem; }
@media (min-width: 900px) { .scr-delivery__grid { grid-template-columns: repeat(3, 1fr); } }
.scr-delivery__card { background: var(--scr-pine-2); border: 1px solid rgba(255, 255, 255, .08); border-radius: var(--scr-radius-lg); padding: 1.4rem 1.4rem 1.5rem; }
.scr-delivery__card > .scr-icon { width: 40px; height: 40px; color: var(--scr-tan); margin-bottom: .7rem; }
.scr-delivery__card h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.scr-delivery__card p { margin: 0 0 .8rem; color: #d9d2c4; }
.scr-moving { margin-top: 2rem; display: grid; background: var(--scr-paper); color: var(--scr-ink); border-radius: var(--scr-radius-lg); overflow: hidden; }
@media (min-width: 760px) { .scr-moving { grid-template-columns: 2fr 3fr; } }
.scr-moving__media { margin: 0; min-height: 220px; }
.scr-moving__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scr-moving__text { padding: clamp(1.4rem, 4vw, 2.4rem); align-self: center; }
body.scr .scr-moving__text h3 { color: var(--scr-ink); margin: 0 0 .5rem; font-size: clamp(1.4rem, 3vw, 1.9rem); }
.scr-moving__text p { margin: 0; color: var(--scr-ink-2); font-size: 1.08rem; }
body.scr .scr-moving .scr-btn--light { border-color: var(--scr-ink); }

/* ---------- Pricing & lease ---------- */
.scr-pay__grid { display: grid; gap: 1.4rem; }
@media (min-width: 900px) { .scr-pay__grid { grid-template-columns: 1fr 1fr; } }
.scr-pay__card { border-radius: var(--scr-radius-lg); padding: clamp(1.4rem, 4vw, 2.2rem); border: 1px solid var(--scr-line); background: #fff; box-shadow: var(--scr-shadow); }
.scr-pay__card--price { background: var(--scr-cream); }
.scr-pay__card h3 { margin: 0 0 .7rem; font-size: 1.6rem; }
body.scr .scr-pay__big { margin: 0 0 1rem; font-family: var(--scr-display); font-weight: 800; font-size: clamp(2.4rem, 6vw, 3.4rem); line-height: 1; color: var(--scr-red); }
.scr-pay__big small { display: block; margin-bottom: .35rem; font-family: var(--scr-font); font-size: .95rem; font-weight: 700; color: var(--scr-ink-2); letter-spacing: 0; }
.scr-pay__card p { color: var(--scr-ink-2); }
.scr-pay__card .scr-checklist { margin: 1rem 0; }
.scr-pay__example { background: var(--scr-cream); border-left: 4px solid var(--scr-tan); padding: .8rem 1rem; border-radius: 0 8px 8px 0; font-size: .97rem; }

/* ---------- FAQ ---------- */
.scr-faq__wrap { display: grid; gap: 1.5rem; }
@media (min-width: 960px) { .scr-faq__wrap { grid-template-columns: 1fr 1.6fr; gap: 3rem; align-items: start; } .scr-faq .scr-section__head { position: sticky; top: calc(var(--scr-header-h) + 2rem); } }
.scr-faq__list { display: grid; gap: .7rem; }
.scr-faq__item { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); }
.scr-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.2rem; min-height: 56px; }
.scr-faq__item summary::-webkit-details-marker { display: none; }
.scr-faq__item summary h3 { margin: 0; font-size: 1.08rem; font-family: var(--scr-font) !important; font-weight: 700 !important; letter-spacing: 0; }
.scr-faq__item summary .scr-icon { color: var(--scr-red); transition: transform .2s ease; }
.scr-faq__item[open] summary .scr-icon { transform: rotate(180deg); }
.scr-faq__item p { margin: 0; padding: 0 1.2rem 1.2rem; color: var(--scr-ink-2); }

/* ---------- Final CTA ---------- */
.scr-final { position: relative; isolation: isolate; color: #fff; text-align: center; background: var(--scr-pine); overflow: hidden; }
.scr-final__media { position: absolute; inset: 0; }
.scr-final__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.scr-final__media::after { content: ""; position: absolute; inset: 0; background: rgba(23, 30, 26, .86); }
.scr-final__inner { position: relative; padding-block: clamp(3.5rem, 8vw, 6rem); max-width: 860px; }
body.scr .scr-final h2 { color: #fff; font-size: clamp(1.9rem, 4vw, 2.8rem); margin: 0 0 .7rem; }
.scr-final p { color: #e2dccf; font-size: 1.1rem; margin: 0 auto 1.8rem; max-width: 620px; }
.scr-final__phones { display: grid; gap: 1rem; margin-bottom: 1.4rem; }
@media (min-width: 640px) { .scr-final__phones { grid-template-columns: 1fr 1fr; } }
.scr-bigphone { display: flex; flex-direction: column; align-items: center; padding: 1.3rem 1rem; border-radius: var(--scr-radius-lg); background: #fff; color: var(--scr-ink) !important; text-decoration: none !important; box-shadow: var(--scr-shadow-lg); transition: transform .15s ease; }
.scr-bigphone:hover { transform: translateY(-2px); }
.scr-bigphone small { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--scr-red); }
.scr-bigphone strong { font-family: var(--scr-display); font-size: clamp(1.7rem, 4vw, 2.2rem); line-height: 1.2; }
.scr-bigphone span { color: var(--scr-muted); font-size: .95rem; }
.scr-final__email { margin: 0 !important; }
body.scr .scr-final__email a { color: #fff; font-weight: 700; }

/* ---------- CTA band (interior pages) ---------- */
.scr-ctaband { background: var(--scr-red); color: #fff; }
.scr-ctaband__inner { display: grid; gap: 1.4rem 2.4rem; padding-block: 2.4rem; align-items: center; }
@media (min-width: 900px) { .scr-ctaband__inner { grid-template-columns: 1.4fr auto 1fr; } }
body.scr .scr-ctaband h2 { color: #fff; margin: 0 0 .3rem; font-size: clamp(1.5rem, 3vw, 1.9rem); }
.scr-ctaband p { margin: 0; color: #fbeae7; }
.scr-ctaband .scr-phonepair--onDark .scr-phone { font-size: 1.3rem; }
.scr-ctaband .scr-phonepair--onDark .scr-phone__label { color: #ffd9d3; }
.scr-ctaband__links { display: flex; flex-wrap: wrap; gap: .5rem; }
body.scr .scr-ctaband__links a { color: #fff; font-weight: 700; padding: .5rem .9rem; border: 2px solid rgba(255, 255, 255, .55); border-radius: 999px; text-decoration: none; font-size: .95rem; }
body.scr .scr-ctaband__links a:hover { background: #fff; color: var(--scr-red); }

/* ---------- Footer ---------- */
.scr-footer { background: var(--scr-ink); color: #cfc7bb; font-size: .97rem; }
.scr-footer__grid { display: grid; gap: 2rem; padding-block: 3.2rem 2.4rem; grid-template-columns: 1fr 1fr; }
.scr-footer__brand, .scr-footer__lots { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.scr-footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1fr 1.3fr; }
	.scr-footer__brand, .scr-footer__lots { grid-column: auto; }
}
.scr-brand--footer .scr-brand__name { color: #fff; font-size: 1.7rem; }
.scr-footer__brand p { margin: .9rem 0 1rem; max-width: 380px; }
.scr-footer__phones { display: grid; gap: .45rem; justify-items: start; }
.scr-footer__phones .scr-phone { color: #fff; font-size: 1.15rem; }
.scr-footer__phones .scr-phone__label { color: var(--scr-tan); }
.scr-footer__phones .scr-phone:hover .scr-phone__num { text-decoration: underline; }
body.scr .scr-footer__email { color: #cfc7bb; }
body.scr .scr-footer h2 { color: #fff; font-family: var(--scr-font); font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .9rem; }
.scr-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
body.scr .scr-footer__col a { color: #e7e0d5; text-decoration: none; display: inline-block; padding: .2rem 0; }
body.scr .scr-footer__col a:hover { color: #fff; text-decoration: underline; }
.scr-footer__lots li { line-height: 1.35; margin-bottom: .45rem; }
.scr-footer__lots strong { color: #fff; display: block; }
.scr-footer__lots span { font-size: .9rem; }
.scr-footer__base { border-top: 1px solid rgba(255, 255, 255, .1); font-size: .88rem; }
.scr-footer__base p { margin: 0; padding-block: 1.1rem; }

/* ---------- Mobile call bar ---------- */
.scr-callbar { display: none; }
@media (max-width: 767px) {
	body.scr { padding-bottom: 64px !important; }
	.scr-callbar {
		display: grid; grid-template-columns: 1.2fr 1fr;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 995;
		background: #fff; border-top: 1px solid var(--scr-line); box-shadow: 0 -4px 16px rgba(35, 31, 28, .12);
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
		gap: 8px;
	}
	.scr-callbar a { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 48px; border-radius: 999px; font-weight: 700; text-decoration: none !important; line-height: 1.1; }
	body.scr .scr-callbar__call { background: var(--scr-red); color: #fff; }
	.scr-callbar__call small { display: block; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
	body.scr .scr-callbar__inv { border: 2px solid var(--scr-ink); color: var(--scr-ink); }
	.scr-nav-open .scr-callbar { display: none; }
}

/* ==========================================================================
   Interior pages (Elementor, WooCommerce) — consistent type, spacing, width
   ========================================================================== */
body.scr .site-main, body.scr .page-content, body.scr .entry-content { font-size: 1.05rem; }
body.scr:not(.home) .site-main > .page-header,
body.scr .page-header { max-width: var(--scr-wrap); margin-inline: auto; padding: 2.4rem var(--scr-gutter) .4rem; }
body.scr .page-header .entry-title { font-size: clamp(1.9rem, 4vw, 2.7rem); margin: 0; }
body.scr .site-main:not(.scr-home) { padding-bottom: 2rem; }
body.scr.page-template-default .site-main,
body.scr.single-product .site-main,
body.scr.woocommerce-page .site-main,
body.scr.archive .site-main { max-width: var(--scr-wrap); margin-inline: auto; padding-inline: var(--scr-gutter); }
body.scr .site-content, body.scr .page-content { padding-inline: 0; }
body.scr .elementor-widget-text-editor { color: var(--scr-ink-2); line-height: 1.65; }
body.scr .elementor-widget-heading .elementor-heading-title { font-family: var(--scr-display); }
body.scr .elementor-button { border-radius: 999px; font-weight: 700; }
body.scr .entry-content table, body.scr .page-content table { border-collapse: collapse; width: 100%; }

/* Product category grid */
body.scr ul.products { gap: 1.4rem; }
body.scr ul.products li.product {
	background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg);
	overflow: hidden; box-shadow: var(--scr-shadow); padding-bottom: 1.1rem !important; text-align: left;
}
body.scr ul.products li.product a img { margin: 0 0 .9rem !important; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
body.scr ul.products li.product .woocommerce-loop-product__title { font-family: var(--scr-display); font-size: 1.15rem !important; color: var(--scr-ink); padding: 0 1rem !important; line-height: 1.25; }
body.scr ul.products li.product .price { padding: 0 1rem; color: var(--scr-red) !important; font-weight: 700; }
body.scr ul.products li.product .star-rating { margin-left: 1rem !important; }
body.scr ul.products li.product .button { margin: .6rem 1rem 0 !important; border-radius: 999px !important; background: var(--scr-red) !important; color: #fff !important; font-weight: 700; padding: .7em 1.2em !important; }
body.scr ul.products li.product .button:hover { background: var(--scr-red-dark) !important; }
body.scr .woocommerce-products-header__title, body.scr.archive h1.page-title { font-size: clamp(1.9rem, 4vw, 2.7rem); margin: 1.6rem 0 .6rem; }
body.scr .woocommerce-breadcrumb { font-size: .92rem; color: var(--scr-muted); margin-top: 1.4rem !important; }
.scr-catbar { margin: .4rem 0 1.6rem; padding: 1rem 1.2rem; background: var(--scr-cream); border-radius: var(--scr-radius); border: 1px solid var(--scr-line); }
.scr-catbar p { margin: 0 0 .8rem; color: var(--scr-ink-2); }
.scr-catbar .scr-phone { color: var(--scr-ink); }
.scr-catbar__links { display: flex; flex-wrap: wrap; gap: .5rem; }

/* Product page */
body.scr.single-product .product_title { font-family: var(--scr-display); font-size: clamp(1.7rem, 3.6vw, 2.4rem); }
body.scr.single-product .single_add_to_cart_button { border-radius: 999px !important; background: var(--scr-red) !important; font-weight: 700 !important; min-height: 48px; padding-inline: 1.6em !important; }
body.scr.single-product .single_add_to_cart_button:hover { background: var(--scr-red-dark) !important; }
.scr-pbox { margin: 1.4rem 0; padding: 1.1rem 1.2rem 1.2rem; border: 1px solid var(--scr-line); border-left: 5px solid var(--scr-red); border-radius: var(--scr-radius); background: var(--scr-cream); }
.scr-pbox__title { margin: 0 0 .4rem; font-family: var(--scr-display); font-weight: 800; font-size: 1.12rem; color: var(--scr-ink); }
.scr-pbox .scr-phonepair { margin-bottom: .8rem; }
.scr-pbox__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; font-size: .97rem; color: var(--scr-ink-2); }
.scr-pbox__list li { display: flex; gap: .55rem; align-items: flex-start; }
.scr-pbox__list .scr-icon { color: var(--scr-red); margin-top: .18em; }

/* Content pages built with plain blocks (Lease-to-Own, Shed Moving, Custom Builds) */
.scr-page { max-width: 880px; }
.scr-page h2 { font-size: clamp(1.45rem, 3vw, 1.9rem); margin: 2.2rem 0 .7rem; }
.scr-page h3 { font-size: 1.2rem; margin: 1.6rem 0 .5rem; }
.scr-page p, .scr-page li { color: var(--scr-ink-2); }
.scr-page .scr-note { background: var(--scr-cream); border-left: 4px solid var(--scr-tan); padding: .9rem 1.1rem; border-radius: 0 8px 8px 0; }
.scr-page .scr-callout { margin: 2rem 0; padding: 1.4rem; background: var(--scr-pine); color: #e9e4da; border-radius: var(--scr-radius-lg); }
.scr-page .scr-callout h2, .scr-page .scr-callout h3 { color: #fff; margin-top: 0; }
.scr-page .scr-callout p { color: #e1dacd; }
.scr-page .scr-callout .scr-phone { color: #fff; font-size: 1.25rem; }
.scr-page .scr-callout .scr-phone__label { color: var(--scr-tan); }
.scr-page figure { margin: 1.5rem 0; }
.scr-page figure img { border-radius: var(--scr-radius); }
.scr-page figcaption { font-size: .9rem; color: var(--scr-muted); margin-top: .4rem; }
.scr-page .scr-gallery { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin: 1.5rem 0; }
.scr-page .scr-gallery figure { margin: 0; }
.scr-page .scr-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

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

@media print {
	.scr-announce, .scr-util, .scr-callbar, .scr-menu-toggle, .scr-ctaband { display: none !important; }
	.scr-header { position: static; box-shadow: none; }
}

/* ---------- Small-phone header ---------- */
@media (max-width: 639px) {
	.scr-header__inner { gap: .5rem; }
	.scr-brand__name { font-size: 1.42rem; }
	.scr-brand__tag { font-size: .58rem; letter-spacing: .06em; }
	.scr-header__call { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; }
	.scr-header__call-short { display: none; }
	.scr-header__call .scr-icon { width: 20px; height: 20px; }
	.scr-menu-toggle { padding: 0 .7rem; }
}
@media (max-width: 479px) {
	.scr-cart { display: none; }
}
@media (max-width: 359px) {
	.scr-brand__tag { display: none; }
}
@media (max-width: 759px) {
	.scr-inv__item:nth-child(n+7) { display: none; }
}

/* ---------- Elementor content pages: pricing, lease, moving, custom ---------- */
body.scr .scr-page, body.scr .scr-pricing { max-width: 960px; margin-inline: auto; }
body.scr .scr-page .elementor-container, body.scr .scr-pricing .elementor-container { max-width: none !important; }
body.scr .scr-page .elementor-heading-title, body.scr .scr-pricing .elementor-heading-title { color: var(--scr-ink); font-weight: 800; }
body.scr .scr-page h1.elementor-heading-title { font-size: clamp(1.9rem, 4vw, 2.7rem); margin-bottom: .6rem; }
body.scr .scr-page h2.elementor-heading-title, body.scr .scr-pricing h2.elementor-heading-title { font-size: clamp(1.4rem, 3vw, 1.85rem); margin: 2rem 0 .6rem; }
body.scr .scr-page .elementor-widget-text-editor, body.scr .scr-pricing .elementor-widget-text-editor { color: var(--scr-ink-2); font-size: 1.05rem; }
body.scr .scr-page .elementor-widget:not(:last-child), body.scr .scr-pricing .elementor-widget:not(:last-child) { margin-bottom: .4rem; }
.scr-lead, .scr-pricing__lead { font-size: 1.15rem; color: var(--scr-ink-2); }
.scr-pricing__lead strong, .scr-lead strong { color: var(--scr-ink); }
.scr-pricing__jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
body.scr .scr-pricing__jump a { padding: .4rem .9rem; border-radius: 999px; background: var(--scr-cream); border: 1px solid var(--scr-line); color: var(--scr-ink); font-weight: 700; font-size: .93rem; text-decoration: none; }
body.scr .scr-pricing__jump a:hover { border-color: var(--scr-red); color: var(--scr-red); }
.scr-ptables { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); align-items: start; scroll-margin-top: 120px; }
.scr-ptable table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); overflow: hidden; font-size: 1rem; margin: 0; }
.scr-ptable caption { caption-side: top; text-align: left; padding: 0 0 .4rem; font-family: var(--scr-display); font-weight: 800; font-size: 1.1rem; color: var(--scr-ink); }
.scr-ptable th, .scr-ptable td { padding: .5rem .8rem; border-bottom: 1px solid var(--scr-line); text-align: left; vertical-align: top; }
.scr-ptable thead th { background: var(--scr-pine); color: #fff; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.scr-ptable tbody tr:nth-child(even) { background: var(--scr-paper); }
.scr-ptable tbody th { font-weight: 600; color: var(--scr-ink); white-space: nowrap; }
.scr-ptable td { font-weight: 700; color: var(--scr-ink); text-align: right; font-variant-numeric: tabular-nums; }
.scr-ptable tbody tr:last-child th, .scr-ptable tbody tr:last-child td { border-bottom: 0; }
.scr-ptable td del { font-weight: 400; color: var(--scr-ink-2); margin-right: .3rem; }
.scr-ptable td ins { text-decoration: none; color: var(--scr-red, #b3261e); }
.scr-ptable--options td { text-align: left; font-weight: 600; color: var(--scr-ink-2); }
.scr-ptable--options tbody th { white-space: normal; width: 34%; }
.scr-ptable--options { scroll-margin-top: 120px; margin-bottom: 1rem; }
.scr-adders { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); scroll-margin-top: 120px; }
.scr-adder { background: var(--scr-cream); border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.2rem 1.3rem; }
.scr-adder h3 { margin: 0 0 .3rem; font-size: 1.2rem; }
.scr-adder p { margin: 0 0 .5rem; }
.scr-adder p:last-child { margin-bottom: 0; font-weight: 700; }
.scr-adder__pct { font-family: var(--scr-display); font-size: 2rem; font-weight: 800; color: var(--scr-red); line-height: 1; margin-bottom: .4rem !important; }
.scr-page .scr-checklist { margin: .4rem 0 1rem; }
.scr-note { background: var(--scr-cream); border-left: 4px solid var(--scr-tan); padding: .9rem 1.1rem; border-radius: 0 8px 8px 0; font-size: .98rem; }
.scr-callout { margin: 1.6rem 0; padding: clamp(1.3rem, 4vw, 2rem); background: var(--scr-pine); color: #e9e4da; border-radius: var(--scr-radius-lg); }
body.scr .scr-callout h2 { color: #fff; margin: 0 0 .4rem; font-size: clamp(1.35rem, 3vw, 1.7rem); }
.scr-callout p { color: #ddd6c8; margin: 0 0 1rem; }
.scr-callout .scr-phone { font-size: 1.3rem; }
.scr-gallery { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); margin: 1rem 0; }
.scr-gallery figure, .scr-figure { margin: 0; }
.scr-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--scr-radius); display: block; }
.scr-figure img { border-radius: var(--scr-radius); display: block; }
.scr-gallery figcaption, .scr-figure figcaption { font-size: .9rem; color: var(--scr-muted); margin-top: .35rem; line-height: 1.35; }
body.scr .page-header .entry-title { text-transform: none; letter-spacing: -0.01em; }

/* Product pages: older descriptions carry inline fonts/letter-spacing; normalize them */
body.scr .elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--scr-wrap) !important; padding-inline: calc(var(--scr-gutter) - 10px); }
body.scr.single-product .elementor-location-single :is(p, li, td, span:not(.star-rating, .star-rating *, :is(h1, h2, h3, h4) *)) { font-family: var(--scr-font) !important; letter-spacing: normal !important; word-spacing: normal !important; }
body.scr.single-product .elementor-location-single .elementor-widget-container > :is(p, ul) { color: var(--scr-ink-2); font-size: 1.05rem; line-height: 1.65; max-width: 860px; }
body.scr.single-product .elementor-location-single :is(h1, h2, h3, h4) { font-family: var(--scr-display) !important; font-variant: normal; text-transform: none; letter-spacing: -0.01em !important; }
body.scr.single-product .elementor-location-single .elementor-widget-container > :is(h2, h3) { font-size: clamp(1.35rem, 2.6vw, 1.7rem) !important; color: var(--scr-ink) !important; margin: 1.8rem 0 .6rem; }
body.scr.single-product .elementor-location-single .elementor-widget-container > h2 a, body.scr.single-product .elementor-location-single .elementor-widget-container > h3 a { color: var(--scr-red) !important; }
body.scr.single-product .product_title { font-family: var(--scr-display) !important; font-variant: normal !important; letter-spacing: -0.01em; }
/* Lists inside product description text only (a bare `ul` rule also indented the review pagination and related products). */
body.scr.single-product .elementor-location-single .elementor-widget-container > :is(ul, ol) { padding-left: 1.2rem; }
body.scr.single-product .elementor-location-single .elementor-widget-container > :is(ul, ol) > li { margin-bottom: .25rem; }
body.scr.single-product .elementor-location-single .elementor-section-full_width > .elementor-container { max-width: var(--scr-wrap); margin-inline: auto; padding-inline: calc(var(--scr-gutter) - 10px); }
body.scr.single-product .elementor-location-single { padding-top: 1.2rem; }


/* Product table (Shed Inventory) */
body.scr .wc-product-table { font-family: var(--scr-font); }
body.scr .wc-product-table thead th { background: var(--scr-cream); color: var(--scr-ink); font-weight: 700; }
body.scr .wc-product-table a { color: var(--scr-red); font-weight: 600; }
body.scr .wc-product-table .button, body.scr .wc-product-table .single_add_to_cart_button { border-radius: 999px !important; background: var(--scr-red) !important; color: #fff !important; }
.scr-promo, #shed-moving { scroll-margin-top: calc(var(--scr-header-h) + 16px); }

/* ==========================================================================
   Interior design system (v2)
   Page hero · bands · prose · cards · catalog · requirements · phone cards
   ========================================================================== */

/* Page hero: restrained header band */
.scr-phero { background: var(--scr-cream); border-bottom: 1px solid var(--scr-line); }
.scr-phero__inner { display: grid; gap: 1.4rem 2.6rem; align-items: center; padding-block: clamp(1.6rem, 4vw, 2.8rem); }
.scr-phero--img .scr-phero__inner { padding-block: clamp(1.4rem, 3vw, 2.2rem); }
@media (min-width: 900px) { .scr-phero--img .scr-phero__inner { grid-template-columns: minmax(0, 1fr) 400px; } }
.scr-crumbs ol { list-style: none; margin: 0 0 .7rem; padding: 0; display: flex; flex-wrap: wrap; gap: .2rem .5rem; font-size: .88rem; color: var(--scr-muted); }
.scr-crumbs li + li::before { content: "›"; margin-right: .5rem; color: var(--scr-line); color: #b3a794; }
body.scr .scr-crumbs a { color: var(--scr-muted); text-decoration: none; }
body.scr .scr-crumbs a:hover { color: var(--scr-red); text-decoration: underline; }
body.scr .scr-phero__title { margin: 0 0 .55rem; font-size: clamp(2rem, 4.2vw, 2.9rem); line-height: 1.08; letter-spacing: -0.02em; }
.scr-phero__lead { max-width: 690px; font-size: 1.12rem; color: var(--scr-ink-2); }
.scr-phero__lead p { margin: 0 0 .5rem; }
.scr-phero__lead p:last-child { margin-bottom: 0; }
.scr-phero__media { margin: 0; border-radius: var(--scr-radius-lg); overflow: hidden; box-shadow: var(--scr-shadow); }
.scr-phero__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 899px) { .scr-phero__media { max-height: 240px; } .scr-phero__media img { aspect-ratio: 16 / 9; } }
.scr-salenote { display: inline-flex; gap: .55rem; align-items: flex-start; margin: 1rem 0 0; padding: .6rem .9rem; border-radius: 10px; background: #fff; border: 1px solid #e7c3bd; border-left: 4px solid var(--scr-red); color: var(--scr-ink); font-size: .98rem; }
.scr-salenote .scr-icon { color: var(--scr-red); margin-top: .2em; }

/* Elementor sections used as bands */
body.scr .elementor-section.scr-band { padding-block: clamp(2rem, 5vw, 3.4rem) !important; }
body.scr .elementor-section.scr-band--tint { background: var(--scr-cream); }
body.scr .elementor-section.scr-band--tight { padding-block: clamp(1.4rem, 3vw, 2rem) !important; }
body.scr .elementor-section.scr-band--flush { padding: 0 !important; }
body.scr .elementor-section.scr-band--narrow > .elementor-container { max-width: calc(820px + 2 * var(--scr-gutter)) !important; }
body.scr .elementor-section.scr-band > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
body.scr .scr-band .elementor-widget:not(:last-child) { margin-bottom: 1rem; }
body.scr .scr-band h2.elementor-heading-title { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0; }
body.scr .scr-band .elementor-widget-text-editor { color: var(--scr-ink-2); font-size: 1.05rem; }
body.scr .scr-band .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Two-column layout inside one text widget */
.scr-cols { display: grid; gap: 1.2rem 2rem; }
@media (min-width: 860px) { .scr-cols { grid-template-columns: 1fr 1fr; } .scr-cols--3 { grid-template-columns: repeat(3, 1fr); } }
/* A side card keeps its own height instead of stretching next to a longer column (e.g. a photo in the text). */
.scr-cols > .scr-card { align-self: start; }

/* Generic card */
.scr-card { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.25rem 1.35rem; box-shadow: var(--scr-shadow); }
.scr-card--tint { background: var(--scr-cream); box-shadow: none; }
.scr-card h3 { margin: 0 0 .45rem; font-size: 1.2rem; }
.scr-card p { margin: 0 0 .6rem; color: var(--scr-ink-2); }
.scr-card p:last-child { margin-bottom: 0; }
.scr-card > .scr-icon { width: 34px; height: 34px; color: var(--scr-red); margin-bottom: .5rem; }

/* Requirements list (before ordering) */
.scr-req { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
@media (min-width: 860px) { .scr-req { grid-template-columns: repeat(3, 1fr); } }
.scr-req li { display: flex; gap: .75rem; align-items: flex-start; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); padding: .9rem 1rem; color: var(--scr-ink-2); line-height: 1.45; }
.scr-req .scr-icon { width: 30px; height: 30px; flex: none; padding: 6px; border-radius: 50%; background: var(--scr-cream); color: var(--scr-red); }
.scr-req strong { color: var(--scr-ink); }
.scr-help { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: space-between; margin-top: 1rem; padding: .9rem 1.1rem; border-radius: var(--scr-radius); background: var(--scr-pine); color: #e9e4da; }
.scr-help p { margin: 0 !important; color: #e9e4da !important; }
body.scr .scr-help a { color: #fff; font-weight: 700; }
.scr-help .scr-phone { color: #fff; }
.scr-help .scr-phone__label { color: var(--scr-tan); }

/* Inventory catalog */
.scr-catalog__bar { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; }
.scr-catalog__count { margin: 0; color: var(--scr-ink-2); font-size: 1.02rem; }
.scr-catalog__count strong { color: var(--scr-ink); font-size: 1.2rem; }
.scr-catalog__filters { display: flex; flex-wrap: wrap; gap: .45rem; flex: 1 1 auto; }
@media (min-width: 900px) { .scr-catalog__filters { justify-content: center; } }
body.scr .scr-chip { min-height: 40px; padding: .4rem .95rem; border-radius: 999px; border: 1px solid var(--scr-line); background: #fff; color: var(--scr-ink); font: 600 .95rem/1.1 var(--scr-font); cursor: pointer; }
body.scr .scr-chip span { color: var(--scr-muted); font-weight: 400; }
body.scr .scr-chip:hover { border-color: var(--scr-ink); }
body.scr .scr-chip.is-active { background: var(--scr-ink); border-color: var(--scr-ink); color: #fff; }
body.scr .scr-chip.is-active span { color: #d8d0c4; }
.scr-catalog__sort { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--scr-ink-2); font-size: .95rem; }
body.scr .scr-catalog__sort select { min-height: 40px; padding: .3rem 2rem .3rem .7rem; border: 1px solid var(--scr-line); border-radius: 8px; background-color: #fff; font: 600 .95rem var(--scr-font); color: var(--scr-ink); }
.scr-catalog__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.3rem; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.scr-icard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); overflow: hidden; box-shadow: var(--scr-shadow); transition: box-shadow .2s ease, transform .2s ease; }
.scr-icard:hover { box-shadow: var(--scr-shadow-lg); transform: translateY(-2px); }
.scr-icard[hidden] { display: none; }
.scr-icard__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--scr-cream-2); overflow: hidden; }
.scr-icard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.scr-icard:hover .scr-icard__media img { transform: scale(1.03); }
.scr-icard__media .scr-badge { top: .75rem; left: .75rem; font-size: .8rem; padding: .3rem .75rem; }
.scr-icard__body { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.15rem 1.15rem; }
.scr-icard__loc { display: flex; align-items: center; gap: .3rem; margin: 0 0 .35rem; font-size: .82rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--scr-muted); }
.scr-icard__loc .scr-icon { width: 15px; height: 15px; color: var(--scr-red); }
body.scr .scr-icard__title { margin: 0 0 .7rem; font-size: 1.12rem; line-height: 1.25; }
body.scr .scr-icard__title a { color: var(--scr-ink); text-decoration: none; }
body.scr .scr-icard__title a:hover .scr-icard__name { text-decoration: underline; }
.scr-icard__size { display: block; font-size: 1.55rem; font-weight: 800; letter-spacing: -0.01em; }
.scr-icard__name { display: block; font-family: var(--scr-font); font-weight: 600; font-size: 1rem; color: var(--scr-ink-2); margin-top: .1rem; }
.scr-icard__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .6rem; margin: auto 0 .9rem; }
.scr-icard__price del { color: var(--scr-muted); font-size: .98rem; }
.scr-icard__now { font-family: var(--scr-display); font-size: 1.5rem; color: var(--scr-red); }
.scr-icard__save { font-size: .82rem; font-weight: 700; color: #1f6b3a; background: #e6f2e9; border-radius: 999px; padding: .15rem .55rem; }
.is-sold .scr-icard__now { color: var(--scr-muted); }
.is-sold .scr-icard__media img { filter: grayscale(.55); }
.scr-icard__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.scr-icard__actions .scr-btn { width: 100%; padding-inline: .6em; }
.scr-inv-empty { text-align: center; padding: 2.5rem 1rem; background: var(--scr-cream); border-radius: var(--scr-radius-lg); }

/* Phone cards + lots */
.scr-phonecards { display: grid; gap: 1rem; }
@media (min-width: 560px) { .scr-phonecards { grid-template-columns: 1fr 1fr; } }
.scr-phonecards .scr-bigphone { border: 1px solid var(--scr-line); box-shadow: var(--scr-shadow); }
.scr-lotcards { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.scr-lotcards li { display: grid; grid-template-columns: auto 1fr; column-gap: .6rem; padding: 1rem 1.1rem; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); line-height: 1.35; }
.scr-lotcards .scr-icon { grid-row: span 2; color: var(--scr-red); margin-top: .1em; }
.scr-lotcards strong { color: var(--scr-ink); }
.scr-lotcards span { color: var(--scr-muted); font-size: .94rem; }

/* Accordions (FAQ and inline Q&A) */
.scr-acc { display: grid; gap: .6rem; }
.scr-acc details { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); }
.scr-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .95rem 1.15rem; min-height: 54px; font-weight: 700; font-size: 1.05rem; color: var(--scr-ink); }
.scr-acc summary::-webkit-details-marker { display: none; }
.scr-acc summary::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 2.5px solid var(--scr-red); border-bottom: 2.5px solid var(--scr-red); transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s ease; }
.scr-acc details[open] summary::after { transform: rotate(225deg) translate(-2px, -2px); }
.scr-acc details > :not(summary) { margin: 0; padding: 0 1.15rem 1.1rem; color: var(--scr-ink-2); }
.scr-acc details > p + p { padding-top: 0; }
.scr-acc-group + .scr-acc-group { margin-top: 2rem; }
.scr-acc-group > h2 { font-size: clamp(1.3rem, 2.6vw, 1.6rem); margin: 0 0 .8rem; }
body.scr .elementor-section.scr-band > .elementor-container { padding-inline: var(--scr-gutter) !important; }
@media (max-width: 767px) {
	.scr-catalog__bar { gap: .7rem; }
	.scr-catalog__filters { order: 3; width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--scr-gutter)); padding: 2px var(--scr-gutter); width: calc(100% + 2 * var(--scr-gutter)); }
	.scr-catalog__filters::-webkit-scrollbar { display: none; }
	body.scr .scr-chip { flex: none; }
	.scr-req { gap: .5rem; }
	.scr-req li { padding: .65rem .8rem; font-size: .96rem; }
	.scr-req .scr-icon { width: 26px; height: 26px; padding: 5px; }
	.scr-help { font-size: .95rem; }
	.scr-catalog__grid { gap: 1rem; }
}

/* Category / shop pages */
.scr-phero__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .4rem; }
.scr-cat__grid { padding-top: clamp(1.8rem, 4vw, 2.6rem); }
.scr-pcards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.3rem; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.scr-pcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); overflow: hidden; box-shadow: var(--scr-shadow); transition: box-shadow .2s ease, transform .2s ease; }
.scr-pcard:hover { box-shadow: var(--scr-shadow-lg); transform: translateY(-2px); }
.scr-pcard__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--scr-cream-2); }
/* body.scr prefix: `body.scr img { height: auto }` (0,1,2) used to win, so object-fit never applied:
   portrait photos showed only their top, wide ones left an empty strip. */
body.scr .scr-pcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
/* Loft with deck (product 421): portrait photo, frame roof to deck instead of the centre. */
body.scr .scr-pcard__media img[src*="/Loft-with-Porch"] { object-position: 50% 40%; }
.scr-pcard:hover .scr-pcard__media img { transform: scale(1.03); }
.scr-pcard__media .scr-badge { top: .75rem; left: .75rem; }
.scr-pcard__body { display: flex; flex-direction: column; flex: 1; padding: 1.05rem 1.2rem 1.2rem; }
body.scr .scr-pcard__title { margin: 0 0 .35rem; font-size: 1.22rem; line-height: 1.22; }
body.scr .scr-pcard__title a { color: var(--scr-ink); text-decoration: none; }
body.scr .scr-pcard__title a:hover { color: var(--scr-red); }
.scr-pcard__rating { display: flex; align-items: center; gap: .45rem; margin: 0 0 .5rem; font-size: .88rem; color: var(--scr-muted); }
.scr-stars { position: relative; display: inline-block; font-size: .95rem; letter-spacing: 1px; color: #d9cfbf; line-height: 1; }
.scr-stars::before { content: "★★★★★"; position: absolute; inset: 0; width: var(--r); overflow: hidden; color: #c98a1e; }
.scr-pcard__text { margin: 0 0 .9rem; color: var(--scr-ink-2); font-size: .97rem; line-height: 1.5; }
.scr-pcard__price { margin: auto 0 .9rem; display: flex; align-items: baseline; gap: .4rem; }
.scr-pcard__price small { color: var(--scr-muted); font-weight: 600; font-size: .9rem; }
.scr-pcard__price strong { font-family: var(--scr-display); font-size: 1.45rem; color: var(--scr-red); }
.scr-pcard__cta { width: 100%; }
.scr-invstrip { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; align-items: center; justify-content: space-between; margin-top: 1.6rem; padding: 1rem 1.25rem; border-radius: var(--scr-radius); background: var(--scr-cream); border: 1px solid var(--scr-line); color: var(--scr-ink-2) !important; text-decoration: none !important; }
.scr-invstrip strong { color: var(--scr-ink); }
.scr-invstrip .scr-link { color: var(--scr-red); }
.scr-invstrip:hover { border-color: var(--scr-red); }
body.scr .nav-links { display: flex; gap: .4rem; justify-content: center; margin-top: 1.6rem; }
body.scr .nav-links .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .7rem; border-radius: 8px; border: 1px solid var(--scr-line); background: #fff; color: var(--scr-ink); text-decoration: none; font-weight: 700; }
body.scr .nav-links .page-numbers.current { background: var(--scr-ink); color: #fff; border-color: var(--scr-ink); }

/* Comparison table → stacked cards on phones */
.scr-compare__table { overflow-x: auto; border-radius: var(--scr-radius-lg); border: 1px solid var(--scr-line); background: #fff; }
.scr-compare table { width: 100%; border-collapse: collapse; margin: 0; font-size: .98rem; }
.scr-compare th, .scr-compare td { padding: .8rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--scr-line); border-left: 0; border-right: 0; border-top: 0; background: transparent; }
.scr-compare thead th { background: var(--scr-pine); color: #fff; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.scr-compare tbody th { font-family: var(--scr-display); font-weight: 800; white-space: nowrap; }
body.scr .scr-compare tbody th a { color: var(--scr-red); text-decoration: none; }
.scr-compare td { color: var(--scr-ink-2); }
.scr-compare tbody tr:last-child > * { border-bottom: 0; }
.scr-compare tbody tr:nth-child(even) { background: var(--scr-paper); }
@media (max-width: 759px) {
	.scr-compare__table { border: 0; background: none; overflow: visible; }
	.scr-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.scr-compare tbody, .scr-compare tr, .scr-compare th, .scr-compare td { display: block; }
	.scr-compare tbody tr { background: #fff !important; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); margin-bottom: .8rem; padding: .3rem 0; }
	.scr-compare tbody th { font-size: 1.15rem; border: 0; padding-bottom: .2rem; }
	.scr-compare td { border: 0; padding: .3rem 1rem; }
	.scr-compare td::before { content: attr(data-label); display: block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--scr-muted); }
}
.scr-compare__note { margin: 1rem 0 0; color: var(--scr-ink-2); }
.scr-std { margin-top: 1.8rem; }
.scr-std h3 { margin: 0 0 .8rem; font-size: 1.2rem; }
.scr-checklist--cols { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem 1.4rem; }
.scr-nextcards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.scr-nextcard { display: block; text-decoration: none !important; transition: border-color .15s ease, transform .15s ease; }
.scr-nextcard:hover { border-color: var(--scr-red); transform: translateY(-2px); }
.scr-nextcard h3 { color: var(--scr-ink); }
.scr-empty { padding: 1.5rem; background: var(--scr-cream); border-radius: var(--scr-radius); }
@media (max-width: 599px) { .scr-phero__media { display: none; } }

/* ---------- Product detail ---------- */
body.scr .scr-pcrumbs { padding-top: 1.2rem !important; }
body.scr .scr-pcrumbs .woocommerce-breadcrumb { margin: 0 !important; font-size: .9rem; color: var(--scr-muted); }
body.scr .scr-pcrumbs .woocommerce-breadcrumb a { color: var(--scr-muted); text-decoration: none; }
body.scr .scr-pcrumbs .woocommerce-breadcrumb a:hover { color: var(--scr-red); text-decoration: underline; }
body.scr.single-product .elementor-location-single { padding-top: 0; }
body.scr .scr-psummary { padding-block: 1rem 2.4rem !important; }
@media (min-width: 1025px) { body.scr .scr-psummary > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap { padding-left: 2.4rem !important; } }
/* Gallery: big photo, tidy thumbnail grid */
body.scr .woocommerce-product-gallery { margin: 0 !important; }
body.scr .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img,
body.scr .woocommerce-product-gallery .flex-viewport { border-radius: var(--scr-radius-lg); }
body.scr .woocommerce-product-gallery .flex-viewport { box-shadow: var(--scr-shadow); background: var(--scr-cream-2); }
body.scr .woocommerce-product-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 10px 0 0 !important; padding: 0 !important; }
@media (max-width: 600px) { body.scr .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(5, 1fr); gap: 6px; } }
body.scr .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
body.scr .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1 / 1; object-fit: cover; border-radius: 8px; opacity: .65; transition: opacity .15s ease; cursor: pointer; }
body.scr .woocommerce-product-gallery .flex-control-thumbs img.flex-active, body.scr .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; outline: 2px solid var(--scr-red); outline-offset: 1px; }
body.scr .woocommerce-product-gallery__trigger { background: #fff !important; border-radius: 50% !important; box-shadow: var(--scr-shadow); }
/* Summary */
body.scr.single-product .product_title { font-size: clamp(1.8rem, 3.4vw, 2.5rem) !important; line-height: 1.1 !important; margin-bottom: .4rem !important; color: var(--scr-ink) !important; }
body.scr.single-product .woocommerce-product-rating { margin-bottom: .6rem !important; display: flex; align-items: center; gap: .5rem; }
body.scr.single-product .woocommerce-review-link { color: var(--scr-muted) !important; font-size: .92rem; }
body.scr.single-product .elementor-widget-woocommerce-product-price .price { font-family: var(--scr-display) !important; font-size: 1.6rem !important; font-weight: 800 !important; color: var(--scr-red) !important; }
body.scr.single-product .elementor-widget-woocommerce-product-price .price del { color: var(--scr-muted) !important; font-size: 1.1rem; font-weight: 400; }
body.scr.single-product .elementor-widget-woocommerce-product-price .price ins { text-decoration: none; }
body.scr.single-product .woocommerce-product-details__short-description { color: var(--scr-ink-2); font-size: 1.05rem; }
body.scr.single-product .product_meta { font-size: .85rem !important; color: var(--scr-muted) !important; border-top: 1px solid var(--scr-line); padding-top: .8rem !important; margin-top: 1rem; }
body.scr.single-product .product_meta > span { display: block; margin-bottom: .2rem; }
body.scr.single-product .product_meta a { color: var(--scr-muted) !important; }
body.scr .shedcity-sold-notice { padding: .8rem 1rem; border-radius: var(--scr-radius); background: var(--scr-ink); color: #fff; }
/* Variation + YITH add-on blocks */
body.scr .variations th.label label { font-weight: 700; color: var(--scr-ink); text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; }
body.scr .yith-wapo-block .yith-wapo-addon { border: 1px solid var(--scr-line) !important; border-radius: var(--scr-radius) !important; background: #fff !important; padding: .9rem 1rem !important; margin-bottom: .7rem !important; }
body.scr .yith-wapo-addon .wapo-addon-title { font-family: var(--scr-display) !important; font-size: 1.05rem !important; font-weight: 800 !important; color: var(--scr-ink) !important; margin: 0 0 .5rem !important; }
body.scr .yith-wapo-option.selected .image, body.scr .yith-wapo-option.selected { border-color: var(--scr-red) !important; }
body.scr #wapo-total-price-table { border: 1px solid var(--scr-line); border-radius: var(--scr-radius); background: var(--scr-cream); padding: .6rem .9rem; }
/* Order box */
.scr-pbox__loc { display: flex; gap: .4rem; align-items: center; margin: 0 0 .7rem; padding-bottom: .7rem; border-bottom: 1px solid var(--scr-line); color: var(--scr-ink); }
.scr-pbox__loc .scr-icon { color: var(--scr-red); }
/* Description section */
body.scr .elementor-section.desc-container { padding-block: clamp(2rem, 5vw, 3rem) !important; background: #fff; border-top: 1px solid var(--scr-line); border-bottom: 1px solid var(--scr-line); }
body.scr .desc-container .elementor-widget-container { max-width: 860px; }
body.scr .scr-pdesc-title .elementor-heading-title { font-size: clamp(1.5rem, 3vw, 2rem) !important; margin: 0 0 1rem !important; color: var(--scr-ink) !important; }
body.scr.single-product .desc-container .elementor-widget-container > h2:has(a[href*="pricing"]) a { display: inline-flex; align-items: center; min-height: 48px; padding: .6em 1.3em; border-radius: 999px; background: var(--scr-red); color: #fff !important; font-family: var(--scr-font) !important; font-size: 1rem !important; text-decoration: none; }
body.scr.single-product .desc-container .elementor-widget-container > h2:has(a[href*="pricing"]) a strong { font-weight: 700; }
body.scr.single-product .desc-container .elementor-widget-container > h2:has(a[href*="pricing"]) a:hover { background: var(--scr-red-dark); }
body.scr.single-product .desc-container img { border-radius: var(--scr-radius); max-width: min(100%, 420px); height: auto; }
body.scr.single-product .desc-container .elementor-widget-container > :is(h2, h3) { color: var(--scr-ink) !important; }
/* Reviews */
body.scr .elementor-section.scr-previews { padding-block: clamp(2rem, 5vw, 3rem) !important; }
body.scr .scr-previews .woocommerce-tabs ul.tabs { display: none; }
body.scr .scr-previews .woocommerce-tabs .panel { margin: 0 !important; padding: 0 !important; border: 0 !important; }
/*
 * Reviews. WooCommerce core (woocommerce.css) and the old child theme (style.css) both style
 * .woocommerce-pagination and the comment list; everything below is keyed on #reviews so it wins on
 * specificity instead of !important. Text column matches the 860px description column.
 */
body.scr #reviews { max-width: 860px; }
body.scr :is(#reviews, #comments, #respond) { scroll-margin-top: calc(var(--scr-header-h) + 1.25rem); }
body.scr .woocommerce-Reviews-title { font-size: clamp(1.5rem, 3vw, 2rem) !important; margin-bottom: 1.2rem !important; }
body.scr #reviews #comments ol.commentlist { margin: 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
body.scr #reviews #comments ol.commentlist > li { margin: 0; padding: 0; border: 0; }
body.scr #reviews #comments ol.commentlist li .comment_container { display: block; }
body.scr #reviews #comments ol.commentlist li img.avatar { display: none; }
body.scr #reviews #comments ol.commentlist li .comment-text { display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; margin: 0; padding: 1rem 1.25rem; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); background: #fff; }
body.scr #reviews #comments ol.commentlist li .comment-text .star-rating { grid-column: 2; grid-row: 1; float: none; margin: .3rem 0 0; }
body.scr #reviews #comments ol.commentlist li .comment-text .meta { grid-column: 1; grid-row: 1; margin: 0 0 .45rem; font-size: .95rem; color: var(--scr-muted); }
body.scr #reviews #comments ol.commentlist li .comment-text .woocommerce-review__author { color: var(--scr-ink); font-size: 1.02rem; font-weight: 700; }
body.scr #reviews #comments ol.commentlist li .comment-text .woocommerce-review__verified { font-style: normal; font-weight: 600; color: var(--scr-pine); }
body.scr #reviews #comments ol.commentlist li .comment-text .description { grid-column: 1 / -1; color: var(--scr-ink-2); font-size: 1.05rem; line-height: 1.6; }
body.scr #reviews #comments ol.commentlist li .comment-text .description p { max-width: 72ch; margin: 0 0 .7em; }
body.scr #reviews #comments ol.commentlist li .comment-text .description p:last-child { margin-bottom: 0; }
body.scr #reviews #comments ol.commentlist ul.children { margin: .75rem 0 0 1.25rem; padding: 0; list-style: none; }
body.scr #reviews .star-rating, body.scr .star-rating span::before { color: #c98a1e !important; }

/* Review pagination: ← Previous  1  2  3  Next → */
body.scr #reviews .woocommerce-pagination { margin: 1.75rem 0 0; padding: 0; border: 0; text-align: initial; }
body.scr #reviews .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4rem; margin: 0; padding: 0; border: 0; white-space: normal; list-style: none; }
body.scr #reviews .woocommerce-pagination ul.page-numbers li { display: block; float: none; margin: 0; padding: 0; border: 0; overflow: visible; }
body.scr #reviews .woocommerce-pagination .page-numbers:is(a, span) { display: inline-flex; align-items: center; justify-content: center; gap: .4em; box-sizing: border-box; min-width: 44px; height: 44px; margin: 0; padding: 0 .8rem; border: 1px solid var(--scr-line); border-radius: 8px; background: #fff; color: var(--scr-ink); font: 700 1rem/1 var(--scr-font); text-decoration: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
body.scr #reviews .woocommerce-pagination a.page-numbers:hover { background: var(--scr-cream); border-color: var(--scr-ink-2); color: var(--scr-ink); }
body.scr #reviews .woocommerce-pagination a.page-numbers:focus { background: #fff; color: var(--scr-ink); }
body.scr #reviews .woocommerce-pagination a.page-numbers:focus-visible { outline: 3px solid var(--scr-focus); outline-offset: 2px; }
body.scr #reviews .woocommerce-pagination span.page-numbers.current { background: var(--scr-ink); border-color: var(--scr-ink); color: #fff; }
/* The child theme borders every `ul li span`, including the arrow/label spans inside Previous/Next. */
body.scr #reviews .woocommerce-pagination .page-numbers:is(.prev, .next) span { display: inline; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; }
body.scr #reviews .woocommerce-pagination span.page-numbers.dots { min-width: 1.5rem; padding: 0; border-color: transparent; background: transparent; color: var(--scr-muted); }
@media (max-width: 559px) {
	/* Phones: page numbers on one row, Previous / Next as a full-width row below. */
	body.scr #reviews .woocommerce-pagination ul.page-numbers::before { content: ""; order: 1; flex-basis: 100%; height: 0; }
	body.scr #reviews .woocommerce-pagination ul.page-numbers li:has(> .prev, > .next) { order: 2; flex: 1 1 0; }
	body.scr #reviews .woocommerce-pagination .page-numbers:is(.prev, .next) { width: 100%; }
	body.scr #reviews .woocommerce-pagination ul.page-numbers { gap: .35rem; }
	body.scr #reviews .woocommerce-pagination .page-numbers:is(a, span):not(.prev, .next, .dots) { min-width: 40px; padding: 0 .5rem; }
	body.scr #reviews .woocommerce-pagination span.page-numbers.dots { min-width: 1rem; }
}

/* Review form */
body.scr #review_form_wrapper { margin-top: 2rem; padding: clamp(1rem, 3vw, 1.6rem); background: var(--scr-cream); border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); }
body.scr #reviews #respond .comment-reply-title { display: block; margin: 0 0 .35rem; font: 800 clamp(1.25rem, 2.4vw, 1.5rem)/1.2 var(--scr-display); color: var(--scr-ink); }
body.scr #reviews #respond .comment-notes { margin: 0 0 1rem; color: var(--scr-ink-2); font-size: .95rem; }
body.scr #reviews #respond :is(.comment-form-rating, .comment-form-comment, .comment-form-author, .comment-form-email) { margin: 0 0 1rem; }
body.scr #reviews #respond label { display: block; margin: 0 0 .35rem; font-weight: 700; color: var(--scr-ink); }
body.scr #reviews #respond :is(input[type="text"], input[type="email"], textarea) { display: block; width: 100%; max-width: 100%; min-height: 48px; margin: 0; padding: .6rem .8rem; border: 1px solid #8c8075; border-radius: 8px; background: #fff; color: var(--scr-ink); font: 1rem/1.5 var(--scr-font); box-shadow: none; }
body.scr #reviews #respond textarea#comment { height: 9rem; min-height: 9rem; resize: vertical; }
body.scr #reviews #respond :is(input[type="text"], input[type="email"], textarea):focus { border-color: var(--scr-focus); outline: 3px solid rgba(31, 111, 235, .3); outline-offset: 0; }
body.scr #reviews #respond p.stars { margin: 0; line-height: 1; }
body.scr #reviews #respond p.stars a { width: 1.15em; height: 1.15em; margin-right: .3rem; font-size: 1.8rem; color: var(--scr-red); }
body.scr #reviews #respond .form-submit { margin: 1rem 0 0; }
body.scr #reviews #respond input#submit { min-height: 48px; padding: .7em 1.6em; border: 0; border-radius: 999px; background: var(--scr-red); color: #fff; font: 700 1rem/1.15 var(--scr-font); cursor: pointer; }
body.scr #reviews #respond input#submit:hover { background: var(--scr-red-dark); }
/* Google reCAPTCHA is a fixed 304px iframe; scale it to fit the form on the narrowest phones. */
@media (max-width: 400px) { body.scr #reviews #respond .g-recaptcha { transform: scale(.86); transform-origin: left top; height: 68px; } }
/* Related products as cards */
body.scr .elementor-section.scr-prelated { padding-block: clamp(2rem, 5vw, 3rem) !important; background: var(--scr-cream); }
body.scr .scr-prelated .related > h2 { font-size: clamp(1.5rem, 3vw, 2rem) !important; color: var(--scr-ink) !important; margin: 0 0 1.2rem !important; }
body.scr .scr-prelated ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.2rem; margin: 0 !important; }
body.scr .scr-prelated ul.products::before, body.scr .scr-prelated ul.products::after { display: none !important; }
body.scr .scr-prelated ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
body.scr.single-product .product_meta { display: none !important; }
body.scr span.onsale { min-width: 0 !important; min-height: 0 !important; width: auto !important; height: auto !important; padding: .3rem .8rem !important; border-radius: 999px !important; background: var(--scr-red) !important; color: #fff !important; font: 700 .8rem/1.2 var(--scr-font) !important; letter-spacing: .06em; text-transform: uppercase; top: .9rem !important; left: .9rem !important; right: auto !important; margin: 0 !important; }
body.scr .elementor-section.scr-previews:not(:has(.woocommerce-tabs)) { display: none; }
/* Price list: width tabs on phones only; all tables visible on larger screens */
.scr-ptabs { display: none; }
@media (max-width: 639px) {
	body.scr .scr-ptabs { display: flex; flex-wrap: wrap; gap: .45rem; margin: .4rem 0 1rem; }
	.scr-ptables.has-tabs .scr-ptable { display: none; }
	.scr-ptables.has-tabs .scr-ptable.is-current { display: block; }
	.scr-ptable caption { font-size: 1.2rem; }
	.scr-ptable th, .scr-ptable td { padding: .65rem .85rem; font-size: 1.02rem; }
	.scr-ptable--options tbody th { width: auto; }
	.scr-ptable--options table, .scr-ptable--options tbody, .scr-ptable--options tr, .scr-ptable--options th, .scr-ptable--options td { display: block; }
	.scr-ptable--options thead { display: none; }
	.scr-ptable--options tr { border-bottom: 1px solid var(--scr-line); padding: .4rem 0; }
	.scr-ptable--options tbody th, .scr-ptable--options td { border: 0; padding: .2rem .85rem; }
	.scr-ptable--options tbody th { color: var(--scr-ink); }
}
@media (min-width: 640px) { .scr-ptables { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .scr-ptables { grid-template-columns: repeat(4, 1fr); } }
.scr-ptable table { border-collapse: separate; border-spacing: 0; }
.scr-ptable th, .scr-ptable td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; background-clip: padding-box; }
.scr-ptable thead th:first-child { border-top-left-radius: calc(var(--scr-radius) - 1px); }
.scr-ptable thead th:last-child { border-top-right-radius: calc(var(--scr-radius) - 1px); }
.scr-ptable tbody tr:nth-child(odd) > th, .scr-ptable tbody tr:hover > th { background: transparent; }
body.scr .elementor-section.scr-band--flush > .elementor-container { padding-inline: 0 !important; max-width: none !important; }
@media (max-width: 639px) { .scr-ptabs { flex-wrap: nowrap; } .scr-ptabs .scr-chip { flex: 1 1 0; padding-inline: .4rem; font-size: .9rem; } }
/* Steps + payment timeline */
.scr-steps { list-style: none; counter-reset: s; margin: 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 860px) { .scr-steps { grid-template-columns: repeat(3, 1fr); } }
.scr-steps li { counter-increment: s; position: relative; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.2rem 1.2rem 1.2rem 4rem; box-shadow: var(--scr-shadow); }
.scr-steps li::before { content: counter(s); position: absolute; left: 1.1rem; top: 1.1rem; width: 2.1rem; height: 2.1rem; border-radius: 50%; display: grid; place-items: center; background: var(--scr-red); color: #fff; font: 800 1.05rem var(--scr-display); }
.scr-steps strong { display: block; color: var(--scr-ink); font-family: var(--scr-display); font-size: 1.12rem; margin-bottom: .25rem; }
.scr-steps span { color: var(--scr-ink-2); }
.scr-timeline { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin: 1rem 0 1.2rem; }
.scr-timeline__step { flex: 1 1 150px; text-align: center; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1rem; box-shadow: var(--scr-shadow); }
.scr-timeline__step small { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--scr-muted); }
.scr-timeline__step strong { display: block; font-family: var(--scr-display); font-size: 2.2rem; color: var(--scr-red); line-height: 1.15; }
.scr-timeline__step span { color: var(--scr-ink-2); }
.scr-timeline__step--total strong { color: var(--scr-ink); }
.scr-timeline__arrow { font: 800 1.6rem var(--scr-display); color: var(--scr-muted); }
@media (max-width: 599px) { .scr-timeline { flex-direction: column; align-items: stretch; } .scr-timeline__arrow { text-align: center; transform: rotate(90deg); } }
/* Contact */
body.scr .scr-contact > .elementor-container { gap: 2rem; }
@media (max-width: 767px) { body.scr .scr-contact > .elementor-container { flex-direction: column; } body.scr .scr-contact .elementor-column { width: 100% !important; } }
body.scr .scr-contact__formcol > .elementor-widget-wrap { background: #fff !important; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.4rem !important; box-shadow: var(--scr-shadow); align-content: flex-start; }
.scr-contact__email { font-weight: 700; color: var(--scr-ink); margin-top: 1rem; }
body.scr .scr-form .elementor-field-group { margin-bottom: .9rem !important; }
body.scr .scr-form .elementor-field-label { font-weight: 700; color: var(--scr-ink); font-size: .95rem; }
body.scr .scr-form :is(input, textarea).elementor-field { border: 1px solid var(--scr-line) !important; border-radius: 8px !important; background: var(--scr-paper) !important; min-height: 48px; font: 1rem var(--scr-font) !important; color: var(--scr-ink) !important; padding: .6rem .8rem !important; }
body.scr .scr-form :is(input, textarea).elementor-field:focus { border-color: var(--scr-focus) !important; outline: 2px solid rgba(31,111,235,.25); }
body.scr .scr-form .elementor-button { background: var(--scr-red) !important; border-radius: 999px !important; min-height: 50px; padding: .7em 1.6em !important; font: 700 1rem var(--scr-font) !important; text-transform: none !important; letter-spacing: 0 !important; color: #fff !important; }
body.scr .scr-form .elementor-button:hover { background: var(--scr-red-dark) !important; }
body.scr .elementor-section.scr-band.scr-contact > .elementor-container > .elementor-column.scr-contact__formcol > .elementor-widget-wrap { padding: 1.5rem 1.5rem 1.6rem !important; }
.scr-contact .scr-phonecards { grid-template-columns: 1fr; }
.scr-contact .scr-bigphone { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; text-align: left; padding: 1rem 1.3rem; gap: 0 1rem; }
.scr-contact .scr-bigphone small { flex-basis: 100%; }
.scr-contact .scr-bigphone strong { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.scr-tcards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.scr-tcards a { display: block; position: relative; border-radius: var(--scr-radius-lg); overflow: hidden; box-shadow: var(--scr-shadow); text-decoration: none !important; }
.scr-tcards img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s ease; }
.scr-tcards a:hover img { transform: scale(1.04); }
.scr-tcards span { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: center; padding: 2rem 1rem .8rem; background: linear-gradient(transparent, rgba(20, 24, 21, .85)); color: #fff; font: 800 1.15rem var(--scr-display); }
.scr-stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.scr-stat { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.3rem; box-shadow: var(--scr-shadow); }
.scr-stat strong { display: block; font: 800 2.6rem/1 var(--scr-display); color: var(--scr-red); margin-bottom: .35rem; }
.scr-stat span { color: var(--scr-ink-2); font-weight: 600; }
.scr-prose { max-width: 760px; }
.scr-prose p { color: var(--scr-ink-2); }
.scr-figure--wide img { width: 100%; max-width: 900px; }

/* ---------- WooCommerce: notices, cart, checkout, forms ---------- */
body.scr :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { border: 1px solid var(--scr-line) !important; border-left: 5px solid var(--scr-red) !important; border-top: 1px solid var(--scr-line) !important; border-radius: var(--scr-radius) !important; background: #fff !important; color: var(--scr-ink) !important; padding: 1rem 1.2rem 1rem 3rem !important; font-size: 1rem; box-shadow: var(--scr-shadow); display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
body.scr .woocommerce-message { border-left-color: #2f7d4a !important; }
body.scr .woocommerce-message::before { color: #2f7d4a !important; }
body.scr :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { top: 1.05rem !important; left: 1.1rem !important; }
body.scr :is(.woocommerce-message, .woocommerce-info) .button { order: 2; margin-left: auto !important; }
body.scr.woocommerce-page :is(a.button, button.button, input.button, .button.alt, #place_order), body.scr .scr-woo :is(a.button, button.button) {
	border-radius: 999px !important; background: var(--scr-red) !important; color: #fff !important; font: 700 1rem/1.1 var(--scr-font) !important; padding: .8em 1.4em !important; min-height: 46px; border: 0 !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.scr.woocommerce-page :is(a.button, button.button, input.button, .button.alt, #place_order):hover { background: var(--scr-red-dark) !important; }
body.scr.woocommerce-page button.button:disabled, body.scr.woocommerce-page button.button[disabled] { background: var(--scr-cream-2) !important; color: var(--scr-muted) !important; opacity: 1 !important; }
body.scr .scr-woo table.shop_table { border: 1px solid var(--scr-line) !important; border-radius: var(--scr-radius-lg) !important; background: #fff; border-collapse: separate !important; overflow: hidden; }
body.scr .scr-woo table.shop_table :is(th, td) { border-top: 0 !important; border-bottom: 1px solid var(--scr-line) !important; border-left: 0 !important; border-right: 0 !important; padding: 1rem !important; vertical-align: middle; }
body.scr .scr-woo table.shop_table thead th { background: var(--scr-cream); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--scr-ink-2); }
body.scr .scr-woo table.shop_table tr:last-child > * { border-bottom: 0 !important; }
body.scr .scr-woo table.cart img { width: 96px !important; height: 72px; object-fit: cover; border-radius: 8px; }
body.scr .scr-woo table.cart .product-name a { color: var(--scr-ink); font-weight: 700; text-decoration: none; }
body.scr .scr-woo table.cart .product-name a:hover { color: var(--scr-red); }
body.scr .scr-woo a.remove { color: var(--scr-red) !important; border: 1px solid var(--scr-line); width: 32px; height: 32px; line-height: 30px; font-size: 1.3rem; }
body.scr .scr-woo a.remove:hover { background: var(--scr-red) !important; color: #fff !important; }
body.scr .scr-woo .cart-collaterals .cart_totals h2, body.scr .scr-woo #order_review_heading, body.scr .scr-woo .woocommerce-billing-fields > h3, body.scr .scr-woo .woocommerce-additional-fields > h3 { font-size: 1.5rem; margin: 0 0 .8rem; }
body.scr .scr-woo .wc-proceed-to-checkout .checkout-button { width: 100%; font-size: 1.1rem !important; min-height: 54px; }
body.scr .scr-woo .cart-empty { font-size: 1.1rem; }
body.scr .scr-woo .return-to-shop .button { margin-top: .5rem; }
body.scr .scr-woo .form-row label { font-weight: 700; color: var(--scr-ink); font-size: .95rem; }
body.scr .scr-woo .form-row :is(input.input-text, textarea, select), body.scr .scr-woo .select2-container .select2-selection { border: 1px solid var(--scr-line) !important; border-radius: 8px !important; min-height: 46px; padding: .55rem .8rem !important; background: #fff !important; font: 1rem var(--scr-font) !important; }
body.scr .scr-woo .select2-container .select2-selection__rendered { line-height: 30px !important; padding: 0 !important; }
body.scr .scr-woo #order_review { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.2rem; box-shadow: var(--scr-shadow); }
body.scr .scr-woo #payment { background: var(--scr-cream) !important; border-radius: var(--scr-radius) !important; }
body.scr .scr-woo #payment div.payment_box { background: #fff !important; }
body.scr .scr-woo #payment div.payment_box::before { border-bottom-color: #fff !important; }
body.scr .scr-woo .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 1rem; }
@media (max-width: 768px) {
	body.scr .scr-woo table.shop_table_responsive tr { border-bottom: 1px solid var(--scr-line); }
	body.scr .scr-woo table.shop_table_responsive tr td { padding: .6rem 1rem !important; border-bottom: 0 !important; }
	body.scr .scr-woo table.cart .product-thumbnail { display: block !important; text-align: left !important; }
	body.scr .scr-woo table.cart .product-thumbnail::before { display: none; }
	body.scr .scr-woo table.cart img { width: 100% !important; max-width: 220px; height: auto; aspect-ratio: 4 / 3; }
}
/* Child theme paints #customer_details .col-2 solid #BF3E3E with white !important text (old checkout design). Neutralize on the redesigned checkout. */
body.scr .scr-woo #customer_details .col-2 { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.2rem 1.3rem; }
body.scr .scr-woo #customer_details .col-2 :is(h3, p, label, th, td, span) { color: var(--scr-ink) !important; }
body.scr .scr-woo #customer_details .col-2 a { color: var(--scr-red) !important; }
body.scr .scr-woo #customer_details .col-1 { padding-top: .2rem; }
body.scr .scr-woo #ship-to-different-address { font-size: 1.15rem; }
@media (max-width: 767px) { body.scr.woocommerce-checkout .scr-callbar { display: none; } body.scr.woocommerce-checkout { padding-bottom: 0 !important; } }
.scr-emptycart { margin-top: 1rem; } .scr-emptycart p { margin: 0; color: var(--scr-ink-2); }
.scr-search { margin-top: 1.6rem; max-width: 560px; }
.scr-search label { display: block; font-weight: 700; margin-bottom: .4rem; }
.scr-search > div { display: flex; gap: .5rem; }
body.scr .scr-search input { flex: 1; min-height: 46px; border: 1px solid var(--scr-line); border-radius: 8px; padding: .5rem .8rem; font: 1rem var(--scr-font); background: #fff; }
.scr-results { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; gap: .9rem; }
.scr-result { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; align-items: start; background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius); padding: .9rem; }
.scr-result__media img { width: 120px; height: 90px; object-fit: cover; border-radius: 8px; display: block; }
.scr-result__type { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--scr-muted); }
body.scr .scr-result__title { margin: .1rem 0 .3rem; font-size: 1.15rem; }
body.scr .scr-result__title a { color: var(--scr-ink); text-decoration: none; }
body.scr .scr-result__title a:hover { color: var(--scr-red); }
.scr-result__price { margin: 0 0 .3rem; color: var(--scr-red); font-weight: 700; }
.scr-result__text { margin: 0; color: var(--scr-ink-2); font-size: .95rem; }
@media (max-width: 499px) { .scr-result { grid-template-columns: 84px 1fr; } .scr-result__media img { width: 84px; height: 64px; } }
.scr-sold { display: flex; flex-direction: column; gap: .4rem; }
.scr-sold strong { font-family: var(--scr-display); font-size: 1.6rem; color: var(--scr-ink); }
.scr-sold span { font-family: var(--scr-font); font-size: 1rem; font-weight: 600; color: var(--scr-ink-2); background: var(--scr-cream); border-left: 4px solid var(--scr-ink); padding: .7rem .9rem; border-radius: 0 8px 8px 0; }
body.scr span.onsale.scr-soldflash { background: var(--scr-ink) !important; }
@media (min-width: 1100px) { .scr-home-inv { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 759px) { .scr-home-inv .scr-icard:nth-child(n+5) { display: none; } }
.scr-reviews__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.scr-review { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.3rem 1.4rem; box-shadow: var(--scr-shadow); display: flex; flex-direction: column; }
.scr-review__stars { margin: 0 0 .5rem; color: #c98a1e; letter-spacing: 2px; }
.scr-review blockquote { margin: 0 0 1rem; padding: 0; border: 0; font-size: 1.05rem; color: var(--scr-ink); font-style: normal; flex: 1; }
.scr-review blockquote p { margin: 0; }
.scr-review__by { margin: 0; font-size: .92rem; color: var(--scr-muted); }
.scr-review__by a { font-weight: 600; }
.scr-gallery { grid-template-columns: repeat(auto-fill, minmax(min(210px, 45%), 1fr)); }
@media (max-width: 599px) { .scr-gallery { gap: .5rem; } .scr-gallery figcaption { font-size: .8rem; } .scr-timeline__arrow { display: none; } }
/* My account */
body.scr.woocommerce-account .site-main { padding-block: 1rem 3rem; }
body.scr.woocommerce-account .page-header .entry-title { font-size: clamp(1.9rem, 4vw, 2.6rem); }
body.scr .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); overflow: hidden; background: #fff; }
body.scr .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--scr-line); }
body.scr .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.scr .woocommerce-MyAccount-navigation a { display: block; padding: .75rem 1rem; color: var(--scr-ink); font-weight: 600; text-decoration: none; }
body.scr .woocommerce-MyAccount-navigation li.is-active a, body.scr .woocommerce-MyAccount-navigation a:hover { background: var(--scr-cream); color: var(--scr-red); }
body.scr .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--scr-line); border-radius: var(--scr-radius-lg); padding: 1.3rem 1.4rem; }
body.scr.woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register) { background: #fff; border: 1px solid var(--scr-line) !important; border-radius: var(--scr-radius-lg) !important; padding: 1.4rem !important; }
body.scr.woocommerce-account .woocommerce-form-row input.input-text { border: 1px solid var(--scr-line); border-radius: 8px; min-height: 46px; padding: .5rem .8rem; }

/* ---------- Inventory toolbar v2: location + style + sort + view ---------- */
.scr-catalog__bar { display: block; margin-bottom: 1.4rem; }
.scr-catalog__filters-row { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; padding-bottom: .9rem; border-bottom: 1px solid var(--scr-line); }
.scr-catalog__filters-row .scr-catalog__filters { flex: 1 1 auto; justify-content: flex-start; }
.scr-catalog__meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.1rem; padding-top: .9rem; }
.scr-catalog__meta-row .scr-catalog__count { margin-right: auto; }
.scr-catalog__select { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--scr-ink-2); font-size: .95rem; }
body.scr .scr-catalog__select select { min-height: 42px; padding: .3rem 2rem .3rem .75rem; border: 1px solid var(--scr-line); border-radius: 8px; background-color: #fff; font: 600 .95rem var(--scr-font); color: var(--scr-ink); cursor: pointer; }
body.scr .scr-catalog__select select:hover { border-color: var(--scr-ink); }
.scr-catalog__select--loc { display: none; }
body.scr .scr-clear { min-height: 36px; padding: .3rem .8rem; border: 0; border-radius: 999px; background: var(--scr-cream); color: var(--scr-red); font: 700 .9rem var(--scr-font); cursor: pointer; }
body.scr .scr-clear:hover { background: var(--scr-cream-2); }
body.scr .scr-clear::before { content: "×"; margin-right: .35em; font-size: 1.1em; }
.scr-viewtoggle { display: inline-flex; border: 1px solid var(--scr-line); border-radius: 8px; overflow: hidden; background: #fff; }
body.scr .scr-viewtoggle button { display: inline-flex; align-items: center; gap: .35rem; min-height: 42px; padding: 0 .8rem; border: 0; background: transparent; color: var(--scr-ink-2); font: 600 .92rem var(--scr-font); cursor: pointer; }
body.scr .scr-viewtoggle button + button { border-left: 1px solid var(--scr-line); }
body.scr .scr-viewtoggle button svg { fill: currentColor; }
body.scr .scr-viewtoggle button.is-active { background: var(--scr-ink); color: #fff; }
body.scr .scr-viewtoggle button:not(.is-active):hover { background: var(--scr-cream); }
.scr-catalog__none { padding: 2rem 1.4rem; text-align: center; background: var(--scr-cream); border: 1px dashed var(--scr-line); border-radius: var(--scr-radius-lg); }
.scr-catalog__none p { margin: 0 0 1rem; color: var(--scr-ink-2); }
.scr-catalog__grid[hidden], .scr-catalog__none[hidden], .scr-clear[hidden] { display: none !important; }

/* List view: a scannable comparison row (card body becomes grid cells) */
.scr-catalog__grid.is-list { grid-template-columns: 1fr; gap: .7rem; }
.scr-catalog__grid.is-list .scr-icard {
	display: grid; grid-template-columns: 168px minmax(0, 1.5fr) minmax(0, 1fr) auto; grid-template-areas: "media title price actions" "media loc price actions";
	align-items: center; column-gap: 1.4rem; padding-right: 1.2rem; border-radius: var(--scr-radius);
}
.scr-catalog__grid.is-list .scr-icard:hover { transform: none; }
.scr-catalog__grid.is-list .scr-icard__body { display: contents; }
.scr-catalog__grid.is-list .scr-icard__media { grid-area: media; align-self: stretch; aspect-ratio: auto; min-height: 112px; }
.scr-catalog__grid.is-list .scr-icard__media .scr-badge { top: .45rem; left: .45rem; font-size: .7rem; padding: .2rem .55rem; }
.scr-catalog__grid.is-list .scr-icard__title { grid-area: title; align-self: end; margin: .9rem 0 .15rem; }
.scr-catalog__grid.is-list .scr-icard__size { display: inline; font-size: 1.3rem; margin-right: .45rem; }
.scr-catalog__grid.is-list .scr-icard__name { display: inline; font-size: 1rem; }
.scr-catalog__grid.is-list .scr-icard__loc { grid-area: loc; align-self: start; margin: 0 0 .9rem; }
.scr-catalog__grid.is-list .scr-icard__price { grid-area: price; margin: 0; flex-direction: column; align-items: flex-start; gap: .1rem; }
.scr-catalog__grid.is-list .scr-icard__now { font-size: 1.35rem; }
.scr-catalog__grid.is-list .scr-icard__actions { grid-area: actions; display: flex; gap: .5rem; }
.scr-catalog__grid.is-list .scr-icard__actions .scr-btn { width: auto; white-space: nowrap; }
.scr-icard__loc--none { display: none; }
.scr-catalog__grid.is-list .scr-icard__loc--none { display: block; min-height: 0; }

@media (max-width: 899px) {
	.scr-catalog__grid.is-list .scr-icard { grid-template-columns: 140px minmax(0, 1fr) auto; grid-template-areas: "media title price" "media loc price" "media actions actions"; row-gap: .35rem; padding: 0 1rem 0 0; }
	.scr-catalog__grid.is-list .scr-icard__actions { padding-bottom: .9rem; }
	.scr-catalog__grid.is-list .scr-icard__loc { margin: 0; }
}
@media (max-width: 767px) {
	.scr-catalog__filters-row .scr-catalog__filters { display: none; }
	.scr-catalog__select--loc { display: inline-flex; }
	.scr-catalog__filters-row, .scr-catalog__meta-row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
	.scr-catalog__select { flex-direction: column; align-items: stretch; gap: .2rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
	body.scr .scr-catalog__select select { width: 100%; text-transform: none; letter-spacing: 0; font-size: 1rem; }
	.scr-catalog__meta-row .scr-catalog__count { grid-column: 1 / -1; margin: 0; display: block; }
	.scr-catalog__meta-row .scr-clear { grid-column: 1 / -1; justify-self: start; }
	.scr-viewtoggle { align-self: end; justify-self: stretch; }
	body.scr .scr-viewtoggle button { flex: 1; justify-content: center; }
	.scr-catalog__grid.is-list .scr-icard { grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "media title" "media loc" "media price" "actions actions"; column-gap: .9rem; padding: 0; }
	.scr-catalog__grid.is-list .scr-icard__media { min-height: 0; aspect-ratio: 1 / 1; align-self: start; margin: .7rem 0 0 .7rem; border-radius: 8px; }
	.scr-catalog__grid.is-list .scr-icard__title { margin-top: .7rem; }
	.scr-catalog__grid.is-list .scr-icard__size { display: block; font-size: 1.2rem; }
	.scr-catalog__grid.is-list .scr-icard__name { display: block; font-size: .92rem; }
	.scr-catalog__grid.is-list .scr-icard__price { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem; padding-right: .7rem; }
	.scr-catalog__grid.is-list .scr-icard__now { font-size: 1.2rem; }
	.scr-catalog__grid.is-list .scr-icard__actions { padding: .3rem .7rem .7rem; display: grid; grid-template-columns: 1fr 1fr; }
	.scr-catalog__grid.is-list .scr-icard__actions .scr-btn { width: 100%; }
}
.scr-catalog__grid .scr-icard[hidden], .scr-catalog__grid.is-list .scr-icard[hidden] { display: none !important; } /* list view sets display:grid, which would otherwise override [hidden] */

/* ---------- Homepage: how our sheds are built (video) ---------- */
.scr-build__split { align-items: start; }
@media (min-width: 960px) { .scr-build__split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } .scr-build__split--text { grid-template-columns: minmax(0, 1fr); max-width: 52rem; } }
.scr-build__media { min-width: 0; }
.scr-build__video { margin: 0; }
.scr-build__video video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 8; object-fit: cover; border-radius: var(--scr-radius-lg, 14px); background: var(--scr-cream-2); box-shadow: var(--scr-shadow, 0 8px 24px rgba(35,31,28,.12)); }
.scr-build__video figcaption { margin-top: .55rem; font-size: .9rem; font-weight: 600; color: var(--scr-ink-2); }
.scr-build__vdesc { margin: .35rem 0 0; font-size: .88rem; color: var(--scr-muted); line-height: 1.5; }
.scr-build__vdesc-label { font-weight: 700; color: var(--scr-ink-2); }
.scr-build__points { margin: 1rem 0 1.1rem; }

/* Links inside running text must not rely on colour alone (WCAG 1.4.1, axe link-in-text-block). Buttons and card
   links keep their own styles. */
body.scr p a:not(.scr-btn):not(.scr-link):not(.scr-phone), body.scr li > span a, body.scr .scr-pbox__list a { text-decoration: underline; text-underline-offset: .16em; text-decoration-thickness: 1px; }
/* Star ratings: the text inside ("Rated 4.96 out of 5 based on…") is clipped and only for screen readers (the widget's
   aria-label says the same); the visible stars are a ::before with their own colour. Make that hidden text transparent
   so it isn't measured as low-contrast text (axe color-contrast). */
body.scr .star-rating span { color: transparent; }


/* Quantity −/+ (child theme qty-stepper.js) on inventory products (simple form.cart) and the cart page (2026-10-05).
   configurator.css styles them only on made-to-order products, so here they fell back to Hello Elementor's reset
   (magenta #c36 text/border). Same look as there; 44px targets. */
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) button.qty-stepper-btn {
	transition: none; box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 0; border: 1.5px solid var(--scr-line);
	background: var(--scr-cream); color: var(--scr-ink); font-family: inherit; font-size: 22px; line-height: 1; white-space: normal;
}
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) button.qty-stepper-btn:hover { background: var(--scr-cream-2); color: var(--scr-ink); }
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) button.qty-stepper-btn:focus { outline: none; }
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) button.qty-stepper-btn:focus-visible { outline: 3px solid var(--scr-focus); outline-offset: 2px; }
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) button.qty-stepper-minus { border-radius: 8px 0 0 8px; }
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) button.qty-stepper-plus { border-radius: 0 8px 8px 0; }
body.scr :is(form.cart:not(.variations_form), .woocommerce-cart-form) div.quantity input.qty { min-height: 44px; }
