/* GNT green theme: deep green → bright green gradient (loaded after gnt.css) */
:root {
    --g-ink: #0b2a1b;
    --g-navy-900: #0a2618;
    --g-navy-800: #0f3a24;
    --g-navy-700: #155232;
    --g-navy-600: #1d6b41;
    --g-accent: #15803d;
    --g-accent-600: #116632;
    --g-accent-50: #eaf7ee;
    --g-accent-100: #cdeed7;
    --g-cyan: #34d36b;
    --g-bright: #22c55e;
    --g-grad: linear-gradient(135deg, #0a2e1c 0%, #0f5132 45%, #15803d 75%, #22c55e 100%);
    --g-grad-btn: linear-gradient(135deg, #14703a 0%, #1ea34f 100%);
    --g-grad-btn-hover: linear-gradient(135deg, #0f5c2f 0%, #188c43 100%);
    --g-shadow-sm: 0 1px 2px rgba(10, 38, 24, .06);
    --g-shadow: 0 1px 2px rgba(10, 38, 24, .05), 0 6px 18px -8px rgba(10, 38, 24, .16);
    --g-shadow-lg: 0 18px 48px -18px rgba(10, 38, 24, .34);
    --g-focus: 0 0 0 3px rgba(34, 197, 94, .35);
}
.g-body ::selection { background: #c9f2d6; }

/* gradient surfaces */
.g-btn--primary { background: var(--g-grad-btn); border-color: transparent; }
.g-btn--primary:hover { background: var(--g-grad-btn-hover); border-color: transparent; }
.g-hero { background: #0a2618; }
.g-hero::before { background: radial-gradient(900px 420px at 85% 15%, rgba(34, 197, 94, .30), transparent 60%), var(--g-grad); }
.g-hero .g-eyebrow, .g-b2b .g-eyebrow { color: #86efac; }
.g-b2b { background: var(--g-grad); color: #d6f5e0; }
.g-b2b::before { background: radial-gradient(600px 300px at 100% 0, rgba(134, 239, 172, .22), transparent 70%); }
.g-b2b__steps li::before { background: rgba(134, 239, 172, .18); color: #86efac; }
.g-cta-band { background: var(--g-grad); color: #d6f5e0; }
.g-footer { background: #08200f; color: #a9c4b2; }
.g-topbar { background: #08200f; color: #b9d6c3; }
.g-announce { background: var(--g-grad); }
.g-mega__toggle, .g-search__submit, .g-card__add { background: var(--g-grad-btn); }
.g-mega__toggle:hover, .g-search__submit:hover, .g-card__add:hover, .g-mega.is-open .g-mega__toggle { background: var(--g-grad-btn-hover); }
.g-solution__icon { background: var(--g-grad-btn); }
.g-cat:hover .g-cat__arrow { background: var(--g-accent); }
.g-viewtoggle button[aria-pressed="true"] { background: var(--g-accent); }
.g-navbar__cta { color: var(--g-accent) !important; }
.g-cookie { background: #0a2618; }
.g-cookie a { color: #86efac !important; }
.g-drawer__backdrop, .g-modal { background: rgba(8, 32, 15, .55); }
.g-lightbox { background: rgba(8, 32, 15, .94); }
.g-price--sale .g-price__now { color: #c0362c; }
/* keep side gutters inside the hero/containers on phones */
.g-hero { overflow: hidden; }
.g-hero__inner { padding-left: var(--g-gutter) !important; padding-right: var(--g-gutter) !important; }
.g-hero__chips { flex-wrap: wrap; }
.g-trust__item > div { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 575.98px) { .g-trust__item { padding: 14px 8px; gap: 8px; } .g-trust__icon { width: 34px; height: 34px; } }

/* v1.1 — product cards: key specs + availability */
.g-card__specs { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 0; padding: 0; list-style: none; }
.g-card__specs li { font-size: 11.5px; line-height: 1; padding: 4px 7px; border-radius: 999px; background: var(--g-accent-50); color: var(--g-accent-600); font-weight: 600; white-space: nowrap; }
.g-card__stock { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-size: 12px; color: var(--g-success); font-weight: 600; }
.g-card__stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.g-card__stock--out_of_stock { color: var(--g-danger); }
.g-card__stock--on_order { color: var(--g-warning); }
.g-card__ask { white-space: nowrap; }
.g-card__media img { aspect-ratio: 9 / 10; object-fit: contain; background: #fff; }

/* product page: key specs */
.g-keyspecs { margin-top: 18px; border: 1px solid var(--g-line); border-radius: var(--g-r); padding: 14px 16px; background: var(--g-surface-2); }
.g-keyspecs__title { font-size: var(--g-fs-sm) !important; margin: 0 0 8px; text-transform: uppercase; letter-spacing: .04em; color: var(--g-muted) !important; }
.g-keyspecs dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 0; }
.g-keyspecs dl div { min-width: 0; }
.g-keyspecs dt { font-size: 12px; color: var(--g-muted); }
.g-keyspecs dd { margin: 0; font-weight: 650; color: var(--g-ink); overflow-wrap: anywhere; }
.g-keyspecs .g-link-arrow { margin-top: 10px; display: inline-flex; font-size: var(--g-fs-sm); }
@media (max-width: 420px) { .g-keyspecs dl { grid-template-columns: 1fr; } }
.g-specs th, .g-specs td { overflow-wrap: anywhere; }

/* quote for a whole set */
.g-setquote { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 18px 20px; border-radius: var(--g-r-lg); background: var(--g-accent-50); border: 1px solid var(--g-accent-100); }
.g-setquote p { margin: 2px 0 0; color: var(--g-text-2); font-size: var(--g-fs-sm); }

/* subtle motion (respects reduced-motion) */
@media (prefers-reduced-motion: no-preference) {
    .g-card { transition: box-shadow .2s var(--g-ease), transform .2s var(--g-ease); }
    .g-card:hover { transform: translateY(-2px); box-shadow: var(--g-shadow); }
}

/* v1.1: hero tiles — equal bottom-right pair */
.g-hero__visual { grid-template-columns: repeat(12, 1fr); }
.g-hero__tile:nth-child(1) { grid-column: 1 / 7; grid-row: 1 / 3; }
.g-hero__tile:nth-child(2) { grid-column: 7 / 13; grid-row: 1 / 2; }
.g-hero__tile:nth-child(3) { grid-column: 7 / 10; grid-row: 2 / 3; }
.g-hero__tile:nth-child(4) { grid-column: 10 / 13; grid-row: 2 / 3; }
.g-hero__tile:nth-child(4) span { display: -webkit-box; }
.g-hero__tile:nth-child(4) img { inset: 10px 10px 44px; width: calc(100% - 20px); height: calc(100% - 54px); }
