/* ==========================================================================
   Veraizen Earthing — a deliberately different surface from the main site:
   light, blue, technical. Nothing here is shared with styles.css.
   ========================================================================== */
:root {
    --ve-blue: #375EA9;
    --ve-blue-deep: #24427A;
    --ve-blue-ink: #16294D;
    --ve-sky: #4FA3E3;
    --ve-tint: #E8EEF8;
    --ve-tint-2: #F3F6FB;
    --ve-copper: #B06A3A;
    --ve-ink: #1B1F27;
    --ve-body: #3D4553;
    --ve-muted: #6B7483;
    --ve-line: #D9DFE8;
    --ve-surface: #F5F7FA;
    --ve-white: #FFFFFF;
    --ve-radius: 6px;
    --ve-font-head: 'Montserrat', 'Inter', system-ui, sans-serif;
    --ve-font-body: 'Inter', system-ui, sans-serif;
    --ve-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    --ve-wrap: 1180px;
    --ve-topbar-h: 30px;
    --ve-header-h: 72px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.ve {
    margin: 0;
    background: var(--ve-white);
    color: var(--ve-body);
    font-family: var(--ve-font-body);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
:where(.ve) h1, :where(.ve) h2, :where(.ve) h3, :where(.ve) h4 { font-family: var(--ve-font-head); color: var(--ve-ink); line-height: 1.2; margin: 0 0 0.5em; letter-spacing: -0.01em; }
:where(.ve) h1 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); font-weight: 700; }
:where(.ve) h2 { font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 700; }
:where(.ve) h3 { font-size: 1.05rem; font-weight: 600; }
:where(.ve) p { margin: 0 0 1em; }
:where(.ve) a { color: var(--ve-blue); text-decoration: none; }
:where(.ve) a:hover { text-decoration: underline; }
:where(.ve) img { max-width: 100%; display: block; }
:where(.ve) code { font-family: var(--ve-font-mono); font-size: 0.92em; }
:where(.ve) sup { font-size: 0.55em; vertical-align: super; }
.ve-wrap { width: min(var(--ve-wrap), 100% - 2rem); margin-inline: auto; }
.ve-wrap--narrow { max-width: 760px; margin-inline: auto; }
.ve-label { display: inline-block; font-family: var(--ve-font-head); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ve-blue); margin-bottom: 0.6rem; }
.ve-h2--small { font-size: 1.25rem; }
.ve-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
:focus-visible { outline: 3px solid var(--ve-sky); outline-offset: 2px; }

