/* ============================================================
   Plavidian visual theme layer (v2 - navy + burnt orange)
   Load LAST, after style.css and redesign.css.
   Pure presentation: no markup, copy, or data changes.

   What it does
     1. Re-points the existing colour tokens in style.css and
        redesign.css to the v2 palette, so every page that already
        uses var(--navy) / var(--rd-orange) follows automatically.
     2. Swaps the type system to DM Serif Display (headings) +
        Fira Sans (body). Source Serif 4 stays as a fallback so a
        cached page never renders in Times.
     3. Softens surfaces: larger radii, hairline rings instead of
        hard borders, quieter shadows, warmer neutrals.

   To revert the whole redesign: remove the two <link> tags added
   to templates/base.html. Nothing else was modified.
   ============================================================ */

:root{
  /* ---- v2 core palette ---- */
  --pv-navy:#0B233F;
  --pv-navy-deep:#071A2F;
  --pv-navy-mid:#123A63;
  --pv-navy-soft:#1E5286;
  --pv-orange:#D4652A;
  --pv-orange-deep:#B4521F;
  --pv-orange-soft:#F0A87C;
  --pv-orange-tint:#FBF0E8;

  /* warm neutrals */
  --pv-paper:#FBFAF8;
  --pv-sand:#F4F1EC;
  --pv-line:#E3DED6;
  --pv-ink:#1B2430;
  --pv-muted:#5A6572;

  --pv-serif:'DM Serif Display','Source Serif 4',Georgia,serif;
  --pv-sans:'Fira Sans','Segoe UI',system-ui,-apple-system,sans-serif;

  --pv-radius:14px;
  --pv-radius-lg:20px;
  --pv-shadow:0 1px 2px rgba(11,35,63,.05),0 8px 24px -12px rgba(11,35,63,.18);
  --pv-shadow-lg:0 24px 60px -24px rgba(11,35,63,.45);

  /* ---- re-point existing tokens (style.css) ---- */
  --navy:var(--pv-navy);
  --navy-2:var(--pv-navy-mid);
  --navy-ink:var(--pv-navy-deep);
  --accent:var(--pv-orange);
  --text:var(--pv-ink);
  --ink:var(--pv-ink);
  --muted:var(--pv-muted);
  --bg:var(--pv-sand);
  --surface:#ffffff;
  --surface-2:var(--pv-paper);
  --border:var(--pv-line);
  --border-soft:var(--pv-line);
  --radius:var(--pv-radius);
  --radius-sm:10px;
  --shadow:var(--pv-shadow);
  --font:var(--pv-sans);

  /* ---- re-point existing tokens (redesign.css) ---- */
  --rd-orange:var(--pv-orange);
  --rd-orange-deep:var(--pv-orange-deep);
  --rd-orange-ink:var(--pv-orange-deep);
  --rd-orange-soft:var(--pv-orange-soft);
  --rd-brick:var(--pv-orange-deep);
  --rd-brick-deep:#8C3E17;
  --rd-serif:var(--pv-serif);
}

/* ---------- type ---------- */
body{font-family:var(--pv-sans);background:var(--pv-sand);color:var(--pv-ink);
     -webkit-font-smoothing:antialiased;}
h1,h2,h3,.rd-h1,.rd-h2,.rd-hero-card h2,.card h2,.section-heading,
.resource-card h2,.brand-title{font-family:var(--pv-serif);font-weight:400;
     letter-spacing:-.005em;}
h1,.rd-h1{font-weight:400;line-height:1.05;}
.rd-h2{font-weight:400;}
h3,.rd-h3,.brand-title{font-family:var(--pv-sans);font-weight:700;
     letter-spacing:-.005em;}
.rd-kicker{color:var(--pv-orange-deep);letter-spacing:.2em;font-size:11.5px;
     font-weight:700;}
.rd-band-navy .rd-kicker,.rd-hero .rd-kicker,.rd-hero-brick .rd-kicker{
     color:var(--pv-orange-soft);}
