/* ==========================================================================
   Be Wise family look (October 2026) - Be Injury Wise (England & Wales, Scotland)
   Shared by injury-wise-england.html and injury-wise-scotland.html.
   Brings both apps into line with the bewiseapps.com home page:
   navy + coral from the Waypoint logo, Newsreader headings, Public Sans text.
   APPEARANCE ONLY: colours, fonts, spacing and shapes. No wording or behaviour changes.
   Each app sets its own identifying colour with --bw-accent (in <style id="bw-family-app">):
   it is used only for the line under the top bar, the line on top of the footers
   and the small mark in front of the home-screen label.
   ========================================================================== */

:root{
  --bw-ink:#14213D;          /* deep navy (top bar, hero band, footer) */
  --bw-harbour:#1B2A4A;      /* logo navy */
  --bw-coral:#E4572E;        /* accents and focus */
  --bw-coral-strong:#C2461F; /* filled buttons with white text */
  --bw-coral-hover:#A63B19;
  --bw-coral-soft:#F4A58C;   /* highlights on navy */
  --bw-mist:#EEF1F6;         /* page background */
  --bw-wash:#F6F8FB;         /* quiet panels */
  --bw-rule:#D9DFE8;
  --bw-rule-strong:#C3CCD9;
  --bw-steel:#56637A;
  --bw-text:#3E4A63;
  --bw-info:#2C5E8C;         /* "good" / positive: blue, never green */
  --bw-info-bg:#E7EFF8;
  --bw-accent:#3D5A99;       /* overridden per app */
  --bw-col:840px;            /* home column width */

  /* Re-point the app's own design tokens at the family palette */
  --navy:#14213D; --navy-light:#1B2A4A; --navy-dark:#0D1629;
  --accent:#2C5E8C; --gold:#C2461F; --gold-dark:#A63B19;
  --gray-50:#EEF1F6; --gray-100:#F1F4F8; --gray-200:#D9DFE8;
  --gray-400:#5F6B80; --gray-600:#56637A; --gray-800:#14213D;
  --font:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --radius:4px;
}

