/*
 Theme Name:   Shed City (Bricks child)
 Theme URI:    https://www.shedcityusa.com/
 Description:  Shed City USA child theme for Bricks: design tokens, base type and the shared pieces (buttons, phone links, icons) used by both Bricks elements and the Shed City Site plugin. Page layouts live in Bricks (templates and global classes); business features live in the Shed City Site plugin.
 Author:       Shed City USA
 Template:     bricks
 Version:      1.0.0
 Text Domain:  shedcity
*/

/* This file is generated by rebuild-2026-10-24/src/build (convert.py): edit css/child-base.css or the
   redesign stylesheet there, not this copy. */

/* ---------- Bricks glue ---------- */
/* Bricks prints the header template inside <header id="brx-header">. The promotion and phone bars
   scroll away and only the main bar sticks, as before: let the bars sit in the page flow. */
/* Bricks sets html{font-size:62.5%} (in @layer bricks); the 2026 design is sized in rem from 16px. */
html { font-size: 100%; }

#brx-header { display: contents; }
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; } }

/* Browser and previous-theme defaults the 2026 design was built on (Bricks resets them).
   :where() keeps them at zero specificity so any class wins. */
:where(body.scr) :where(h1, h2, h3, h4, h5, h6) { margin-block: .5rem 1rem; }
:where(body.scr) :where(h1) { font-size: 2.5rem; }
:where(body.scr) :where(h2) { font-size: 2rem; }
:where(body.scr) :where(h3) { font-size: 1.75rem; }
:where(body.scr) :where(h4) { font-size: 1.5rem; }
:where(body.scr) :where(h5) { font-size: 1.25rem; }
:where(body.scr) :where(h6) { font-size: 1rem; }
:where(body.scr) :where(p) { margin-block: 0 .9rem; }
:where(body.scr) :where(ul, ol) { margin-block: 1em; padding-inline-start: 40px; }
:where(body.scr) :where(figure, blockquote) { margin: 1em 40px; }
:where(body.scr) :where(b, strong) { font-weight: bolder; }

/* Bricks Sections default to a centered flex column. The converted Shed City sections are laid
   out by their own classes (block flow, as in the 2026 design). New sections added in Bricks
   without an scr- class keep Bricks' default. */
.brxe-section[class*="scr-"], .brxe-section.site-main { display: block; }

/* Mobile call bar steps aside while the menu is open (Bricks Nav Nested adds .brx-open; it also locks body scroll). */
@media (max-width: 767px) { body:has(.scr-nav.brx-open) .scr-callbar { display: none; } }

/* Production's home page is white (Elementor page setting on post 500); every other page shows site.css's paper colour.
   Bricks' own `body { background: #fff }` is layered, so site.css's body.scr rule already wins elsewhere. */