.rd-intro,.rd-hero .rd-lede{color:var(--pv-muted);}
.rd-hero .rd-lede,.rd-hero-brick .rd-lede{color:#D5E1EF;}
p{color:inherit;}

/* ---------- surfaces ---------- */
.card,.subcard,.resource-card,.rd-hero-card,.dashboard-card,
.resource-highlight-grid>div{
  border-radius:var(--pv-radius);
  border:1px solid var(--pv-line);
  box-shadow:var(--pv-shadow);
  background:#fff;
}
.rd-hero-card{box-shadow:var(--pv-shadow-lg);border:none;
  border-radius:var(--pv-radius-lg);}
.rd-section-tint{background:var(--pv-paper);}
.rd-section-warm{background:var(--pv-orange-tint);}

/* ---------- heroes and navy bands ---------- */
.rd-hero,.rd-hero-bg-home{
  background:linear-gradient(150deg,var(--pv-navy-deep) 0%,var(--pv-navy) 62%,var(--pv-navy-soft) 100%);
  border-radius:var(--pv-radius-lg);
}
.rd-hero-brick,.rd-hero-bg-pm{
  background:linear-gradient(150deg,#5C2610 0%,#8C3E17 55%,var(--pv-orange) 100%);
}
.rd-hero-ja,.rd-hero-bg-ja{
  background:linear-gradient(150deg,var(--pv-navy-deep) 0%,var(--pv-navy) 55%,var(--pv-navy-soft) 100%);
}
.rd-hero-cycle{background:var(--pv-navy-deep);}
.rd-band-navy{background:var(--pv-navy);}
.rd-trust{color:#AFC2D6;}

/* ---------- buttons ---------- */
.rd-btn,.rd-btn-navy,.rd-btn-outline,.rd-btn-ghost,.rd-btn-white,.rd-btn-brick,
button,.button{
  border-radius:8px;
  font-family:var(--pv-sans);
  font-weight:600;
  letter-spacing:.005em;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.rd-btn{background:var(--pv-orange);}
.rd-btn:hover{background:var(--pv-orange-deep);}
.rd-btn-navy{background:var(--pv-navy);}
.rd-btn-navy:hover{background:var(--pv-navy-mid);}
.rd-btn-outline{border-color:rgba(11,35,63,.28);color:var(--pv-navy) !important;}
.rd-btn-outline:hover{background:rgba(11,35,63,.05);}
.rd-btn-white{color:var(--pv-orange-deep) !important;}
.rd-btn-brick{background:var(--pv-orange);}
.rd-btn-brick:hover{background:var(--pv-orange-deep);}
button,.button{background:var(--pv-orange);}
button:hover,.button:hover{background:var(--pv-orange-deep);}
button.secondary,.button.secondary{background:#fff;color:var(--pv-navy);
  border:1px solid var(--pv-line);}
.button.light{color:var(--pv-navy);border-color:var(--pv-line);}

/* ---------- header, announcement bar, mega menu ---------- */
header{background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--pv-line);}
header a{color:var(--pv-navy);}
.brand-tagline{color:var(--pv-muted);font-weight:600;}

/* ---------- forms ---------- */
input,select,textarea{border:1px solid var(--pv-line);border-radius:10px;
  font-family:var(--pv-sans);}
input:focus,select:focus,textarea:focus{border-color:var(--pv-orange);
  box-shadow:0 0 0 3px rgba(212,101,42,.16);}

/* ---------- misc accents ---------- */
.section-heading{background:var(--pv-navy);border-radius:10px;font-weight:400;}
a{color:var(--pv-navy-mid);}
a:hover{color:var(--pv-orange-deep);}
.rd-btn,.rd-btn-navy,.rd-btn-brick,.rd-btn-white,.rd-btn-ghost,
.rd-btn-outline,header a{text-decoration:none;}
td,th{border-bottom:1px solid var(--pv-line);}
.payment-badge,.user-pill{background:var(--pv-orange-tint);
  color:var(--pv-orange-deep);border-color:transparent;}
.flow-line span,.timeline-flow span,.checklist-grid div{
  background:var(--pv-paper);border-color:var(--pv-line);color:var(--pv-navy);}
.mini-map b{color:var(--pv-orange);}
::selection{background:rgba(212,101,42,.22);}
