:root {
  --ink: #2d2b29;
  --graphite: #343230;
  --graphite-deep: #242321;
  --muted: #6f6a64;
  --coral: #c94f3b;
  --coral-dark: #a93c2c;
  --coral-soft: #fcedea;
  --sand: #f5f0e8;
  --cream: #fbf9f5;
  --white: #fff;
  --border: #e1dbd2;
  --border-strong: #cfc5b8;
  --success: #346b53;
  --danger: #9f382f;
  --shadow-sm: 0 10px 30px rgba(57, 47, 39, .07);
  --shadow-lg: 0 24px 70px rgba(57, 47, 39, .12);
  --radius-sm: .75rem;
  --radius: 1.1rem;
  --radius-lg: 1.75rem;
  --bs-primary: #c94f3b;
  --bs-primary-rgb: 201, 79, 59;
  --bs-body-color: #2d2b29;
  --bs-body-bg: #fbf9f5;
  --bs-body-font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bs-border-color: #e1dbd2;
}

html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { min-width: 320px; background: var(--cream); color: var(--ink); font-size: 1rem; line-height: 1.62; }
body:not(.admin-body) { padding-bottom: 0; }
a { color: var(--coral-dark); text-underline-offset: .2em; }
a:hover { color: #7f2d21; }
h1, h2, h3 { color: var(--graphite-deep); font-family: Georgia, "Times New Roman", serif; font-weight: 600; letter-spacing: -.025em; line-height: 1.08; }
h1 { max-width: 21ch; font-size: clamp(2.35rem, 5vw, 4.7rem); }
h2 { font-size: clamp(1.8rem, 3vw, 2.75rem); }
h3 { font-size: 1.35rem; }
p:last-child { margin-bottom: 0; }
button, input, select, textarea { font: inherit; }

.skip-link { position: fixed; z-index: 4000; top: -5rem; left: 1rem; padding: .75rem 1rem; border-radius: .5rem; background: var(--white); color: var(--ink); box-shadow: var(--shadow-lg); font-weight: 750; }
.skip-link:focus { top: 1rem; }
.draft-notice { background: #fff0c9; border-bottom: 1px solid #e6cd8f; color: #5b4510; font-size: .88rem; }
.draft-notice a { color: inherit; font-weight: 750; }

.utility-bar { background: var(--graphite-deep); color: #eeeae4; font-size: .82rem; }
.utility-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.45rem; }
.utility-bar__location { color: inherit; text-decoration: none; }
.utility-bar__location:hover { color: #fff; text-decoration: underline; }
.utility-bar__links { display: flex; align-items: center; gap: 1rem; }
.utility-bar__links a { color: #fff; font-weight: 650; text-decoration: none; }
.utility-bar__links a:hover { text-decoration: underline; }

.site-header { z-index: 1030; border-bottom: 1px solid rgba(225, 219, 210, .9); background: rgba(251, 249, 245, .95); backdrop-filter: blur(14px); }
.site-header .navbar { min-height: 5rem; padding: .65rem 0; }
.site-brand { display: flex; flex-direction: column; color: var(--ink); text-decoration: none; line-height: 1; }
.site-brand:hover { color: var(--ink); }
.site-brand__name { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 700; letter-spacing: -.03em; }
.site-brand__name em { color: var(--coral); font-style: normal; }
.site-brand__tagline { margin-top: .35rem; color: var(--muted); font-size: .61rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.site-header .nav-link { border-radius: .55rem; color: #4c4945; font-size: .88rem; font-weight: 700; padding: .62rem .55rem !important; }
.site-header .nav-link:hover, .site-header .nav-link.active, .site-header .nav-link.show { background: var(--coral-soft); color: var(--coral-dark); }
.site-header button.nav-link { border: 0; background-color: transparent; }
.site-header .dropdown-menu { padding: .55rem; border-color: var(--border); border-radius: .8rem; box-shadow: var(--shadow-sm); }
.site-header .dropdown-item { border-radius: .45rem; padding: .55rem .7rem; }
.site-header .dropdown-item:active, .site-header .dropdown-item:hover { background: var(--coral-soft); color: var(--coral-dark); }
.navbar-toggler { border-color: var(--border-strong); }

.btn { border-radius: .7rem; font-weight: 750; padding: .72rem 1.05rem; transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-lg { border-radius: .8rem; padding: .88rem 1.25rem; font-size: 1rem; }
.btn-coral, .btn-primary { --bs-btn-color: #fff; --bs-btn-bg: var(--coral); --bs-btn-border-color: var(--coral); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--coral-dark); --bs-btn-hover-border-color: var(--coral-dark); --bs-btn-focus-shadow-rgb: 201,79,59; --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--coral-dark); --bs-btn-active-border-color: var(--coral-dark); }
.btn-graphite { --bs-btn-color: #fff; --bs-btn-bg: var(--graphite); --bs-btn-border-color: var(--graphite); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--graphite-deep); --bs-btn-hover-border-color: var(--graphite-deep); }
.btn-outline-graphite, .btn-outline-primary { --bs-btn-color: var(--graphite); --bs-btn-border-color: #8c857d; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--graphite); --bs-btn-hover-border-color: var(--graphite); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--graphite); --bs-btn-active-border-color: var(--graphite); }
.btn-success { --bs-btn-bg: #356b53; --bs-btn-border-color: #356b53; --bs-btn-hover-bg: #285541; --bs-btn-hover-border-color: #285541; }
.btn-link { color: var(--coral-dark); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(201, 79, 59, .32); outline-offset: 2px; box-shadow: none !important; }
.cart-nav-button { display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap; }
.cart-count { display: inline-grid; place-items: center; min-width: 1.55rem; height: 1.55rem; padding: 0 .3rem; border-radius: 999px; background: rgba(255,255,255,.22); font-family: var(--bs-body-font-family); font-size: .74rem; font-style: normal; line-height: 1; }

.eyebrow, .msite-eyebrow { margin-bottom: .7rem; color: var(--coral-dark); font-size: .73rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow--light { color: #f7c6bc; }
.section-space { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.section-white { background: var(--white); }
.section-tinted { background: var(--sand); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-heading h2 { max-width: 24ch; margin-bottom: .45rem; }
.section-heading p { max-width: 46rem; margin-bottom: 0; color: var(--muted); }
.section-link { flex: 0 0 auto; font-weight: 800; text-decoration: none; }
.fine-print { color: var(--muted); font-size: .8rem; }
.lead-copy { max-width: 44rem; color: #5c5751; font-size: 1.1rem; }

.page-hero, .local-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--border); background: linear-gradient(132deg, #f3ede3 0%, #fff9f5 52%, #fae9e4 100%); }
.page-hero::after, .local-hero::after { position: absolute; right: -9rem; top: -13rem; width: 29rem; height: 29rem; border: 5rem solid rgba(201,79,59,.055); border-radius: 50%; content: ""; pointer-events: none; }
.page-hero .container, .local-hero .container { position: relative; z-index: 1; }
.page-hero--compact h1 { font-size: clamp(2.2rem, 4vw, 3.7rem); }
.page-hero__lead { max-width: 50rem; color: #5d5852; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.breadcrumb { font-size: .82rem; }
.breadcrumb a { color: var(--muted); }
.breadcrumb-item.active { color: #4c4844; }

.home-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--sand), #fff8f3 64%, #f8e4de); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(24rem, .95fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); min-height: 43rem; padding-top: 4.5rem; padding-bottom: 4.5rem; }
.home-hero h1 em { color: var(--coral); font-style: normal; }
.home-hero__lead { max-width: 46rem; color: #57524c; font-size: clamp(1.05rem, 1.8vw, 1.22rem); }
.hero-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.25rem; margin: 1.8rem 0; padding: 0; list-style: none; }
.hero-benefits li { display: flex; gap: .55rem; color: #4f4b46; font-size: .93rem; }
.hero-benefits span { color: var(--success); font-weight: 900; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.8rem; }
.home-hero__visual { position: relative; }
.hero-display { position: relative; min-height: 31rem; border: 1px solid rgba(255,255,255,.75); border-radius: 50% 50% 2.5rem 2.5rem; background: radial-gradient(circle at 50% 35%, #fff 0, #f9ece7 45%, #e9d7ca 100%); box-shadow: var(--shadow-lg); }
.hero-display::after { position: absolute; right: 8%; bottom: 18%; left: 8%; height: 2rem; border-radius: 50%; background: rgba(72,53,44,.12); filter: blur(12px); content: ""; }
.hero-display__pack { position: absolute; z-index: 1; display: block; border: 1px solid rgba(102,75,63,.18); background: #fff; box-shadow: 0 17px 35px rgba(76,54,44,.13); }
.hero-display__pack i, .product-packshot i { position: absolute; display: block; background: linear-gradient(#e6ddd4, #f8f5f0); }
.hero-display__pack b, .product-packshot b { position: absolute; display: block; background: var(--coral); opacity: .78; }
.hero-display__pack--one { left: 14%; bottom: 21%; width: 8rem; height: 13rem; border-radius: 1.2rem 1.2rem .5rem .5rem; }
.hero-display__pack--one i { top: -1.8rem; left: 1.3rem; width: 5.4rem; height: 2rem; border-radius: .4rem .4rem 0 0; }
.hero-display__pack--one b { right: .7rem; bottom: 1.4rem; left: .7rem; height: 3.2rem; border-radius: .2rem; }
.hero-display__pack--two { right: 14%; bottom: 20%; width: 7rem; height: 15.5rem; border-radius: 3.5rem 3.5rem .6rem .6rem; }
.hero-display__pack--two i { top: -1rem; left: 2rem; width: 3rem; height: 2rem; border-radius: .4rem; }
.hero-display__pack--two b { top: 5.4rem; right: .5rem; left: .5rem; height: 1rem; }
.hero-display__pack--three { left: 38%; bottom: 18%; width: 7rem; height: 8rem; border-radius: .6rem; transform: translateX(-50%); }
.hero-display__pack--three i { top: -1.1rem; left: .8rem; width: 5.4rem; height: 1.2rem; border-radius: .3rem; }
.hero-display__pack--three b { right: .6rem; bottom: 1rem; left: .6rem; height: 2.1rem; }
.hero-display__pack--four { right: 33%; bottom: 17%; width: 6rem; height: 6rem; border-radius: 50%; }
.hero-display__pack--four i { top: -.65rem; left: .8rem; width: 4.4rem; height: 1.1rem; border-radius: 50%; }
.hero-display__pack--four b { top: 2.2rem; right: .5rem; left: .5rem; height: .65rem; }
.hero-contact-card { position: absolute; z-index: 3; top: 2rem; right: -1.5rem; display: flex; align-items: center; gap: .8rem; max-width: 15rem; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.85); border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); }
.hero-contact-card__avatar, .local-contact-card__avatar { display: grid; flex: 0 0 2.8rem; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--graphite); color: #fff; font-family: Georgia, serif; font-size: 1.25rem; }
.hero-contact-card strong, .hero-contact-card small { display: block; line-height: 1.25; }
.hero-contact-card small { margin-top: .2rem; color: var(--muted); font-size: .7rem; }
.hero-tags { position: absolute; z-index: 4; right: 1rem; bottom: 1.2rem; left: 1rem; display: flex; justify-content: center; gap: .45rem; }
.hero-tags span { padding: .4rem .65rem; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; background: rgba(255,255,255,.82); color: #59534e; font-size: .69rem; font-weight: 750; backdrop-filter: blur(7px); }

.category-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); color: var(--ink); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.category-card:hover { transform: translateY(-2px); border-color: #d3a99f; color: var(--ink); box-shadow: var(--shadow-sm); }
.category-card__icon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: .9rem; background: var(--coral-soft); color: var(--coral-dark); font-size: 1.3rem; }
.category-card__body strong, .category-card__body small, .category-card__body > span { display: block; }
.category-card__body strong { margin-bottom: .2rem; font-family: Georgia, serif; font-size: 1.18rem; }
.category-card__body small { color: var(--muted); line-height: 1.4; }
.category-card__body > span { margin-top: .4rem; color: var(--coral-dark); font-size: .76rem; font-weight: 800; }
.category-card__arrow { color: var(--coral); font-size: 1.25rem; }

.quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.quick-card { padding: 1.45rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.quick-card--featured { background: var(--graphite); color: #f4f0eb; }
.quick-card > span { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; margin-bottom: 1.25rem; border-radius: .75rem; background: var(--coral-soft); color: var(--coral); font-weight: 900; }
.quick-card--featured > span { background: rgba(255,255,255,.12); color: #f6b8ac; }
.quick-card h3 { font-size: 1.25rem; }
.quick-card--featured h3 { color: #fff; }
.quick-card p { color: var(--muted); font-size: .9rem; }
.quick-card--featured p { color: #d4cec8; }
.quick-card a { font-weight: 800; text-decoration: none; }
.quick-card--featured a { color: #ffc2b7; }

.product-card { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); box-shadow: 0 1px 0 rgba(55,46,40,.02); transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.product-card__visual { position: relative; display: grid; place-items: center; min-height: 15rem; padding: 1.2rem; background: linear-gradient(145deg, #f5f0e8, #fbf7f3); text-decoration: none; }
.product-card__visual img { width: 100%; height: 13rem; object-fit: contain; }
.product-card__badge { position: absolute; top: .8rem; left: .8rem; padding: .35rem .55rem; border-radius: 999px; background: var(--graphite); color: #fff; font-size: .69rem; font-weight: 800; }
.product-packshot { position: relative; display: block; width: 6.8rem; height: 10.5rem; border: 1px solid #d6ccc0; border-radius: 3rem 3rem .8rem .8rem; background: linear-gradient(90deg, #fff, #f3eee8); box-shadow: 0 18px 35px rgba(74,55,45,.12); }
.product-packshot i { top: -1.2rem; left: 2rem; width: 2.8rem; height: 1.6rem; border: 1px solid #d4cbc1; border-radius: .35rem .35rem 0 0; }
.product-packshot b { top: 4.6rem; right: .55rem; left: .55rem; height: 1.4rem; }
.product-packshot--large { width: 10rem; height: 16rem; border-radius: 5rem 5rem 1rem 1rem; }
.product-packshot--large i { top: -1.7rem; left: 3rem; width: 4rem; height: 2.3rem; }
.product-packshot--large b { top: 7rem; right: .8rem; left: .8rem; height: 2rem; }
.product-packshot--mini { width: 2.5rem; height: 3.8rem; border-radius: 1.2rem 1.2rem .35rem .35rem; box-shadow: none; }
.product-packshot--mini i { top: -.45rem; left: .75rem; width: 1rem; height: .6rem; }
.product-packshot--mini b { top: 1.7rem; right: .2rem; left: .2rem; height: .5rem; }
.product-card__body { padding: 1.2rem; }
.product-card__category { margin-bottom: .45rem; color: var(--coral-dark); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.product-card__title { margin-bottom: .65rem; font-size: 1.24rem; }
.product-card__title a { color: var(--ink); text-decoration: none; }
.product-card__title a:hover { color: var(--coral-dark); text-decoration: underline; }
.product-card__description { display: -webkit-box; overflow: hidden; margin-bottom: 1rem; color: var(--muted); font-size: .88rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.product-card__warning { display: flex; align-items: center; min-height: 5.5rem; margin: .25rem 0 1rem; padding: .9rem; border: 2px solid #2f2d2a; border-radius: .45rem; background: #fff; color: #1f1e1c; font-size: .81rem; font-weight: 850; line-height: 1.35; text-transform: uppercase; }
.product-card__price { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .15rem .5rem; padding-top: .9rem; border-top: 1px solid var(--border); }
.product-card__price strong { font-size: 1.03rem; }
.product-card__price small { color: var(--coral-dark); font-weight: 800; }
.product-card__price span { grid-column: 1 / -1; color: var(--muted); font-size: .7rem; }
.product-card__actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; margin-top: 1rem; }
.product-card__actions .btn { padding-right: .7rem; padding-left: .7rem; font-size: .81rem; }

.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.feature-grid > div { padding: 1.35rem; border-top: 3px solid var(--coral); background: var(--white); }
.feature-grid h3 { font-size: 1.18rem; }
.feature-grid p { color: var(--muted); }
.order-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.order-steps li { position: relative; padding: 1.2rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.order-steps li > span, .process-card > span { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; margin-bottom: 1rem; border-radius: 50%; background: var(--coral); color: #fff; font-size: .8rem; font-weight: 850; }
.order-steps h3 { font-size: 1.12rem; }
.order-steps p { color: var(--muted); font-size: .86rem; }
.feature-list { display: flex; flex-wrap: wrap; gap: .65rem; }
.feature-list span { padding: .55rem .8rem; border: 1px solid var(--border); border-radius: 999px; background: var(--white); font-size: .82rem; font-weight: 700; }
.soft-card, .notice-box, .content-card, .sticky-info-card { padding: clamp(1.4rem, 3vw, 2.1rem); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.soft-card { display: flex; flex-direction: column; align-items: flex-start; background: #fffaf7; }
.soft-card .btn-link { padding-left: 0; }
.notice-box { border-left: 4px solid var(--coral); background: #fff9f5; box-shadow: none; }
.notice-box h2 { font-size: 1.45rem; }
.sticky-info-card { position: sticky; top: 7.5rem; }
.sticky-info-card > small { display: block; margin-top: .7rem; color: var(--muted); text-align: center; }
.sticky-info-card h3 { margin-top: 1.7rem; font-size: 1.15rem; }
.about-strip { display: grid; grid-template-columns: minmax(16rem, .7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--white); }
.about-strip__photo { display: grid; place-items: center; min-height: 21rem; border-radius: 50% 50% 1.2rem 1.2rem; background: linear-gradient(145deg, #e7ddd2, #f9eee8); color: var(--muted); font-weight: 750; }
.about-profile-placeholder { display: grid; place-items: center; min-height: 24rem; padding: 2rem; border: 1px solid rgba(255,255,255,.85); border-radius: 50% 50% 1.4rem 1.4rem; background: linear-gradient(145deg, #e7ddd2, #fff7f2); box-shadow: var(--shadow-lg); text-align: center; }
.about-profile-placeholder > span { display: grid; place-items: center; width: 6rem; height: 6rem; border-radius: 50%; background: var(--graphite); color: #fff; font-family: Georgia, serif; font-size: 2.6rem; }
.about-profile-placeholder p { max-width: 18rem; color: var(--muted); font-size: .76rem; }
.commercial-cta { position: relative; overflow: hidden; padding: clamp(2rem, 6vw, 4.3rem); border-radius: var(--radius-lg); background: var(--graphite-deep); color: #e8e3de; }
.commercial-cta::after { position: absolute; right: -7rem; bottom: -10rem; width: 24rem; height: 24rem; border: 4rem solid rgba(201,79,59,.13); border-radius: 50%; content: ""; pointer-events: none; }
.commercial-cta > * { position: relative; z-index: 1; }
.commercial-cta h2 { max-width: 27ch; color: #fff; }
.commercial-cta > p { max-width: 50rem; }
.commercial-cta > small { display: block; margin-top: 1rem; color: #bdb5ae; }

.catalog-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem); align-items: end; gap: 1rem; margin-bottom: 1.6rem; padding: 1.2rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--sand); }
.catalog-toolbar--compact { align-items: center; }
.catalog-search { max-width: 42rem; }
.form-label, .form-fieldset legend { color: #46413d; font-size: .82rem; font-weight: 800; }
.form-control, .form-select { border-color: var(--border-strong); border-radius: .65rem; background-color: #fff; }
.form-control:focus, .form-select:focus { border-color: var(--coral); box-shadow: 0 0 0 .22rem rgba(201,79,59,.14); }
.catalog-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); align-items: start; gap: 2rem; }
.catalog-filters { position: sticky; top: 7.5rem; padding: 1.15rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--cream); }
.catalog-filters__title { margin-bottom: .75rem; font-weight: 850; }
.catalog-filter-list { display: grid; gap: .25rem; }
.catalog-filter-list button, .catalog-filter-list a { display: flex; justify-content: space-between; gap: .5rem; padding: .65rem .7rem; border: 0; border-radius: .55rem; background: transparent; color: #514c47; text-align: left; text-decoration: none; }
.catalog-filter-list button:hover, .catalog-filter-list button.active, .catalog-filter-list a:hover, .catalog-filter-list a.active { background: var(--coral-soft); color: var(--coral-dark); font-weight: 750; }
.catalog-filter-list span { color: var(--muted); font-size: .78rem; }
.catalog-sort-group { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.catalog-result-line { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; color: var(--muted); font-size: .82rem; }
.catalog-result-line strong { color: var(--ink); }
[data-catalog-cell][hidden], [data-admin-row][hidden] { display: none !important; }
.catalog-empty, .request-empty, .admin-empty { padding: clamp(2rem, 6vw, 4rem); border: 1px dashed var(--border-strong); border-radius: var(--radius); background: var(--sand); text-align: center; }
.catalog-pagination { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-top: 2.3rem; }
.catalog-pagination a { text-decoration: none; }
.catalog-pagination__arrow { font-weight: 800; white-space: nowrap; }
.catalog-pagination__arrow.disabled { color: #a7a19a; }
.catalog-pagination__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; }
.catalog-pagination__pages a, .catalog-pagination__pages > span { display: grid; place-items: center; min-width: 2.35rem; height: 2.35rem; padding: 0 .35rem; border: 1px solid var(--border); border-radius: .5rem; background: #fff; color: var(--ink); }
.catalog-pagination__pages a:hover, .catalog-pagination__pages a.active { border-color: var(--coral); background: var(--coral); color: #fff; }
.catalog-empty h2, .request-empty h3 { font-size: 1.55rem; }
.seo-copy, .prose { max-width: 53rem; }
.seo-copy h2, .prose h2 { margin-top: 2.2rem; }
.seo-copy h2:first-child, .prose h2:first-child { margin-top: 0; }
.seo-copy li + li, .prose li + li { margin-top: .45rem; }

.product-detail { padding: 2rem 0 clamp(3.5rem, 7vw, 6rem); }
.product-detail__grid { display: grid; grid-template-columns: minmax(20rem, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(2rem, 6vw, 5.5rem); }
.product-detail__visual { display: grid; place-items: center; min-height: 36rem; padding: 3rem; border-radius: var(--radius-lg); background: linear-gradient(145deg, #eee7dd, #fbf5f1); }
.product-detail__visual img { max-width: 100%; height: 30rem; object-fit: contain; }
.product-detail__visual small { align-self: end; color: var(--muted); font-size: .7rem; text-align: center; }
.product-detail__info h1 { font-size: clamp(2.25rem, 4vw, 3.9rem); }
.product-detail__sku { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--muted); font-size: .82rem; }
.product-detail__lead { color: #554f4a; font-size: 1.06rem; }
.supplement-warning { margin: 1rem 0; padding: 1rem; border: 3px solid var(--graphite-deep); background: #fff; color: var(--graphite-deep); font-size: .95rem; font-weight: 900; line-height: 1.35; text-align: center; text-transform: uppercase; }
.product-detail__price { display: grid; grid-template-columns: auto auto; justify-content: start; align-items: center; gap: .35rem 1rem; margin: 1.5rem 0; padding: 1.15rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--white); }
.product-detail__price strong { font-size: 1.45rem; }
.product-detail__price span { color: var(--coral-dark); font-weight: 850; }
.product-detail__price small { grid-column: 1 / -1; color: var(--muted); }
.product-buy { display: flex; gap: .7rem; }
.product-buy > .btn { flex: 1; }
.quantity-stepper { display: grid; grid-template-columns: 2.8rem 3.4rem 2.8rem; overflow: hidden; border: 1px solid var(--border-strong); border-radius: .8rem; background: #fff; }
.quantity-stepper button { border: 0; background: var(--sand); color: var(--ink); font-size: 1.25rem; }
.quantity-stepper input { width: 100%; border: 0; border-right: 1px solid var(--border); border-left: 1px solid var(--border); text-align: center; -moz-appearance: textfield; }
.quantity-stepper input::-webkit-inner-spin-button { appearance: none; }
.product-service-list, .check-list, .cross-list { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.product-service-list li, .check-list li, .cross-list li { position: relative; padding: .45rem 0 .45rem 1.7rem; }
.product-service-list li > span { position: absolute; left: 0; color: var(--success); font-weight: 900; }
.check-list li::before { position: absolute; left: 0; color: var(--success); content: "✓"; font-weight: 900; }
.cross-list li::before { position: absolute; left: 0; color: var(--danger); content: "×"; font-weight: 900; }
.product-copy section + section { margin-top: 2.8rem; }
.product-copy li + li { margin-top: .5rem; }
.source-card { padding: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--sand); }
.source-card h2 { font-size: 1.35rem; }
.source-card dl { display: grid; grid-template-columns: auto 1fr; gap: .3rem .8rem; margin-top: 1rem; font-size: .85rem; }
.source-card dt { color: var(--muted); }

.process-card { height: 100%; padding: 1.45rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.process-card h3 { font-size: 1.2rem; }
.process-card p { color: var(--muted); }
.two-column-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.two-column-list > div { padding: 1rem; border-radius: .8rem; background: var(--sand); }
.two-column-list p { margin-top: .25rem; color: var(--muted); font-size: .87rem; }
.number-list { display: grid; gap: 1.15rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.number-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; }
.number-list li > span { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--coral-soft); color: var(--coral-dark); font-weight: 850; }
.number-list strong { display: block; margin-top: .25rem; }
.number-list p { margin: .2rem 0 0; color: var(--muted); }
.number-list--large { gap: 1.6rem; }
.number-list--large li > span { width: 3rem; height: 3rem; background: var(--coral); color: #fff; }
.order-timeline { position: relative; max-width: 58rem; margin: 0 auto; padding: 0; list-style: none; }
.order-timeline::before { position: absolute; top: 0; bottom: 0; left: 2rem; width: 2px; background: var(--border); content: ""; }
.order-timeline li { position: relative; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.5rem; padding-bottom: 2.5rem; }
.order-timeline li > span { z-index: 1; display: grid; place-items: center; width: 4rem; height: 4rem; border: .45rem solid var(--cream); border-radius: 50%; background: var(--coral); color: #fff; font-weight: 900; }
.order-timeline li > div { padding: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.order-timeline h2 { font-size: 1.55rem; }
.order-timeline a { font-weight: 800; text-decoration: none; }
.local-contact-card { padding: 1.6rem; border: 1px solid rgba(255,255,255,.8); border-radius: var(--radius-lg); background: rgba(255,255,255,.85); box-shadow: var(--shadow-lg); }
.local-contact-card__avatar { width: 4rem; height: 4rem; margin-bottom: 1.2rem; font-size: 1.8rem; }
.trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.trust-grid > div { padding: 1rem; border-radius: .8rem; background: var(--sand); }
.trust-grid strong, .trust-grid small { display: block; }
.trust-grid small { margin-top: .25rem; color: var(--muted); }
.reviews-placeholder { padding: clamp(2rem, 7vw, 5rem); border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); background: var(--white); text-align: center; }
.reviews-placeholder > span { color: var(--coral); font-family: Georgia, serif; font-size: 5rem; line-height: .6; }
.reviews-placeholder h2 { max-width: 27ch; margin: 1rem auto; }
.reviews-placeholder > p { max-width: 45rem; margin: 0 auto; color: var(--muted); }

.request-card, .lead-form { padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.request-card__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--border); }
.request-card__heading h2 { margin: 0; font-size: 1.65rem; }
.request-card__heading a { font-size: .82rem; font-weight: 800; text-decoration: none; }
.request-empty { margin-top: 1.2rem; }
.request-empty > span { color: var(--coral); font-size: 2rem; }
.request-item { display: grid; grid-template-columns: 4.4rem minmax(0, 1fr) auto minmax(5rem, auto); align-items: center; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.request-item__visual { display: grid; place-items: center; min-height: 4.8rem; border-radius: .65rem; background: var(--sand); }
.request-item__image { width: 100%; height: 100%; max-height: 6.5rem; object-fit: contain; border-radius: .65rem; }
.request-item__name { display: block; color: var(--ink); font-family: Georgia, serif; font-size: 1.04rem; font-weight: 700; line-height: 1.25; text-decoration: none; }
.request-item__info small, .request-item__unit-price { display: block; margin-top: .25rem; color: var(--muted); font-size: .72rem; }
.request-item__controls { display: grid; justify-items: center; gap: .35rem; }
.request-quantity { display: grid; grid-template-columns: 2.15rem 2.2rem 2.15rem; overflow: hidden; border: 1px solid var(--border-strong); border-radius: .55rem; }
.request-quantity__button { border: 0; background: var(--sand); font-size: 1.05rem; }
.request-quantity__value { display: grid; place-items: center; min-height: 2.15rem; border-right: 1px solid var(--border); border-left: 1px solid var(--border); background: #fff; font-size: .84rem; font-weight: 800; }
.request-item__remove { border: 0; background: transparent; color: var(--danger); font-size: .7rem; text-decoration: underline; }
.request-item__total { text-align: right; white-space: nowrap; }
.request-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1.2rem; padding: 1.2rem; border-radius: .8rem; background: var(--sand); }
.request-summary > div { display: flex; flex-direction: column; }
.request-summary span { color: var(--muted); font-size: .74rem; }
.request-summary strong { font-size: 1.1rem; }
.request-summary p { grid-column: 1 / -1; color: var(--muted); font-size: .72rem; }
.request-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; padding: 1.3rem; border-radius: var(--radius); background: var(--sand); }
.request-checks h2 { grid-column: 1 / -1; font-size: 1.35rem; }
.request-checks div { font-size: .82rem; }
.request-checks div span { color: var(--success); font-weight: 900; }
.lead-form { position: sticky; top: 7.5rem; }
.lead-form h2 { font-size: 1.75rem; }
.lead-form > p { color: var(--muted); }
.form-fieldset { padding: 0; border: 0; }
.form-fieldset legend { margin-bottom: .55rem; }
.radio-grid { display: grid; gap: .45rem; }
.radio-grid label { cursor: pointer; }
.radio-grid input { position: absolute; opacity: 0; }
.radio-grid span { display: block; padding: .7rem .8rem; border: 1px solid var(--border-strong); border-radius: .6rem; background: #fff; font-size: .82rem; }
.radio-grid input:checked + span { border-color: var(--coral); background: var(--coral-soft); color: var(--coral-dark); font-weight: 800; }
.radio-grid input:focus-visible + span { outline: 3px solid rgba(201,79,59,.25); }
.form-consents label { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; align-items: start; color: #55504b; font-size: .75rem; }
.form-consents input { margin-top: .18rem; accent-color: var(--coral); }
.lead-form__fine { margin-top: .6rem; color: var(--muted) !important; font-size: .69rem; text-align: center; }

.success-page { min-height: 70vh; background: linear-gradient(145deg, var(--sand), #fff6f2); }
.success-card { max-width: 48rem; padding: clamp(1.7rem, 5vw, 3.7rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-lg); text-align: center; }
.success-card__icon { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; margin: 0 auto 1.5rem; border-radius: 50%; background: #e4f0e9; color: var(--success); font-size: 2rem; font-weight: 900; }
.success-card h1 { margin-right: auto; margin-left: auto; font-size: clamp(2rem, 4vw, 3rem); }
.success-card__lead { color: var(--muted); font-size: 1.05rem; }
.success-order { margin-top: 2rem; border: 1px solid var(--border); border-radius: .9rem; text-align: left; }
.success-order__heading, .success-order__row, .success-order__total { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 1rem; align-items: center; padding: .9rem 1rem; border-bottom: 1px solid var(--border); }
.success-order__heading { grid-template-columns: minmax(0, 1fr) auto; background: var(--sand); }
.success-order__heading h2 { margin: 0; font-size: 1.25rem; }
.success-order__row small { display: block; color: var(--muted); font-size: .7rem; }
.success-order__row > span:last-child { color: var(--muted); font-size: .82rem; }
.success-order__total { grid-template-columns: minmax(0, 1fr) auto; border: 0; background: #fff9f5; }

.site-footer { background: var(--graphite-deep); color: #d3cec8; }
.site-footer h2 { color: #fff; font-family: var(--bs-body-font-family); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.site-footer a { color: #eee9e3; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: .45rem; }
.site-footer__brand { color: #fff; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 700; }
.site-footer hr { margin: 2.5rem 0 1.5rem; border-color: #58534e; }
.site-footer__legal { color: #aaa39d; font-size: .72rem; }
.mobile-action-bar { display: none; }
.cart-toast { border: 0; background: var(--graphite-deep); color: #fff; box-shadow: var(--shadow-lg); }
.cart-toast p { margin-bottom: .7rem; font-weight: 750; }

.admin-body { background: #f1ede7; }
.admin-header { border-bottom: 1px solid var(--border); background: var(--graphite-deep); color: #fff; }
.admin-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 4.6rem; }
.admin-brand { display: flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; }
.admin-brand:hover { color: #fff; }
.admin-brand > span { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--coral); font-family: Georgia, serif; }
.admin-header nav { display: flex; align-items: center; gap: 1.2rem; }
.admin-header nav a, .admin-header nav button { border: 0; background: transparent; color: #ded8d2; font-size: .82rem; text-decoration: none; }
.admin-header nav a:hover, .admin-header nav button:hover { color: #fff; text-decoration: underline; }
.admin-header form { margin: 0; }
.admin-main h1 { font-size: clamp(2rem, 4vw, 3rem); }
.admin-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.8rem; }
.admin-page-heading p { color: var(--muted); }
.admin-stats { display: flex; gap: .6rem; }
.admin-stats span { display: flex; flex-direction: column; min-width: 6rem; padding: .7rem 1rem; border: 1px solid var(--border); border-radius: .7rem; background: #fff; color: var(--muted); font-size: .7rem; }
.admin-stats strong { color: var(--ink); font-size: 1.2rem; }
.admin-panel { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.admin-panel h2 { font-size: 1.45rem; }
.admin-panel__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.admin-panel__heading h2 { margin: 0; }
.admin-panel__heading p { margin: .2rem 0 0; color: var(--muted); font-size: .82rem; }
.admin-search { width: min(20rem, 100%); }
.admin-table { margin: 0; font-size: .85rem; }
.admin-table th { border-bottom-width: 1px; color: var(--muted); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-table td { padding-top: .85rem; padding-bottom: .85rem; }
.admin-table strong, .admin-table small { display: block; }
.admin-table small { margin-top: .15rem; color: var(--muted); font-size: .7rem; }
.status-pill { display: inline-block; padding: .32rem .6rem; border-radius: 999px; background: #ece8e2; color: #59534d; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.status-pill--new { background: #fff0c9; color: #6b4e06; }
.status-pill--contacted { background: #e7edf5; color: #365273; }
.status-pill--completed { background: #e4f0e9; color: #285c45; }
.status-pill--cancelled { background: #f4e4e2; color: #84362f; }
.admin-back { color: var(--muted); font-size: .82rem; font-weight: 750; text-decoration: none; }
.lead-items { border-top: 1px solid var(--border); }
.lead-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.lead-item small { display: block; color: var(--muted); font-size: .7rem; }
.lead-total { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; font-size: 1.05rem; }
.lead-comment { padding: 1rem; border-radius: .7rem; background: var(--sand); white-space: pre-wrap; }
.admin-contact { position: sticky; top: 1.5rem; }
.admin-contact dl, .admin-definition { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .55rem 1rem; font-size: .82rem; }
.admin-contact dt, .admin-definition dt { color: var(--muted); font-weight: 500; }
.admin-contact dd, .admin-definition dd { overflow-wrap: anywhere; }
.copy-button { margin-left: .25rem; border: 0; background: transparent; color: var(--coral-dark); font-size: .67rem; text-decoration: underline; }
.admin-product-form > p, .admin-product-form small { color: var(--muted); }
.admin-product-form small { display: block; margin-top: .35rem; font-size: .7rem; }
.admin-switches { padding: 0; border: 0; }
.admin-switches legend { margin-bottom: .6rem; font-size: .9rem; font-weight: 850; }
.admin-switches label { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: start; padding: .9rem; border: 1px solid var(--border); border-radius: .7rem; cursor: pointer; }
.admin-switches label + label { margin-top: .6rem; }
.admin-switches input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--coral); }
.admin-switches strong, .admin-switches small { display: block; }
.admin-login { display: grid; place-items: center; min-height: calc(100vh - 4.6rem); padding: 2rem 1rem; }
.admin-login__card { width: min(27rem, 100%); padding: clamp(1.5rem, 5vw, 2.7rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-lg); }
.admin-login__icon { display: grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: 1.3rem; border-radius: 50%; background: var(--graphite); color: #fff; font-family: Georgia, serif; font-size: 1.8rem; }
.admin-login__card h1 { font-size: 2.4rem; }
.admin-login__card > p { color: var(--muted); }
.admin-login__back { display: block; margin-top: 1.2rem; color: var(--muted); font-size: .78rem; text-align: center; text-decoration: none; }

/* Compatibility for editorial and legal templates that still use the earlier class names. */
.msite-page-header { border-bottom: 1px solid var(--border); background: var(--sand); }
.msite-narrow { max-width: 48rem; }
.msite-narrow-wide { max-width: 58rem; }
.msite-guide-card, .msite-selection-summary { padding: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.msite-guide-card h2 a, .msite-guide-card h3 a { color: var(--ink); text-decoration: none; }
.msite-guide-card h2 a:hover, .msite-guide-card h3 a:hover { color: var(--coral-dark); text-decoration: underline; }
.msite-text-link { font-weight: 800; text-decoration: none; }
.msite-draft-badge { background: #fff0c9; color: #6b4e06; }
.msite-article { font-size: 1.05rem; }
.msite-article section + section { margin-top: 2.8rem; }
.msite-article li + li { margin-top: .45rem; }
.msite-trust-note { padding: 1.2rem; border-left: 4px solid var(--coral); border-radius: 0 .7rem .7rem 0; background: var(--coral-soft); }
.msite-fact-list { padding: 0; list-style: none; }
.msite-fact-list li { position: relative; padding: .35rem 0 .35rem 1.6rem; }
.msite-fact-list li::before { position: absolute; left: 0; color: var(--success); content: "✓"; font-weight: 900; }
.msite-faq .accordion-item { overflow: hidden; margin-bottom: .7rem; border: 1px solid var(--border); border-radius: .75rem !important; }
.msite-faq .accordion-button { font-weight: 750; }
.msite-faq .accordion-button:not(.collapsed) { background: var(--coral-soft); color: var(--coral-dark); box-shadow: none; }
.msite-empty-state { padding: clamp(2rem, 6vw, 4rem); border: 1px dashed var(--border-strong); border-radius: var(--radius); background: var(--sand); }
.legal-copy, .article-shell { max-width: 54rem; margin: 0 auto; }

@media (max-width: 1199.98px) {
  .site-header .navbar-collapse { padding-top: 1rem; }
  .site-header .nav-link { padding: .65rem .8rem !important; }
  .home-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr); gap: 3rem; }
  .hero-display { min-height: 27rem; }
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
  body:not(.admin-body) { padding-bottom: 4.25rem; }
  .home-hero__grid, .product-detail__grid { grid-template-columns: 1fr; }
  .home-hero__grid { min-height: auto; }
  .home-hero__visual { max-width: 38rem; width: 100%; margin: 0 auto; }
  .product-detail__visual { min-height: 29rem; }
  .product-detail__visual img { height: 24rem; }
  .feature-grid { grid-template-columns: 1fr; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-filters { position: static; }
  .catalog-filter-list { display: flex; overflow-x: auto; padding-bottom: .25rem; }
  .catalog-filter-list button, .catalog-filter-list a { flex: 0 0 auto; border: 1px solid var(--border); background: #fff; }
  .lead-form, .sticky-info-card, .admin-contact { position: static; }
  .about-strip { grid-template-columns: 1fr; }
  .about-strip__photo { min-height: 18rem; }
  .mobile-action-bar { position: fixed; z-index: 1025; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); min-height: 4.15rem; border-top: 1px solid var(--border); background: rgba(255,255,255,.97); box-shadow: 0 -8px 25px rgba(50,42,37,.1); backdrop-filter: blur(12px); }
  .mobile-action-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .12rem; color: var(--graphite); font-size: .66rem; font-weight: 800; text-decoration: none; }
  .mobile-action-bar a > span { color: var(--coral); font-size: 1.1rem; }
  .mobile-action-bar b { display: inline-grid; place-items: center; min-width: 1.2rem; height: 1.2rem; margin-left: .2rem; border-radius: 999px; background: var(--coral); color: #fff; font-size: .58rem; }
  .toast-container { bottom: 4.25rem !important; }
}

@media (max-width: 767.98px) {
  h1 { font-size: clamp(2.2rem, 11vw, 3.25rem); }
  .utility-bar__inner { justify-content: center; }
  .utility-bar__links a:first-child { display: none; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .hero-benefits, .two-column-list, .request-checks, .trust-grid { grid-template-columns: 1fr; }
  .hero-contact-card { right: -.5rem; }
  .order-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .catalog-pagination { grid-template-columns: 1fr 1fr; }
  .catalog-pagination__pages { grid-column: 1 / -1; grid-row: 1; }
  .catalog-pagination__arrow:last-child { text-align: right; }
  .request-item { grid-template-columns: 3.7rem minmax(0, 1fr) auto; gap: .7rem; }
  .request-item__visual { min-height: 4.1rem; }
  .request-item__controls { grid-column: 2; grid-row: 2; justify-items: start; }
  .request-item__total { grid-column: 3; grid-row: 1 / 3; }
  .success-order__row { grid-template-columns: minmax(0, 1fr) auto; }
  .success-order__row > span:last-child { grid-column: 1 / -1; }
  .admin-page-heading, .admin-panel__heading { align-items: flex-start; flex-direction: column; }
  .admin-stats { width: 100%; overflow-x: auto; }
  .admin-search { width: 100%; }
  .admin-header nav a:first-child { display: none; }
}

@media (max-width: 575.98px) {
  .site-header .navbar { min-height: 4.4rem; }
  .site-brand__name { font-size: 1.1rem; }
  .site-brand__tagline { display: none; }
  .cart-nav-button { padding: .6rem .7rem; }
  .home-hero__grid { padding-top: 3.2rem; padding-bottom: 3.2rem; }
  .home-hero__visual { display: none; }
  .hero-actions { display: grid; }
  .hero-actions .btn { width: 100%; }
  .quick-grid, .order-steps { grid-template-columns: 1fr; }
  .product-card__actions { grid-template-columns: 1fr; }
  .product-card__visual { min-height: 12rem; }
  .product-buy { align-items: stretch; flex-direction: column; }
  .quantity-stepper { width: 100%; grid-template-columns: 1fr 4rem 1fr; min-height: 3.25rem; }
  .product-detail__visual { min-height: 22rem; padding: 2rem; }
  .request-card, .lead-form { padding: 1rem; }
  .request-card__heading { align-items: flex-start; flex-direction: column; }
  .request-item { grid-template-columns: 3rem minmax(0, 1fr); }
  .request-item__visual { grid-row: 1 / 3; min-height: 3.8rem; }
  .request-item__controls { grid-column: 2; }
  .request-item__total { grid-column: 2; grid-row: auto; text-align: left; }
  .request-summary { grid-template-columns: 1fr; }
  .request-summary p { grid-column: 1; }
  .order-timeline::before { left: 1.4rem; }
  .order-timeline li { grid-template-columns: 2.8rem minmax(0, 1fr); gap: .8rem; }
  .order-timeline li > span { width: 2.8rem; height: 2.8rem; border-width: .3rem; }
  .admin-header__inner { min-height: 4rem; }
  .admin-header nav { gap: .5rem; }
  .admin-header nav a { display: none; }
  .admin-contact dl, .admin-definition { grid-template-columns: 1fr; gap: .1rem; }
  .admin-contact dd, .admin-definition dd { margin-bottom: .65rem; }
  .lead-item { grid-template-columns: minmax(0, 1fr) auto; }
  .lead-item > span { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