html body.scr.home { background-color: #fff; }

/* Only .scr-header sticks (the announcement and phone bars scroll away). Bricks wraps the header template in
   <header id="brx-header">, which would confine the sticky bar to its own height; let the bar stick to the page. */
#brx-header { display: contents; }

/* Captions as production shows them (Hello Elementor's reset: italic, start-aligned, 1.4 line height; Bricks centres). */
body figcaption { margin: 0; font-style: italic; text-align: start; line-height: 1.4; }
/* Bricks sets blockquotes in Georgia; production quotes (reviews) use the body font. */
body blockquote { font-family: inherit; }
/* Table cells at 1.5 line height, as production's theme reset gives them (price tables, cart). */
body th, body td { line-height: 1.5; }
/* Contact form on phones: one field per row (Bricks sets per-field widths with an ID selector). */
@media (max-width: 767px) { .scr-form .form-group { width: 100% !important; } }
/* Rich text colour. Not a Bricks class setting: Bricks applies a text element's colour to its links as well,
   and links keep their own colours (red in text, white in the dark help box), as on production. */
.scr-text { color: var(--scr-ink-2); }
/* Production's theme reset for labels and buttons (inventory filters, account and checkout forms): labels at line
   height 1 without Bricks' 5px gap, in the text colour (Bricks greys them), buttons centred. Bricks Form labels keep
   Bricks' own styles. */
:where(body.scr) :where(label:not(.brxe-form label)) { line-height: 1; margin: 0; color: inherit; }
:where(body.scr) :where(button) { text-align: center; }
/* Home building-type cards: the photo slideshow sits inside the link to the category. */
.scr-type__link { display: block; }
/* Shop/category header with a category photo: text beside the photo, as production's .scr-phero--img (the photo shows
   only for categories that have one, so the layout follows the photo; Bricks prints a global class's CSS only where
   the class is set in the builder). Specificity beats the .scr-phero__inner class settings. */
.scr-phero:has(> .scr-phero__inner > .scr-phero__media) > .scr-phero__inner.scr-phero__inner { padding-block: clamp(1.4rem, 3vw, 2.2rem); }
@media (min-width: 900px) {
	.scr-phero:has(> .scr-phero__inner > .scr-phero__media) > .scr-phero__inner.scr-phero__inner { grid-template-columns: minmax(0, 1fr) 400px; }
}
/* Shop/category product grid: less space above than other sections (production: .scr-cat__grid after .scr-section).
   Bricks prints .scr-section's padding as tripled custom CSS, which outranks the .scr-cat__grid class setting. */
.scr-section.scr-cat__grid.scr-cat__grid.scr-cat__grid { padding-top: clamp(1.8rem, 4vw, 2.6rem); }
/* Page links under product lists, as production's theme reset laid them out (flex row, 20px above and below). */
:where(body.scr) :where(.pagination) { display: flex; justify-content: space-between; margin: 20px auto; }
/* Images inside editor content (product descriptions, text and post-content elements) sit on the text baseline, as with
   production's theme reset; Bricks' base layer sets img { vertical-align: middle }, which drops the line box ~10px. */
:where(.brxe-product-content, .brxe-post-content, .brxe-text, .brxe-text-basic) img { vertical-align: baseline; }
/* Contact form: reserve the Turnstile widget's height (Managed mode, 65px); it loads only when the form nears the screen. */
.brxe-form .brx-turnstile { min-height: 65px; }

/* ---------- From the 2026 redesign: tokens, base, shared pieces (generated by src/build) ---------- */
: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; }
}
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 { font-family: var(--scr-display); color: var(--scr-ink); line-height: 1.18; letter-spacing: -0.01em; font-weight: 800; }
body.scr h2 { font-family: var(--scr-display); color: var(--scr-ink); line-height: 1.18; letter-spacing: -0.01em; font-weight: 800; }
body.scr h3 { font-family: var(--scr-display); color: var(--scr-ink); line-height: 1.18; letter-spacing: -0.01em; font-weight: 800; }
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 * { box-sizing: border-box; }
.scr *::before { box-sizing: border-box; }
.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; }
.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); }
.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 { color: #fff; }
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; }
.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); }
.scr-nav__mobile-extra .scr-phone { font-size: 1.3rem; }
.scr-lead { font-size: 1.15rem; color: var(--scr-ink-2); }
.scr-hero__call .scr-phone { font-size: 1.3rem; }
.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; }
.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-pay__card .scr-checklist { margin: 1rem 0; }
.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-ctaband .scr-phonepair--onDark .scr-phone { font-size: 1.3rem; }
.scr-ctaband .scr-phonepair--onDark .scr-phone__label { color: #ffd9d3; }
.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; }
@media (max-width: 767px) {
	body.scr { padding-bottom: 64px !important; }
}
body.scr .site-main { font-size: 1.05rem; }
body.scr .page-content { font-size: 1.05rem; }
body.scr .entry-content { font-size: 1.05rem; }
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.page-template-default .site-main { max-width: var(--scr-wrap); margin-inline: auto; padding-inline: var(--scr-gutter); }
body.scr.single-product .site-main { max-width: var(--scr-wrap); margin-inline: auto; padding-inline: var(--scr-gutter); }
body.scr.woocommerce-page .site-main { max-width: var(--scr-wrap); margin-inline: auto; padding-inline: var(--scr-gutter); }
body.scr.archive .site-main { max-width: var(--scr-wrap); margin-inline: auto; padding-inline: var(--scr-gutter); }
body.scr .site-content { padding-inline: 0; }
body.scr .page-content { padding-inline: 0; }
body.scr .entry-content table { border-collapse: collapse; width: 100%; }
body.scr .page-content table { border-collapse: collapse; width: 100%; }
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 { font-size: clamp(1.9rem, 4vw, 2.7rem); margin: 1.6rem 0 .6rem; }
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; }
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; }
@media (prefers-reduced-motion: reduce) {
	.scr * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.scr *::before { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.scr *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
.scr-lead { font-size: 1.15rem; color: var(--scr-ink-2); }
.scr-lead strong { color: var(--scr-ink); }
.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 { padding: .5rem .8rem; border-bottom: 1px solid var(--scr-line); text-align: left; vertical-align: top; }
.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 { border-bottom: 0; }
.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-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-figure { margin: 0; }
.scr-figure img { border-radius: var(--scr-radius); display: block; }
.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; }
body.scr.single-product .product_title { font-family: var(--scr-display) !important; font-variant: normal !important; letter-spacing: -0.01em; }
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 { border-radius: 999px !important; background: var(--scr-red) !important; color: #fff !important; }
body.scr .wc-product-table .single_add_to_cart_button { border-radius: 999px !important; background: var(--scr-red) !important; color: #fff !important; }
#shed-moving { scroll-margin-top: calc(var(--scr-header-h) + 16px); }
.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); }
}
.scr-cols > .scr-card { align-self: start; }
.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; }
.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); }
.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; }
@media (max-width: 767px) {
	.scr-help { font-size: .95rem; }
}
body.scr.woocommerce div.product .price del { opacity: 1; }
body.scr.woocommerce ul.products li.product .price del { opacity: 1; }
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); }
.scr-checklist--cols { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem 1.4rem; }
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 .woocommerce-product-gallery { margin: 0 !important; }
body.scr .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img { border-radius: var(--scr-radius-lg); }
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 { opacity: 1; outline: 2px solid var(--scr-red); outline-offset: 1px; }
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); }
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; font-weight: 700 !important; /* production weight (Grokbot L-1) */ }
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 .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; }
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 { border-color: var(--scr-red) !important; }
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; }
body.scr.single-product .desc-container img { border-radius: var(--scr-radius); max-width: min(100%, 420px); height: auto; }
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; }
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 { color: #c98a1e !important; }
body.scr .star-rating span::before { color: #c98a1e !important; }
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; }
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) {
	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; }
}
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); }
@media (max-width: 400px) {
	body.scr #reviews #respond .g-recaptcha { transform: scale(.86); transform-origin: left top; height: 68px; }
}
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 { display: none !important; }
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; }
@media (max-width: 639px) {
	.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 { padding: .65rem .85rem; font-size: 1.02rem; }
	.scr-ptable td { padding: .65rem .85rem; font-size: 1.02rem; }
	.scr-ptable--options tbody th { width: auto; }
	.scr-ptable--options table { display: block; }
	.scr-ptable--options tbody { display: block; }
	.scr-ptable--options tr { display: block; }
	.scr-ptable--options th { display: block; }
	.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 { border: 0; padding: .2rem .85rem; }
	.scr-ptable--options td { border: 0; padding: .2rem .85rem; }
	.scr-ptable--options tbody th { color: var(--scr-ink); }
}
.scr-ptable table { border-collapse: separate; border-spacing: 0; }
.scr-ptable th { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; background-clip: padding-box; }
.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 { background: transparent; }
.scr-ptable tbody tr:hover > th { background: transparent; }
.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); }
}
.scr-contact__email { font-weight: 700; color: var(--scr-ink); margin-top: 1rem; }
.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); }
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) { 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 .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 { background: var(--scr-cream-2) !important; color: var(--scr-muted) !important; opacity: 1 !important; }
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 { font-size: 1.5rem; margin: 0 0 .8rem; }
body.scr .scr-woo #order_review_heading { font-size: 1.5rem; margin: 0 0 .8rem; }
body.scr .scr-woo .woocommerce-billing-fields > h3 { font-size: 1.5rem; margin: 0 0 .8rem; }
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) { 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 { 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; }
	/* WooCommerce 11 prints the product name as <th class="product-name"> in each row and its small-screen CSS hides
	   every tbody th: show it (name, size and every chosen option) as a full-width block under the photo. */
	body.scr .scr-woo table.cart tbody th.product-name { display: block !important; width: auto !important; text-align: left !important; padding: .6rem 1rem .2rem !important; border-bottom: 0 !important; font-weight: 400; overflow-wrap: anywhere; }
	body.scr .scr-woo table.cart tbody tr:nth-child(2n) th.product-name { background-color: rgba(0, 0, 0, .025); }
	body.scr .scr-woo table.cart tbody th.product-name dl.variation dt { font-weight: 700; }
	body.scr .scr-woo table.cart tbody th.product-name::before { content: none !important; display: none !important; }
	body.scr .scr-woo table.cart tbody th.product-name > a { display: block; font-size: 1.05rem; line-height: 1.3; }
	body.scr .scr-woo table.cart tbody th.product-name dl.variation { margin: .5rem 0 0; font-size: .95rem; line-height: 1.35; }
	body.scr .scr-woo table.cart tbody th.product-name dl.variation dd { margin: 0 0 .45rem !important; padding: 0 !important; }
	body.scr .scr-woo table.cart tbody th.product-name dl.variation :is(dt, dd p) { margin: 0 !important; padding: 0 !important; }
}
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; }
}
body.scr span.onsale.scr-soldflash { background: var(--scr-ink) !important; }
@media (max-width: 599px) {
	.scr-timeline__arrow { display: none; }
}
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 { background: var(--scr-cream); color: var(--scr-red); }
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; }
body.scr p a:not(.scr-btn):not(.scr-link):not(.scr-phone) { text-decoration: underline; text-underline-offset: .16em; text-decoration-thickness: 1px; }
body.scr li > span a { text-decoration: underline; text-underline-offset: .16em; text-decoration-thickness: 1px; }
body.scr .star-rating span { color: transparent; }
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; }

