/* ==========================================================================
   Be Wise family look (October 2026): Be Rwanda Wise and Be Vietnam Wise
   Brings both sister apps into line with the bewiseapps.com home page:
   navy + coral from the Waypoint logo, Newsreader headings, Public Sans text.
   APPEARANCE ONLY: this file changes colours, fonts, spacing and shapes.
   It does not change any wording or how either app works.
   Each app sets its own identifying colour with --bw-accent (in the page's
   <style id="bw-family-app">): Rwanda blue #1F8FC9, Vietnam red #C8102E.
   It is used only for the line under the header, the line on top of the
   footer and the small mark in front of section labels.
   No green anywhere: the apps' old "green" tokens are re-pointed to blue.
   ========================================================================== */

:root{
  --bw-ink:#14213D;          /* deep navy: header, 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-mist:#EEF1F6;         /* page background */
  --bw-rule:#D9DFE8;
  --bw-rule-strong:#C3CCD9;
  --bw-steel:#56637A;        /* secondary text */
  --bw-text:#1F2B45;         /* body text */
  --bw-text-soft:#3E4A63;
  --bw-blue:#2C5E8C;         /* replaces every "green" */
  --bw-blue-bg:#E7EFF8;
  --bw-panel:#F6F8FB;
  --bw-accent:#3D5A99;       /* overridden per app */
  --bw-serif:"Newsreader", Georgia, "Times New Roman", serif;
  --bw-sans:"Public Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

  /* Re-point the apps' own colour tokens at the family palette.
     These also feed the per-topic colours the app sets in inline styles. */
  --brown:#14213D;
  --brown-soft:#1B2A4A;
  --parchment:#EEF1F6;
  --parchment-deep:#E3E8EF;
  --ink:#1F2B45;
  --red:#C2461F;
  --red-deep:#A63B19;
  --green:#2C5E8C;           /* was green: now blue */
  --green-soft:#E7EFF8;
  --gold:#E4572E;            /* was gold: now coral */
  --copper:#3D5A99;
  --slate:#56637A;
}

/* ---------- Base ---------- */
html, body{ background:var(--bw-mist); font-family:var(--bw-sans); color:var(--bw-text); }
body{ -webkit-font-smoothing:antialiased; }
.serif{ font-family:var(--bw-serif); }
button:focus-visible, textarea:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible{
  outline:2px solid var(--bw-coral); outline-offset:2px;
}

/* ---------- Header: navy, Waypoint logo, app colour line ---------- */
header.topnav{
  background:var(--bw-ink);
  border-bottom:3px solid var(--bw-accent);
  box-shadow:0 1px 0 rgba(0,0,0,0.12);
}
.brand{ gap:12px; }
.brand-logo, .brand-logo svg{ width:38px; height:38px; }
.brand .brand-title, .brand h1{
  font-family:var(--bw-serif); font-weight:600; font-size:1.4rem; letter-spacing:-0.005em;
  color:#FFFFFF; line-height:1.15;
}
.brand .tagline{ color:rgba(255,255,255,0.62); font-size:10.5px; letter-spacing:0.14em; margin-top:2px; }

