/* site-theme.css -- the new look for the public site, customer account and
   courier portal (v1.0423). Same design language as the admin redesign
   (v1.0408): graduated flag colours, brand gradient (navy to green) on the
   menu bar and buttons, a flag stripe on every card, gradient status labels.
   Loaded LAST on every page, so it only restyles; page layouts and logic are
   unchanged. The flag-map banner at the top is kept (Chris, 2026-10-02). */
:root {
  /* v1.0464: the pastel flag palette (South Africa + Vietnam + Pride), same as the welcome email and PDF.
     --sv-navy / --sv-green stay as names but are now soft, readable text colours, not dark fills. */
  --sv-navy: #3f4d7e; --sv-green: #3b7a5f; --sv-yellow: #FFE49A; --sv-red: #e58a85;
  --sv-ink: #2f3441; --sv-mut: #5f6577; --sv-line: #eadfd3; --sv-page: #faf7f3;
  --sv-flag: linear-gradient(90deg, #F2A7A3, #F8C99A, #FFE49A, #A8D5BD, #A9B9E3, #CDA9D6);
  --sv-brand: linear-gradient(135deg, #cfd9f4, #c6e5d6);
  --sv-brand-hover: linear-gradient(135deg, #bfcbee, #b4dcc9);
  --sv-money: linear-gradient(135deg, #bfe3d0, #a8d5bd);
  --sv-on-brand: #2f3441;
}
body { background: var(--sv-page) !important; color: var(--sv-ink); font-family: 'DM Sans', system-ui, sans-serif; }

/* -- Flag-map banner (kept) ------------------------------------------------ */
.hdr { background: #fff !important; border-radius: 14px !important; box-shadow: 0 1px 3px rgba(16,36,79,.08); overflow: hidden; }
.hdr-title { background: var(--sv-brand); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.hdr-band-top, .hdr-band-bottom { background: var(--sv-flag) !important; }

/* -- Menu bar ------------------------------------------------------------------ */
.site-nav { background: var(--sv-brand) !important; border-radius: 12px !important; box-shadow: 0 2px 8px rgba(16,36,79,.15); }
.site-nav a { color: rgba(255,255,255,.88) !important; }
.site-nav a:hover { color: #fff !important; }
.site-nav a.active { color: #fff !important; box-shadow: inset 0 -3px 0 var(--sv-yellow); }
.site-nav .nav-login-btn { background: #fff !important; color: var(--sv-navy) !important; border-radius: 20px !important; font-weight: 600; box-shadow: none; }
.site-nav .nav-login-btn:hover { background: #f4f7fd !important; }
#lang-selector, .savnship-lang-picker { background: rgba(255,255,255,.95) !important; color: var(--sv-navy) !important; border: 0 !important; border-radius: 8px !important; font-weight: 600; }
.courier-badge { background: linear-gradient(135deg, #e0a100, #FFCD00) !important; color: #3a2a00 !important; border-radius: 20px !important; }

/* -- Home hero (main page) ---------------------------------------------------- */
.home-top { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 20px; align-items: start; margin: 18px 0; }
.home-hero { position: sticky; top: 14px; background: #fff; border: 1px solid var(--sv-line); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 3px rgba(16,36,79,.06); }
.home-hero::before { content: ""; display: block; height: 4px; background: var(--sv-flag); }
/* v1.0445 (Chris): same hero and same words, smaller -- tighter padding, a smaller headline and text, smaller tags,
   and a compact tracking box (label, box and button on one row) */
.home-hero-body { padding: 14px 18px 14px; }
.home-kicker { font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: var(--sv-green); text-transform: uppercase; }
.home-title { font-size: 21px; line-height: 1.22; font-weight: 800; margin: 4px 0 6px; background: var(--sv-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.home-lead { color: var(--sv-mut); font-size: 13px; line-height: 1.5; margin: 0 0 9px; }
.home-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.home-pill { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; color: #fff; }
.home-pill.p1 { background: var(--sv-money); }
.home-pill.p2 { background: linear-gradient(135deg, #1a3e8c, #2d62c8); }
.home-pill.p3 { background: linear-gradient(135deg, #e0a100, #FFCD00); color: #3a2a00; }
.home-hero .track-strip { margin: 0 !important; border-radius: 10px !important; background: #f6f8fc !important; border: 1px solid var(--sv-line) !important; }
.home-hero .track-strip { padding: 6px 10px !important; gap: 6px !important; flex-direction: row !important; align-items: center !important; }
.home-hero .track-strip > span { font-size: 12px; flex: 0 0 auto; }
.home-hero .track-strip > input { flex: 1 1 110px; min-width: 0 !important; width: auto !important; padding: 5px 9px; font-size: 12.5px; }
.home-hero .track-strip > button { flex: 0 0 auto; width: auto !important; padding: 5px 12px; font-size: 12.5px; }
.home-calc > .section-card { margin-top: 0 !important; }
@media (max-width: 980px) { .home-top { grid-template-columns: minmax(0, 1fr); } .home-hero { position: static; } .home-title { font-size: 20px; } }

/* -- Cards ---------------------------------------------------------------------- */
.section-card, .auth-card, .doc-card, .card, .stat-card, .dash-card { border-radius: 14px !important; border: 1px solid var(--sv-line) !important; box-shadow: 0 1px 3px rgba(16,36,79,.06) !important; overflow: hidden; }
.section-card-accent-bar { background: var(--sv-flag) !important; height: 4px !important; }
.auth-card { position: relative; }
.auth-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--sv-flag); }
.section-card-icon, .section-card-icon.blue, .section-card-icon.green, .section-card-icon.red { background: var(--sv-brand) !important; }
.section-card-title, .page-title, .auth-card h2, .card-title { color: var(--sv-navy); }

/* -- Buttons -------------------------------------------------------------------- */
.book-btn:not(.disabled), .submit-btn, .btn-primary, .btn.primary, button.primary, .auth-btn, .calc-btn, .hero-cta, .cta-btn {
  background: var(--sv-brand) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; }
.book-btn:not(.disabled):hover, .submit-btn:hover, .btn-primary:hover, .auth-btn:hover { background: var(--sv-brand-hover) !important; }
.tab-btn.active, .shipment-tab.active, .type-tab.active { background: var(--sv-brand) !important; color: #fff !important; border-color: transparent !important; }

/* -- Status labels: gradients (same families as admin) -------------------------------- */
.status-badge, .badge, .status-pill, [class*="status-chip"] { border: 0 !important; border-radius: 20px !important; box-shadow: 0 1px 2px rgba(16,36,79,.12); }
.badge-delivered, .status-delivered, .status-paid, .badge-paid { background: linear-gradient(135deg,#0f6e56,#17916e) !important; color: #fff !important; }
.badge-in-transit, .status-in-transit, .status-booked, .badge-booked, .status-confirmed { background: linear-gradient(135deg,#1a3e8c,#2d62c8) !important; color: #fff !important; }
.badge-pending, .status-pending, .status-awaiting, .badge-awaiting { background: linear-gradient(135deg,#e0a100,#FFCD00) !important; color: #3a2a00 !important; }
.badge-cancelled, .status-cancelled { background: linear-gradient(135deg,#b42318,#DA251D) !important; color: #fff !important; }
.badge-customs, .status-customs { background: linear-gradient(135deg,#6b1d7a,#a24bb3) !important; color: #fff !important; }

/* -- Customer account side menu ------------------------------------------------------------ */
.sidebar { background: linear-gradient(180deg, #10244f 0%, #0f2a4a 60%, #0b3a3a 100%) !important; border-radius: 14px !important; }
.sidebar .nav-item { color: rgba(255,255,255,.82) !important; border-radius: 8px !important; }
.sidebar .nav-item:hover { background: rgba(255,255,255,.08) !important; color: #fff !important; }
.sidebar .nav-item.active { background: linear-gradient(135deg, rgba(26,62,140,.9), rgba(15,110,86,.65)) !important; color: #fff !important; box-shadow: inset 3px 0 0 var(--sv-yellow); }

/* -- Footer ----------------------------------------------------------------------------- */
.site-footer { background: linear-gradient(180deg, #10244f 0%, #0b3a3a 100%) !important; color: rgba(255,255,255,.75) !important; border-radius: 14px 14px 0 0 !important; position: relative; overflow: hidden; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--sv-flag); }
.site-footer a { color: rgba(255,255,255,.9) !important; }
.site-footer a:hover { color: #fff !important; }
.site-footer .footer-sep { color: rgba(255,255,255,.35) !important; }
.site-footer .footer-social a { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.site-footer #savn-version { color: rgba(255,255,255,.6); }

/* -- Forms ---------------------------------------------------------------------------------- */
.field-input:focus, .finput:focus, .bfield-input:focus, input:focus-visible, select:focus-visible { outline: 2px solid rgba(26,62,140,.35) !important; outline-offset: 1px; border-color: var(--sv-navy) !important; }

/* -- Quote and invoice pages: the shared top bar and footer are for the screen only ---------- */
@media print { .hdr, .site-nav, .site-footer, .savn-lang-bar { display: none !important; } }

/* -- Phones: menu links scroll sideways, language and account on their own row ---------------- */
@media (max-width: 640px) {
  .site-nav { flex-wrap: wrap !important; gap: 6px !important; padding: 8px 10px !important; }
  .site-nav-left { flex: 1 1 100%; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; display: flex !important; gap: 14px !important; }
  .site-nav-left::-webkit-scrollbar { display: none; }
  .site-nav-right { flex: 1 1 100%; justify-content: flex-end; display: flex !important; gap: 8px !important; }
  .home-title { font-size: 19px; }
  .home-hero .track-strip > span { flex: 1 1 100%; }   /* on a phone the label has its own line; the box and button share the next */
}

/* -- Customer account dashboard (approved new look) ------------------------------------------- */
.acct-greet { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.acct-greet-title { font-size: 22px; font-weight: 800; background: var(--sv-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.acct-greet-sub { font-size: 13px; color: var(--sv-mut); margin-top: 2px; }
.acct-new-btn { width: auto !important; background: var(--sv-money) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; padding: 9px 18px !important; text-decoration: none; }
#dash-stats .stat-box { background: #fff; border: 1px solid var(--sv-line); border-radius: 12px; position: relative; overflow: hidden; text-align: left; padding: 14px 16px; }
#dash-stats .stat-box::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--sv-flag); }
#dash-stats .stat-label { font-size: 12.5px; font-weight: 600; color: var(--sv-mut); }
#dash-stats .stat-val { font-size: 22px; font-weight: 800; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#dash-stats .val-blue { background: var(--sv-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
#dash-stats .val-amber { background: linear-gradient(135deg,#c47d00,#e0a100); -webkit-background-clip: text; background-clip: text; color: transparent; }
#dash-stats .val-green { background: var(--sv-money); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* -- Phones: banner and account layout ----------------------------------------------------- */
@media (max-width: 640px) {
  .hdr { padding: 10px 12px !important; gap: 8px !important; }
  .hdr-title { font-size: 15px !important; line-height: 1.25 !important; flex: 1; text-align: center; letter-spacing: .02em !important; }
  .hdr-flag { height: 38px !important; width: auto !important; flex-shrink: 0; position: static !important; }
  #portal-app .app-inner { flex-direction: column !important; }
  #portal-app .sidebar { width: 100% !important; border-radius: 12px !important; margin-bottom: 12px; }
  #portal-app .main { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  #account-code-card .card-row { flex-direction: column; align-items: flex-start !important; gap: 10px; }
  .acct-greet-title { font-size: 20px; }
}
@media (max-width: 640px) {
  /* The account side menu was hidden on phones (no way to move between sections).
     It now shows as a menu strip that scrolls sideways. */
  #portal-app .sidebar { display: flex !important; flex-direction: row !important; overflow-x: auto; white-space: nowrap; gap: 4px; padding: 6px !important; scrollbar-width: none; }
  #portal-app .sidebar::-webkit-scrollbar { display: none; }
  #portal-app .sidebar .nav-item { flex: 0 0 auto; padding: 8px 12px !important; margin: 0 !important; border-top: 0 !important; }
  #portal-app .sidebar .nav-section, #portal-app .sidebar .sidebar-label, #portal-app .sidebar .nav-label { display: none !important; }
  #portal-app .sidebar .nav-item.active { box-shadow: inset 0 -3px 0 var(--sv-yellow) !important; }
}
@media (max-width: 640px) {
  .hdr { display: flex !important; align-items: center !important; justify-content: space-between !important; min-height: 64px; }
  .hdr .hdr-title { position: static !important; transform: none !important; margin: 0 !important; }
  .hdr .hdr-flag { position: static !important; transform: none !important; margin: 0 !important; }
}
@media (max-width: 640px) {
  /* account/terms/privacy banner uses map-wrap images */
  .hdr .map-wrap .map-img, .hdr .map-wrap img { height: 40px !important; width: auto !important; }
  .hdr:has(.map-wrap) .hdr-title { padding: 0 50px !important; }
}

/* ===================================================================================================
   v1.0464 PASTEL PASS (Chris, 8 Oct 2026): everything that was a dark fill with white text is now a soft pastel
   fill with dark text, so it stays readable; gradient-clipped headline text is a solid deep colour.
   =================================================================================================== */
.hdr-title, .home-title, .acct-greet-title, #dash-stats .val-blue, #dash-stats .val-amber, #dash-stats .val-green {
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: var(--sv-navy) !important; }
#dash-stats .val-green { color: var(--sv-green) !important; }
#dash-stats .val-amber { color: #8a6a1c !important; }
.hdr { border: 1px solid var(--sv-line); }

/* menu bar */
.site-nav { background: linear-gradient(90deg, #f4d9d6, #fbe6cf 20%, #fff0c4 40%, #d7ecdf 60%, #d9e0f5 80%, #e6d5ec) !important; box-shadow: 0 1px 3px rgba(47,52,65,.10) !important; border: 1px solid var(--sv-line); }
.site-nav a { color: var(--sv-ink) !important; font-weight: 600; }
.site-nav a:hover { color: #000 !important; }
.site-nav a.active { color: var(--sv-ink) !important; box-shadow: inset 0 -3px 0 #8d9bd0; }
.site-nav .nav-login-btn { background: #fff !important; color: var(--sv-navy) !important; border: 1px solid var(--sv-line) !important; }
#lang-selector, .savnship-lang-picker { background: #fff !important; color: var(--sv-navy) !important; border: 1px solid var(--sv-line) !important; }
.courier-badge { background: #FFE49A !important; color: #4a3a00 !important; }

/* buttons and tabs */
.book-btn:not(.disabled), .submit-btn, .btn-primary, .btn.primary, button.primary, .auth-btn, .calc-btn, .hero-cta, .cta-btn {
  background: #d3dbf3 !important; color: var(--sv-ink) !important; border: 1px solid #b9c5ea !important; font-weight: 700; }
.book-btn:not(.disabled):hover, .submit-btn:hover, .btn-primary:hover, .auth-btn:hover { background: #c3cdee !important; }
.tab-btn.active, .shipment-tab.active, .type-tab.active { background: #d3dbf3 !important; color: var(--sv-ink) !important; border-color: #b9c5ea !important; }
.acct-new-btn { background: #bfe3d0 !important; color: var(--sv-ink) !important; border: 1px solid #a8d5bd !important; font-weight: 700; }
.section-card-icon, .section-card-icon.blue, .section-card-icon.green, .section-card-icon.red { background: #d3dbf3 !important; color: var(--sv-navy) !important; }
.section-card-icon svg, .section-card-icon i { color: var(--sv-navy) !important; stroke: var(--sv-navy); }

/* hero pills */
.home-pill { color: var(--sv-ink) !important; }
.home-pill.p1 { background: #bfe3d0; } .home-pill.p2 { background: #d3dbf3; } .home-pill.p3 { background: #FFE49A; }
.home-kicker { color: var(--sv-green); }

/* status labels */
.badge-delivered, .status-delivered, .status-paid, .badge-paid { background: #bfe3d0 !important; color: #1f4d3a !important; }
.badge-in-transit, .status-in-transit, .status-booked, .badge-booked, .status-confirmed { background: #d3dbf3 !important; color: #2c3a6b !important; }
.badge-pending, .status-pending, .status-awaiting, .badge-awaiting { background: #FFE49A !important; color: #5a4300 !important; }
.badge-cancelled, .status-cancelled { background: #f6c9c6 !important; color: #7a1f1a !important; }
.badge-customs, .status-customs { background: #e6d5ec !important; color: #5b2a6b !important; }

/* customer account side menu and footer: light, with dark text */
.sidebar { background: linear-gradient(180deg, #fbefe9 0%, #f4f0fa 55%, #e9f4ee 100%) !important; border: 1px solid var(--sv-line) !important; }
.sidebar .nav-item { color: var(--sv-ink) !important; }
.sidebar .nav-item:hover { background: rgba(255,255,255,.7) !important; color: #000 !important; }
.sidebar .nav-item.active { background: #fff !important; color: var(--sv-navy) !important; font-weight: 700; box-shadow: inset 3px 0 0 #A9B9E3 !important; }
.site-footer { background: linear-gradient(180deg, #f7f1ea 0%, #eef0f8 100%) !important; color: var(--sv-mut) !important; border: 1px solid var(--sv-line); border-bottom: 0; }
.site-footer a { color: var(--sv-navy) !important; }
.site-footer a:hover { color: #000 !important; }
.site-footer .footer-sep { color: #c9bfb3 !important; }
.site-footer .footer-social a { background: #fff !important; color: var(--sv-navy) !important; border: 1px solid var(--sv-line); }
.site-footer #savn-version { color: #8a8f9c; }
@media (max-width: 640px) { #portal-app .sidebar .nav-item.active { box-shadow: inset 0 -3px 0 #A9B9E3 !important; } }

/* forms */
.field-input:focus, .finput:focus, .bfield-input:focus, input:focus-visible, select:focus-visible { outline: 2px solid rgba(143,157,208,.55) !important; border-color: #8d9bd0 !important; }

/* v1.0464: remaining dark-fill buttons and badges found in the browser check */
.tab-btn.active .tab-desc { color: var(--sv-mut) !important; }
.tab-btn.active, .tab-btn.active .tab-icon { color: var(--sv-ink) !important; }
.how-step-num, .step-badge { background: #d3dbf3 !important; color: var(--sv-ink) !important; border: 1px solid #b9c5ea; }
.track-strip button, .home-hero .track-strip > button, #returning-customer-banner button.login-inline-btn, .login-inline-btn {
  background: #d3dbf3 !important; color: var(--sv-ink) !important; border: 1px solid #b9c5ea !important; font-weight: 700; }
button:disabled, .book-btn.disabled, #continue-to-step4-btn:disabled { background: #ece7e0 !important; color: #9a9488 !important; border-color: #e0d9cf !important; }
#continue-to-step4-btn:not(:disabled), .continue-btn:not(:disabled) { background: #d3dbf3 !important; color: var(--sv-ink) !important; border: 1px solid #b9c5ea !important; font-weight: 700; }
.result-zar, .result-local { filter: none; }
.result-group-hdr, .formula-section-hdr { color: var(--sv-navy) !important; }

/* v1.0464: the flag-map banner on pages that do not load the home-page styles (About, Blog, 404, ...) showed the two map
   images at full size. One rule here sizes them everywhere. */
.hdr { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 22px; }
.hdr .hdr-flag { height: 60px; width: auto; max-width: 120px; display: block; flex-shrink: 0; opacity: .9; position: static; }
.hdr .hdr-title { flex: 1; text-align: center; font-size: 20px; font-weight: 600; text-transform: uppercase; }

/* v1.0464: contrast fixes from the browser check (all text now at least 3:1 on its background) */
.site-footer .footer-copy, .site-footer .footer-address, .site-footer .footer-links { color: var(--sv-mut) !important; }
#savn-version, .site-footer #savn-version { color: #6f7586 !important; }
.tab-btn .tab-desc, .tab-desc { color: #6b7080 !important; }
.tab-btn.active .tab-desc { color: #4a4f60 !important; }
button:disabled, .book-btn.disabled, #continue-to-step4-btn:disabled { color: #6f6a60 !important; }
.location-flag-badge, .flag-badge { background: #d3dbf3 !important; color: var(--sv-ink) !important; }
.doc-date, .doc-hdr .doc-date { color: #5f6577 !important; }
.doc-body .footer, .doc-page .footer, div.footer { color: #5f6577 !important; }
small, .field-hint, .hint { color: #5f6577; }

/* ============================================================================
   v1.0489 BLUE-TO-RED BAND + FLAG-STRIPE BUTTONS (Chris, 2026-10-10)
   Header bands: blue > green > gold > red (South Africa, Vietnam and the flag colours), with the pastel flag stripe beneath.
   Buttons: the pastel flag stripe with dark ink text, so they stay readable.
   ========================================================================== */
:root {
  --sv-r3: linear-gradient(90deg, #1a3e8c, #0f6e56 35%, #FFCD00 65%, #DA251D);
  --sv-r3-text: linear-gradient(90deg, #1a3e8c, #0f6e56 40%, #a87900 66%, #c4241b);
  --sv-btn: linear-gradient(90deg, #F2A7A3, #F8C99A 20%, #FFE49A 40%, #A8D5BD 60%, #A9B9E3 80%, #CDA9D6);
  --sv-btn-hover: linear-gradient(90deg, #ec9893, #f4bd86 20%, #fadb80 40%, #96cbad 60%, #96a8dc 80%, #c196cb);
  --sv-btn-ink: #1c2a55;
}
.site-nav { background: var(--sv-r3) !important; position: relative; }
.site-nav::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--sv-flag); border-radius: 0 0 12px 12px; pointer-events: none; }
.site-nav a { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.site-nav a:hover { color: #fff !important; }
.site-nav a.active { color: #fff !important; box-shadow: inset 0 -3px 0 #fff; }
.site-nav .nav-login-btn { color: var(--sv-navy) !important; text-shadow: none; }
.site-nav { border: 0 !important; }
.hdr-title, .home-title, .acct-greet-title, #dash-stats .val-blue { background: var(--sv-r3-text) !important; -webkit-background-clip: text !important; background-clip: text !important; }
.section-card-icon, .section-card-icon.blue, .section-card-icon.green, .section-card-icon.red { background: var(--sv-r3) !important; }
.book-btn:not(.disabled), .submit-btn, .btn-primary, .btn.primary, button.primary, .auth-btn, .calc-btn, .hero-cta, .cta-btn,
.tab-btn.active, .shipment-tab.active, .type-tab.active, .track-strip button, .book-btn.enabled {
  background: var(--sv-btn) !important; color: var(--sv-btn-ink) !important; font-weight: 700; text-shadow: none;
  border: 1px solid rgba(63,77,126,.22) !important; }
.book-btn:not(.disabled):hover, .submit-btn:hover, .btn-primary:hover, .auth-btn:hover, .track-strip button:hover { background: var(--sv-btn-hover) !important; }

/* v1.0545: portal currency prompt */
.cur-ask { margin-bottom: 14px; border: 1.5px solid #b9c5ea; background: #f8faff; }
.cur-ask-title { font-size: 16px; font-weight: 800; color: #3f4d7e; margin-bottom: 4px; }
.cur-ask-btns { display: flex; gap: .6rem; flex-wrap: wrap; }
.cur-ask-btn { flex: 1 1 150px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; background: #fff; border: 1.5px solid #d9dde8; border-radius: 12px; padding: .65rem .85rem; cursor: pointer; font: inherit; color: #3f4d7e; }
.cur-ask-btn span { font-size: 11.5px; color: #6b7385; letter-spacing: .04em; }
.cur-ask-btn:hover { border-color: #3b7a5f; background: #f0fdf4; }

/* v1.0551: bot-trap field - invisible to people, still in the page for bots that fill every field */
.hp-wrap { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