/* ---------- Converter: rules for markup inside text elements ---------- */
.scr-pbox .scr-phonepair {
  margin-bottom: .8rem;
}

.scr-pricing__jump {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}

.scr-pricing__jump.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;
}

.scr-pricing__jump.scr-pricing__jump a:hover {
  border-color: var(--scr-red);
  color: var(--scr-red);
}

.scr-icard__actions .scr-btn {
  width: 100%;
  padding-inline: .6em;
}

.scr-phonecards .scr-bigphone {
  border: 1px solid var(--scr-line);
  box-shadow: var(--scr-shadow);
}

.scr-phero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .4rem;
}

.scr-catalog__grid.is-list .scr-icard__actions .scr-btn {
  width: auto;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .scr-catalog__grid.is-list .scr-icard__actions .scr-btn {
    width: 100%;
  }
}

.scr-band--flush {
  padding: 0;
}

::placeholder {
  color: revert;
}

.brxe-image.bricks-lightbox {
  display: block;
}

/* ---------- Product page (Bricks template "Product page (Shed City)") ----------
   The redesign styled production's Elementor single-product template through Elementor's wrappers
   (.elementor-widget-container, .elementor-widget-woocommerce-product-price, column paddings). The same look on the
   Bricks WooCommerce elements. The summary keeps production's Elementor box model, so the gallery and the
   summary sit at the same x and width: section padding-left 8px, container padding 6px (14px from 768px), two equal
   columns whose content is inset 10px (gallery) and 11px / 2.4rem (summary). */