/* Buttons ---------------------------------------------------------------- */
.ve-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.7rem 1.25rem; border-radius: var(--ve-radius); font: 600 0.92rem var(--ve-font-head); letter-spacing: 0.01em; border: 1.5px solid transparent; cursor: pointer; transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.18s; white-space: nowrap; }
.ve-btn:hover, .ve-nav__link:hover, .ve-card:hover, .ve-cat:hover, .ve-chip:hover, .ve-topbar__back:hover { text-decoration: none; }
.ve-btn:hover { transform: translateY(-1px); }
.ve-btn--primary { background: var(--ve-blue); color: #fff; border-color: var(--ve-blue); }
.ve-btn--primary:hover { background: var(--ve-blue-deep); border-color: var(--ve-blue-deep); }
.ve-btn--ghost { background: #fff; color: var(--ve-blue); border-color: var(--ve-line); }
.ve-btn--ghost:hover { border-color: var(--ve-blue); }
.ve-btn--light { background: #fff; color: var(--ve-blue-deep); border-color: #fff; }
.ve-btn--light:hover { background: var(--ve-tint); }
.ve-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); }
.ve-btn--outline:hover { border-color: #fff; background: rgba(255,255,255,0.08); }
.ve-btn--lg { padding: 0.9rem 1.6rem; font-size: 1rem; }
.ve-btn[disabled] { opacity: 0.6; cursor: progress; transform: none; }

/* Top bar + header ------------------------------------------------------- */
.ve-topbar { background: var(--ve-blue-ink); color: #C7D3EA; font-size: 0.78rem; height: var(--ve-topbar-h); }
.ve-topbar__row { display: flex; align-items: center; justify-content: space-between; height: 100%; gap: 1rem; }
.ve-topbar__back { color: #fff; font-weight: 500; }
.ve-topbar__note { opacity: 0.85; }
.ve-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.96); backdrop-filter: saturate(160%) blur(8px); border-bottom: 1px solid var(--ve-line); box-shadow: 0 1px 0 rgba(55,94,169,0.08); }
.ve-header__row { display: flex; align-items: center; justify-content: space-between; height: var(--ve-header-h); gap: 1rem; }
.ve .ve-logo img { height: 42px; width: auto; }
.ve-nav { display: flex; align-items: center; gap: 0.25rem; }
.ve-nav__link { padding: 0.55rem 0.85rem; border-radius: var(--ve-radius); font: 600 0.9rem var(--ve-font-head); color: var(--ve-ink); }
.ve-nav__link:hover, .ve-nav__link.is-active { background: var(--ve-tint); color: var(--ve-blue-deep); text-decoration: none; }
.ve-cart-btn { display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; margin-left: 0.5rem; padding: 0.55rem 0.9rem; border: 1.5px solid var(--ve-blue); border-radius: var(--ve-radius); background: #fff; color: var(--ve-blue); font: 600 0.88rem var(--ve-font-head); cursor: pointer; }
.ve-cart-btn:hover { background: var(--ve-tint); }
.ve-cart-badge { min-width: 1.35rem; height: 1.35rem; padding-inline: 0.35rem; border-radius: 999px; background: var(--ve-copper); color: #fff; font: 700 0.72rem var(--ve-font-body); display: inline-grid; place-items: center; }
.ve-menu-btn { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; flex-direction: column; justify-content: center; gap: 5px; align-items: center; }
.ve-menu-btn span { display: block; width: 22px; height: 2px; background: var(--ve-ink); transition: transform 0.2s, opacity 0.2s; }
.ve-menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ve-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ve-menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Breadcrumbs ------------------------------------------------------------ */
.ve-crumbs { background: var(--ve-tint-2); border-bottom: 1px solid var(--ve-line); font-size: 0.82rem; }
.ve-crumbs ol { list-style: none; margin: 0; padding: 0.6rem 0; display: flex; flex-wrap: wrap; gap: 0.4rem; color: var(--ve-muted); }
.ve-crumbs li + li::before { content: "/"; margin-right: 0.4rem; color: var(--ve-line); }
.ve-crumbs li[aria-current] { color: var(--ve-ink); font-weight: 500; }

/* Hero ------------------------------------------------------------------- */
.ve-hero { position: relative; color: #fff; background: linear-gradient(135deg, var(--ve-blue) 0%, var(--ve-blue-deep) 70%, var(--ve-blue-ink) 100%); overflow: hidden; }
.ve-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(180deg, transparent, #000 30%, #000 80%, transparent); pointer-events: none; }
.ve-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2.5rem; align-items: end; padding: clamp(3rem, 7vw, 5.5rem) 0 0; }
.ve-hero__copy { padding-bottom: clamp(3rem, 7vw, 5.5rem); }
.ve-hero h1 { color: #fff; max-width: 20ch; }
.ve-eyebrow { font-family: var(--ve-font-head); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #BFD3F5; margin-bottom: 1rem; }
.ve-hero__lede { font-size: 1.05rem; color: #DCE6F7; max-width: 52ch; }
.ve-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.ve-lineup { position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; gap: clamp(0.5rem, 2vw, 1.5rem); height: clamp(300px, 36vw, 440px); padding: 0 1rem 1.5rem; }
.ve-lineup__item { display: block; height: 100%; filter: drop-shadow(0 18px 24px rgba(0,0,0,0.35)); transition: transform 0.25s; }
.ve .ve-lineup__item img { height: 100%; width: auto; }
.ve-lineup__item--mid { height: 62%; }
.ve-lineup__item--wide { height: 34%; }
.ve-lineup__item:hover { transform: translateY(-6px); }
.ve-lineup__ground { position: absolute; left: 0; right: 0; bottom: 1.5rem; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent); }

/* Stats strip ------------------------------------------------------------ */
.ve-stats { background: var(--ve-blue-ink); color: #fff; }
.ve-stats ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.ve-stats li { padding: 1rem 1.25rem; display: flex; flex-direction: column; border-left: 1px solid rgba(255,255,255,0.12); }
.ve-stats li:first-child { border-left: 0; padding-left: 0; }
.ve-stats b { font-family: var(--ve-font-head); font-size: 1.35rem; font-weight: 700; }
.ve-stats span { font-size: 0.78rem; color: #BFD3F5; letter-spacing: 0.04em; text-transform: uppercase; }

/* Sections --------------------------------------------------------------- */
.ve-section { padding: clamp(2.5rem, 6vw, 4.5rem) 0; }
.ve-section--alt { background: var(--ve-surface); }
.ve-section__head { max-width: 720px; margin-bottom: 2rem; }
.ve-section__head p { color: var(--ve-muted); }
.ve-band { background: var(--ve-tint-2); border-bottom: 1px solid var(--ve-line); padding: clamp(2rem, 5vw, 3.5rem) 0; }
.ve-band p { max-width: 68ch; color: var(--ve-body); }
.ve-band__meta { font-family: var(--ve-font-mono); font-size: 0.85rem; color: var(--ve-muted); margin: 0; }

/* Search ----------------------------------------------------------------- */
.ve-search { position: relative; background: #fff; border: 1px solid var(--ve-line); border-radius: 10px; padding: 1.25rem 1.25rem 1rem; box-shadow: 0 8px 30px rgba(22,41,77,0.06); }
.ve-search__label { display: block; font: 600 0.92rem var(--ve-font-head); color: var(--ve-ink); margin-bottom: 0.6rem; }
.ve-search__row { display: flex; gap: 0.6rem; }
.ve-search__input { flex: 1; min-width: 0; padding: 0.75rem 0.9rem; border: 1.5px solid var(--ve-line); border-radius: var(--ve-radius); font: 500 1rem var(--ve-font-mono); color: var(--ve-ink); background: var(--ve-tint-2); }
.ve-search__input:focus { border-color: var(--ve-blue); background: #fff; outline: none; }
.ve-search__hint { margin: 0.6rem 0 0; font-size: 0.8rem; color: var(--ve-muted); }
.ve-search__results { position: absolute; left: 1.25rem; right: 1.25rem; top: calc(100% - 0.75rem); z-index: 30; list-style: none; margin: 0; padding: 0.35rem; background: #fff; border: 1px solid var(--ve-line); border-radius: var(--ve-radius); box-shadow: 0 14px 36px rgba(22,41,77,0.14); max-height: 360px; overflow: auto; }
.ve-search__results li a { display: grid; grid-template-columns: 9.5rem 1fr; gap: 0.75rem; align-items: center; padding: 0.55rem 0.7rem; border-radius: 4px; color: var(--ve-ink); }
.ve-search__results li a:hover, .ve-search__results li a:focus { background: var(--ve-tint); text-decoration: none; }
.ve-search__results code { color: var(--ve-copper); font-weight: 600; }
.ve-search__results small { display: block; color: var(--ve-muted); font-size: 0.78rem; }
.ve-search__results .is-empty { padding: 0.6rem 0.7rem; color: var(--ve-muted); font-size: 0.9rem; }

/* Category + product cards ----------------------------------------------- */
.ve-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.ve-cat { display: grid; grid-template-columns: 120px 1fr; background: #fff; border: 1px solid var(--ve-line); border-radius: 10px; overflow: hidden; color: var(--ve-ink); transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; }
.ve-cat:hover { text-decoration: none; border-color: var(--ve-blue); box-shadow: 0 12px 30px rgba(22,41,77,0.10); transform: translateY(-2px); }
.ve-cat__media { background: linear-gradient(160deg, var(--ve-tint), #fff); display: grid; place-items: center; padding: 1rem; }
.ve .ve-cat__media img { max-height: 120px; width: auto; height: auto; filter: drop-shadow(0 6px 10px rgba(0,0,0,0.16)); }
.ve-cat__body { padding: 1rem 1.1rem 1rem 0.5rem; }
.ve-cat__body p { font-size: 0.86rem; color: var(--ve-muted); margin: 0 0 0.5rem; }
.ve-cat__count { font: 600 0.8rem var(--ve-font-head); color: var(--ve-blue); }
.ve-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.ve-grid--4 { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.ve-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ve-line); border-radius: 10px; overflow: hidden; color: var(--ve-ink); transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; }
.ve-card:hover { text-decoration: none; border-color: var(--ve-blue); box-shadow: 0 12px 30px rgba(22,41,77,0.10); transform: translateY(-2px); }
.ve-card__media { height: 200px; background: linear-gradient(160deg, var(--ve-tint-2), #fff); display: grid; place-items: center; padding: 1.1rem; }
.ve .ve-card__media img { max-height: 168px; max-width: 100%; width: auto; height: auto; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0,0,0,0.14)); }
.ve-card__body { padding: 0.9rem 1rem 1rem; border-top: 1px solid var(--ve-line); }
.ve-card__body h3 { font-size: 0.98rem; margin-bottom: 0.2rem; }
.ve-card__body p { margin: 0; font: 500 0.78rem var(--ve-font-mono); color: var(--ve-muted); }
.ve-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ve-chip { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.8rem; border: 1px solid var(--ve-line); border-radius: 999px; background: #fff; color: var(--ve-ink); font-size: 0.86rem; }
.ve-chip span { font: 600 0.72rem var(--ve-font-mono); color: var(--ve-blue); }
.ve-chip:hover { border-color: var(--ve-blue); text-decoration: none; }

/* Steps / about ---------------------------------------------------------- */
.ve-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; counter-reset: s; }
.ve-steps li { background: #fff; border: 1px solid var(--ve-line); border-radius: 10px; padding: 1.4rem; }
.ve-steps li > span { display: block; font: 700 0.8rem var(--ve-font-mono); color: var(--ve-copper); margin-bottom: 0.5rem; }
.ve-steps p { margin: 0; color: var(--ve-muted); font-size: 0.92rem; }
.ve-about { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.ve-about h2 { font-size: 1.3rem; }

/* Product page ----------------------------------------------------------- */
.ve-product__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.5rem; padding: 2.5rem 0 1rem; align-items: start; }
.ve-product__media { position: sticky; top: calc(var(--ve-header-h) + 1rem); }
.ve-product__stage { height: min(560px, 64vh); background: linear-gradient(160deg, var(--ve-tint), #fff 60%); border: 1px solid var(--ve-line); border-radius: 12px; display: flex; align-items: center; justify-content: center; padding: 1.5rem; overflow: hidden; }
.ve .ve-product__stage img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; filter: drop-shadow(0 14px 20px rgba(0,0,0,0.18)); }
.ve-gallery { display: flex; gap: 0.5rem; margin-top: 0.75rem; flex-wrap: wrap; }
.ve-gallery__thumb { width: 64px; height: 64px; overflow: hidden; padding: 0.35rem; background: #fff; border: 1.5px solid var(--ve-line); border-radius: 8px; cursor: pointer; display: grid; place-items: center; }
.ve .ve-gallery__thumb img { max-width: 50px; max-height: 50px; width: auto; height: auto; object-fit: contain; }
.ve-gallery__thumb.is-active, .ve-gallery__thumb:hover { border-color: var(--ve-blue); }
.ve-product__intro { font-size: 1.05rem; color: var(--ve-body); }
.ve-std-list { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ve-std-list li { font: 600 0.74rem var(--ve-font-mono); color: var(--ve-blue-deep); background: var(--ve-tint); border-radius: 4px; padding: 0.25rem 0.5rem; }
.ve-notes { margin: 0 0 1rem; padding-left: 1.1rem; color: var(--ve-muted); font-size: 0.9rem; }
.ve-product__attrib { font-size: 0.84rem; color: var(--ve-muted); border-left: 3px solid var(--ve-copper); padding-left: 0.75rem; }
.ve-product__hint { font-size: 0.92rem; }
.ve-product__specs { padding: 1.5rem 0 2.5rem; }
.ve-product__specs h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.ve-related { padding: 1rem 0 2.5rem; border-top: 1px solid var(--ve-line); }

/* Tables — the heart of the catalogue ----------------------------------- */
.ve-table__title { font-size: 1rem; margin: 1.5rem 0 0.5rem; color: var(--ve-blue-deep); }
.ve-filter { display: inline-flex; align-items: center; gap: 0.6rem; font-size: 0.86rem; color: var(--ve-muted); margin: 0.5rem 0 0.75rem; }
.ve-filter select { padding: 0.4rem 0.6rem; border: 1.5px solid var(--ve-line); border-radius: var(--ve-radius); font: 500 0.9rem var(--ve-font-mono); background: #fff; color: var(--ve-ink); }
.ve-table-wrap { overflow-x: auto; border: 1px solid var(--ve-line); border-radius: 8px; margin-bottom: 1.25rem; -webkit-overflow-scrolling: touch; }
.ve-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.ve-table caption { caption-side: top; text-align: left; padding: 0.6rem 0.9rem; font: 600 0.82rem var(--ve-font-head); color: var(--ve-blue-deep); background: var(--ve-tint); border-bottom: 1px solid var(--ve-line); }
.ve-table th, .ve-table td { padding: 0.55rem 0.9rem; text-align: left; border-bottom: 1px solid var(--ve-line); vertical-align: middle; }
.ve-table thead th { background: var(--ve-tint-2); font: 600 0.78rem var(--ve-font-head); letter-spacing: 0.04em; text-transform: uppercase; color: var(--ve-blue-deep); position: sticky; top: 0; }
.ve-table tbody tr:last-child td, .ve-table tbody tr:last-child th { border-bottom: 0; }
.ve-table tbody tr:hover td { background: #FBFCFE; }
.ve-table--kv th[scope="row"] { width: 32%; background: var(--ve-tint-2); font: 500 0.86rem var(--ve-font-body); color: var(--ve-blue-deep); vertical-align: top; }
.ve-table:not(.ve-table--kv) td:first-child:not(.ve-pn) { font-family: var(--ve-font-mono); font-size: 0.88rem; }
.ve-pn { white-space: nowrap; }
.ve-pn__item { display: inline-flex; align-items: center; gap: 0.5rem; margin-right: 0.75rem; }
.ve-pn code { color: var(--ve-copper); font-weight: 600; }
.ve-add { padding: 0.25rem 0.6rem; border: 1.5px solid var(--ve-line); border-radius: 4px; background: #fff; color: var(--ve-blue); font: 600 0.72rem var(--ve-font-head); letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
.ve-add:hover { border-color: var(--ve-blue); background: var(--ve-tint); }
.ve-add.is-added { background: var(--ve-blue); border-color: var(--ve-blue); color: #fff; }
.ve-add.is-added::before { content: "✓ "; }
.ve-table tr[hidden] { display: none; }
.ve-table__note { font-size: 0.86rem; color: var(--ve-muted); font-style: italic; background: var(--ve-tint-2); }

/* Standards / notices ---------------------------------------------------- */
.ve-std-cards { display: grid; gap: 1rem; margin-bottom: 2rem; }
.ve-std-card { background: #fff; border: 1px solid var(--ve-line); border-radius: 10px; padding: 1.25rem 1.4rem; }
.ve-std-card h2 { font-size: 1.05rem; display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: baseline; }
.ve-std-card h2 code { color: var(--ve-copper); font-size: 0.95rem; }
.ve-std-card p { margin-bottom: 0.4rem; font-size: 0.95rem; }
.ve-std-card__use { font-size: 0.82rem; color: var(--ve-muted); margin: 0; }
.ve-notice { background: var(--ve-tint-2); border: 1px solid var(--ve-line); border-left: 4px solid var(--ve-blue); border-radius: 8px; padding: 1.25rem 1.4rem; }
.ve-notice h2 { font-size: 1.1rem; }
.ve-notice p:last-child { margin: 0; }

/* Enquiry page + form ---------------------------------------------------- */
.ve-enquiry { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.5rem; align-items: start; }
.ve-enquiry__list { background: var(--ve-surface); border: 1px solid var(--ve-line); border-radius: 10px; padding: 1.25rem; position: sticky; top: calc(var(--ve-header-h) + 1rem); }
.ve-form__row { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1rem; }
.ve-form__2col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ve-form label { font: 600 0.82rem var(--ve-font-head); color: var(--ve-ink); }
.ve-form input, .ve-form textarea { padding: 0.7rem 0.85rem; border: 1.5px solid var(--ve-line); border-radius: var(--ve-radius); font: 400 1rem var(--ve-font-body); color: var(--ve-ink); background: #fff; }
.ve-form input:focus, .ve-form textarea:focus { border-color: var(--ve-blue); outline: none; }
.ve-form__status { margin: 0.8rem 0 0; font-size: 0.88rem; color: var(--ve-muted); min-height: 1.2em; }
.ve-form__status.is-ok { color: #1E7A46; }
.ve-form__status.is-error { color: #B23B3B; }
.ve-form__note { margin-top: 0.6rem; font-size: 0.76rem; color: var(--ve-muted); }
.ve-contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.ve-contact-row p { margin: 0; }

/* Enquiry list (drawer + page) ------------------------------------------ */
.ve-list { list-style: none; margin: 0; padding: 0; }
.ve-list li { display: grid; grid-template-columns: 1fr auto auto; gap: 0.6rem; align-items: center; padding: 0.65rem 0; border-bottom: 1px solid var(--ve-line); }
.ve-list li:last-child { border-bottom: 0; }
.ve-list code { display: block; color: var(--ve-copper); font-weight: 600; }
.ve-list small { display: block; color: var(--ve-muted); font-size: 0.78rem; }
.ve-list input[type="number"] { width: 4.5rem; padding: 0.35rem 0.45rem; border: 1.5px solid var(--ve-line); border-radius: 4px; font: 500 0.9rem var(--ve-font-mono); text-align: right; }
.ve-list .ve-remove { border: 0; background: none; color: var(--ve-muted); font-size: 1.2rem; line-height: 1; cursor: pointer; padding: 0.25rem; }
.ve-list .ve-remove:hover { color: #B23B3B; }
.ve-drawer-backdrop { position: fixed; inset: 0; background: rgba(22,41,77,0.45); z-index: 80; }
.ve-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 100%); background: #fff; z-index: 90; transform: translateX(100%); transition: transform 0.25s ease; display: flex; flex-direction: column; box-shadow: -12px 0 40px rgba(22,41,77,0.2); }
.ve-drawer.is-open { transform: translateX(0); }
.ve-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--ve-line); }
.ve-drawer__head h2 { margin: 0; font-size: 1.1rem; }
.ve-drawer__close { border: 0; background: none; font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--ve-muted); }
.ve-drawer__body { flex: 1; overflow: auto; padding: 0.75rem 1.25rem; }
.ve-drawer__empty { color: var(--ve-muted); font-size: 0.92rem; }
.ve-drawer__foot { padding: 1rem 1.25rem; border-top: 1px solid var(--ve-line); display: grid; gap: 0.6rem; }
.ve-drawer__foot .ve-btn { width: 100%; }
.ve-drawer__alt { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.ve-drawer__note { margin: 0; font-size: 0.82rem; color: var(--ve-muted); min-height: 1.2em; }

/* CTA + footer ----------------------------------------------------------- */
.ve-cta { background: linear-gradient(135deg, var(--ve-blue), var(--ve-blue-deep)); color: #fff; padding: clamp(2rem, 5vw, 3.5rem) 0; }
.ve-cta__row { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.ve-cta h2 { color: #fff; font-size: 1.5rem; }
.ve-cta p { margin: 0; color: #DCE6F7; max-width: 60ch; }
.ve-cta .ve-btn--primary { background: #fff; color: var(--ve-blue-deep); border-color: #fff; }
.ve-cta .ve-btn--primary:hover { background: var(--ve-tint); }
.ve-footer { background: var(--ve-surface); border-top: 1px solid var(--ve-line); padding: 3rem 0 1.5rem; font-size: 0.9rem; }
.ve-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2rem; }
.ve .ve-footer__brand img { height: 44px; width: auto; margin-bottom: 0.9rem; }
.ve-footer__brand p { color: var(--ve-muted); font-size: 0.84rem; }
.ve-footer__col h4 { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ve-blue-deep); margin-bottom: 0.7rem; }
.ve-footer__col a { display: block; color: var(--ve-body); padding: 0.18rem 0; }
.ve-footer__col a:hover { color: var(--ve-blue); }
.ve-footer__col p { color: var(--ve-muted); font-size: 0.86rem; }
.ve-footer__bottom { border-top: 1px solid var(--ve-line); margin-top: 2rem; padding-top: 1.2rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: 0.78rem; color: var(--ve-muted); }
.ve-footer__bottom p { margin: 0; }

/* Responsive ------------------------------------------------------------- */
@media (max-width: 960px) {
    .ve-hero__grid { grid-template-columns: 1fr; }
    .ve-hero__copy { padding-bottom: 1rem; }
    .ve-lineup { height: 240px; }
    .ve-product__grid, .ve-enquiry, .ve-about, .ve-contact-row { grid-template-columns: 1fr; }
    .ve-product__media, .ve-enquiry__list { position: static; }
    .ve-steps { grid-template-columns: 1fr; }
    .ve-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .ve-menu-btn { display: flex; }
    .ve-nav { position: absolute; left: 0; right: 0; top: var(--ve-header-h); background: #fff; border-bottom: 1px solid var(--ve-line); flex-direction: column; align-items: stretch; padding: 0.5rem 1rem 1rem; display: none; box-shadow: 0 16px 30px rgba(22,41,77,0.12); }
    .ve-nav.is-open { display: flex; }
    .ve-nav__link { padding: 0.8rem 0.5rem; }
    .ve-cart-btn { margin: 0.5rem 0 0; justify-content: center; }
    .ve-topbar__note { display: none; }
    .ve-stats ul { grid-template-columns: 1fr 1fr; }
    .ve-stats li:nth-child(odd) { border-left: 0; padding-left: 0; }
    .ve-lineup__item--wide, .ve-lineup__item:nth-child(n+5) { display: none; }
    .ve-cat { grid-template-columns: 96px 1fr; }
    .ve-card__media { height: 150px; }
    .ve .ve-card__media img { max-height: 124px; }
    .ve-form__2col { grid-template-columns: 1fr; }
    .ve-search__results li a { grid-template-columns: 1fr; gap: 0.2rem; }
    .ve-footer__grid { grid-template-columns: 1fr; }
    .ve-cta__row { flex-direction: column; align-items: flex-start; }
}