nav.tabs{ gap:2px; }
nav.tabs button,
nav.tabs button:not(:last-child){
  background:transparent; color:rgba(255,255,255,0.78); border:0; border-radius:4px;
  font-family:var(--bw-sans); font-weight:600; font-size:13.5px; padding:8px 12px;
}
nav.tabs button:not(.active):hover{ color:#FFFFFF; background:rgba(255,255,255,0.07); box-shadow:inset 0 -2px 0 rgba(255,255,255,0.35); }
nav.tabs button.active{ background:rgba(255,255,255,0.06); color:#FFFFFF; box-shadow:inset 0 -2px 0 var(--bw-coral); }

.icon-btn{ background:rgba(255,255,255,0.07); color:#FFFFFF; border:1px solid rgba(255,255,255,0.16); border-radius:6px; }
.icon-btn:hover{ background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.32); }
.icon-dot{ background:var(--bw-coral); border-color:var(--bw-ink); }
.icon-badge{ background:var(--bw-coral-strong); }
.bw-burger{ border-radius:6px; }

@media (max-width:560px){
  header.topnav{ padding:8px 12px 0; }
  .brand .brand-title, .brand h1{ font-size:1.18rem; }
  .brand-logo, .brand-logo svg{ width:34px; height:34px; }
  nav.tabs button, nav.tabs button:not(:last-child){ border-radius:0; font-size:13px; padding:10px 11px; background:transparent; }
  nav.tabs button.active{ background:transparent; box-shadow:inset 0 -3px 0 var(--bw-coral); }
}

/* PWA install banner */
.pwa-banner{ background:var(--bw-harbour); color:#FFFFFF; }
.pwa-go{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; }
.pwa-go:hover{ background:var(--bw-coral-hover); }

/* ---------- Home screen: full-width navy band like the home page ---------- */
main.home-wrap{ padding-top:0; }
.hero{
  position:relative; text-align:left; color:#FFFFFF;
  background:var(--bw-ink);
  /* full-bleed band without widening the page (a flat navy fill painted out to both edges) */
  border-image:linear-gradient(var(--bw-ink), var(--bw-ink)) fill 0 / 0 / 0 100vmax;
  padding:44px 0 50px; margin-bottom:44px;
}
.seal-lg{
  width:56px; height:56px; margin:0 0 20px;
  background:var(--bw-ink); border:1px solid var(--bw-rule-strong); box-shadow:none;
}
.seal-lg svg{ width:30px; height:30px; color:#FFFFFF; }
.hero .seal-lg{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.3); }
.hero .bw-appsbtn.bw-hero-apps{ margin:0 0 18px; }
.hero .bw-appsbtn.bw-on-light{ color:#FFFFFF !important; border-color:rgba(255,255,255,0.32); background:rgba(255,255,255,0.06); border-radius:4px; }
.hero .bw-appsbtn.bw-on-light:hover, .hero .bw-appsbtn.bw-on-light:focus-visible{ background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.6); }
.hero h1, .hero h2{
  font-family:var(--bw-serif); color:#FFFFFF; font-weight:500;
  font-size:clamp(2.05rem, 4.4vw, 3.2rem); line-height:1.07; letter-spacing:-0.02em;
  margin:0 0 18px; max-width:24ch;
}
.hero h1::after, .hero h2::after{ display:none; }
.hero p{
  color:rgba(255,255,255,0.8); opacity:1; font-size:1.12rem; line-height:1.6;
  max-width:620px; margin:0 0 28px;
}
.hero-actions{ justify-content:flex-start; gap:10px; }
.hero .profile-link{
  display:inline-block; text-align:left; margin:20px 0 0; padding:0;
  color:rgba(255,255,255,0.88); font-size:14px; font-weight:500;
  text-decoration:underline; text-decoration-color:var(--bw-coral); text-underline-offset:4px;
}
.hero .profile-link:hover{ color:#FFFFFF; }
@media (max-width:560px){
  .hero{ padding:30px 0 34px; margin-bottom:30px; }
  .hero p{ font-size:1.02rem; }
  .hero .profile-link{ min-height:0; padding:8px 0; margin-top:10px; }
}

/* ---------- Buttons ---------- */
.btn-primary{
  background:var(--bw-coral-strong); color:#FFFFFF; border:1px solid var(--bw-coral-strong);
  border-radius:4px; font-weight:600; font-size:14.5px; padding:12px 22px; transition:background .15s, border-color .15s;
}
.btn-primary:hover{ transform:none; box-shadow:none; background:var(--bw-coral-hover); border-color:var(--bw-coral-hover); }
.btn-secondary{
  background:#FFFFFF; color:var(--bw-ink); border:1px solid var(--bw-rule-strong);
  border-radius:4px; font-weight:600; font-size:14.5px; padding:12px 22px; transition:background .15s, border-color .15s;
}
.btn-secondary:hover{ background:var(--bw-mist); border-color:var(--bw-harbour); }
.hero .btn-secondary{ border-color:#FFFFFF; }
.back-link{ color:var(--bw-harbour); font-weight:600; font-size:14px; padding:4px 0; }
.back-link:hover{ text-decoration:underline; text-decoration-color:var(--bw-coral); text-underline-offset:3px; }
.btn-lawyer{ background:var(--bw-coral-strong); border-radius:4px; font-weight:600; }
.btn-lawyer:hover{ transform:none; background:var(--bw-coral-hover); }

/* ---------- Section labels: small app-colour mark in front ---------- */
.home-suggest-label, .topic-sources-label{
  display:flex; align-items:center; gap:10px; justify-content:flex-start; text-align:left;
  color:var(--bw-steel); opacity:1; font-family:var(--bw-sans);
  font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
}
.home-suggest-label::before, .topic-sources-label::before{
  content:""; width:18px; height:3px; border-radius:2px; background:var(--bw-accent); flex-shrink:0;
}
.home-suggest-label{ margin:0 0 14px; }

/* ---------- Home: topic cards ---------- */
.features{ gap:14px; }
.feature-card{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-top:3px solid var(--bw-ink);
  border-top-color:var(--bw-ink) !important; /* the app sets a per-topic colour inline */
  border-radius:8px; box-shadow:none; padding:20px 20px 22px; color:var(--bw-text);
  transition:border-color .15s, box-shadow .15s;
  display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start;
}
.feature-card:hover{ transform:none; border-color:var(--bw-rule-strong); box-shadow:0 6px 18px rgba(20,33,61,0.08); }
.feature-card .icon-wrap{ width:36px; height:36px; border-radius:6px; background:var(--bw-mist); }
.feature-card h3{ font-family:var(--bw-serif); font-weight:600; font-size:1.14rem; color:var(--bw-ink); letter-spacing:0; }
.feature-card h3 .arrow{ color:var(--bw-coral-strong); opacity:.8; font-family:var(--bw-sans); }
.feature-card p{ color:var(--bw-text-soft); opacity:1; font-size:13.5px; line-height:1.55; }

/* Suggestion chips and category tabs: calm, squared */
.chip{
  background:#FFFFFF; border:1px solid var(--bw-rule-strong); color:var(--bw-ink);
  border-radius:6px; font-size:13.5px; padding:8px 13px; text-align:left;
}
.chip:hover{ box-shadow:none; border-color:var(--bw-harbour); background:var(--bw-panel); }
.cat-tab{
  border-radius:4px; border:1px solid var(--bw-rule-strong); background:#FFFFFF; color:var(--bw-ink); opacity:1;
}
.cat-tab.active{ background:var(--bw-ink); border-color:var(--bw-ink); color:#FFFFFF; }
.cat-tab:hover:not(.active){ border-color:var(--bw-harbour); color:var(--bw-ink); }

/* Directory cards */
.dir-links{ gap:14px; }
.dir-card{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-top:3px solid var(--bw-ink);
  border-radius:8px; padding:16px 18px; color:var(--bw-text);
}
.dir-card:hover{ transform:none; border-color:var(--bw-rule-strong); box-shadow:0 6px 18px rgba(20,33,61,0.08); }
.dir-card strong{ font-family:var(--bw-serif); font-weight:600; font-size:1.1rem; color:var(--bw-ink); }
.dir-card span{ color:var(--bw-text-soft); opacity:1; font-size:13.5px; }

/* Home "common questions" accordion */
.home-faq{ margin-top:48px; }
.home-faq > h2{
  font-family:var(--bw-serif); font-weight:500; font-size:clamp(1.55rem, 3vw, 1.9rem); line-height:1.15;
  letter-spacing:-0.01em; color:var(--bw-ink); text-align:left; margin:0 0 8px;
}
.home-faq > p.hf-intro{ text-align:left; color:var(--bw-text-soft); opacity:1; margin:0 0 18px; max-width:620px; font-size:15px; }
.hf{ background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px; margin-bottom:8px; }
.hf[open]{ border-color:var(--bw-rule-strong); border-left:3px solid var(--bw-coral); }
.hf[open] summary, .hf[open] p{ padding-left:16px; }
.hf summary{
  font-family:var(--bw-serif); font-weight:600; font-size:1.06rem; color:var(--bw-ink); line-height:1.35; padding:14px 18px;
}
.hf summary::after{ color:var(--bw-coral-strong); font-weight:400; }
.hf summary:focus-visible{ outline:2px solid var(--bw-coral); border-radius:8px; }
.hf p{ color:var(--bw-text); font-size:15px; line-height:1.68; padding:0 18px 16px; }
.hf-more{ text-align:left; color:var(--bw-text-soft); }
.hf-more a, .lawyers-wrap .lede a{ color:var(--bw-blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(44,94,140,0.4); }

/* ---------- Topic pages ---------- */
main.topic-wrap{ padding-top:28px; }
.topic-badge{ width:54px; height:54px; border-radius:8px; background:#FFFFFF; border:1px solid var(--bw-rule); margin:18px 0 16px; }
.topic-badge svg{ width:26px; height:26px; }
#topicContent h2{
  font-family:var(--bw-serif); font-weight:500; font-size:clamp(1.9rem, 4vw, 2.5rem); line-height:1.08;
  letter-spacing:-0.015em; color:var(--bw-ink); margin:0 0 14px;
}
#topicContent h2::after{ display:none; }
.freshness-badge{ border-radius:4px; font-weight:600; }
.freshness-badge.live{ background:var(--bw-blue-bg); color:var(--bw-blue); }
.freshness-badge.fallback{ background:#FFFFFF; color:var(--bw-steel); border:1px solid var(--bw-rule); opacity:1; }
.topic-synopsis{ margin:18px 0 26px; }
.topic-synopsis p{ color:var(--bw-text); opacity:1; font-size:16px; line-height:1.7; }
.topic-points{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px;
  padding:6px 20px; gap:0;
}
.topic-point-block{ padding:12px 0; border-bottom:1px solid var(--bw-rule); }
.topic-point{ font-size:14.5px; line-height:1.55; color:var(--bw-text); gap:10px; }
.point-dot{ width:7px; height:7px; margin-top:8px; }
@media (max-width:560px){
  .topic-points{ padding:4px 16px; }
  .topic-point{ align-items:center; }
  .point-dot{ align-self:center; margin-top:0; }
}
.learn-more-link{ color:var(--bw-blue); font-weight:600; font-size:12.5px; }
.learn-more-link:hover{ text-decoration:underline; text-underline-offset:3px; }
.topic-detail{ margin-left:17px; }
.topic-detail.open{ max-height:640px; } /* room for the wider family font: nothing gets cut off */
.topic-detail p{
  color:var(--bw-text-soft); opacity:1; font-size:13.5px; line-height:1.65;
  border-left:2px solid var(--bw-rule); padding-left:12px;
}
.topic-source-link{
  background:#FFFFFF; color:var(--bw-blue); border:1px solid var(--bw-rule-strong); border-radius:4px;
}
.topic-source-link:hover{ background:var(--bw-panel); border-color:var(--bw-harbour); }
.topic-cta-row{ gap:10px; margin-top:4px; }

/* ---------- Chat ---------- */
.chat-empty{ color:var(--bw-steel); opacity:1; }
.input-hint{ color:var(--bw-steel); opacity:1; font-size:13px; line-height:1.5; }
.footnote{ color:var(--bw-steel); opacity:1; }
.examples-toggle{ color:var(--bw-blue); }
#messages::-webkit-scrollbar-thumb{ background:rgba(20,33,61,0.25); }
.bubble-user{
  background:var(--bw-ink); color:#FFFFFF; border-radius:10px 10px 2px 10px; line-height:1.5;
}
.bubble-ai{
  background:var(--bw-panel); color:var(--bw-text);
  border:1px solid var(--bw-rule); border-left:1px solid var(--bw-rule); border-bottom:1px solid var(--bw-rule);
  border-radius:10px 10px 10px 2px; box-shadow:none; line-height:1.65;
}
.bubble-ai.notice{ background:#FCF1EC; border-color:rgba(194,70,31,0.35); }
.topic-pill{ border-radius:4px; background:#FFFFFF; letter-spacing:.06em; }
.md-table th, .md-table td{ border-color:var(--bw-rule-strong); }
.md-table th{ background:#EDF1F6; }
.cite{ background:var(--bw-blue-bg); color:var(--bw-blue); border:1px solid rgba(44,94,140,0.3); border-radius:4px; }
.cite:hover{ background:#D6E4F2; }
.action-chip{ background:#FFFFFF; color:var(--bw-ink); border:1px solid var(--bw-rule-strong); border-radius:4px; }
.action-chip:hover{ background:var(--bw-mist); border-color:var(--bw-harbour); }
.action-chip.done{ color:var(--bw-blue); background:var(--bw-blue-bg); border-color:rgba(44,94,140,0.3); }
.disclaimer{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-left:3px solid var(--bw-harbour); border-radius:0 8px 8px 0;
}
.disclaimer p{ color:var(--bw-text-soft); opacity:1; }
.loading-bubble{ background:var(--bw-panel); border:1px solid var(--bw-rule); border-radius:10px 10px 10px 2px; }
.loading-dots span{ background:var(--bw-harbour); }
.loading-step{ color:var(--bw-blue); }
.input-bar{
  background:#FFFFFF; border:1px solid var(--bw-rule-strong); border-radius:8px; box-shadow:none;
}
.input-bar:focus-within{ border-color:var(--bw-harbour); box-shadow:0 0 0 3px rgba(228,87,46,0.22); }
#userInput, .faq-lawbot textarea{ color:var(--bw-text); }
#sendBtn{ background:var(--bw-coral-strong); border-radius:6px; }
#sendBtn:hover:not(:disabled){ background:var(--bw-coral-hover); }

/* ---------- Investor FAQs ---------- */
.faq-wrap h2{
  font-family:var(--bw-serif); font-weight:500; font-size:clamp(1.9rem, 4vw, 2.5rem); line-height:1.08;
  letter-spacing:-0.015em; color:var(--bw-ink); margin:0 0 12px;
}
.faq-wrap .faq-lede{ color:var(--bw-text-soft); opacity:1; font-size:15.5px; line-height:1.6; }
.faq-search{
  background:#FFFFFF; color:var(--bw-text); border:1px solid var(--bw-rule-strong); border-radius:6px;
}
.faq-search:focus{ border-color:var(--bw-harbour); outline:2px solid rgba(228,87,46,0.35); outline-offset:1px; }
.faq-cats{ gap:6px; }
.faq-cat{
  background:#FFFFFF; border:1px solid var(--bw-rule-strong); color:var(--bw-ink); border-radius:4px; font-weight:600;
}
.faq-cat:hover{ border-color:var(--bw-harbour); }
.faq-cat.active{ background:var(--bw-ink); border-color:var(--bw-ink); color:#FFFFFF; }
.faq-count{ color:var(--bw-steel); opacity:1; }
.faq-item{ background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px; margin-bottom:8px; }
.faq-item.open{ border-color:var(--bw-rule-strong); border-left:3px solid var(--bw-coral); box-shadow:0 4px 14px rgba(20,33,61,0.06); }
.faq-item.open .faq-q, .faq-item.open .faq-a{ padding-left:16px; }
.faq-q{ color:var(--bw-ink); font-family:var(--bw-sans); font-weight:600; font-size:15.5px; line-height:1.45; padding:15px 18px; }
@media (hover:hover){ .faq-q:hover{ background:var(--bw-panel); } }
.faq-q .faq-plus{ color:var(--bw-coral-strong); font-weight:400; }
.faq-a{ color:var(--bw-text); font-size:15px; line-height:1.7; padding:0 18px 18px; }
.faq-meta{ color:var(--bw-steel); opacity:1; }
.faq-updated{ background:var(--bw-blue-bg); color:var(--bw-blue); border-radius:4px; }
.faq-actions button, .faq-actions a{ border-radius:4px; font-weight:600; }
.faq-ask{ background:var(--bw-ink); color:#FFFFFF; border:1px solid var(--bw-ink); }
.faq-ask:hover{ background:var(--bw-harbour); }
.faq-guide{ background:#FFFFFF; color:var(--bw-ink); border:1px solid var(--bw-rule-strong); }
.faq-guide:hover{ background:var(--bw-mist); border-color:var(--bw-harbour); }
.faq-empty{ color:var(--bw-steel); opacity:1; }
.faq-disclaimer{ color:var(--bw-steel); opacity:1; font-size:12.5px; line-height:1.6; }
.faq-disclaimer a{ text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(44,94,140,0.4); }
/* "Ask Lawbot" box (Be Vietnam Wise only) */
.faq-lawbot{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-left:3px solid var(--bw-coral); border-radius:0 8px 8px 0;
  padding:14px 16px;
}
.faq-lawbot label{ color:var(--bw-text-soft); }
.faq-lawbot label strong{ font-family:var(--bw-serif); font-weight:600; font-size:1.1rem; color:var(--bw-ink); }
.faq-lawbot label span{ opacity:1; }
.faq-lawbot-btn{ background:var(--bw-coral-strong); border-radius:6px; }
.faq-lawbot-btn:hover{ background:var(--bw-coral-hover); }

/* ---------- Find a Lawyer ---------- */
.lawyers-wrap h2, .contact-wrap h2{
  font-family:var(--bw-serif); font-weight:500; font-size:clamp(1.8rem, 3.8vw, 2.3rem); line-height:1.1;
  letter-spacing:-0.015em; color:var(--bw-ink); margin:0 0 12px;
}
.lawyers-wrap h2::after, .contact-wrap h2::after{ display:none; }
.lawyers-wrap > p.lede, .contact-wrap .lede{ color:var(--bw-text-soft); opacity:1; font-size:15px; line-height:1.65; }
.match-banner{ background:var(--bw-blue-bg); color:var(--bw-blue); border:1px solid rgba(44,94,140,0.3); border-radius:6px; }
.slots-grid{ gap:14px; }
.slot-card{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-radius:8px; box-shadow:none;
  border-top:3px solid var(--bw-ink) !important; /* the app sets a per-topic colour inline */
}
.slot-card.featured{ border-top-color:var(--bw-coral) !important; }
.slot-card h3{ font-family:var(--bw-serif); font-weight:600; font-size:1.15rem; color:var(--bw-ink); }
.slot-card p.blurb{ color:var(--bw-text-soft); opacity:1; }
.tag-pill{ background:var(--bw-blue-bg); color:var(--bw-blue); border-radius:4px; }
.match-pill{ background:var(--bw-coral-strong); border-radius:4px; }
.slot-actions button{ border-radius:4px; font-weight:600; }
.action-primary{ background:var(--bw-coral-strong); color:#FFFFFF; }
.action-primary:hover{ background:var(--bw-coral-hover); }
.action-outline, .action-outline.brown{ background:#FFFFFF; border:1px solid var(--bw-rule-strong); color:var(--bw-ink); }
.action-outline:hover{ background:var(--bw-mist); border-color:var(--bw-harbour); }
.listing-footnote{ color:var(--bw-steel); opacity:1; }

/* ---------- Advertise ---------- */
.contact-seal{ margin:6px auto 18px; }
.contact-grid{ grid-template-columns:minmax(0, 340px); justify-content:center; }
.contact-card{
  background:#FFFFFF; border:1px solid var(--bw-rule); border-top:3px solid var(--bw-ink);
  border-radius:8px; box-shadow:none; color:var(--bw-text);
}
.contact-card:hover{ transform:none; border-color:var(--bw-rule-strong); box-shadow:0 6px 18px rgba(20,33,61,0.08); }
.contact-card .icon-wrap{ background:var(--bw-mist); border-radius:6px; }
.contact-card .icon-wrap svg{ color:var(--bw-ink); }
.contact-card h3{ font-family:var(--bw-serif); font-weight:600; font-size:1.15rem; color:var(--bw-ink); }
.contact-cta{ color:var(--bw-coral-strong); font-weight:600; }

/* ---------- Modal (Business profile / Reminders) ---------- */
.modal-overlay{ background:rgba(13,22,41,0.78); }
.modal-box{
  background:#FFFFFF; border-radius:8px; border-top:4px solid var(--bw-coral);
  box-shadow:0 18px 44px rgba(10,18,36,0.28);
}
.modal-close{ color:var(--bw-ink); border-radius:4px; }
.modal-close:hover{ background:var(--bw-mist); }
.modal-box h3{ font-family:var(--bw-serif); font-weight:500; font-size:1.4rem; color:var(--bw-ink); }
.modal-box .modal-sub{ color:var(--bw-text-soft); opacity:1; }
.form-field label{ color:var(--bw-ink); }
.form-field select, .form-field input{
  background:#FFFFFF; color:var(--bw-text); border:1px solid var(--bw-rule-strong); border-radius:6px;
}
.form-field select:focus, .form-field input:focus{ border-color:var(--bw-harbour); box-shadow:0 0 0 3px rgba(228,87,46,0.25); }
.modal-actions{ gap:10px; }
.profile-summary{ background:var(--bw-blue-bg); color:var(--bw-blue); border:1px solid rgba(44,94,140,0.3); border-radius:6px; }
.reminder-item{ border-bottom-color:var(--bw-rule); }
.reminder-del{ color:var(--bw-coral-strong); }
.empty-note{ color:var(--bw-steel); opacity:1; }

/* ---------- "Before you start" entry gate ---------- */
.gate-backdrop{ background:rgba(13,22,41,0.82); }
.gate-box{
  background:#FFFFFF; border-radius:8px; border-top:4px solid var(--bw-coral);
  box-shadow:0 18px 44px rgba(10,18,36,0.3);
}
.gate-foot{ background:#FFFFFF; border-top:1px solid var(--bw-rule); }
.gate-box h2{ font-family:var(--bw-serif); font-weight:500; font-size:1.55rem; line-height:1.15; color:var(--bw-ink); letter-spacing:-0.01em; }
.gate-box h2 svg{ background:var(--bw-ink); width:44px; height:44px; }
.gate-box p{ color:var(--bw-text); font-size:15px; line-height:1.6; }
.gate-check{ background:var(--bw-panel); border:1px solid var(--bw-rule-strong); border-radius:6px; color:var(--bw-ink); font-weight:500; }
.gate-check input{ accent-color:var(--bw-coral-strong); }
.gate-btn{ background:var(--bw-coral-strong); color:#FFFFFF; border-radius:4px; font-weight:600; }
.gate-btn:hover:not(:disabled){ background:var(--bw-coral-hover); }
.gate-btn:disabled{ opacity:1; background:#C9CFD9; color:#56637A; }
@media (max-width:560px){ .gate-box h2{ font-size:1.35rem; } }

/* ---------- Footer: navy with the app colour line on top ---------- */
footer.sitefoot{
  background:var(--bw-ink); border-top:3px solid var(--bw-accent);
  padding:20px 16px calc(20px + env(safe-area-inset-bottom));
}
footer.sitefoot p{ color:rgba(255,255,255,0.72); opacity:1; font-size:12px; line-height:1.6; }
footer.sitefoot p.footer-trademark{ opacity:1 !important; color:rgba(255,255,255,0.72); margin-top:6px; }
footer.sitefoot p.bw-family{ color:rgba(255,255,255,0.72); opacity:1; }
footer.sitefoot a, footer.sitefoot p.bw-family a, footer.sitefoot a[href^="mailto"]{
  color:#FFFFFF; font-weight:600; text-decoration:underline; text-decoration-color:var(--bw-coral); text-underline-offset:3px;
}

/* ---------- Shared Be Wise pieces ---------- */
.bw-bottom{ color:var(--bw-ink); }
.bw-bottom button{ font-family:var(--bw-sans); }
.bw-menu{ font-family:var(--bw-sans); 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); }
.bw-menu .bw-sep{ background:var(--bw-rule); }
.bw-appsbtn{ font-family:var(--bw-sans); }

/* Advertising boxes (added to Be Vietnam Wise's main pages, 2026-10-01) — same style as the other apps */
.bw-spot-banner{ max-width:720px; margin:18px auto; padding:10px 14px; background:rgba(255,255,255,0.7); border:1px dashed #C3CCD9;
  border-radius:8px; text-align:center; color:#56637A; font-size:0.8rem; line-height:1.45; }
.bw-spot-banner strong{ display:block; font-size:0.66rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#56637A; margin-bottom:2px; }
.bw-spot-banner a{ color:#14213D; text-decoration:underline; text-decoration-color:#E4572E; text-underline-offset:3px; }
.chat-wrap > .bw-spot-banner{ margin-top:12px; }