.scr-psummary { padding-left: 8px; }
.scr-psummary__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 0; align-items: start; padding-inline: 6px; }
.scr-psummary__media { padding-left: 10px; }
.scr-psummary__info { padding-left: 11px; }
@media (min-width: 768px) { .scr-psummary__grid { padding-inline: 14px; } }
@media (min-width: 1025px) { .scr-psummary__info { padding-left: 2.4rem; } }
@media (max-width: 767px) { .scr-psummary__grid { grid-template-columns: minmax(0, 1fr); } }
/* Production's template 22939: the description, reviews and related sections are inset 15px on the left, and the
   product-content widget sets its own typography (headings inside the description inherit the word spacing). */
.desc-container, .scr-previews, .scr-prelated { padding-left: 15px; }
.scr-previews > .scr-wrap { padding-block: 10px; } /* Elementor column padding (also keeps the tabs' top margin inside) */
.desc-container .brxe-product-content { color: #000; font-family: Roboto, sans-serif; font-weight: 400; letter-spacing: 1px; word-spacing: 3px; }
/* WooCommerce keeps the hidden "Clear" link's space (visibility only), so the form does not jump when a size is
   picked; Bricks' WooCommerce script adds an inline display:none on top. */
body.scr .scr-psummary form.variations_form .reset_variations { display: inline-block !important; }
/* Elementor's default space between widgets (20px), which the 2026 layout was measured with. */
.scr-psummary__info > :not(:last-child),
.desc-container .scr-wrap > :not(:last-child) { margin-bottom: 20px; }
.scr-psummary__info > :empty { display: none; }
body.scr.single-product .brxe-product-price .price { /* the font is overridden by the body-type rule below, as on production */ font-family: var(--scr-display) !important; font-size: 1.6rem !important; font-weight: 800 !important; color: var(--scr-red) !important; }
body.scr.single-product .brxe-product-price .price del { color: var(--scr-muted) !important; font-size: 1.1rem; font-weight: 400; }
body.scr.single-product .brxe-product-price .price ins { text-decoration: none; }
/* Details */
body.scr .desc-container { padding-block: clamp(2rem, 5vw, 3rem); background: #fff; border-top: 1px solid var(--scr-line); border-bottom: 1px solid var(--scr-line); }
body.scr .desc-container .scr-wrap > * { max-width: 860px; }
body.scr .scr-pdesc-title { line-height: 1.18; margin: 0 0 1rem; color: var(--scr-ink); } /* production: the heading widget's h2 (size below) */
body.scr.single-product #brx-content .desc-container .brxe-product-content > 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 #brx-content .desc-container .brxe-product-content > h2:has(a[href*="pricing"]) a strong { font-weight: 700; }
body.scr.single-product #brx-content .desc-container .brxe-product-content > 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 .brxe-product-content > :is(h2, h3) { color: var(--scr-ink) !important; }
/* Reviews (hidden when the product has none to show, e.g. inventory sheds) and related products */
body.scr .scr-previews { padding-block: clamp(2rem, 5vw, 3rem); }
body.scr .scr-previews:not(:has(.woocommerce-tabs)) { display: none; }
body.scr .scr-prelated { padding-block: clamp(2rem, 5vw, 3rem); background: var(--scr-cream); }
/* "Sale" badge over the photos, as on production (the badge is positioned against the photo column) */
.brxe-product-gallery { position: relative; }

/* ---------- Production's Elementor product-widget styles, on the Bricks WooCommerce elements ----------
   Elementor Pro's widget CSS and the redesign's .elementor-location-single rules (site.css), with the Elementor
   wrappers swapped for the Bricks ones: .elementor-location-single → #brx-content, a widget's container → the Bricks
   element (whose children are the same WooCommerce markup). */
/* Photos fill their column (Elementor's product-images widget; WooCommerce alone floats them at 48%). */
body.woocommerce div.product .brxe-product-gallery div.images { width: 100%; float: none; }
/* Quantity and button side by side, 10px apart (Elementor's add-to-cart widget). */
.woocommerce div.product .brxe-product-add-to-cart form.cart { margin: 0; }
.woocommerce div.product .brxe-product-add-to-cart form.cart:not(.grouped_form):not(.variations_form),
.woocommerce div.product .brxe-product-add-to-cart form.cart.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: nowrap; }
.woocommerce div.product .brxe-product-add-to-cart form.cart :is(.button, button):where(:not(:first-child)) { margin-block-start: 0; margin-inline-start: 10px; }
.woocommerce div.product .brxe-product-add-to-cart .quantity { vertical-align: middle; }
.woocommerce div.product .brxe-product-add-to-cart .quantity .qty { margin-inline-end: 0; vertical-align: top; }
.woocommerce div.product .brxe-product-add-to-cart .quantity input { height: 100%; }
/* Body type inside the product template (the redesign's single-product rules). */
body.scr.single-product #brx-content :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 #brx-content :is(.brxe-product-price, .brxe-product-content) > :is(p, ul) { color: var(--scr-ink-2); font-size: 1.05rem; line-height: 1.65; max-width: 860px; }
body.scr.single-product #brx-content :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 #brx-content :is(h2.scr-pdesc-title, .brxe-product-content > :is(h2, h3)) { font-size: clamp(1.35rem, 2.6vw, 1.7rem) !important; color: var(--scr-ink) !important; }
body.scr.single-product #brx-content .brxe-product-content > :is(h2, h3) { margin: 1.8rem 0 .6rem; }
body.scr.single-product #brx-content .brxe-product-content > :is(h2, h3) a { color: var(--scr-red) !important; }
body.scr.single-product #brx-content .brxe-product-content > :is(ul, ol) { padding-left: 1.2rem; }
body.scr.single-product #brx-content .brxe-product-content > :is(ul, ol) > li { margin-bottom: .25rem; }
/* Elementor's box model around the widgets, which the layout was measured with: columns pad their widgets by 10px
   (the photo column has none), and each widget contains its content's margins (the title's .4rem, the price's
   .9rem, the help box's 1.4rem) before the 20px gap to the next widget. */
body.scr .scr-pcrumbs > .scr-wrap, body.scr .desc-container > .scr-wrap, body.scr .scr-prelated > .scr-wrap { padding-block: 10px; }
body.scr .scr-psummary__info { padding-block: 10px 20px; }
.scr-psummary__info > *, .desc-container .scr-wrap > * { display: flow-root; }
body.scr.single-product .scr-psummary__info > .product_title:not(:last-child) { margin-bottom: calc(.4rem + 20px) !important; }
body.scr .desc-container .scr-wrap > .scr-pdesc-title:not(:last-child) { margin-bottom: calc(1rem + 20px); }
/* Related products: Elementor's product grid spacing (40px between rows, 20px between columns). */
body.scr.single-product .brxe-product-related ul.products.products { gap: 40px 20px; }


/* ---------- Production's Customizer "Additional CSS" (theme hello-elementor-child) ----------
   WordPress keeps Additional CSS per theme, so it would be lost when the site switches to Bricks. The WooCommerce
   rules, as published 2026-10-25 (its two Elementor-footer rules have nothing left to style): no coupon field or
   coupon prompt, no country field in the billing address (Colorado deliveries), no "create an account" fields at
   checkout, and the login form's text colours. */
p#billing_country_field, .woocommerce-form-coupon-toggle { display: none; }
.woocommerce-account-fields { display: none; }
.woocommerce-form__label span { color: #060606 !important; }
.woocommerce-form-login .form-row { color: black !important; }
.coupon { display: none; }

/* Prod's Elementor rating widget zeroes WooCommerce's .5em top margin on the stars (they sat 4px low beside the count). */
.woocommerce .woocommerce-product-rating .star-rating { margin-top: 0; }

/* WCAG 2.2 target size: WooCommerce's show-password toggle is 22×22px (needs 24×24). */
.woocommerce form .show-password-input { min-width: 24px; min-height: 24px; }
