/* ============================
   Finny — NEW UNIQUE COLOUR PALETTE
   Palette:
   - Primary (Royal Blue):        #0057D9
   - Primary Dark (Navy):         #0A3E91
   - Accent (Persimmon):          #FF5A36
   - Accent 2 (Emerald):          #00C389
   - Background (Cool Off-White): #F6F8FF
   - Text (Slate):                #1F2937
   - Muted (Gray):                #6B7280
   ============================ */

   :root{
    --brand-primary: #0057D9;
    --brand-primary-dark: #0A3E91;
    --brand-accent: #FF5A36;
    --brand-accent-2: #00C389;
  
    --bg: #F6F8FF;
    --surface: #FFFFFF;
    --text: #1F2937;
    --muted: #6B7280;
  
    --shadow-sm: 0 2px 6px rgba(0,0,0,.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,.08);
  }
  
  /* Global */
  body{
    background-color: var(--bg);
    color: var(--text);
  }
  
  /* Navbar */
  .navbar{
    background-color: var(--surface);
    box-shadow: var(--shadow-sm);
  }
  .navbar-brand{
    color: var(--brand-primary);
    font-weight: 700;
  }
  .navbar-brand:hover{ color: var(--brand-primary-dark); }
  
  .navbar-nav .nav-link{
    color: #475569; /* slightly darker for contrast */
  }
  .navbar-nav .nav-link:hover{
    color: var(--brand-accent);
  }
  
  /* Accent button */
  .btn-accent{
    background-color: var(--brand-accent);
    color: #fff;
    border: 1px solid var(--brand-accent);
  }
  .btn-accent:hover{
    background-color: #e6512f; /* darker persimmon */
    border-color: #e6512f;
  }
  
  /* Hero */
  .hero{
    background:
      linear-gradient(
        rgba(0, 87, 217, 0.72),    /* primary overlay */
        rgba(255, 90, 54, 0.70)    /* accent overlay */
      ),
      url('../img/main.png') center center/cover no-repeat;
    height: 100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#fff;
  }
  .hero h1{ font-size:3rem; }
  .hero p{
    font-size:1.4rem;
    margin-bottom:30px;
    color:#F3F4F6;
  }
  
  /* Timeline */
  .timeline::before{
    background: var(--brand-accent-2); /* emerald spine */
  }
  .timeline-item:nth-child(odd)::before{
    background: var(--brand-primary);  /* royal blue bullets */
  }
  .timeline-item:nth-child(even)::before{
    background: var(--brand-accent);   /* persimmon bullets */
  }
  .timeline-content{
    background: var(--surface);
    color: var(--text);
    padding:20px;
    border-radius:12px;
    box-shadow: var(--shadow-md);
  }
  
  /* Cookie Banner */
  .cookie-banner{
    background-color: var(--brand-primary-dark); /* navy */
    color:#fff;
    padding:15px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow: 0 -2px 10px rgba(0,0,0,.15);
  }
  .cookie-banner .btn-primary{
    background-color: var(--brand-accent);
    color:#fff;
    border-color: var(--brand-accent);
  }
  .cookie-banner .btn-primary:hover{
    background-color:#e6512f;
    border-color:#e6512f;
  }
  .cookie-banner .btn-secondary{
    background-color:#475569;
    color:#fff;
    border-color:#475569;
  }
  .cookie-banner .btn-secondary:hover{
    background-color:#334155;
    border-color:#334155;
  }
  
  /* Cookie Modal */
  .cookie-modal{
    display:none; /* hidden by default */
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    background: rgba(0,0,0,.5);
    z-index:9999;
  }
  .cookie-modal-content{
    background: var(--surface);
    color: var(--text);
    padding:25px;
    border-radius:12px;
    max-width:420px;
    margin:100px auto;
    box-shadow: 0 4px 15px rgba(0,0,0,.15);
  }
  .cookie-modal-content h3{
    color: var(--brand-primary);
    margin-bottom:15px;
  }
  .cookie-buttons .btn-success{
    background-color: var(--brand-accent);
    border-color: var(--brand-accent);
    color:#fff;
  }
  .cookie-buttons .btn-success:hover{
    background-color:#e6512f;
    border-color:#e6512f;
  }
  
  /* Utility: high-contrast focus */
  a:focus-visible, button:focus-visible, .btn:focus-visible, .form-control:focus{
    outline: 3px solid rgba(0,87,217,.35);
    outline-offset: 2px;
  }
  