/* Mega menu panels — copied from the BeTheme megamenu templates 2258/2314/2316/2332. */
.impact-mm{--ink:#1f2933;--muted:#5f6b7a;--line:#e3e8ee;--soft:#f7f9fb;--red:#d60000;--blue1:#062033;--blue2:#174b65;font-family:inherit;color:var(--ink);width:min(1480px,calc(100vw - 96px));margin:10px auto 0;background:#f8fafc;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.08);padding:22px;}
.impact-mm *{box-sizing:border-box}.impact-mm a{text-decoration:none;color:inherit}.impact-mm-main{display:grid;grid-template-columns:330px 1fr 330px;gap:22px;align-items:stretch}.impact-mm-main.products{grid-template-columns:330px 1fr 330px}.impact-mm-panel{border-radius:10px;padding:24px;color:#fff;display:flex;flex-direction:column;min-height:390px}.impact-mm-panel.product{background:linear-gradient(140deg,#d60000 0%,#f13812 55%,#ff9500 100%)}.impact-mm-panel.service,.impact-mm-panel.about,.impact-mm-panel.help{background:linear-gradient(145deg,#061e31 0%,#0f4058 70%,#174b65 100%)}.impact-mm-kicker{display:inline-flex;align-self:flex-start;background:rgba(255,255,255,.92);color:#1f2933;border-radius:999px;padding:7px 15px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.impact-mm-panel h3{color:#fff;font-size:29px;line-height:1.08;margin:20px 0 10px;letter-spacing:0}.impact-mm-panel p{color:rgba(255,255,255,.9);font-size:15px;line-height:1.5;margin:0 0 18px}.impact-mm-ctas{display:grid;gap:9px;margin-bottom:18px}.impact-mm .impact-mm-btn{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;padding:11px 14px;font-weight:800;background:#fff;color:#172233;border:1px solid rgba(255,255,255,.4)}.impact-mm .impact-mm-btn.secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.65)}.impact-mm .impact-mm-btn:hover,.impact-mm-card:hover,.impact-mm-route:hover,.impact-mm-utility:hover{transform:translateY(-1px)}.impact-mm-benefits{list-style:none;margin:auto 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.22);display:grid;gap:11px}.impact-mm-benefits li{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}.impact-mm-benefits strong,.impact-mm-benefits em{display:block}.impact-mm-benefits strong{color:#fff;font-size:15px}.impact-mm-benefits em{color:rgba(255,255,255,.86);font-size:13px;font-style:normal}.impact-mm-dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}.impact-mm-dot svg,.impact-mm-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.impact-mm-center{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.impact-mm-title{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;color:#273444}.impact-mm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.impact-mm-grid.single{grid-template-columns:1fr;gap:0}.impact-mm-card{display:grid;grid-template-columns:44px 1fr 18px;gap:12px;align-items:center;min-height:64px;border-radius:9px;padding:8px 10px;border:1px solid transparent;transition:.18s ease}.impact-mm-card:hover,.impact-mm-route:hover,.impact-mm-utility:hover{background:#fff;border-color:#dbe3eb;box-shadow:0 10px 24px rgba(15,23,42,.06)}.impact-mm-card strong,.impact-mm-route strong,.impact-mm-utility strong{display:block;color:#172233;font-size:15px;line-height:1.2}.impact-mm-card em,.impact-mm-route em,.impact-mm-utility em{display:block;color:var(--muted);font-size:12.5px;line-height:1.36;font-style:normal;margin-top:4px}.impact-mm-card b,.impact-mm-route b{font-size:26px;color:#172233;font-weight:400}.impact-mm-icon{width:44px;height:44px;border:1px solid #dfe5eb;border-radius:10px;display:grid;place-items:center;background:#f8fafc;color:#253444}.impact-mm-icon.small{border-radius:50%;background:#f6f7f8}.impact-mm-icon.mini{width:38px;height:38px;border:0;background:transparent}.impact-mm-icon.mini svg{width:28px;height:28px}.impact-mm-right{border-left:1px solid var(--line);padding-left:22px}.impact-mm-route{display:grid;grid-template-columns:50px 1fr 18px;gap:10px;align-items:center;padding:10px 8px;border:1px solid transparent;border-radius:10px;transition:.18s ease}.impact-mm-helpbox{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:14px;display:grid;grid-template-columns:1fr 52px;gap:12px;align-items:center}.impact-mm-helpbox strong{display:block;font-size:18px}.impact-mm-helpbox em{display:block;font-style:normal;color:var(--muted);font-size:13px;line-height:1.45;margin:5px 0 10px}.impact-mm-helpbox a{color:var(--red);font-weight:900}.impact-mm-bottom{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.impact-mm-utility{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;padding:14px 18px;border-right:1px solid var(--line);transition:.18s ease}.impact-mm-utility:last-child{border-right:0}.impact-mm .green{color:#239b2f}.mfn-menu-item-megamenu .impact-mm a:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(max-width:1239px){.impact-mm{display:none!important}}@media(min-width:1240px) and (max-width:1350px){.impact-mm{width:calc(100vw - 40px);padding:20px}.impact-mm-main{grid-template-columns:300px 1fr 290px;gap:18px}.impact-mm-panel{padding:22px}.impact-mm-card strong,.impact-mm-route strong{font-size:15px}}


/*
 * Impact site chrome — header, mega menu shell and footer.
 * Theme-independent: everything is scoped under .ish (header), .isf (footer) and .isc-* helpers.
 */
:root {
  --isc-red: #C00000;
  --isc-red-bright: #D20000;
  --isc-orange: #C84A1C;
  --isc-teal: #2B6475;
  --isc-deep: #173642;
  --isc-night: #0B1A21;
  --isc-slate: #3D4752;
  --isc-stone: #D9D2C7;
  --isc-bg: #FCFCFC;
  --isc-line: #E6E1D8;
  --isc-wrap: 1480px;
  --isc-bar-h: 76px;
  --isc-font: "IBM Plex Sans", Arial, sans-serif;
}

.isc-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.isc-skip { position: absolute; left: 12px; top: -60px; z-index: 100000; padding: 10px 16px; border-radius: 8px; background: var(--isc-deep); color: #fff; font: 600 14px var(--isc-font); text-decoration: none; }
.isc-skip:focus { top: 12px; }

.ish, .ish *, .isf, .isf * { box-sizing: border-box; }
.ish-wrap { width: min(var(--isc-wrap), calc(100% - 48px)); margin: 0 auto; }

/* ---------- Header ---------- */
.ish { position: sticky; top: 0; z-index: 9990; font-family: var(--isc-font); color: var(--isc-slate); }
.ish svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ish a { color: inherit; text-decoration: none; }

.ish-util { background: var(--isc-deep); color: #DCE6EA; font-size: 13px; transition: margin-top .25s ease; }
.ish-util__row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 36px; }
.ish-util__note { margin: 0; opacity: .85; }
.ish-util__links { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.ish-util__links a { display: inline-flex; align-items: center; gap: 7px; }
.ish-util__links a:hover { color: #fff; }
.ish-util__links svg { width: 15px; height: 15px; }
.ish-util__quote { font-weight: 600; color: #fff !important; }
.ish-util__quote::after { content: "→"; margin-left: 2px; }

.ish-bar { background: #fff; border-bottom: 1px solid var(--isc-line); transition: box-shadow .2s ease; }
.ish.is-stuck .ish-bar { box-shadow: 0 8px 24px rgba(11, 26, 33, .08); }
.ish.is-stuck .ish-util { margin-top: -36px; }
.ish-bar__row { display: flex; align-items: center; gap: 28px; height: var(--isc-bar-h); }

.ish-logo { display: flex; align-items: center; flex: none; }
.ish-logo img { display: block; width: auto; height: 44px; }

.ish-nav ul { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ish-nav__item { position: relative; display: flex; align-items: center; border-radius: 10px; }
.ish-nav__item > a { padding: 10px 2px 10px 14px; font-size: 15px; font-weight: 600; color: var(--isc-slate); }
.ish-nav__toggle { display: grid; place-items: center; width: 28px; height: 40px; padding: 0 10px 0 2px; border: 0; background: none; color: var(--isc-slate); cursor: pointer; }
.ish-nav__toggle svg { width: 16px; height: 16px; transition: transform .2s ease; }
.ish-nav__item:hover, .ish-nav__item.is-open { background: #F4F1EC; }
.ish-nav__item.is-open > a, .ish-nav__item.is-open .ish-nav__toggle { color: var(--isc-red); }
.ish-nav__item.is-open .ish-nav__toggle svg { transform: rotate(180deg); }
.ish-nav__item.is-open::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -18px; height: 3px; border-radius: 3px; background: var(--isc-red); }

.ish-search { position: relative; display: flex; align-items: center; flex: 1 1 auto; max-width: 440px; margin-left: auto; }
.ish-search svg { position: absolute; left: 14px; color: #7A848E; pointer-events: none; }
.ish-search input { width: 100%; height: 44px; padding: 0 16px 0 42px; border: 1px solid var(--isc-line); border-radius: 999px; background: #F7F5F1; font: 400 14px var(--isc-font); color: var(--isc-slate); outline: none; transition: border-color .15s, background .15s, box-shadow .15s; }
.ish-search input:focus { border-color: var(--isc-teal); background: #fff; box-shadow: 0 0 0 3px rgba(43, 100, 117, .15); }

.ish-actions { display: flex; align-items: center; gap: 6px; flex: none; }
.ish-act { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: none; color: var(--isc-slate); font: 600 14px var(--isc-font); cursor: pointer; }
.ish-act:hover { background: #F4F1EC; }
.ish-act--cart { background: var(--isc-red); color: #fff !important; padding: 0 16px; }
.ish-act--cart:hover { background: var(--isc-red-bright); }
.ish-act--search { display: none; }
.ish-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--isc-deep); color: #fff; font: 700 11px/1 var(--isc-font); font-variant-numeric: tabular-nums; box-sizing: border-box; }
.ish-act--cart .ish-badge { background: #fff; color: var(--isc-red); }
.ish-burger { display: none; }

.ish a:focus-visible, .ish button:focus-visible, .isf a:focus-visible { outline: 2px solid var(--isc-teal); outline-offset: 2px; }

/* ---------- Mega menu shell (panel content is the existing .impact-mm markup) ---------- */
.ish-mega { position: absolute; left: 0; right: 0; top: 100%; }
.ish-mega__panel { padding: 0 0 24px; animation: ish-drop .18s ease-out; }
.ish-mega__panel[hidden] { display: none; }
.ish-mega .impact-mm { margin: 12px auto 0; max-height: calc(100vh - var(--isc-bar-h) - 72px); overflow: auto; }
.ish-scrim { position: fixed; inset: 0; z-index: 9980; background: rgba(11, 26, 33, .28); animation: ish-fade .18s ease-out; }
.ish-scrim[hidden] { display: none; }
@keyframes ish-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes ish-fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Footer ---------- */
.isf { margin-top: 72px; padding: 56px 0 28px; background: linear-gradient(180deg, #173642 0%, #10242D 55%, #0B1A21 100%); color: #C9D5DA; font: 400 15px/1.6 var(--isc-font); }
.isf a { color: inherit; text-decoration: none; }
.isf a:hover { color: #fff; }
.isf svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.isf-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 40px; border-radius: 18px; background: linear-gradient(135deg, #2B6475 0%, #24596A 50%, #173642 100%); box-shadow: 0 20px 50px rgba(11, 26, 33, .25); color: #fff; }
.isf-cta h2 { margin: 0 0 4px; color: #fff; font-size: 28px; font-weight: 700; line-height: 1.2; }
.isf-cta p { margin: 0; color: #D6E3E8; }
.isf-cta__buttons { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }
.isf-btn { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; border-radius: 10px; font-weight: 600; white-space: nowrap; }
.isf-btn--red { background: var(--isc-red); color: #fff !important; }
.isf-btn--red:hover { background: var(--isc-red-bright); }
.isf-btn--ghost { border: 1px solid rgba(255, 255, 255, .45); color: #fff !important; }
.isf-btn--ghost:hover { background: rgba(255, 255, 255, .08); }

.isf-grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 40px; margin-top: 48px; padding-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.isf-brand__name { margin: 0 0 10px; color: #fff; font-size: 18px; font-weight: 700; }
.isf-brand p { max-width: 360px; margin: 0 0 16px; }
.isf-contact, .isf-col ul, .isf-social { margin: 0; padding: 0; list-style: none; }
.isf-contact li { margin-bottom: 4px; }
.isf-contact a { color: #fff; font-weight: 600; }
.isf-social { display: flex; gap: 10px; margin-top: 20px; }
.isf-social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(255, 255, 255, .07); }
.isf-social a:hover { background: var(--isc-red); }
.isf-col h3 { margin: 0 0 14px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.isf-col li { margin-bottom: 8px; }
.isf-all { color: #fff !important; font-weight: 600; }

.isf-pay { display: flex; flex-wrap: wrap; gap: 10px; padding: 24px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.isf-pay span { padding: 6px 14px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 8px; color: #E4ECEF; font-size: 13px; font-weight: 600; }

.isf-bottom { display: flex; align-items: center; gap: 24px; padding-top: 22px; font-size: 13px; color: #93A4AC; }
.isf-bottom p { margin: 0; }
.isf-bottom a { color: #C9D5DA; }
.isf-top { margin-left: auto; }

/* ---------- Responsive ---------- */
@media (max-width: 1360px) {
  .ish-act__label { display: none; }
  .ish-act--cart { padding: 0 12px; }
  .ish-bar__row { gap: 18px; }
}

/* Drawer range (<=1240px, ImpactHeaderFooter.breakpoint). */
@media (max-width: 1240px) {
  :root { --isc-bar-h: 64px; }
  .ish-util__note { display: none; }
  .ish-util__row { justify-content: center; }
  .ish-nav { display: none; }
  .ish-search { position: absolute; left: 0; right: 0; top: 100%; max-width: none; margin: 0; padding: 12px 24px; background: #fff; border-bottom: 1px solid var(--isc-line); }
  .ish-search svg { left: 38px; }
  .ish:not(.is-search-open) .ish-search { display: none; }
  .ish-act--search { display: inline-flex; }
  .ish-actions { margin-left: auto; }
  .ish-burger { display: flex; align-items: center; height: 44px; }
  .ish-mega { display: none; }
  .ish-logo img { height: 38px; }

  .isf-grid { grid-template-columns: repeat(2, 1fr); }
  .isf-brand { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .ish-wrap { width: calc(100% - 32px); }
  .ish-util__links li:nth-child(2) { display: none; }
  .ish-util__links { gap: 16px; }
  .ish-act { padding: 0 10px; }
  .ish-act--list { display: none; }

  .isf { margin-top: 48px; padding-top: 32px; }
  .isf-cta { flex-direction: column; align-items: flex-start; padding: 24px; }
  .isf-cta h2 { font-size: 22px; }
  .isf-grid { gap: 28px; margin-top: 32px; }
  .isf-bottom { flex-wrap: wrap; gap: 8px 16px; }
  .isf-top { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ish-mega__panel, .ish-scrim { animation: none; }
  .ish-util, .ish-nav__toggle svg { transition: none; }
}

/* =====================================================================
 * Hamburger + mobile drawer (.isd-*)
 * Behaviour: header-footer.js — .is-open on .isd, .is-active on the
 * current [data-isd-panel], body.isd-open while the drawer is open.
 * ===================================================================== */
.isd-shell { display: none; }

.isd-burger { display: inline-flex; align-items: center; gap: 9px; height: 44px; padding: 0 14px 0 12px; border: 1px solid var(--isc-line); border-radius: 12px; background: #fff; color: var(--isc-deep); font: 600 14px var(--isc-font); cursor: pointer; transition: background .15s, border-color .15s; }
.isd-burger:hover { background: #F4F1EC; border-color: var(--isc-stone); }
.isd-burger:focus-visible { outline: 2px solid var(--isc-teal); outline-offset: 2px; }
.isd-burger__lines { display: grid; gap: 4px; width: 20px; }
.isd-burger__lines span { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: width .2s ease; }
.isd-burger__lines span:nth-child(1) { width: 20px; }
.isd-burger__lines span:nth-child(2) { width: 14px; background: var(--isc-red); }
.isd-burger__lines span:nth-child(3) { width: 20px; }
.isd-burger:hover .isd-burger__lines span:nth-child(2) { width: 20px; }

.isd, .isd * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
.isd { position: fixed; inset: 0; z-index: 99999; opacity: 0; pointer-events: none; transition: opacity .2s ease; font-family: var(--isc-font); color: var(--isc-slate); }
.isd.is-open { opacity: 1; pointer-events: auto; }
.isd a { color: inherit; text-decoration: none; }
.isd ul { margin: 0; padding: 0; list-style: none; }
.isd-scrim { position: absolute; inset: 0; background: rgba(11, 26, 33, .45); }
.isd-drawer { position: absolute; inset: 0 0 0 auto; width: min(100vw, 440px); background: var(--isc-bg); box-shadow: -18px 0 48px rgba(11, 26, 33, .2); transform: translateX(100%); transition: transform .25s ease; overflow: hidden; }
.isd.is-open .isd-drawer { transform: none; }
.isd-panel { position: absolute; inset: 0; display: none; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 16px 32px; animation: isd-in .2s ease-out; }
.isd-panel.is-active { display: block; }
@keyframes isd-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
body.isd-open { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }

.isd .isd-i { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.isd .isd-mmi { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

/* Bar */
.isd-bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; margin: 0 -16px 12px; padding: 12px 16px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--isc-line); }
.isd-bar h2 { margin: 0; color: var(--isc-deep); font-size: 17px; font-weight: 700; }
.isd-logo img { display: block; width: auto; height: 38px; }
.isd-iconbtn { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--isc-line); border-radius: 12px; background: #fff; color: var(--isc-deep); cursor: pointer; }
.isd-iconbtn:hover { background: #F4F1EC; }

/* Search + account */
.isd-search { position: relative; display: flex; align-items: center; margin-bottom: 12px; }
.isd-search .isd-i { position: absolute; left: 14px; color: #7A848E; pointer-events: none; }
.isd-search input { width: 100%; height: 48px; padding: 0 16px 0 44px; border: 1px solid var(--isc-line); border-radius: 12px; background: #fff; font: 400 16px var(--isc-font); color: var(--isc-slate); outline: none; }
.isd-search input:focus { border-color: var(--isc-teal); box-shadow: 0 0 0 3px rgba(43, 100, 117, .15); }
.isd-account { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 8px !important; }
.isd-account a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border: 1px solid var(--isc-line); border-radius: 12px; background: #fff; font-size: 13px; font-weight: 600; color: var(--isc-deep); }
.isd-account .isd-count { position: absolute; top: 6px; left: calc(50% + 6px); display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border: 2px solid #fff; border-radius: 999px; background: var(--isc-deep); color: #fff; font: 700 11px/1 var(--isc-font); font-variant-numeric: tabular-nums; box-sizing: border-box; }
.isd-account a[data-impact-cart-trigger] .isd-count { background: var(--isc-red); }

.isd-title { margin: 22px 2px 10px; color: #6B7680; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

/* Section cards on the main screen */
.isd-tone-product { background: linear-gradient(135deg, #C00000 0%, #D20000 45%, #C84A1C 100%); }
.isd-tone-service { background: linear-gradient(135deg, #2B6475 0%, #24596A 50%, #173642 100%); }
.isd-tone-about { background: linear-gradient(135deg, #173642 0%, #10242D 60%, #0B1A21 100%); }
.isd-tone-help { background: linear-gradient(135deg, #24596A 0%, #173642 100%); }
.isd-cards { display: grid; gap: 10px; }
.isd-card { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 76px; padding: 14px 14px 14px 16px; border: 0; border-radius: 14px; color: #fff; text-align: left; font-family: inherit; cursor: pointer; box-shadow: 0 10px 24px rgba(11, 26, 33, .12); }
.isd-card:focus-visible { outline: 3px solid var(--isc-teal); outline-offset: 2px; }
.isd-card__icon { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 12px; background: rgba(255, 255, 255, .16); }
.isd-card__text { display: grid; flex: 1; min-width: 0; }
.isd-card__text strong { font-size: 17px; font-weight: 700; }
.isd-card__text em { font-style: normal; font-size: 13px; opacity: .85; }
.isd-card__count { padding: 3px 9px; border-radius: 999px; background: rgba(255, 255, 255, .18); font-size: 12px; font-weight: 700; }
.isd-card__chev { opacity: .9; }

/* Rows */
.isd-list { overflow: hidden; border: 1px solid var(--isc-line); border-radius: 14px; background: #fff; }
.isd-list li + li { border-top: 1px solid #EFEBE4; }
.isd-row { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 12px; }
.isd-row:hover, .isd-row:active { background: #F8F6F2; }
.isd-row__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid var(--isc-line); border-radius: 10px; background: #FBFAF8; color: var(--isc-deep); }
.isd-row__text { display: grid; flex: 1; min-width: 0; }
.isd-row__text strong { color: var(--isc-deep); font-size: 15px; font-weight: 600; }
.isd-row__text em { color: #6B7680; font-style: normal; font-size: 13px; line-height: 1.35; }
.isd-row__chev { width: 18px !important; height: 18px !important; color: #9AA3AB; }
.isd-list--compact .isd-row { min-height: 56px; }

/* Sub-screen hero (mirrors the mega menu's left panel) */
.isd-hero { padding: 20px; border-radius: 16px; color: #fff; box-shadow: 0 14px 30px rgba(11, 26, 33, .14); }
.isd-kicker { display: inline-block; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--isc-slate); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.isd-hero h3 { margin: 12px 0 6px; color: #fff; font-size: 24px; font-weight: 700; line-height: 1.15; }
.isd-hero p { margin: 0; color: rgba(255, 255, 255, .88); font-size: 14px; line-height: 1.5; }
.isd-hero__ctas { display: grid; gap: 8px; margin-top: 16px; }
.isd-btn { display: flex; align-items: center; justify-content: center; gap: 8px; height: 46px; border-radius: 10px; background: #fff; color: var(--isc-deep) !important; font-size: 15px; font-weight: 600; }
.isd-btn--ghost { border: 1px solid rgba(255, 255, 255, .55); background: transparent; color: #fff !important; }
.isd-benefits { display: grid; gap: 10px; margin-top: 16px !important; padding-top: 16px !important; border-top: 1px solid rgba(255, 255, 255, .2); }
.isd-benefits li { display: flex; align-items: center; gap: 12px; }
.isd-benefits .isd-mmi { width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: rgba(255, 255, 255, .14); stroke-width: 3; }
.isd-benefits span { display: grid; }
.isd-benefits strong { font-size: 14px; }
.isd-benefits em { font-style: normal; font-size: 12px; opacity: .85; }

/* Help box, quick tiles, contact */
.isd-help { margin-top: 12px; padding: 16px; border: 1px solid var(--isc-line); border-radius: 14px; background: #fff; }
.isd-help strong { display: block; color: var(--isc-deep); font-size: 17px; }
.isd-help p { margin: 4px 0 10px; color: #6B7680; font-size: 14px; }
.isd-help a { color: var(--isc-red) !important; font-weight: 700; }
.isd-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.isd-chips a { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1px solid var(--isc-line); border-radius: 999px; background: #fff; color: var(--isc-deep); font-size: 14px; font-weight: 600; }
.isd-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.isd-tiles a { display: flex; flex-direction: column; gap: 8px; min-height: 84px; padding: 12px; border: 1px solid var(--isc-line); border-radius: 12px; background: #fff; color: var(--isc-deep); }
.isd-tiles strong { font-size: 14px; font-weight: 600; line-height: 1.3; }
.isd-contact { margin-top: 22px; padding: 18px; border-radius: 16px; background: linear-gradient(135deg, #173642 0%, #10242D 60%, #0B1A21 100%); color: #C9D5DA; }
.isd-contact strong { display: block; color: #fff; font-size: 17px; }
.isd-contact p { margin: 4px 0 14px; font-size: 14px; }
.isd-contact__links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.isd-contact__links a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; border-radius: 10px; background: rgba(255, 255, 255, .1); color: #fff !important; font-size: 14px; font-weight: 600; }
.isd-contact__links a:first-child { background: var(--isc-red); }

@media (max-width: 1240px) {
  .isd-shell { display: block; }
}
@media (max-width: 420px) {
  .isd-burger { width: 44px; padding: 0; justify-content: center; }
  .isd-burger__label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .isd, .isd-drawer, .isd-panel, .isd-burger__lines span { transition: none; animation: none; }
}

/* =====================================================================
 * Logo, standalone pages and living alongside a theme
 * ===================================================================== */
.ish-logo img, .ish-logo__img { display: block; width: auto; height: 44px; max-width: 180px; object-fit: contain; }
.ish-logo__text { color: var(--isc-deep); font-size: 20px; font-weight: 700; }
.isd-logo img { display: block; width: auto; height: 38px; max-width: 160px; object-fit: contain; }
.isd-logo .ish-logo__text { font-size: 18px; }
@media (max-width: 1240px) { .ish-logo img, .ish-logo__img { height: 38px; } }

body.impact-standalone { margin: 0; background: var(--isc-bg); }

/* Themes style form controls and headings globally; the chrome sets its own. */
.ish button, .isd button, .isf button { margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal; line-height: normal; min-height: 0; }
.ish .ish-search input[type="search"], .isd .isd-search input[type="search"] { margin: 0; box-shadow: none; line-height: normal; }
.isd h2, .isd h3, .isd h4, .isf h2, .isf h3 { font-family: var(--isc-font); letter-spacing: normal; text-transform: none; }
.isd .isd-title, .isf .isf-col h3 { text-transform: uppercase; }
.ish ul, .isd ul, .isf ul { margin: 0; padding: 0; list-style: none; }
.ish li, .isd li, .isf li { margin-left: 0; list-style: none; }
.ish p, .isf p { line-height: inherit; }

/* BeTheme: its header template, side menus, live search and footer template make way. */
body.impact-hf #mfn-header-template,
body.impact-hf .mfn-header-tmpl,
body.impact-hf .mfn-header-tmpl-menu-sidebar,
body.impact-hf #Header_wrapper,
body.impact-hf #Top_bar,
body.impact-hf .mfn-live-search-box,
body.impact-hf #mfn-footer-template,
body.impact-hf #Footer,
body.impact-hf #back_to_top { display: none !important; }
/* BeTheme pads #Wrapper by its fixed header's height from script. */
body.impact-hf #Wrapper { padding-top: 0 !important; }
body.impact-hf .isf { margin-top: 0; }

/* Mega menu base typography. The panels were built inside BeTheme and leaned on its base styles;
   these pin them down so they look the same under any theme. */
.ish-mega .impact-mm { font-family: var(--isc-font); font-size: 14px; line-height: 1.45; text-align: left; }
.ish-mega .impact-mm h3, .ish-mega .impact-mm h4 { font-family: var(--isc-font); font-weight: 700; text-transform: none; }
.ish-mega .impact-mm .impact-mm-title { font-weight: 700; text-transform: uppercase; }
.ish-mega .impact-mm strong { font-weight: 700; }
.ish-mega .impact-mm .impact-mm-btn { font-size: 15px; line-height: 1.3; font-weight: 700; text-decoration: none; }
.ish-mega .impact-mm .impact-mm-helpbox a { font-size: 14px; font-weight: 700; text-decoration: none; }
.ish-mega .impact-mm a { text-decoration: none; }
.ish-mega .impact-mm ul { margin: 0; padding: 0; list-style: none; }
.isd strong, .isf strong { font-weight: 700; }
.isd .isd-bar h2:focus { outline: none; box-shadow: none; }

/* =====================================================================
 * Live search results (.iss)
 * ===================================================================== */
.iss { position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; width: 100%; min-width: 420px; max-height: min(70vh, 560px); overflow-y: auto; padding: 6px; border: 1px solid var(--isc-line); border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(11, 26, 33, .16); font-family: var(--isc-font); text-align: left; }
.iss[hidden] { display: none; }
.iss__list { margin: 0; padding: 0; list-style: none; }
.iss__head { margin: 8px 10px 4px; color: #6B7680; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; list-style: none; }
.iss__item { margin: 0; list-style: none; }
.iss__status { padding: 14px 12px; color: #6B7680; font-size: 14px; list-style: none; }
.iss .iss__opt { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; color: var(--isc-deep); text-decoration: none; }
.iss .iss__opt.is-active, .iss .iss__opt:focus-visible { background: #F4F1EC; outline: none; }
.iss__thumb { display: grid; place-items: center; width: 48px; height: 48px; flex: none; overflow: hidden; border: 1px solid #EFEBE4; border-radius: 8px; background: #fff; }
.iss__thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.iss__text { display: grid; flex: 1; min-width: 0; }
.iss__text strong { overflow: hidden; color: var(--isc-deep); font-size: 14px; font-weight: 600; line-height: 1.3; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.iss__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; color: #7A848E; font-size: 12px; }
.iss__stock { color: var(--isc-red); font-weight: 600; }
.iss__price { flex: none; color: var(--isc-deep); font-size: 14px; font-weight: 700; white-space: nowrap; }
.iss .iss__opt--cat { justify-content: space-between; padding: 10px; }
.iss__cat-name { font-size: 14px; font-weight: 600; }
.iss__cat-go { color: #9AA3AB; font-size: 18px; line-height: 1; }
.iss .iss__opt--all { justify-content: center; margin-top: 4px; padding: 12px 10px; border-top: 1px solid #EFEBE4; border-radius: 0 0 10px 10px; color: var(--isc-red); font-size: 14px; font-weight: 700; }

/* Small screens: the header search row drops below the bar; results fill the width under it. */
@media (max-width: 1240px) {
  .ish .iss { left: 24px; right: 24px; width: auto; min-width: 0; top: calc(100% - 4px); }
}
@media (max-width: 767px) {
  .ish .iss { left: 16px; right: 16px; }
}
/* Inside the drawer the list sits in the flow under the field and scrolls with the panel. */
.isd .isd-search { flex-wrap: wrap; }
.isd .iss { position: static; flex-basis: 100%; min-width: 0; max-height: none; margin-top: 8px; box-shadow: none; }
.isd .isd-search .isd-i { top: 14px; }
