/* Shed City Site — styles for components the plugin renders (inventory catalog and cards, price tables, category
   comparison, phone links, lots, buttons inside those components). Carried over unchanged from shedcity-redesign 1.7.0
   site.css so output matches production. Design tokens below are fallbacks with zero specificity; the theme's
   (Bricks) global variables of the same name override them. */
:where(: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) { :where(:root) { --scr-gutter: 24px; } }
@media (min-width: 1180px) { :where(:root) { --scr-header-h: 80px; } }


/* ---------- 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; }


/* ---------- 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; }


/* 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; }


/* 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); }
/* WooCommerce fades the "was" price (opacity .7): 3.1:1 / 3.5:1. Full opacity keeps the strikethrough and passes AA. */
body.scr.woocommerce div.product .price del,
body.scr.woocommerce ul.products li.product .price del { opacity: 1; }
.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); }
}
/* The heading the comparison element prints itself (Bricks' .scr-section__head class styles only Bricks elements). */
.scr-compare .scr-section__head { max-width: 760px; margin-bottom: clamp(1.8rem, 4vw, 2.8rem); }
.scr-compare .scr-section__head h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin: 0 0 .7rem; }
.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); }
/* Price tables and category-page hero image (from site.css 1.7.0). */
.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-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; } }
@media (max-width: 599px) { .scr-phero__media { 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; }
@media (max-width: 639px) { .scr-ptabs { flex-wrap: nowrap; } .scr-ptabs .scr-chip { flex: 1 1 0; padding-inline: .4rem; font-size: .9rem; } }

/* ---------- 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__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-catalog__grid { gap: 1rem; }
}
@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] */


/* 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; }



/* ---------- Promotion fine print (Promotion terms element) and Recent reviews (from the 2026 site.css) ---------- */
.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__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-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; }

/* Home inventory preview: four across on wide screens, first four cards only on phones. */
@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; } }

/* Product page: ordering-help box (Product: SOLD notice and ordering help element; also printed after the order form) */
.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; }
.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); }

/* Empty cart: what to do next (printed under WooCommerce's "Your cart is currently empty."). */
.scr-emptycart { margin-top: 1rem; }
.scr-emptycart p { margin: 0; color: var(--scr-ink-2); }
/* SOLD notice in place of the price on a sold shed's page. */
.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; }
/* Links in the product ordering-help box. */
body.scr .scr-pbox__list a { text-decoration: underline; text-underline-offset: .16em; text-decoration-thickness: 1px; }
/* Homepage inventory preview: six sheds on phones. */
@media (max-width: 759px) {
	.scr-inv__item:nth-child(n+7) { display: none; }
}
/* Site search form and search results (Search form / Search results elements). */
.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; }
}

/* Bricks lightbox additions (assets/lightbox.js): photo title under the photo and the Share menu, as production's
   Elementor lightbox. */
.pswp__scs-title { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 60px 18px; text-align: center; color: #fff; font-size: 1rem; line-height: 1.4; background: linear-gradient(transparent, rgba(0, 0, 0, .55)); pointer-events: none; }
.pswp--has-thumbnail-nav .pswp__scs-title { bottom: var(--pswp-thumbnail-nav-height, 0); }
.pswp__scs-share { position: absolute; top: 60px; right: 12px; z-index: 10; margin: 0; padding: 6px 0; list-style: none; background: #141414; border-radius: 6px; min-width: 190px; }
.pswp__scs-share[hidden] { display: none; }
/* Beats the site's link colours (body.scr a). */
.pswp .pswp__scs-share a { display: block; padding: 10px 16px; color: #fff; text-decoration: none; font-size: .95rem; }
.pswp .pswp__scs-share a:hover, .pswp .pswp__scs-share a:focus-visible { background: #3a3a3a; color: #fff; outline: 2px solid #fff; outline-offset: -2px; }