body{ background:var(--bw-mist); color:var(--bw-ink); }
/* Newsreader is loaded at 500/600 only: keep headings on those weights */
:where(body) :is(h1,h2):not(#_){ font-weight:500; letter-spacing:-0.01em; }
:where(body) :is(h3,h4):not(#_){ font-weight:600; letter-spacing:0; }
:focus-visible{ outline:2px solid var(--bw-coral); outline-offset:2px; }

/* ---------- Top bar: navy, Waypoint logo, app colour line ---------- */
.topnav{ background:var(--bw-ink); box-shadow:inset 0 -3px 0 var(--bw-accent); }
.nav-logo{ font-family:var(--font-serif); font-weight:600; font-size:1.2rem; letter-spacing:-0.005em; gap:9px; color:#FFFFFF; }
.nav-logo::before{ content:""; width:28px; height:28px; flex-shrink:0; background:url("/favicon.svg") center/contain no-repeat; }
.topnav .nav-logo span{ font-family:var(--font); color:#FFFFFF; font-size:0.7rem; font-weight:600; letter-spacing:0.01em;
  border:1px solid rgba(255,255,255,0.35); border-radius:4px; padding:2px 6px; }
.nav-links{ gap:2px; margin-left:auto; margin-right:6px; }
.nav-btn{ font-family:var(--font); font-size:0.8rem; font-weight:500; color:rgba(255,255,255,0.75); padding:8px 9px; border-radius:0; }
.nav-btn:hover{ color:#FFFFFF; }
.nav-btn.active{ background:none; color:#FFFFFF; font-weight:600; box-shadow:inset 0 -2px 0 var(--bw-coral); }
.topnav .bw-burger{ border-radius:4px; border-color:rgba(255,255,255,0.3); }

/* Phone bottom bar */
.bnav{ background:var(--bw-ink); border-top:1px solid rgba(255,255,255,0.12); }
.bnav-btn{ font-family:var(--font); color:rgba(255,255,255,0.72); font-weight:500; }
.bnav-btn.active, .bnav-btn.sos.active{ color:#FFFFFF; font-weight:600; box-shadow:inset 0 2px 0 var(--bw-coral); }

/* ---------- Home: full-width navy hero band like the home page ---------- */
.hero{
  background:var(--bw-ink); text-align:left;
  padding:48px max(1.25rem, calc((100% - var(--bw-col)) / 2)) 52px;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:10px; vertical-align:middle;
  background:none; border:0; padding:0; margin:0 14px 14px 0;
  color:rgba(255,255,255,0.78); font-size:0.78rem; font-weight:600; letter-spacing:0.02em; text-transform:none;
}
.hero-badge::before{ content:""; width:18px; height:3px; border-radius:2px; background:var(--bw-accent); flex-shrink:0; }
.hero .bw-appsbtn.bw-hero-apps{ margin:0 0 14px !important; font-family:var(--font); color:#FFFFFF !important;
  border-color:rgba(255,255,255,0.32); background:rgba(255,255,255,0.06); }
.hero .bw-appsbtn.bw-hero-apps:hover{ background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.6); }
.hero h1{ color:#FFFFFF; font-size:clamp(2.4rem,6.2vw,3.6rem); line-height:1.06; letter-spacing:-0.02em; margin:6px 0 18px; }
.hero h1 em{ color:var(--bw-coral-soft); font-style:normal; }
.hero p{ color:rgba(255,255,255,0.8); font-size:1.05rem; line-height:1.65; max-width:36rem; margin:0 0 26px; }
.hero > div:not(.hero-badge){ display:inline-block; vertical-align:middle; }

/* Buttons */
.btn-primary{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; padding:13px 24px;
  font-size:0.95rem; margin:0 10px 0 0; vertical-align:middle; }
.btn-primary:hover{ background:var(--bw-coral-hover); }
.btn-secondary{ background:rgba(255,255,255,0.06); color:#FFFFFF; border:1px solid rgba(255,255,255,0.35); border-radius:4px;
  font-weight:600; padding:12px 22px; font-size:0.95rem; margin-top:0; vertical-align:middle; }
.btn-secondary:hover{ background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.6); }

/* Home cards and sections */
.features{ max-width:calc(var(--bw-col) + 2.5rem); gap:12px; padding:1.5rem 1.25rem 0.5rem; }
@media (min-width:900px){ .features{ grid-template-columns:repeat(5,1fr); } }
.feature-card{ border:1px solid var(--bw-rule); border-top:3px solid var(--bw-ink); border-radius:8px; padding:1rem 1rem 1.05rem; box-shadow:none; }
.feature-card:hover{ border-color:var(--bw-rule-strong); border-top-color:var(--bw-coral); box-shadow:none; transform:none; }
.feature-card h3{ font-size:1.08rem; color:var(--bw-ink); margin-bottom:4px; line-height:1.2; }
.feature-card p{ font-size:0.8rem; color:var(--bw-steel); line-height:1.45; }

.bw-spot-banner{ max-width:var(--bw-col); margin:0 auto; background:#FFFFFF; border:1px dashed var(--bw-rule-strong); border-radius:8px;
  color:var(--bw-steel); font-size:0.8rem; padding:0.85rem 1rem; }
.bw-spot-banner strong{ color:var(--bw-steel); letter-spacing:0.06em; }
.bw-spot-banner a, .chat-spot a{ color:var(--bw-info); text-decoration:underline; text-underline-offset:2px; }

.guides-sec{ max-width:calc(var(--bw-col) + 2.5rem); margin:1.75rem auto; }
.guides-sec h2{ font-size:1.6rem; color:var(--bw-ink); margin-bottom:4px; }
.guides-sec .gs-sub{ font-size:0.88rem; color:var(--bw-steel); margin-bottom:14px; }
.guides-grid{ gap:8px; }
.guides-grid a{ background:#FFFFFF; border:1px solid var(--bw-rule); border-left:3px solid var(--bw-harbour); border-radius:0 6px 6px 0;
  padding:11px 13px; font-size:0.86rem; font-weight:500; color:var(--bw-ink); }
.guides-grid a:hover{ border-color:var(--bw-rule-strong); border-left-color:var(--bw-coral); background:var(--bw-wash); }
.guides-all{ color:var(--bw-ink); text-decoration:underline; text-decoration-color:var(--bw-coral); text-underline-offset:3px; margin-top:14px; font-size:0.88rem; }

.disclaimer{ background:#FFFFFF; color:var(--bw-text); border:1px solid var(--bw-rule); border-left:4px solid var(--bw-harbour); border-radius:0 8px 8px 0;
  margin:1rem max(1.25rem, calc((100% - var(--bw-col)) / 2)) 1.75rem; padding:0.85rem 1rem; font-size:0.82rem; line-height:1.6; }
.disclaimer strong{ color:var(--bw-ink); }

/* ---------- Page header band (Calculator, Find a Solicitor, Dashboard) ---------- */
.sol-hero{ background:var(--bw-ink); text-align:left; padding:34px max(1.25rem, calc((100% - 580px) / 2)) 34px; }
.sol-hero h2{ color:#FFFFFF; font-size:clamp(1.8rem,4.6vw,2.4rem); line-height:1.1; letter-spacing:-0.015em; margin-bottom:8px; }
.sol-hero p{ color:rgba(255,255,255,0.8); font-size:0.95rem; line-height:1.55; }

/* ---------- Chat ---------- */
.chat-hdr{ background:var(--bw-harbour); font-size:0.88rem; padding:0.8rem 1rem; }
.chat-dot{ background:var(--bw-coral); }
.chat-topics{ background:#FFFFFF; border-bottom-color:var(--bw-rule); padding:0.6rem 1rem; }
.quick-prompts{ background:var(--bw-wash); border-bottom-color:var(--bw-rule); padding:0.6rem 1rem; }
.topics-label, .prompts-label{ color:var(--bw-steel); letter-spacing:0.05em; }
.topic-pill{ background:#FFFFFF; border:1px solid var(--bw-rule-strong); color:var(--bw-text); border-radius:4px; font-size:0.76rem; padding:5px 11px; }
.topic-pill:hover{ border-color:var(--bw-harbour); color:var(--bw-ink); }
.topic-pill.active{ background:var(--bw-ink); border-color:var(--bw-ink); color:#FFFFFF; }
.prompt-chip{ background:#FFFFFF; border:1px solid var(--bw-rule); color:var(--bw-ink); border-radius:4px; font-size:0.78rem; padding:6px 11px; }
.prompt-chip:hover{ border-color:var(--bw-harbour); }
.prompt-chip:active{ background:var(--bw-ink); color:#FFFFFF; }
.chat-spot{ background:#FFFFFF; border-bottom-color:var(--bw-rule); color:var(--bw-steel); }
.chat-messages{ background:var(--bw-mist); gap:12px; }
.msg{ font-size:0.9rem; line-height:1.65; }
.msg.user{ background:var(--bw-ink); color:#FFFFFF; border-radius:10px 10px 2px 10px; }
.msg.bot{ background:var(--bw-wash); border:1px solid var(--bw-rule); color:var(--bw-ink); border-radius:10px 10px 10px 2px; }
.msg-lbl{ color:var(--bw-steel); letter-spacing:0.06em; }
.sol-cta{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; }
.sol-cta:hover{ background:var(--bw-coral-hover); }
.chat-input-area{ border-top-color:var(--bw-rule); }
.chat-textarea, .calc-input, .county-select{
  background-color:#FFFFFF; border:1px solid var(--bw-rule-strong); border-radius:6px; color:var(--bw-ink); font-family:var(--font);
}
.chat-textarea:focus, .calc-input:focus, .county-select:focus{
  border-color:var(--bw-harbour); background-color:#FFFFFF; outline:none; box-shadow:0 0 0 3px rgba(228,87,46,0.28);
}
.chat-send{ background:var(--bw-coral-strong); border-radius:4px; }
.chat-send:hover{ background:var(--bw-coral-hover); }
.chat-send:active{ background:var(--bw-coral-hover); }
.chat-send:disabled{ background:#DDE3EB; color:#7A8599; }

/* ---------- Find a Solicitor ---------- */
.county-sel-wrap{ padding:1.5rem 1.25rem; }
.county-sel-wrap label, .bw-london label{ color:var(--bw-text); letter-spacing:0.04em; }
.lead-cta{ background:var(--bw-ink); border-radius:8px; box-shadow:none; padding:1.25rem 1.35rem; border-top:3px solid var(--bw-coral); }
.lead-cta h4{ font-size:1.2rem; margin-bottom:6px; color:#FFFFFF; }
.lead-cta p{ font-size:0.85rem; color:rgba(255,255,255,0.8); margin-bottom:1rem; }
.lead-cta button{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; font-size:0.9rem; padding:12px; }
.lead-cta button:hover{ background:var(--bw-coral-hover); }
.county-hdr{ background:var(--bw-ink); border-radius:8px; padding:1rem 1.25rem; }
.county-hdr h3{ font-size:1.2rem; color:#FFFFFF; }
.county-hdr p{ color:rgba(255,255,255,0.75); font-size:0.8rem; }
#countyListings > div[style*="gray-100"]{ background:#FFFFFF !important; border:1px solid var(--bw-rule); border-radius:8px !important;
  color:var(--bw-text) !important; font-size:0.78rem !important; }
.sol-card{ background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px; box-shadow:none; padding:1.1rem 1.25rem; }
.sol-card.featured{ border:2px solid var(--bw-coral-strong); box-shadow:none; }
.feat-badge{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; }
.feat-badge[style*="gray-400"]{ background:var(--bw-steel) !important; }
.sol-logo{ border-radius:6px; }
.sol-name{ font-family:var(--font-serif); font-weight:600; font-size:1.1rem; color:var(--bw-ink); }
.sol-rating .stars{ color:var(--bw-coral-strong); }
.sol-spec, .sol-bio{ color:var(--bw-text); }
.acc-badge{ background:var(--bw-info-bg); color:var(--bw-ink); border:1px solid #C9D7EA; border-radius:4px; }
.cbtn{ background:var(--bw-ink); color:#FFFFFF; border-radius:4px; font-weight:600; font-size:0.82rem; padding:10px 16px; }
.cbtn:hover{ background:var(--bw-harbour); box-shadow:none; transform:none; }
.cbtn.sec{ background:#FFFFFF; color:var(--bw-ink); border:1px solid var(--bw-rule-strong); }
.cbtn.sec:hover{ background:var(--bw-mist); border-color:var(--bw-harbour); }
.avail-slot{ background:#FFFFFF; border:1px dashed var(--bw-rule-strong); border-radius:8px; }
.avail-slot p{ color:var(--bw-text); font-size:0.84rem; }

/* ---------- Lead modal ("Find a solicitor near you") ---------- */
.modal-overlay{ background:rgba(13,22,41,0.78); }
.modal-card{ border-radius:8px 8px 0 0; border-top:4px solid var(--bw-coral); padding-top:1.6rem; }
@media (min-width:601px){ .modal-card{ border-radius:8px; padding:1.75rem 1.75rem 1.5rem; } }
.modal-card h3{ font-size:1.45rem; font-weight:500; color:var(--bw-ink); margin-bottom:10px; }
.modal-card > div > p[style]{ color:var(--bw-text) !important; }
.modal-close{ background:var(--bw-mist); color:var(--bw-text); border-radius:4px; }
.modal-close:hover{ background:var(--bw-rule); color:var(--bw-ink); }
.modal-card .calc-reset-btn{ margin-top:14px; }

/* ---------- Calculator ---------- */
.calc-wrap{ padding:1.5rem 1.25rem 2rem; }
.calc-card{ background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px; box-shadow:none; padding:1.35rem 1.35rem 1.4rem; }
.calc-card h3{ font-size:1.25rem; line-height:1.25; color:var(--bw-ink); margin-bottom:6px; }
.calc-card p{ font-size:0.86rem; color:var(--bw-text); line-height:1.6; }
.calc-note{ background:#FFFFFF; border:1px solid var(--bw-rule); border-left:4px solid var(--bw-harbour); border-radius:0 8px 8px 0;
  color:var(--bw-text); font-size:0.8rem; line-height:1.6; padding:0.8rem 1rem; }
.calc-note strong{ color:var(--bw-ink); }
.calc-note[style*="#eef2ff"]{ background:var(--bw-info-bg) !important; border-color:#C9D7EA; border-left-color:var(--bw-info) !important; color:var(--bw-ink) !important; }

/* Yes / no style choice buttons (incl. Quick Estimate / Detailed Estimate) */
.calc-fault-btns{ gap:10px; }
.calc-fault-btn{ background:#FFFFFF; border:1px solid var(--bw-rule-strong); border-radius:6px; color:var(--bw-ink); font-size:0.92rem; padding:0.95rem 1.05rem; }
.calc-fault-btn:hover{ border-color:var(--bw-harbour); background:var(--bw-wash); box-shadow:inset 3px 0 0 var(--bw-coral); }
.calc-fault-btn.yes{ border-color:var(--bw-rule-strong); }
.calc-fault-btn.no{ background:var(--bw-info-bg); border-color:#9FB9D6; color:var(--bw-info); }
.calc-fault-btn.no:hover{ border-color:var(--bw-info); background:var(--bw-info-bg); }
.calc-fault-btn span{ color:var(--bw-steel); font-size:0.78rem; margin-top:3px; }
.calc-fault-btn[style*="outline"]{ outline-offset:1px; }

.calc-blocked{ background:#FFFFFF; border:1px solid var(--bw-rule); border-top:4px solid var(--bw-coral); border-radius:8px; padding:1.4rem 1.35rem; }
.calc-blocked h3{ color:var(--bw-ink); font-size:1.25rem; }
.calc-blocked p{ color:var(--bw-text); font-size:0.86rem; }

.calc-group-label{ color:var(--bw-steel); letter-spacing:0.05em; margin-bottom:9px; }
.calc-pill-grid{ gap:7px; }
.calc-pill{ background:#FFFFFF; border:1px solid var(--bw-rule-strong); color:var(--bw-ink); border-radius:4px; font-size:0.82rem; font-weight:500; padding:8px 12px; }
.calc-pill:hover{ border-color:var(--bw-harbour); background:var(--bw-wash); }
.calc-pill.active, .calc-pill.active:hover{ background:var(--bw-ink); border-color:var(--bw-ink); color:#FFFFFF; }
.calc-sev-card{ background:#FFFFFF; border:1px solid var(--bw-rule-strong); border-radius:6px; padding:0.8rem 0.95rem; }
.calc-sev-card:hover{ border-color:var(--bw-harbour); }
.calc-sev-card.active{ border-color:var(--bw-harbour); background:var(--bw-wash); box-shadow:inset 4px 0 0 var(--bw-coral); }
.calc-sev-card .st{ color:var(--bw-ink); font-size:0.88rem; font-weight:600; }
.calc-sev-card .sd{ color:var(--bw-text); font-size:0.8rem; line-height:1.45; }

.calc-input-row{ padding:6px 0; border-bottom:1px solid #EDF0F5; margin-bottom:6px; }
.calc-input-row label{ font-size:0.88rem; color:var(--bw-ink); }
.calc-input-row .cur{ color:var(--bw-steel); }
.calc-calc-btn{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; font-size:0.95rem; }
.calc-calc-btn:hover{ background:var(--bw-coral-hover); }
.calc-calc-btn:disabled, .calc-calc-btn:disabled:hover{ background:#DDE3EB; color:#5F6B80; }
.calc-or{ color:var(--bw-steel); }
.calc-reset-btn{ background:#FFFFFF; color:var(--bw-ink); border:1px solid var(--bw-rule-strong); border-radius:4px; font-weight:600; }
.calc-reset-btn:hover{ background:var(--bw-mist); border-color:var(--bw-harbour); }

.calc-added-list{ gap:8px; }
.calc-added-row{ background:#FFFFFF; border:1px solid var(--bw-rule); border-left:3px solid var(--bw-harbour); border-radius:0 6px 6px 0; padding:0.7rem 0.85rem; }
.cai-txt{ color:var(--bw-ink); font-size:0.84rem; }
.cai-range{ color:var(--bw-text); font-size:0.78rem; }
.cai-remove{ color:var(--bw-steel); border-radius:4px; }
.cai-remove:hover{ background:var(--bw-mist); color:var(--bw-ink); }
.cai-remove:active{ color:var(--bw-coral-strong); }

/* Result panel */
.calc-result{ background:var(--bw-ink); border-radius:8px; padding:1.5rem 1.4rem; border-top:4px solid var(--bw-coral); }
.calc-result h3{ font-family:var(--font); font-size:0.78rem; color:rgba(255,255,255,0.72); letter-spacing:0.08em; }
.calc-result .amt{ font-family:var(--font-serif); font-weight:500; color:#FFFFFF; font-size:clamp(1.9rem,6.5vw,2.5rem); line-height:1.1; letter-spacing:-0.015em; margin:4px 0 0.8rem; }
.calc-result > div[style*="gray-600"]{ color:rgba(255,255,255,0.72) !important; font-size:0.8rem !important; }
.calc-result .breakdown{ color:rgba(255,255,255,0.85); font-size:0.84rem; line-height:1.75; border-top-color:rgba(255,255,255,0.18); }
.calc-result .breakdown b{ color:#FFFFFF; }
.calc-result .breakdown > div{ overflow-wrap:anywhere; }

/* ---------- Advertise / dashboard ---------- */
.adpage, .pg-content{ padding:2rem 1.25rem; }
.adpage h2, .pg-content h2{ font-size:clamp(1.8rem,4.6vw,2.3rem); line-height:1.12; color:var(--bw-ink); margin-bottom:0.75rem; }
.adpage h3, .pg-content h3{ font-size:1.2rem; color:var(--bw-ink); }
.adpage > p, .pg-content p{ color:var(--bw-text); font-size:0.92rem; }
.stat-box, .dash-card, .bw-listing-slot{ background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px; box-shadow:none; }
.stat-box .sn, .dash-stat .dn{ font-family:var(--font-serif); font-weight:500; color:var(--bw-ink); font-size:1.7rem; }
.stat-box .sl, .dash-stat .dl{ color:var(--bw-steel); }
.dash-stat{ background:var(--bw-wash); border:1px solid #E6EAF0; border-radius:6px; }
.dash-card-hdr h3{ font-size:1.1rem; color:var(--bw-ink); }
.dash-note{ color:var(--bw-steel); }
.bw-listing-slot h4{ font-size:1.05rem; color:var(--bw-ink); }
.bw-listing-slot p{ color:var(--bw-text); font-size:0.82rem; }
.bw-listing-slot .price{ color:var(--bw-coral-strong); font-size:0.9rem; }
.cbox{ background:var(--bw-ink); border-radius:8px; padding:1.4rem 1.25rem; }
.cbox h3{ color:#FFFFFF; font-size:1.2rem; }
.cbox p{ color:rgba(255,255,255,0.8); font-size:0.86rem; }
.cbox a{ color:#FFFFFF !important; text-decoration-color:var(--bw-coral); text-underline-offset:3px; }
.cbox .cbtn[style]{ background:var(--bw-coral-strong) !important; color:#FFFFFF !important; }
.cbox .cbtn[style]:hover{ background:var(--bw-coral-hover) !important; }
#listingWizard .chat-textarea{ max-height:none; }

/* ---------- In-app contact screen ---------- */
.contact-hero{ background:var(--bw-ink); }
.contact-logo-circle{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.35); color:#FFFFFF; font-weight:600; }
.contact-hero h2{ font-weight:600; font-size:1.8rem; }
.contact-hero h2 span, .cfl span{ color:var(--bw-coral-soft); }
.cfl span{ color:var(--bw-coral-strong); }
.cfl{ font-weight:600; }
.contact-card{ border:1px solid var(--bw-rule); border-radius:8px; box-shadow:none; }
.cc-hdr{ background:var(--bw-ink); }
.cc-body p{ color:var(--bw-text); }
.ca-btn{ border-radius:4px; }
.ca-btn.em{ background:var(--bw-coral-strong); }
.ca-btn.em:hover{ background:var(--bw-coral-hover); }
.ca-btn.wa{ background:var(--bw-ink); }
.contact-info-box{ background:#FFFFFF; border:1px solid var(--bw-rule); border-left:4px solid var(--bw-coral); border-radius:0 8px 8px 0; }
.contact-info-box h4, .contact-info-box p{ color:var(--bw-ink); }
.ctag{ color:var(--bw-steel); }

/* ---------- Install banner ---------- */
#pwa-banner{ background:var(--bw-ink); }
.pwa-icon{ color:#FFFFFF; font-weight:600; }
.pwa-install-btn{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; }

/* ---------- Footers (in-page About footer and site footer) ---------- */
footer{ background:var(--bw-ink); color:rgba(255,255,255,0.72); border-top:3px solid var(--bw-accent); font-size:0.8rem; line-height:1.7; }
.page > footer{ margin-top:1.5rem; }
footer a, footer a[style]{ color:#FFFFFF !important; text-decoration:underline; text-decoration-color:var(--bw-coral); text-underline-offset:3px; }
footer.bw-footer{ font-size:0.8rem; padding:1.4rem 1.25rem; }

/* ---------- Shared Be Wise pieces (bottom links and 3-bar menu) ---------- */
.bw-bottom button{ font-family:var(--font); color:var(--bw-text); }
.bw-menu{ font-family:var(--font); border-radius:8px; border-color:var(--bw-rule); box-shadow:0 16px 36px rgba(10,18,36,0.22); }
.bw-menu a, .bw-menu button{ color:var(--bw-ink) !important; border-radius:4px; }
.bw-menu a:hover, .bw-menu button:hover, .bw-menu a:focus-visible, .bw-menu button:focus-visible{ background:var(--bw-mist); box-shadow:inset 3px 0 0 var(--bw-coral); }
.bw-menu .bw-sep{ background:var(--bw-rule); }

/* ---------- Phones ---------- */
@media (max-width:600px){
  .nav-logo{ font-size:1.1rem; }
  .hero{ padding-top:36px; padding-bottom:40px; }
  .hero > div:not(.hero-badge){ display:block; }
  .btn-primary{ margin-right:0; }
  .btn-secondary{ margin-top:12px; }
}
