:root {
  --navy-950: #092b49;
  --navy-900: #103b63;
  --navy-800: #174b78;
  --red-700: #a92225;
  --red-600: #c52d2f;
  --red-100: #fbe9e9;
  --white: #fff;
  --gray-50: #f8fafc;
  --gray-100: #f4f6f8;
  --gray-200: #e9eef3;
  --text: #202b36;
  --muted: #526174;
  --border: #d8e0ea;
  --success: #22734a;
  --success-bg: #e8f5ee;
  --warning: #8a5a08;
  --warning-bg: #fff4da;
  --error: #a92225;
  --error-bg: #fbe9e9;
  --info: #155f8a;
  --info-bg: #e9f4fa;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --step--1: clamp(.78rem, .74rem + .16vw, .875rem);
  --step-0: clamp(.95rem, .9rem + .2vw, 1.05rem);
  --step-1: clamp(1.1rem, 1rem + .45vw, 1.35rem);
  --step-2: clamp(1.4rem, 1.2rem + .8vw, 1.85rem);
  --step-3: clamp(1.8rem, 1.45rem + 1.5vw, 2.65rem);
  --step-4: clamp(2.35rem, 1.7rem + 2.6vw, 4rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6rem;
  --radius-sm: .35rem;
  --radius-md: .65rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --shadow-sm: 0 4px 18px rgb(16 59 99 / .08);
  --shadow-md: 0 16px 45px rgb(16 59 99 / .13);
  --content: 1180px;
  --content-wide: 1320px;
  --header-height: 5.5rem;
  --focus: 0 0 0 3px #fff, 0 0 0 6px #c52d2f;
  --duration: 180ms;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; min-width: 0; color: var(--text); background: var(--white); font-family: var(--font-sans); font-size: var(--step-0); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere; }
body.menu-open { overflow: hidden; }
body.filters-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy-900); font-weight: 780; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: var(--step-4); }
h2 { margin-bottom: var(--space-4); font-size: var(--step-3); }
h3 { font-size: var(--step-1); }
p { margin-bottom: var(--space-4); }
ul { padding: 0; margin: 0; list-style: none; }
.container { width: min(100% - 2rem, var(--content-wide)); margin-inline: auto; }
.section { padding-block: var(--space-8); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .7rem 1rem; color: var(--white); background: var(--red-600); border-radius: var(--radius-sm); transform: translateY(-150%); transition: transform var(--duration) var(--ease); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--red-600); outline-offset: 3px; }
.eyebrow { margin-bottom: .65rem; color: var(--red-600); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow--light { color: #ffafb0; }
.text-link { display: inline-flex; gap: .5rem; align-items: center; color: var(--navy-900); font-size: .95rem; font-weight: 750; text-decoration: none; }
.text-link:hover { color: var(--red-600); }

.promotion-strip { color: var(--white); background: var(--navy-950); font-size: var(--step--1); }
.promotion-strip__inner { display: flex; gap: 1rem; justify-content: center; padding-block: .55rem; text-align: center; }
.promotion-strip p { margin: 0; }
.promotion-strip a { display: none; color: var(--white); font-weight: 750; text-decoration: none; }

.site-header { position: relative; z-index: 50; background: var(--white); box-shadow: 0 1px 0 var(--border); }
.header-main { min-height: var(--header-height); display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .65rem 1rem; align-items: center; padding-block: .7rem; }
.header-main > * { min-width: 0; }
.brand { min-width: 0; width: fit-content; display: inline-flex; align-items: center; color: var(--navy-900); text-decoration: none; }
.brand__logo { width: clamp(142px, 42vw, 205px); height: auto; aspect-ratio: 393 / 183; object-fit: contain; }
.header-contact { display: none; text-align: right; }
.header-contact span { display: block; color: var(--muted); font-size: .72rem; }
.header-contact a { color: var(--navy-900); font-weight: 800; text-decoration: none; }
.header-search { width: 100%; min-width: 0; order: 3; grid-column: 1 / -1; }
.search-control { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; min-height: 3.15rem; padding-left: .9rem; overflow: hidden; background: var(--gray-100); border: 1px solid var(--border); border-radius: var(--radius-md); }
.search-control svg { fill: none; stroke: var(--muted); stroke-linecap: round; stroke-width: 2; }
.search-control input { min-width: 0; height: 100%; padding: .7rem; color: var(--text); background: transparent; border: 0; outline: 0; }
.search-control:focus-within { border-color: var(--red-600); box-shadow: 0 0 0 3px rgb(197 45 47 / .14); }
.search-submit { align-self: stretch; border-radius: 0 var(--radius-md) var(--radius-md) 0 !important; }
.header-search__message { margin: .5rem 0 0; }
.menu-button { width: 3rem; height: 3rem; display: grid; place-content: center; gap: 5px; color: var(--navy-900); background: var(--gray-100); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.menu-button span[aria-hidden] { width: 21px; height: 2px; display: block; background: currentColor; border-radius: 2px; }
.desktop-nav { display: none; }
.nav-dropdown { position: relative; align-self: stretch; display: flex; align-items: center; }
.nav-dropdown__trigger span { margin-left: .2rem; }
.nav-dropdown__menu { position: absolute; z-index: 60; top: 100%; left: -.9rem; min-width: 240px; display: grid; gap: .25rem; padding: .7rem; visibility: hidden; background: var(--white); border: 1px solid #b8c8d8; border-top: 4px solid var(--red-600); border-radius: 0 0 var(--radius-md) var(--radius-md); box-shadow: 0 18px 38px rgb(9 43 73 / .24); opacity: 0; transform: translateY(-.4rem); transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease), visibility var(--duration); }
.desktop-nav .nav-dropdown__menu a { min-height: 2.8rem; display: flex; align-items: center; padding: .7rem .85rem; color: var(--navy-950); background: var(--gray-50); border: 1px solid transparent; border-radius: var(--radius-sm); font-size: .86rem; font-weight: 780; white-space: nowrap; }
.desktop-nav .nav-dropdown__menu a:hover, .desktop-nav .nav-dropdown__menu a:focus-visible { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }
.desktop-nav .nav-dropdown__menu a[aria-current="page"] { color: var(--navy-950); background: var(--red-100); border-color: #e9babb; }
.nav-dropdown:hover .nav-dropdown__menu, .nav-dropdown:focus-within .nav-dropdown__menu { visibility: visible; opacity: 1; transform: translateY(0); }
.mobile-menu { position: fixed; z-index: 100; inset: 0; background: rgb(9 43 73 / .65); backdrop-filter: blur(5px); }
.mobile-menu__panel { width: min(89vw, 390px); min-height: 100%; margin-left: auto; padding: 1rem 1.25rem 2rem; color: var(--text); background: var(--white); box-shadow: -20px 0 50px rgb(0 0 0 / .2); }
.mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.mobile-menu__header strong { color: var(--navy-900); font-size: 1.2rem; }
.icon-button { width: 3rem; height: 3rem; color: var(--navy-900); background: var(--gray-100); border: 1px solid var(--border); border-radius: 50%; font-size: 2rem; line-height: 1; }
.mobile-menu nav { padding-block: 1rem; }
.mobile-menu nav a { display: flex; justify-content: space-between; padding-block: .9rem; color: var(--navy-900); border-bottom: 1px solid var(--border); font-weight: 720; text-decoration: none; }
.mobile-menu__group-label { display: block; padding: 1rem 0 .35rem; color: var(--red-600); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mobile-menu nav .mobile-menu__sub-link { padding: .65rem 0 .65rem 1rem; font-size: .88rem; }
.mobile-menu__contact { margin-top: 1rem; padding: 1.1rem; background: var(--navy-900); border-radius: var(--radius-md); color: var(--white); }
.mobile-menu__contact span, .mobile-menu__contact small { display: block; color: #c8d7e5; }
.mobile-menu__contact a { display: block; margin: .2rem 0 .65rem; font-size: 1.3rem; font-weight: 800; text-decoration: none; }

.button { min-height: 2.9rem; display: inline-flex; gap: .55rem; align-items: center; justify-content: center; padding: .65rem 1rem; border: 2px solid transparent; border-radius: var(--radius-sm); font-weight: 760; line-height: 1.2; text-align: center; text-decoration: none; transition: color var(--duration) var(--ease), background var(--duration) var(--ease), transform var(--duration) var(--ease); }
.button:hover { transform: translateY(-1px); }
.button--large { min-height: 3.25rem; padding-inline: 1.35rem; }
.button--primary { color: var(--white); background: var(--red-600); border-color: var(--red-600); }
.button--primary:hover { background: var(--red-700); border-color: var(--red-700); }
.button--light { color: var(--navy-900); background: var(--white); border-color: var(--white); }
.button--light:hover { background: var(--gray-100); }
.button--secondary { color: var(--navy-900); background: transparent; border-color: var(--navy-900); }
.button--secondary:hover { color: var(--white); background: var(--navy-900); }

.hero { position: relative; overflow: hidden; color: var(--white); background: var(--navy-900); }
.hero::before { position: absolute; z-index: 1; inset: 0; content: ''; background: linear-gradient(90deg, rgb(5 25 43 / .92) 0%, rgb(10 42 69 / .82) 68%, rgb(10 42 69 / .64) 100%), linear-gradient(0deg, rgb(5 25 43 / .52), transparent 55%); pointer-events: none; }
.hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.hero__grid { position: relative; z-index: 2; min-height: 590px; display: grid; align-items: center; padding-block: 4rem 12rem; }
.hero__content { max-width: 720px; }
.hero h1 { max-width: 760px; margin-bottom: 1.3rem; color: var(--white); }
.hero h1 span { color: #ffb1b2; }
.hero__lede { max-width: 660px; color: #d6e1ec; font-size: var(--step-1); }
.hero__actions { display: flex; flex-direction: column; gap: .75rem; margin-top: 1.7rem; }
.hero__disclaimer { margin: 1rem 0 0; color: #b9cad9; font-size: var(--step--1); }
.finder-wrap { position: relative; z-index: 2; margin-top: -7.5rem; }
.finder { display: grid; gap: 1rem; padding: 1.35rem; background: var(--white); border-top: 5px solid var(--red-600); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.finder__intro h2 { margin-bottom: .45rem; font-size: var(--step-2); }
.finder__intro p:last-child { margin: 0; color: var(--muted); font-size: .9rem; }
.field { min-width: 0; }
.field label { display: block; margin-bottom: .35rem; color: var(--navy-900); font-size: .78rem; font-weight: 780; }
.field select { width: 100%; min-height: 3.2rem; padding: .7rem 2.4rem .7rem .8rem; color: var(--text); background: var(--gray-100); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.button--finder { width: 100%; align-self: end; min-height: 3.2rem; }
.form-message { padding: .65rem .8rem; color: var(--info); background: var(--info-bg); border-left: 3px solid var(--info); border-radius: var(--radius-sm); font-size: .78rem; line-height: 1.4; }
.finder__message { grid-column: 1 / -1; margin: 0; }

.inventory-section { padding-top: var(--space-9); background: var(--white); }
.section-heading { max-width: 720px; margin-bottom: 2rem; }
.section-heading > p:not(.eyebrow) { color: var(--muted); }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading--split { max-width: none; }
.section-alert { display: flex; flex-direction: column; gap: .2rem; margin-bottom: 1.5rem; padding: .85rem 1rem; color: var(--warning); background: var(--warning-bg); border: 1px solid #ecd7a1; border-radius: var(--radius-sm); font-size: .85rem; }
.product-grid { display: grid; gap: 1.25rem; }
.product-card { min-width: 0; overflow: hidden; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease); }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.product-card__media { position: relative; overflow: hidden; aspect-ratio: 8 / 5; background: var(--gray-100); }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; }
.badge { position: absolute; top: .8rem; left: .8rem; padding: .35rem .55rem; font-size: .66rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; border-radius: 99px; }
.badge--sample { color: var(--warning); background: var(--warning-bg); border: 1px solid #dfc47c; }
.product-card__body { padding: 1.15rem; }
.product-card h3 { margin-bottom: .55rem; }
.stock-number { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.product-specs { display: flex; flex-wrap: wrap; gap: .4rem .8rem; margin-block: 1rem; padding-block: .85rem; border-block: 1px solid var(--border); color: var(--muted); font-size: .78rem; }
.product-specs li:not(:last-child)::after { margin-left: .8rem; color: var(--border); content: '•'; }
.price-block { display: grid; gap: .05rem; }
.price-block__original { color: var(--muted); font-size: .75rem; text-decoration: line-through; }
.price-block__current { color: var(--navy-900); font-size: 1.55rem; letter-spacing: -.035em; }
.price-block__note { color: var(--muted); font-size: .72rem; }
.availability-note { margin: 1rem 0 0; padding: .65rem; color: var(--error); background: var(--error-bg); border-radius: var(--radius-sm); font-size: .78rem; font-weight: 750; text-align: center; }
.product-card h3 a { color: inherit; text-decoration: none; }
.product-card h3 a:hover { color: var(--red-600); }
.status-line { display: flex; gap: .4rem; align-items: center; margin: .75rem 0 0; color: var(--muted); font-size: .76rem; font-weight: 740; }
.status-line span { font-size: .65rem; }
.status-line--available span { color: var(--success); }
.status-line--temporary-hold span { color: var(--warning); }
.status-line--reserved span { color: var(--info); }
.product-card__link { width: 100%; margin-top: 1rem; }
.empty-state__action { margin-top: 1rem; }
.loading-state, .empty-state { grid-column: 1 / -1; padding: 2.5rem 1rem; color: var(--muted); background: var(--gray-100); border: 1px dashed var(--border); border-radius: var(--radius-lg); text-align: center; }
.empty-state h3 { margin-bottom: .5rem; }
.empty-state p { margin: 0; }

.category-section { background: var(--gray-100); }
.category-grid { display: grid; gap: 1rem; }
.category-card { min-width: 0; display: block; overflow: hidden; color: var(--navy-900); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); text-decoration: none; transition: transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease); }
.category-card:hover { border-color: #b8c8d8; box-shadow: var(--shadow-md); transform: translateY(-3px); }
.category-card__media { display: block; overflow: hidden; aspect-ratio: 8 / 5; background: var(--gray-200); }
.category-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms var(--ease); }
.category-card:hover .category-card__media img { transform: scale(1.025); }
.category-card__body { position: relative; min-height: 7rem; display: flex; flex-direction: column; justify-content: center; padding: 1.15rem 3rem 1.15rem 1.2rem; }
.category-card strong { font-size: 1.2rem; line-height: 1.2; }
.category-card__body > span { margin-top: .3rem; color: var(--muted); font-size: .8rem; }
.category-card em { position: absolute; right: 1.2rem; top: 50%; color: var(--red-600); font-style: normal; font-weight: 850; transform: translateY(-50%); transition: transform var(--duration) var(--ease); }
.category-card:hover em { transform: translate(.2rem, -50%); }

.buying-section { color: var(--white); background: var(--navy-950); }
.buying-grid { display: grid; gap: 2.5rem; }
.buying-intro h2 { color: var(--white); }
.buying-intro > p:not(.eyebrow) { color: #b9cad9; }
.option-list { display: grid; gap: .75rem; }
.option-card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.2rem; background: rgb(255 255 255 / .07); border: 1px solid rgb(255 255 255 / .16); border-radius: var(--radius-md); }
.option-card__number { color: #ffafb0; font-size: .75rem; font-weight: 850; }
.option-card h3 { margin-bottom: .4rem; color: var(--white); }
.option-card p { margin-bottom: .7rem; color: #c8d7e5; font-size: .9rem; }
.coming-soon { display: inline-block; color: #ffd8d9; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.benefit-grid { display: grid; gap: 1rem; }
.benefit-grid article { padding: 1.35rem; border: 1px solid var(--border); border-radius: var(--radius-md); }
.benefit-icon { width: 3rem; height: 3rem; display: grid; place-items: center; margin-bottom: 1rem; color: var(--red-600); background: var(--red-100); border-radius: 50%; }
.benefit-icon svg { width: 1.4rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.benefit-grid h3 { margin-bottom: .5rem; }
.benefit-grid p { margin: 0; color: var(--muted); font-size: .9rem; }

.delivery-section { background: var(--gray-100); }
.delivery-grid { display: grid; gap: 2rem; align-items: center; }
.delivery-visual { position: relative; min-height: 310px; display: grid; place-items: center; overflow: hidden; color: var(--navy-900); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl); }
.delivery-visual::before { position: absolute; inset: 0; content: ''; background-image: linear-gradient(var(--gray-200) 1px, transparent 1px), linear-gradient(90deg, var(--gray-200) 1px, transparent 1px); background-size: 32px 32px; opacity: .7; }
.delivery-visual svg { position: relative; width: 130px; fill: var(--white); stroke: var(--navy-900); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; filter: drop-shadow(0 8px 8px rgb(16 59 99 / .12)); }
.route-line { position: absolute; width: 68%; height: 42%; border: 3px dashed var(--red-600); border-right: 0; border-bottom: 0; border-radius: 50% 0 0 0; transform: rotate(12deg); }
.route-dot { position: absolute; z-index: 2; width: 16px; height: 16px; background: var(--red-600); border: 4px solid var(--white); border-radius: 50%; box-shadow: 0 0 0 2px var(--red-600); }
.route-dot--start { top: 25%; left: 15%; }
.route-dot--end { right: 14%; bottom: 24%; }
.delivery-visual__label { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; padding: .35rem .55rem; color: var(--warning); background: var(--warning-bg); border-radius: var(--radius-sm); font-size: .7rem; font-weight: 750; }
.delivery-content > p:not(.eyebrow) { color: var(--muted); }
.check-list { display: grid; gap: .7rem; margin-block: 1.5rem; }
.check-list li { position: relative; padding-left: 1.8rem; }
.check-list li::before { position: absolute; left: 0; width: 1.1rem; height: 1.1rem; display: grid; place-content: center; color: var(--success); background: var(--success-bg); border-radius: 50%; content: '✓'; font-size: .7rem; font-weight: 900; }

.faq-grid { display: grid; gap: 2rem; }
.faq-intro > p:not(.eyebrow) { color: var(--muted); }
.faq-list { border-top: 1px solid var(--border); }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding-block: 1.2rem; color: var(--navy-900); cursor: pointer; font-weight: 750; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-icon { width: 2rem; height: 2rem; flex: 0 0 auto; display: grid; place-items: center; color: var(--red-600); background: var(--red-100); border-radius: 50%; font-size: 1.2rem; }
.faq-item p { padding-right: 2rem; color: var(--muted); font-size: .9rem; }

.contact-band { padding-block: 2rem; color: var(--white); background: var(--red-600); }
.contact-band__inner { display: grid; gap: 1rem; align-items: center; }
.contact-band h2 { margin: 0; color: var(--white); font-size: var(--step-2); }
.contact-band p { margin: 0; }
.contact-band > .container > p { color: #ffe6e6; }
.site-footer { color: #bfd0e1; background: #0d2134; }
.footer-grid { display: grid; gap: 2.25rem; padding-block: 4rem; }
.brand--footer { width: fit-content; padding: .45rem; background: var(--white); border-radius: var(--radius-md); }
.brand__logo--footer { width: 190px; }
.footer-brand p { max-width: 380px; margin: 1.25rem 0 0; color: #aebfd0; font-size: .9rem; line-height: 1.85; }
.footer-heading { position: relative; margin-bottom: 2rem; color: var(--white); font-size: .95rem; letter-spacing: .055em; text-transform: uppercase; }
.footer-heading::after { position: absolute; bottom: -.8rem; left: 0; width: 2.8rem; height: 3px; content: ''; background: var(--red-600); }
.site-footer ul { padding: 0; list-style: none; }
.site-footer li + li { margin-top: .8rem; }
.site-footer li, .site-footer address, .site-footer p { font-size: .84rem; font-style: normal; }
.site-footer li a { position: relative; display: inline-block; padding-left: 1rem; color: #c5d4e2; text-decoration: none; }
.site-footer li a::before { position: absolute; left: 0; color: #2da9eb; content: '›'; font-size: 1.25em; font-weight: 900; line-height: 1; }
.site-footer li a:hover { color: var(--white); }
.footer-quick-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1.5rem; }
.footer-quick-link { min-height: 4rem; display: grid; place-content: center; padding: .75rem; color: #dce8f2; border: 1px solid rgb(255 255 255 / .15); border-radius: var(--radius-md); font-size: .78rem; font-weight: 750; text-align: center; text-decoration: none; }
.footer-quick-link:hover { color: var(--white); border-color: #2da9eb; }
.footer-contact { display: grid; align-content: start; gap: .35rem; }
.footer-contact__label { margin-top: .6rem; color: #aebfd0; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.footer-phone { display: inline-block; margin: 0 0 .45rem; color: var(--white); font-size: 1.02rem; font-weight: 850; text-decoration: none; }
.footer-email { color: #dce8f2; overflow-wrap: anywhere; }
.footer-contact address { color: #dce8f2; line-height: 1.65; }
.footer-contact p { margin: 0; color: #dce8f2; line-height: 1.65; }
.footer-contact small { color: #aebfd0; }
.footer-contact__button { margin-top: 1rem; color: var(--white); background: var(--red-600); border-color: var(--red-600); }
.footer-contact__button:hover { color: var(--white); background: var(--red-700); border-color: var(--red-700); }
.whatsapp-chat { position: fixed; z-index: 90; right: clamp(1rem, 2vw, 2rem); bottom: clamp(1rem, 2vw, 2rem); font-family: inherit; }
.chatway-enabled .whatsapp-chat { bottom: clamp(6rem, 7vw, 7rem); }
.whatsapp-chat__panel { position: absolute; right: 0; bottom: 4.75rem; width: min(22rem, calc(100vw - 2rem)); overflow: hidden; background: var(--white); border: 1px solid rgb(5 51 86 / .12); border-radius: 1.1rem; box-shadow: 0 20px 55px rgb(5 25 43 / .25); animation: whatsapp-panel-in 180ms var(--ease) both; }
.whatsapp-chat__panel[hidden] { display: none; }
.whatsapp-chat__header { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem; color: var(--white); background: #075e54; }
.whatsapp-chat__identity { display: flex; gap: .75rem; align-items: center; min-width: 0; }
.whatsapp-chat__avatar { display: grid; width: 2.7rem; height: 2.7rem; flex: 0 0 auto; place-items: center; color: var(--white); background: #25d366; border: 2px solid rgb(255 255 255 / .45); border-radius: 50%; }
.whatsapp-chat__avatar-icon, .whatsapp-chat__action-icon, .whatsapp-chat__launcher-icon { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.whatsapp-chat__avatar-icon { width: 1.65rem; height: 1.65rem; }
.whatsapp-chat__heading { display: grid; gap: .12rem; }
.whatsapp-chat__heading strong { color: var(--white); font-size: .95rem; line-height: 1.25; }
.whatsapp-chat__heading span { color: rgb(255 255 255 / .78); font-size: .72rem; }
.whatsapp-chat__close { display: grid; width: 2.15rem; height: 2.15rem; flex: 0 0 auto; padding: 0; place-items: center; color: var(--white); background: transparent; border: 0; border-radius: 50%; font: 400 1.7rem/1 Arial, sans-serif; cursor: pointer; }
.whatsapp-chat__close:hover { background: rgb(255 255 255 / .12); }
.whatsapp-chat__close:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; }
.whatsapp-chat__body { padding: 1rem; background: #efeae2; }
.whatsapp-chat__message { position: relative; max-width: 93%; padding: .85rem .9rem .65rem; color: #23332f; background: var(--white); border-radius: .2rem .8rem .8rem .8rem; box-shadow: 0 1px 2px rgb(5 25 43 / .12); }
.whatsapp-chat__message::before { position: absolute; top: 0; left: -.45rem; width: .55rem; height: .65rem; background: var(--white); clip-path: polygon(100% 0, 100% 100%, 0 0); content: ''; }
.whatsapp-chat__message strong { display: block; margin-bottom: .2rem; color: #075e54; font-size: .78rem; }
.whatsapp-chat__message p { margin: 0; font-size: .87rem; line-height: 1.5; }
.whatsapp-chat__message-time { display: block; margin-top: .35rem; color: #6b7773; font-size: .62rem; text-align: right; }
.whatsapp-chat__hours { margin: .8rem 0; color: #53615d; font-size: .7rem; line-height: 1.45; text-align: center; }
.whatsapp-chat__action { display: flex; gap: .55rem; align-items: center; justify-content: center; min-height: 3rem; padding: .65rem 1rem; color: #073b2f; background: #25d366; border: 1px solid #1ebc59; border-radius: 999px; box-shadow: 0 7px 18px rgb(18 140 126 / .18); font-size: .82rem; font-weight: 800; text-decoration: none; transition: transform var(--duration) var(--ease), background var(--duration) var(--ease); }
.whatsapp-chat__action:hover { color: #073b2f; background: #20c861; transform: translateY(-1px); }
.whatsapp-chat__action:focus-visible { outline: 3px solid #075e54; outline-offset: 2px; }
.whatsapp-chat__action-icon { width: 1.35rem; height: 1.35rem; }
.whatsapp-chat__launcher { position: relative; display: grid; width: 3.75rem; height: 3.75rem; margin-left: auto; padding: .8rem; place-items: center; color: var(--white); background: #25d366; border: 3px solid var(--white); border-radius: 50%; box-shadow: 0 12px 30px rgb(5 25 43 / .3); cursor: pointer; transition: transform var(--duration) var(--ease), background var(--duration) var(--ease), box-shadow var(--duration) var(--ease); }
.whatsapp-chat__launcher::after { position: absolute; top: -.08rem; right: -.08rem; width: .72rem; height: .72rem; background: var(--red-600); border: 2px solid var(--white); border-radius: 50%; content: ''; }
.whatsapp-chat__launcher:hover { background: #20c861; box-shadow: 0 16px 36px rgb(5 25 43 / .34); transform: translateY(-2px); }
.whatsapp-chat__launcher:focus-visible { outline: 3px solid #075e54; outline-offset: 3px; }
.whatsapp-chat__launcher-icon { width: 2rem; height: 2rem; }
.whatsapp-chat.is-open .whatsapp-chat__launcher::after { display: none; }
@keyframes whatsapp-panel-in { from { opacity: 0; transform: translateY(.65rem) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.footer-bottom { display: flex; flex-direction: column; gap: .75rem; padding-block: 1.25rem; border-top: 1px solid rgb(255 255 255 / .12); }
.footer-bottom p { margin: 0; color: #aebfd0; font-size: .72rem; }
.footer-bottom__links { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; }
.footer-bottom__links a { color: #9eb1c5; font-size: .75rem; text-decoration: none; }
.footer-bottom__links a:hover { color: var(--white); }

/* Catalogue and trailer-detail milestone */
.catalogue-hero { position: relative; min-height: 420px; display: grid; align-items: end; overflow: hidden; background: var(--navy-950); }
.catalogue-hero::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgb(9 43 73 / .32), rgb(9 43 73 / .04)); pointer-events: none; }
.catalogue-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.catalogue-hero__inner { position: relative; z-index: 1; width: 100%; padding-block: 2rem 0; }
.catalogue-hero__panel { max-width: 720px; padding: 2rem; color: var(--white); background: rgb(9 31 61 / .96); box-shadow: var(--shadow-md); }
.catalogue-hero__panel h1 { margin-bottom: .8rem; color: var(--white); font-size: var(--step-4); }
.catalogue-hero__panel > p:last-child { max-width: 620px; margin: 0; color: #d6e1ec; }
.catalogue-hero .breadcrumbs { margin-bottom: 1rem; }
.page-hero { padding-block: 2.75rem 3.25rem; color: var(--white); background: linear-gradient(125deg, var(--navy-950), var(--navy-800)); }
.page-hero h1 { max-width: 780px; margin-bottom: 1rem; color: var(--white); font-size: var(--step-3); }
.page-hero > .container > p:last-child { max-width: 760px; margin: 0; color: #d6e1ec; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-bottom: 1.5rem; color: #c8d7e5; font-size: .78rem; }
.breadcrumbs a { color: inherit; }
.breadcrumbs--dark { margin: 0; color: var(--muted); }
.detail-breadcrumb-wrap { padding-block: 1.1rem; }
.catalogue-categories { background: var(--white); border-bottom: 1px solid var(--border); }
.category-pills { display: flex; flex-wrap: wrap; gap: .5rem; padding-block: .8rem; }
.category-pills a { min-height: 2.55rem; display: inline-flex; flex: 0 0 auto; align-items: center; padding: .45rem .85rem; color: var(--navy-900); background: var(--gray-100); border: 1px solid var(--border); border-radius: 99px; font-size: .82rem; font-weight: 740; text-decoration: none; }
.category-pills a:hover, .category-pills a[aria-current="page"] { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }
.catalogue-shell { background: var(--gray-50); }
.catalogue-toolbar { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.2rem; }
.catalogue-toolbar h2 { margin-bottom: .35rem; }
.results-count { margin: 0; color: var(--muted); font-size: .88rem; }
.catalogue-toolbar__actions { display: flex; gap: .75rem; align-items: end; }
.filter-toggle { flex: 1 1 auto; }
.filter-count { min-width: 1.4rem; min-height: 1.4rem; display: inline-grid; place-content: center; color: var(--white); background: var(--red-600); border-radius: 50%; font-size: .68rem; }
.sort-field { flex: 1 1 auto; }
.sort-field label { display: block; margin-bottom: .25rem; color: var(--navy-900); font-size: .72rem; font-weight: 780; }
.sort-field select, .field input { width: 100%; min-height: 3rem; padding: .65rem .8rem; color: var(--text); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.active-filters { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1.25rem; }
.filter-chip { min-height: 2.35rem; padding: .4rem .7rem; color: var(--navy-900); background: var(--info-bg); border: 1px solid #b5d6e8; border-radius: 99px; font-size: .75rem; font-weight: 720; }
.active-filters__clear { min-height: 2.35rem; padding: .35rem .4rem; color: var(--red-700); background: transparent; border: 0; font-size: .75rem; font-weight: 760; text-decoration: underline; }
.catalogue-layout { display: grid; gap: 1.5rem; }
.filter-backdrop { position: fixed; z-index: 79; inset: 0; background: rgb(9 43 73 / .58); backdrop-filter: blur(3px); }
.filter-panel { position: fixed; z-index: 80; inset: auto 0 0; max-height: min(86vh, 700px); padding: 1rem 1rem 1.5rem; overflow-y: auto; background: var(--white); border-radius: var(--radius-xl) var(--radius-xl) 0 0; box-shadow: 0 -16px 50px rgb(9 43 73 / .22); }
.filter-panel__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--border); }
.filter-panel__header h3 { margin: 0; }
.filter-panel form { display: grid; gap: 1rem; }
.filter-panel .field select { background-color: var(--white); }
.filter-apply, .button--quiet { width: 100%; }
.button--quiet { min-height: 2.9rem; color: var(--navy-900); background: var(--gray-100); border: 1px solid var(--border); border-radius: var(--radius-sm); font-weight: 740; }
.filter-help { margin: 0; color: var(--muted); font-size: .72rem; }
.catalogue-grid { grid-template-columns: 1fr; }
.catalogue-grid .product-card { border-radius: .2rem; }
.catalogue-grid .product-card__media { aspect-ratio: 5 / 4; }
.catalogue-grid .product-card__body { padding: 1.05rem; }
.catalogue-grid .product-card h3 { font-size: 1.08rem; }
.catalogue-empty { min-height: 360px; display: grid; place-content: center; }
.pagination { margin-top: 2rem; overflow-x: auto; padding: .25rem 0 .5rem; }
.pagination ul { display: flex; width: max-content; max-width: 100%; gap: .45rem; align-items: center; justify-content: center; margin-inline: auto; }
.pagination a { min-width: 2.75rem; min-height: 2.75rem; display: grid; place-content: center; padding: .4rem .7rem; color: var(--navy-900); background: var(--white); border: 1px solid var(--border); border-radius: .2rem; font-size: .82rem; font-weight: 800; text-decoration: none; transition: color .15s ease, background-color .15s ease, border-color .15s ease, transform .15s ease; }
.pagination a:hover { color: var(--red-700); background: #fff7f7; border-color: var(--red-600); transform: translateY(-1px); }
.pagination a[aria-current="page"] { color: var(--red-700); background: var(--white); border: 2px solid var(--red-600); box-shadow: 0 2px 8px rgb(16 59 99 / .1); }
.pagination__ellipsis { min-width: 1.4rem; min-height: 2.75rem; display: grid; place-content: center; color: var(--muted); font-weight: 850; }

@media (max-width: 480px) {
  .pagination ul { gap: .3rem; }
  .pagination a { min-width: 2.35rem; min-height: 2.5rem; padding: .3rem .5rem; }
  .pagination__ellipsis { min-width: 1rem; min-height: 2.5rem; }
}

.detail-page main { background: var(--gray-50); }
.detail-loading, .detail-not-found { margin-block: 2rem 5rem; }
.detail-sample-alert { margin-bottom: 1.25rem; }
.detail-hero { display: grid; gap: 1.5rem; padding-bottom: 2.5rem; }
.trailer-gallery { min-width: 0; }
.gallery-stage { position: relative; overflow: hidden; aspect-ratio: 8 / 5; background: var(--gray-100); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.gallery-stage > img { width: 100%; height: 100%; object-fit: cover; }
.gallery-stage:focus-visible { outline: 4px solid var(--red-600); outline-offset: 4px; }
.gallery-controls { display: flex; align-items: center; justify-content: space-between; padding-block: .75rem; }
.gallery-arrow { width: 3rem; height: 3rem; display: grid; place-content: center; color: var(--navy-900); background: var(--white); border: 1px solid var(--border); border-radius: 50%; font-size: 1.25rem; }
.gallery-position { color: var(--muted); font-size: .78rem; font-weight: 720; }
.gallery-thumbnails { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.gallery-thumbnail { min-width: 0; padding: .2rem; overflow: hidden; background: var(--white); border: 2px solid transparent; border-radius: var(--radius-sm); }
.gallery-thumbnail[aria-current="true"] { border-color: var(--red-600); }
.gallery-thumbnail img { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; border-radius: .2rem; }
.detail-summary { align-self: center; padding-block: .5rem; }
.detail-summary h1 { margin-bottom: .8rem; font-size: var(--step-3); }
.stock-number--large { font-size: .85rem; }
.detail-price { display: grid; gap: .05rem; margin-block: 1.25rem; padding-block: 1rem; border-block: 1px solid var(--border); }
.detail-price .price-block__current { font-size: var(--step-2); }
.detail-integrity-note { padding: .8rem; color: var(--warning); background: var(--warning-bg); border-left: 4px solid var(--warning); border-radius: var(--radius-sm); font-size: .82rem; }
.detail-information { display: grid; gap: 1.25rem; padding-bottom: 2.5rem; }
.detail-card { padding: 1.25rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.product-description > p:not(.eyebrow) { max-width: 78ch; color: var(--muted); }
.product-description h3 { margin-top: 1.5rem; font-size: 1.05rem; }
.product-feature-list { display: grid; gap: .55rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.product-feature-list li { position: relative; padding-left: 1.2rem; color: var(--muted); }
.product-feature-list li::before { position: absolute; left: 0; color: var(--red-600); content: '•'; font-weight: 900; }
.specification-list { display: grid; gap: 0; margin: 0; }
.specification-list > div { display: grid; gap: .2rem; padding-block: .75rem; border-bottom: 1px solid var(--border); }
.specification-list dt { color: var(--muted); font-size: .75rem; font-weight: 720; }
.specification-list dd { margin: 0; color: var(--text); font-weight: 680; }
.disclosure-card h3 { margin: 1.2rem 0 .35rem; font-size: 1rem; letter-spacing: -.015em; }
.disclosure-card > p:not(.eyebrow), .disclosure-list { color: var(--muted); }
.disclosure-list { display: grid; gap: .55rem; }
.disclosure-list li { position: relative; padding-left: 1.25rem; }
.disclosure-list li::before { position: absolute; left: 0; color: var(--red-600); content: '◆'; font-size: .65rem; }
.disclosure-caution { margin: 1.25rem 0 0; padding: .8rem; background: var(--gray-100); border-radius: var(--radius-sm); font-size: .78rem; }
.purchase-panel { margin-bottom: 2rem; padding: 1.25rem; color: var(--white); background: var(--navy-950); border-radius: var(--radius-lg); }
.purchase-panel h2, .purchase-panel h3 { color: var(--white); }
.purchase-panel__intro { color: #c8d7e5; }
.purchase-options { display: grid; gap: .75rem; }
.purchase-options article { padding: 1rem; background: rgb(255 255 255 / .07); border: 1px solid rgb(255 255 255 / .16); border-radius: var(--radius-md); }
.purchase-options h3 { margin-bottom: .4rem; }
.purchase-options p { color: #c8d7e5; font-size: .82rem; }
.button--disabled-demo { width: 100%; color: #ffd9da; background: rgb(197 45 47 / .18); border-color: #e78385; }
.purchase-message { margin: 1rem 0 0; color: #d7ebf7; background: rgb(21 95 138 / .28); border-color: #86bddb; }
.detail-related { padding-bottom: 4rem; text-align: center; }
.detail-tabs { display: flex; gap: 1.5rem; margin-bottom: 2rem; overflow-x: auto; border-bottom: 1px solid var(--border); }
.detail-tabs a { flex: 0 0 auto; padding: .85rem .1rem; color: var(--muted); border-bottom: 3px solid transparent; font-size: .82rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.detail-tabs a:hover, .detail-tabs a:focus-visible { color: var(--navy-900); border-bottom-color: var(--red-600); }
.reference-related-products { margin-bottom: 3rem; padding-block: 2rem; border-top: 1px solid var(--border); }
.reference-related-products__grid { display: grid; gap: 1rem; }
.reference-related-card { overflow: hidden; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.reference-related-card > img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; background: var(--gray-100); }
.reference-related-card__body { padding: 1rem; }
.reference-related-card h3 { min-height: 2.6em; margin-bottom: .65rem; font-size: 1rem; }
.reference-related-card__price { display: block; margin-bottom: .65rem; color: var(--navy-900); font-size: 1.15rem; }

@media (min-width: 560px) {
  .reference-related-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalogue-toolbar { flex-direction: row; align-items: end; justify-content: space-between; }
  .catalogue-toolbar__actions { min-width: 370px; }
  .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .specification-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
}

@media (min-width: 800px) {
  .reference-related-products__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-image-intake-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalogue-layout { grid-template-columns: 260px minmax(0, 1fr); align-items: start; }
  .filter-toggle, .filter-close, .filter-backdrop { display: none !important; }
  .filter-panel, .filter-panel[hidden] { position: sticky; z-index: 1; top: 1rem; inset: auto; max-height: none; display: block; padding: 1.15rem; overflow: visible; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: none; }
  .catalogue-page .catalogue-layout { grid-template-columns: 1fr; }
  .catalogue-page .filter-panel, .catalogue-page .filter-panel[hidden] { position: static; }
  .catalogue-page .filter-panel form { grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto; align-items: end; }
  .catalogue-page .filter-panel .filter-apply, .catalogue-page .filter-panel .button--quiet { width: auto; min-width: 120px; }
  .catalogue-page .filter-panel .filter-help { grid-column: 1 / -1; }
  .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-hero { grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr); gap: 3rem; }
  .detail-information { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-card--wide { grid-column: 1 / -1; }
  .detail-card, .purchase-panel { padding: 1.75rem; }
  .purchase-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1180px) {
  .catalogue-layout { grid-template-columns: 280px minmax(0, 1fr); gap: 2rem; }
  .catalogue-page .catalogue-layout { grid-template-columns: 1fr; }
  .catalogue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 560px) {
  .container { width: min(100% - 3rem, var(--content-wide)); }
  .promotion-strip__inner { justify-content: space-between; text-align: left; }
  .promotion-strip a { display: block; }
  .hero__actions { flex-direction: row; }
  .finder { grid-template-columns: repeat(2, 1fr); }
  .finder__intro, .button--finder { grid-column: 1 / -1; }
  .section-alert { flex-direction: row; gap: .65rem; }
  .product-grid, .category-grid, .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-band__inner { grid-template-columns: 1fr auto; }
  .contact-band__inner > p { grid-column: 1; }
  .contact-band__inner > .button { grid-column: 2; grid-row: 1 / span 2; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-bottom { flex-direction: row; align-items: center; justify-content: space-between; }
}

@media (min-width: 800px) {
  .section { padding-block: var(--space-9); }
  .header-main { grid-template-columns: auto 1fr auto auto; }
  .header-search { order: initial; grid-column: auto; }
  .menu-button { display: none; }
  .header-contact { display: block; }
  .desktop-nav { display: block; background: var(--navy-900); }
  .desktop-nav__inner { min-height: 3.2rem; display: flex; gap: clamp(1rem, 2.4vw, 2.4rem); align-items: center; }
  .desktop-nav a { color: #e7eef5; font-size: .8rem; font-weight: 700; text-decoration: none; }
  .desktop-nav a:hover { color: var(--white); }
  .desktop-nav .nav-call { margin-left: auto; color: #ffb1b2; }
  .hero::before { background: linear-gradient(90deg, rgb(5 25 43 / .95) 0%, rgb(8 35 59 / .86) 38%, rgb(8 35 59 / .46) 72%, rgb(8 35 59 / .24) 100%), linear-gradient(0deg, rgb(5 25 43 / .42), transparent 50%); }
  .hero__image { object-position: 52% center; }
  .hero__grid { min-height: 580px; padding-block: 5.5rem 8rem; }
  .finder-wrap { margin-top: -4rem; }
  .finder { grid-template-columns: 1.35fr repeat(2, 1fr) auto; align-items: end; padding: 1.4rem 1.5rem; }
  .finder__intro, .button--finder { grid-column: auto; }
  .button--finder { width: auto; }
  .section-heading--split { display: flex; gap: 2rem; align-items: end; justify-content: space-between; }
  .section-heading--split > div { max-width: 720px; }
  .section-heading--split .text-link { margin-bottom: 1rem; white-space: nowrap; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .buying-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; }
  .buying-intro { max-width: 480px; }
  .benefit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .delivery-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 4rem; }
  .delivery-content { padding-right: 2rem; }
  .faq-grid { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 5rem; }
  .faq-intro { position: sticky; top: 2rem; align-self: start; }
  .contact-band__inner { grid-template-columns: auto 1fr auto; }
  .contact-band__inner > p { grid-column: auto; }
  .contact-band__inner > .button { grid-column: auto; grid-row: auto; }
  .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
  .footer-grid { grid-template-columns: minmax(250px, 1.55fr) repeat(3, minmax(150px, .9fr)) minmax(225px, 1.1fr); }
}

@media (min-width: 1440px) {
  .hero__grid { min-height: 630px; }
  .hero__content { padding-left: 2rem; }
}

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

/* Invitation-only staff access */
.staff-shell { min-height: 100vh; display: flex; flex-direction: column; background: var(--gray-100); }
.staff-header { background: var(--white); border-bottom: 1px solid var(--border); }
.staff-header__inner { min-height: 5.5rem; display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; justify-content: space-between; padding-block: .65rem; }
.staff-header nav { min-width: 0; display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; justify-content: flex-end; }
.staff-header nav > a { color: var(--navy-900); font-size: .85rem; font-weight: 760; }
.staff-main { flex: 1; display: grid; place-items: center; width: 100%; padding: 2rem 1rem; background: linear-gradient(150deg, var(--navy-950), var(--navy-900)); }
.auth-card { width: min(100%, 30rem); padding: clamp(1.25rem, 5vw, 2.25rem); background: var(--white); border-top: 5px solid var(--red-600); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.auth-card h1 { margin-bottom: .75rem; font-size: var(--step-3); }
.auth-card > p:not(.eyebrow) { color: var(--muted); }
.auth-status { margin-block: 1rem; padding: .8rem 1rem; color: var(--info); background: var(--info-bg); border-left: 4px solid var(--info); border-radius: var(--radius-sm); }
.auth-status a { font-weight: 750; }
.auth-form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.auth-form input { width: 100%; min-height: 3rem; padding: .65rem .75rem; color: var(--text); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.auth-form input:focus { border-color: var(--red-600); box-shadow: 0 0 0 3px rgb(197 45 47 / .14); outline: 0; }
.auth-help { margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .8rem; }
.staff-footer { padding-block: 1rem; color: #c8d7e5; background: var(--navy-950); text-align: center; }
.staff-footer p { margin: 0; font-size: .78rem; }
.admin-main { flex: 1; padding-block: 2.5rem 4rem; }
.auth-status--page { max-width: 48rem; margin-inline: auto; }
.admin-heading { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2.5rem; }
.admin-heading h1 { margin-bottom: .45rem; }
.read-only-badge { width: fit-content; margin: 0; padding: .35rem .7rem; color: var(--info); background: var(--info-bg); border: 1px solid #b9d9e8; border-radius: 99px; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.summary-grid article { min-width: 0; padding: 1rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.summary-grid strong, .summary-grid span { display: block; }
.summary-grid strong { color: var(--navy-900); font-size: var(--step-2); line-height: 1.1; }
.summary-grid span { margin-top: .25rem; color: var(--muted); font-size: .78rem; }
.admin-section { margin-top: 2.5rem; }
.admin-section > p { color: var(--muted); }
.table-wrap { max-width: 100%; overflow-x: auto; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.table-wrap table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .82rem; }
.table-wrap caption { padding: .8rem 1rem; color: var(--muted); text-align: left; }
.table-wrap th, .table-wrap td { padding: .75rem 1rem; border-top: 1px solid var(--border); text-align: left; vertical-align: top; }
.table-wrap th { color: var(--navy-900); background: var(--gray-100); }
.placeholder-grid { display: grid; gap: 1rem; }
.placeholder-grid article { padding: 1.2rem; color: var(--muted); background: var(--white); border: 1px dashed #9babb9; border-radius: var(--radius-md); }
.placeholder-grid h3 { margin-bottom: .35rem; font-size: 1rem; }
.placeholder-grid p { margin: 0; font-size: .82rem; }
.button--danger { color: var(--white); background: var(--red-700); border-color: var(--red-700); }
.button--danger:hover { background: #821a1d; border-color: #821a1d; }
.auth-status[data-state="error"] { color: var(--error); background: var(--error-bg); border-color: var(--error); }
.auth-status[data-state="success"] { color: var(--success); background: var(--success-bg); border-color: var(--success); }
.admin-subnav { display: flex; gap: .5rem; margin-bottom: 2rem; padding: .65rem; overflow-x: auto; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.admin-subnav a { flex: 0 0 auto; padding: .45rem .7rem; color: var(--navy-900); font-size: .8rem; font-weight: 760; }
.admin-workspace { display: grid; gap: 1.25rem; align-items: start; }
.admin-list-panel, .admin-editor-panel, .admin-form { min-width: 0; }
.admin-list-panel { padding: 1rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.admin-panel-heading { display: flex; gap: .75rem; align-items: center; justify-content: space-between; }
.admin-panel-heading h2 { margin: 0; font-size: var(--step-2); }
.admin-record-list { display: grid; gap: .65rem; margin-top: 1rem; }
.admin-record-button { width: 100%; display: grid; gap: .1rem; padding: .75rem; color: var(--text); background: var(--gray-50); border: 1px solid var(--border); border-radius: var(--radius-sm); text-align: left; }
.admin-record-button[aria-pressed="true"] { border-color: var(--red-600); box-shadow: 0 0 0 2px rgb(197 45 47 / .14); }
.admin-record-button strong { color: var(--navy-900); }
.admin-record-button small { color: var(--muted); }
.admin-form { display: grid; gap: 1rem; padding: 1rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.admin-form + .admin-form { margin-top: 1rem; }
.admin-form fieldset { min-width: 0; padding: 0; border: 0; }
.admin-form legend { width: 100%; margin-bottom: 1rem; padding-bottom: .5rem; color: var(--navy-900); border-bottom: 1px solid var(--border); font-size: var(--step-1); font-weight: 780; }
.admin-form-grid { display: grid; gap: 1rem; }
.admin-form input:not([type="checkbox"]), .admin-form textarea, .admin-form select { width: 100%; min-height: 3rem; padding: .65rem .75rem; color: var(--text); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.admin-form textarea { min-height: 6rem; resize: vertical; }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color: var(--red-600); box-shadow: 0 0 0 3px rgb(197 45 47 / .14); outline: 0; }
.admin-form .field label > span, .admin-form small { color: var(--muted); font-size: .72rem; }
.check-field { display: flex !important; gap: .5rem; align-items: center; margin-top: .65rem; }
.check-field input { width: 1.2rem; height: 1.2rem; }
.admin-form-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.admin-state-form { border-left: 4px solid var(--warning); }
.admin-inline-form { align-items: end; }
.admin-image-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.admin-image-intake-grid { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.policy-main { padding-block: clamp(2.5rem, 7vw, 5rem); background: var(--gray-100); }
.policy-layout { display: grid; gap: 1.75rem; max-width: 860px; }
.policy-header { padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.policy-header h1 { margin-block: .3rem 1rem; font-size: clamp(2rem, 7vw, 3.5rem); }
.policy-layout section { padding: clamp(1.1rem, 4vw, 2rem); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.policy-layout section h2 { margin-top: 0; font-size: 1.35rem; }
.policy-layout section p:last-child { margin-bottom: 0; }
.policy-layout address { color: var(--navy-900); font-style: normal; }
.policy-header-bar { flex-wrap: wrap; gap: .5rem 1rem; padding-block: .65rem; }
.policy-nav { display: flex; flex: 1 1 100%; gap: .35rem 1rem; align-items: center; justify-content: center; flex-wrap: wrap; }
.policy-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--navy-900); font-size: .82rem; font-weight: 750; text-decoration: none; }
.policy-nav a[aria-current="page"] { color: var(--red-600); text-decoration: underline; text-underline-offset: .35rem; }
.admin-image-card { display: grid; gap: .65rem; padding: 1rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.admin-image-card h3 { margin: 0; font-size: 1rem; }
.admin-image-card code { max-width: 100%; padding: .4rem; overflow-wrap: anywhere; color: var(--muted); background: var(--gray-100); font-size: .7rem; }
.admin-image-card label { display: grid; gap: .25rem; color: var(--navy-900); font-size: .76rem; font-weight: 760; }
.admin-image-card input:not([type="checkbox"]), .admin-image-card select { width: 100%; min-height: 2.7rem; padding: .5rem; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.taxonomy-grid, .history-grid { display: grid; gap: 1.25rem; }
.taxonomy-grid > *, .history-grid > * { min-width: 0; }
.taxonomy-row { display: flex; gap: .75rem; align-items: center; justify-content: space-between; padding: .75rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.taxonomy-row .button { flex: 0 0 auto; min-height: 2.4rem; padding: .4rem .65rem; font-size: .75rem; }

/* Manual checkout and administrator order workflow */
.checkout-page { min-height: 100vh; display: flex; flex-direction: column; background: var(--gray-100); }
.checkout-main { flex: 1; padding-block: 2.5rem 5rem; }
.checkout-layout { display: grid; gap: 1.5rem; align-items: start; }
.checkout-form { margin-top: 1.25rem; }
.checkout-form[hidden] { display: none; }
.checkout-form.admin-form { padding: 0; background: transparent; border: 0; }
.checkout-form fieldset { padding: 1.25rem; background: var(--white); border: 1px solid var(--border); }
.checkout-form legend { padding: 0 .5rem; border: 0; font-size: var(--step-1); }
.delivery-only-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: clamp(1.25rem, 4vw, 2rem); overflow: hidden; color: var(--white); background: linear-gradient(135deg, var(--navy-950), #174f7d); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.delivery-only-card__icon { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; color: var(--navy-950); background: var(--white); border-radius: 50%; }
.delivery-only-card__icon svg { fill: currentColor; }
.delivery-only-card__content { min-width: 0; }
.delivery-only-card__label { margin: 0 0 .35rem; color: #ffd7d9; font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.delivery-only-card h2 { margin: 0; color: var(--white); font-size: clamp(1.35rem, 4vw, 2rem); }
.delivery-only-card__content > p:not(.delivery-only-card__label) { max-width: 52rem; color: #e2edf6; }
.delivery-only-card__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 1.25rem 0; padding: 0; list-style: none; }
.delivery-only-card__steps li { display: flex; gap: .55rem; align-items: center; min-width: 0; padding: .75rem; background: rgb(255 255 255 / 9%); border: 1px solid rgb(255 255 255 / 18%); border-radius: var(--radius-sm); }
.delivery-only-card__steps strong { display: grid; flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; place-items: center; color: var(--navy-950); background: var(--white); border-radius: 50%; font-size: .75rem; }
.delivery-only-card__steps span { font-size: .78rem; font-weight: 760; line-height: 1.35; }
.delivery-only-card__note { margin-bottom: 0; padding-top: 1rem; border-top: 1px solid rgb(255 255 255 / 20%); font-size: .8rem; }
.checkout-form .delivery-address { margin-top: -.4rem; padding-top: 1.6rem; border-top: 4px solid var(--red-600); border-radius: 0 0 var(--radius-md) var(--radius-md); box-shadow: var(--shadow-sm); }
.delivery-address .field-help { margin-top: 0; }
.checkout-summary { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); color: var(--text); background: var(--white); border: 2px solid #e2e5e8; box-shadow: none; }
.checkout-summary h2, .checkout-summary__name, .checkout-summary__price { color: var(--navy-950); }
.checkout-summary__name { margin-bottom: .25rem; font-weight: 800; }
.checkout-summary__price { display: block; margin-block: 1rem .5rem; font-size: var(--step-2); }
.checkout-order-list { display: grid; }
.checkout-order-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: .8rem; align-items: center; padding-block: 1rem; border-bottom: 1px solid var(--border); }
.checkout-order-item img { width: 72px; height: 52px; object-fit: cover; background: var(--gray-100); }
.checkout-order-item__body { min-width: 0; }
.checkout-order-item__body strong, .checkout-order-item__body span { display: block; }
.checkout-order-item__body span { margin-top: .25rem; color: var(--muted); font-size: .72rem; }
.checkout-order-item__price { grid-column: 2; color: var(--navy-950); text-align: right; }
.checkout-order-totals { margin-block: 1.25rem; }
.checkout-order-totals > div { display: flex; gap: 1rem; justify-content: space-between; padding-block: .85rem; border-bottom: 1px solid var(--border); }
.checkout-order-totals dt { font-weight: 800; }
.checkout-order-totals dd { margin: 0; text-align: right; }
.checkout-order-totals__final dd { color: var(--navy-950); font-size: var(--step-2); font-weight: 850; }
.manual-payment-notice { padding: 1rem; color: var(--warning); background: var(--warning-bg); border-left: 4px solid var(--warning); border-radius: var(--radius-sm); }
.manual-payment-notice h2 { margin-bottom: .5rem; font-size: 1rem; }
.manual-payment-notice ul { display: grid; gap: .4rem; margin-block: 0; padding-left: 1.2rem; font-size: .82rem; }
.checkout-consent { align-items: flex-start; font-weight: 720; }
.checkout-consent span { display: inline; }
.cart-legal-note { padding-top: .9rem; border-top: 1px solid var(--border); font-size: .78rem; }
.cart-legal-note a, .checkout-consent a { font-weight: 800; text-decoration: underline; text-underline-offset: .16em; }
.button--dark { color: var(--white); background: #202428; border-color: #202428; }
.button--dark:hover { color: var(--white); background: var(--navy-950); border-color: var(--navy-950); }
@media (max-width: 640px) {
  .delivery-only-card { grid-template-columns: 1fr; }
  .delivery-only-card__steps { grid-template-columns: 1fr; }
}
.confirmation-card { width: min(100%, 48rem); margin-inline: auto; padding: clamp(1.25rem, 5vw, 2.5rem); background: var(--white); border-top: 5px solid var(--red-600); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.confirmation-number { padding: .8rem; color: var(--navy-900); background: var(--gray-100); border-radius: var(--radius-sm); font-size: var(--step-1); font-weight: 850; overflow-wrap: anywhere; }
.confirmation-products { display: grid; gap: .65rem; margin-block: 1.25rem; padding-left: 1.25rem; }
.confirmation-products li { padding: .75rem; color: var(--navy-900); background: var(--gray-100); border-radius: var(--radius-sm); font-weight: 720; }
.confirmation-layout { max-width: 1240px; }
.order-confirmation { display: grid; gap: 2rem; }
.confirmation-received { padding: clamp(2rem, 6vw, 3.5rem); background: var(--white); border: 2px solid var(--success); text-align: center; }
.confirmation-received h1 { margin: 0; color: var(--navy-950); font-size: clamp(1.25rem, 3vw, 1.75rem); }
.confirmation-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 1rem 0; }
.confirmation-meta div { min-width: 0; text-align: center; }
.confirmation-meta dt { color: var(--muted); }
.confirmation-meta dd { margin: .3rem 0 0; color: var(--navy-950); font-weight: 850; overflow-wrap: anywhere; }
.confirmation-meta__status dd { color: var(--red-600); text-transform: uppercase; }
.confirmation-notice { color: var(--muted); }
.confirmation-notice p { margin-block: .35rem; }
.confirmation-order { padding: clamp(1.25rem, 4vw, 2.5rem); background: var(--white); border: 2px solid #e2e5e8; }
.confirmation-order h2 { margin-bottom: 1.25rem; font-size: var(--step-1); }
.confirmation-order__products { border-bottom: 1px solid var(--border); }
.confirmation-order__product { display: flex; gap: 1rem; align-items: start; justify-content: space-between; padding-block: .75rem; }
.confirmation-order__product > span { color: var(--navy-950); font-weight: 760; }
.confirmation-order__product small { display: block; margin-top: .2rem; color: var(--muted); font-weight: 500; }
.confirmation-order__product strong { flex: 0 0 auto; color: var(--navy-950); }
.confirmation-order__totals { margin: 0; }
.confirmation-order__totals > div { display: flex; gap: 1rem; justify-content: space-between; padding-block: 1rem; border-bottom: 1px solid var(--border); }
.confirmation-order__totals dt { color: var(--navy-950); font-weight: 800; }
.confirmation-order__totals dd { margin: 0; color: var(--muted); text-align: right; }
.confirmation-order__final dd { color: var(--navy-950); font-size: var(--step-1); font-weight: 850; }
.confirmation-addresses { display: grid; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border); }
.confirmation-address h2 { margin-bottom: .6rem; font-size: var(--step-2); text-transform: capitalize; }
.confirmation-address address { color: var(--muted); font-style: normal; line-height: 1.7; }
.confirmation-address address span { display: block; }
.confirmation-address p { color: var(--muted); }
.confirmation-back { width: fit-content; }
.confirmation-empty { padding: 2rem; background: var(--white); border: 1px solid var(--border); }
.order-workspace { display: grid; gap: 1.25rem; align-items: start; }
.order-detail { min-width: 0; display: grid; gap: 1.25rem; }
.order-overview h2 { margin-bottom: .3rem; }
.order-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0 0; }
.order-facts div { min-width: 0; padding: .75rem; background: var(--gray-100); border-radius: var(--radius-sm); }
.order-facts dt { color: var(--muted); font-size: .72rem; font-weight: 760; }
.order-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; font-weight: 760; }
.order-actions, .order-records { display: grid; gap: 1rem; }
.order-action-form { border-left: 4px solid var(--info); }
.order-action-form h3 { margin: 0; font-size: 1rem; }
.order-records .table-wrap + .table-wrap { margin-top: .25rem; }

@media (min-width: 800px) {
  .checkout-layout { grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 2rem; }
  .checkout-summary { position: sticky; top: 1rem; }
  .checkout-order-item { grid-template-columns: 72px minmax(0, 1fr) auto; }
  .checkout-order-item__price { grid-column: 3; }
  .order-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .confirmation-meta { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .confirmation-addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1050px) {
  .order-workspace { grid-template-columns: minmax(260px, .32fr) minmax(0, 1fr); }
  .order-workspace > .admin-list-panel { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
}

/* Frontend cart */
.nav-cart-link { position: relative; min-width: 3rem; min-height: 3rem; display: inline-flex !important; gap: 0; align-items: center; justify-content: center; }
.nav-cart-link__icon { width: 1.65rem; height: 1.65rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-cart-link [data-cart-count] { min-width: 1.4rem; height: 1.4rem; display: inline-grid; place-items: center; padding-inline: .3rem; color: var(--navy-950); background: var(--white); border-radius: 99px; font-size: .68rem; font-weight: 850; }
.header-cart-link { color: var(--navy-950); background: var(--white); border: 2px solid var(--navy-900); border-radius: var(--radius-sm); text-decoration: none; box-shadow: 0 4px 12px rgb(9 43 73 / .12); }
.header-cart-link:hover { color: var(--white); background: var(--navy-900); }
.header-cart-link [data-cart-count] { position: absolute; top: -.55rem; right: -.55rem; color: var(--white); background: var(--red-600); border: 2px solid var(--white); box-shadow: 0 2px 7px rgb(9 43 73 / .25); }
.detail-cart-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 1rem; }
.detail-cart-status { margin: 0; color: var(--success); font-weight: 750; }
.cart-page { min-height: 100vh; display: flex; flex-direction: column; background: var(--gray-100); }
.cart-main { flex: 1; padding-block: 2rem 5rem; }
.commerce-steps { display: flex; flex-wrap: wrap; gap: .65rem 1rem; align-items: center; justify-content: center; margin-bottom: 2.5rem; color: var(--muted); font-size: clamp(1rem, 2.1vw, 1.55rem); font-weight: 800; }

.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

.not-found-page { min-height: 62vh; display: grid; place-items: center; padding-block: var(--space-8); background: linear-gradient(145deg, var(--gray-50), var(--gray-100)); }
.not-found-page__content { max-width: 760px; padding: clamp(1.5rem, 5vw, 3.5rem); background: var(--white); border: 1px solid var(--border); border-top: 6px solid var(--red-600); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); text-align: center; }
.not-found-page__content > p:not(.eyebrow) { color: var(--muted); }
.not-found-page__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-block: 1.75rem; }
.not-found-page__help { margin-bottom: 0; }
.not-found-page__help a { color: var(--navy-900); font-weight: 750; }
.commerce-steps strong { color: var(--red-600); }
.commerce-steps span[aria-hidden] { color: var(--navy-900); font-size: 2rem; line-height: .8; }
.cart-heading { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: end; justify-content: space-between; margin-block: 1.5rem 2rem; }
.cart-heading h1 { margin-bottom: .35rem; }
.cart-heading p { margin: 0; color: var(--muted); }
.cart-layout { display: grid; gap: 1.5rem; align-items: start; }
.cart-items-panel { min-width: 0; background: var(--white); border: 1px solid var(--border); }
.cart-table-head { display: none; padding: 1.2rem 1.5rem; color: var(--navy-950); border-bottom: 1px solid var(--border); font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.cart-items { display: grid; }
.cart-item { position: relative; display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 1rem; padding: 1.25rem; border-bottom: 1px solid var(--border); }
.cart-item:last-child { border-bottom: 0; }
.cart-item img { width: 100px; height: 75px; object-fit: cover; background: var(--gray-100); }
.cart-item__body { min-width: 0; }
.cart-item__body h3 { margin: .15rem 0 .4rem; font-size: 1rem; }
.cart-item__actions { grid-column: 1 / -1; display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.cart-item__price { color: var(--navy-900); font-size: var(--step-1); }
.cart-item__quantity { color: var(--text); font-weight: 750; }
.cart-table-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; padding: 1rem 1.25rem; border-top: 1px solid var(--border); }
.cart-summary { padding: clamp(1.25rem, 3vw, 2rem); color: var(--text); background: var(--white); border: 2px solid #e2e5e8; }
.cart-summary h2 { margin-bottom: 1.4rem; color: var(--navy-950); font-size: var(--step-2); text-transform: uppercase; }
.cart-totals { margin: 0; }
.cart-totals > div { display: flex; gap: 1rem; align-items: baseline; justify-content: space-between; padding-block: 1rem; border-bottom: 1px solid var(--border); }
.cart-totals dt { font-weight: 800; }
.cart-totals dd { margin: 0; text-align: right; }
.cart-totals__final { margin-top: .5rem; border-bottom: 0 !important; }
.cart-totals__final dd { color: var(--navy-950); font-size: var(--step-2); font-weight: 850; }
.cart-summary .button { width: 100%; margin-block: .75rem 1rem; }
.cart-summary small { display: block; line-height: 1.6; }
.cart-summary [aria-disabled="true"] { pointer-events: none; opacity: .45; }
.cart-empty { margin-top: 1rem; padding: 2rem; }

@media (min-width: 760px) {
  .cart-table-head { display: grid; grid-template-columns: minmax(0, 1.7fr) .65fr .55fr .7fr; gap: 1rem; }
  .cart-item { grid-template-columns: 110px minmax(0, 1.1fr) .65fr .55fr .7fr; align-items: center; }
  .cart-item img { width: 110px; height: 82px; }
  .cart-item__body { grid-column: 2; }
  .cart-item__unit-price { grid-column: 3; }
  .cart-item__quantity { grid-column: 4; }
  .cart-item__actions { grid-column: 5; flex-direction: column; align-items: end; }
}

@media (min-width: 1000px) {
  .cart-layout { grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); }
  .cart-summary { position: sticky; top: 1rem; }
}

@media (max-width: 559px) {
  .whatsapp-chat { right: .75rem; bottom: .75rem; }
  .chatway-enabled .whatsapp-chat { bottom: 5.5rem; }
  .whatsapp-chat__panel { bottom: 4.35rem; width: min(21rem, calc(100vw - 1.5rem)); }
  .whatsapp-chat__launcher { width: 3.5rem; height: 3.5rem; padding: .72rem; }
  .staff-header nav { width: 100%; justify-content: flex-start; }
  .staff-header nav > a { padding-block: .45rem; }
  .staff-header nav .button { min-height: 2.5rem; padding: .4rem .7rem; }
}

@media (min-width: 700px) {
  .admin-heading { flex-direction: row; align-items: start; justify-content: space-between; }
  .summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .placeholder-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field--wide { grid-column: 1 / -1; }
  .admin-inline-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-inline-form h3, .admin-inline-form .button { grid-column: 1 / -1; }
  .taxonomy-grid, .history-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1050px) {
  .admin-workspace { grid-template-columns: minmax(240px, .34fr) minmax(0, 1fr); }
  .admin-list-panel { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
}

@media print {
  .development-notice, .promotion-strip, .menu-button, .desktop-nav, .header-search, .hero__actions, .finder-wrap, .contact-band, .whatsapp-chat { display: none; }
  .hero, .buying-section, .site-footer { color: var(--text); background: var(--white); }
  .hero::before, .hero__image { display: none; }
  .hero h1, .buying-section h2, .option-card h3 { color: var(--navy-900); }
  .product-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Buying guides */
.guides-main,
.guide-main { background: var(--gray-50); }
.guides-hero { padding-block: clamp(3.5rem, 8vw, 6.5rem); color: var(--white); background: linear-gradient(120deg, rgb(8 39 67 / .96), rgb(16 59 99 / .9)), url("../images/category-enclosed.webp") center / cover; }
.guides-hero h1 { max-width: 14ch; margin-bottom: 1rem; color: var(--white); }
.guides-hero > .container > p:last-child { max-width: 68ch; margin: 0; color: rgb(255 255 255 / .9); font-size: var(--step-1); }
.guides-list { padding-block: clamp(3rem, 7vw, 6rem); }
.guide-card-grid { display: grid; gap: 1.5rem; }
.guide-card { max-width: 58rem; overflow: hidden; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.guide-card__image-link { display: block; overflow: hidden; }
.guide-card__image-link img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .25s ease; }
.guide-card__image-link:hover img { transform: scale(1.02); }
.guide-card__body { padding: clamp(1.25rem, 3vw, 2rem); }
.guide-card__body h2 { margin-block: .45rem .75rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.guide-card__body h2 a { color: var(--navy-950); text-decoration: none; }
.guide-card__body h2 a:hover { text-decoration: underline; text-decoration-thickness: .12em; text-underline-offset: .15em; }
.guide-card__meta,
.guide-meta { color: var(--muted); font-size: .9rem; }
.guide-main { padding-block: 1.25rem 5rem; }
.guide-layout { max-width: 70rem; }
.guide-layout > .breadcrumbs { margin-bottom: 2rem; }
.guide-header { max-width: 58rem; margin-inline: auto; text-align: center; }
.guide-header h1 { max-width: 18ch; margin-inline: auto; }
.guide-deck { color: var(--muted); font-size: clamp(1.1rem, 2.4vw, 1.35rem); line-height: 1.65; }
.guide-meta { margin-top: 1.25rem; }
.guide-hero-image { width: 100%; max-height: 42rem; margin-block: 2rem; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.guide-hero-image--wide { aspect-ratio: 16 / 6; object-position: center; }
.guide-body { max-width: 50rem; margin-inline: auto; font-size: 1.05rem; line-height: 1.75; }
.guide-body section { scroll-margin-top: 1rem; }
.guide-body section + section { margin-top: 3.5rem; }
.guide-body h2 { margin-bottom: 1rem; color: var(--navy-950); }
.guide-body h3 { color: var(--navy-950); }
.guide-body a { font-weight: 700; text-underline-offset: .16em; }
.guide-answer { padding: clamp(1.25rem, 3vw, 2rem); background: var(--white); border-left: 5px solid var(--red-600); box-shadow: var(--shadow-sm); }
.guide-answer h2 { margin-top: 0; }
.guide-toc { margin-block: 2rem 3.5rem; padding: 1.5rem; background: #eaf2f8; border: 1px solid #c7d9e8; border-radius: var(--radius-md); }
.guide-toc strong { color: var(--navy-950); font-size: var(--step-1); }
.guide-toc ol { display: grid; gap: .45rem 2rem; margin-bottom: 0; padding-left: 1.25rem; }
.guide-steps { display: grid; gap: .85rem; padding-left: 1.35rem; }
.guide-callout { margin-block: 1.75rem; padding: 1.25rem 1.5rem; color: #4b3500; background: #fff4d6; border: 1px solid #e8cb78; border-radius: var(--radius-md); }
.guide-callout h3 { margin: 0 0 .35rem; color: #563c00; }
.guide-callout p { margin: 0; }
.guide-table-wrap { margin-block: 1.5rem; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-md); }
.guide-table { width: 100%; min-width: 42rem; border-collapse: collapse; background: var(--white); font-size: .96rem; }
.guide-table th,
.guide-table td { padding: 1rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.guide-table thead th { color: var(--white); background: var(--navy-900); }
.guide-table tbody th { color: var(--navy-950); white-space: nowrap; }
.guide-table tbody tr:last-child > * { border-bottom: 0; }
.guide-formula { padding: 1.2rem; color: var(--navy-950); background: var(--white); border: 2px solid var(--navy-900); border-radius: var(--radius-sm); text-align: center; }
.guide-example-grid { display: grid; gap: 1rem; margin-block: 1.5rem; }
.guide-example-grid > div { padding: 1.25rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.guide-example-grid h3 { margin-top: 0; font-size: var(--step-1); }
.guide-example-grid dl { margin: 0; }
.guide-example-grid dl > div { display: flex; gap: 1rem; justify-content: space-between; padding-block: .55rem; border-bottom: 1px solid var(--border); }
.guide-example-grid dl > div:last-child { border-bottom: 0; }
.guide-example-grid dt { font-weight: 750; }
.guide-example-grid dd { margin: 0; color: var(--navy-950); font-weight: 850; }
.guide-source-note { padding-left: 1rem; color: var(--muted); border-left: 3px solid var(--border); font-size: .94rem; }
.guide-checklist { display: grid; gap: .75rem; padding: 0; list-style: none; }
.guide-checklist li { position: relative; padding-left: 2rem; }
.guide-checklist li::before { position: absolute; left: 0; top: .13em; width: 1.2rem; height: 1.2rem; content: ""; border: 2px solid var(--navy-900); border-radius: .2rem; }
.guide-faq { border-top: 1px solid var(--border); }
.guide-faq details { border-bottom: 1px solid var(--border); }
.guide-faq summary { padding-block: 1rem; color: var(--navy-950); cursor: pointer; font-weight: 800; }
.guide-faq details p { margin-top: 0; padding-bottom: 1rem; }
.guide-cta { margin-top: 3.5rem; padding: clamp(1.5rem, 4vw, 2.5rem); color: var(--white); background: var(--navy-950); border-radius: var(--radius-lg); }
.guide-cta h2,
.guide-cta a:not(.button) { color: var(--white); }
.guide-cta .eyebrow { color: #f5c54b; }
.category-guide-promo { padding-block: 1.25rem; background: #eaf2f8; border-block: 1px solid #c7d9e8; }
.category-guide-promo__inner { display: grid; gap: .75rem; align-items: center; }
.category-guide-promo h2 { margin: 0; font-size: var(--step-1); }
.category-guide-promo p { margin: 0; color: var(--muted); }

@media (min-width: 620px) {
  .guide-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-example-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-guide-promo__inner { grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; }
  .category-guide-promo .text-link { grid-column: 2; grid-row: 1 / span 2; }
}

@media (min-width: 760px) {
  .guide-card { display: grid; grid-template-columns: minmax(16rem, .8fr) minmax(0, 1.2fr); }
  .guide-card__image-link img { height: 100%; aspect-ratio: auto; }
}

/* Optional analytics consent */
.analytics-consent[hidden] { display: none; }
.analytics-consent { position: fixed; z-index: 1200; inset: auto 0 0; padding: 1rem; color: var(--text); background: rgb(9 43 73 / .32); }
.analytics-consent__content { max-width: 72rem; display: grid; gap: 1rem; margin-inline: auto; padding: 1.25rem; background: var(--white); border: 2px solid var(--navy-900); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.analytics-consent__title { margin: 0 0 .35rem; color: var(--navy-950); font-size: var(--step-1); }
.analytics-consent__copy p { max-width: 64ch; margin: 0; color: var(--muted); line-height: 1.6; }
.analytics-consent__copy a { color: var(--navy-900); font-weight: 750; }
.analytics-consent__actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.analytics-consent__actions .button { min-height: 2.75rem; white-space: nowrap; }
.analytics-settings-button { position: fixed; z-index: 850; left: .75rem; bottom: .75rem; min-height: 2.5rem; padding: .55rem .8rem; color: var(--white); background: var(--navy-900); border: 2px solid var(--white); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 800; }
.analytics-settings-button:hover,
.analytics-settings-button:focus-visible { background: var(--red-600); }

@media (min-width: 760px) {
  .analytics-consent__content { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 1.5rem; }
  .analytics-consent__actions { justify-content: end; }
}

@media print {
  .analytics-consent,
  .analytics-settings-button { display: none !important; }
}
