/*
Theme Name: Hartsgrove Exact
Theme URI: https://example.com/
Author: SenceStudios
Description: Exact styling port of the Hartsgrove Events frontend (Bootstrap 5 + Font Awesome + Ubuntu) with WordPress templates.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hartsgrove-exact
Tags: custom-background, custom-logo, custom-menu, featured-images
*/

/* ===== Source: index.php ===== */
:root{
      --brand: #2e553f;        /* Primary Hartsgrove green */
      --brand-ink: #1f3e2e;    /* Darker variant for hovers/AA contrast */
      --brand-ghost: #e7f1ea;  /* Very light brand tint */
      --nav-h: 72px;
      --card-r: 1rem;
    }

    html,body{height:100%;}
    body{font-family:"Ubuntu",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}

    /* ================= WEATHER BANNER ================= */
    .weather-banner {
      background: var(--brand-ghost);
      color: var(--brand-ink);
      font-weight: 700;
      font-size: 0.92rem;
      padding: 0.45rem 0;
      border-bottom: 1px solid #dbe7df;
    }
    .weather-banner .wb-icon {
      margin-right: .45rem;
      font-size: 1rem;
      color: var(--brand);
    }
    .weather-banner .wb-muted {
      font-weight: 600;
      opacity: .85;
    }

    /* ================= NAVBAR ================= */
    .navbar-glass{
      position: sticky; top:0; z-index:1020;
      height: var(--nav-h);
      background: #fff; /* permanently white */
      border-bottom: 1px solid rgba(0,0,0,.06);
      box-shadow: 0 6px 20px rgba(0,0,0,.08);
    }

    .navbar-brand{
      display:flex; align-items:center; gap:.6rem;
      font-weight:700; letter-spacing:.2px; color:#132015;
      text-decoration:none; line-height:1;
    }
    .brand-icon{
      font-size: 1.6rem;
      color: var(--brand);
      flex: 0 0 auto;
      display: inline-block;
      transform: translateY(1px);
    }

    .navbar-nav .nav-link{
      font-weight:700; color:#111; position:relative; padding:.35rem .5rem;
    }
    .navbar-nav .nav-link::after{
      content:""; position:absolute; left:.5rem; right:.5rem; bottom:.1rem; height:2px;
      background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
    }
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link:focus-visible{ color: var(--brand-ink); }
    .navbar-nav .nav-link:hover::after,
    .navbar-nav .nav-link:focus-visible::after{ transform: scaleX(1); }

    .btn-brand{
      background:var(--brand); color:#fff; border:0;
    }
    .btn-brand:hover,.btn-brand:focus-visible{ background:var(--brand-ink); color:#fff; }

    .navbar-toggler{ border:0; outline:0; }
    .navbar-toggler:focus{ box-shadow:none; }
    .navbar-toggler .navbar-toggler-icon{ filter: contrast(0) brightness(0); }

    /* MOBILE COLLAPSE SHEET (flush under navbar) */
    @media (max-width: 991.98px){
      .navbar-glass .navbar-collapse{
        position: fixed;
        top: var(--nav-h);
        left: 0; right: 0;
        z-index: 1030;
        background: #fff;
        border-bottom: 1px solid rgba(0,0,0,.06);
        box-shadow: 0 10px 30px rgba(0,0,0,.12);
        padding: 0 1rem 1rem;
        max-height: calc(100vh - var(--nav-h));
        overflow-y: auto;
      }
      .navbar-glass .nav-link{
        padding:.9rem .5rem; font-size:1.06rem; border-radius:.5rem;
      }
      .navbar-glass .nav-item + .nav-item .nav-link{ margin-top:.25rem; }
      .navbar-glass{ height:64px; }

      body.menu-open{ overflow:hidden; }
      body.menu-open .navbar-glass{ border-bottom:0; box-shadow:none; }
      body.menu-open .navbar-glass .navbar-collapse{
        top: calc(var(--nav-h) - 1px); /* overlap 1px to remove seam */
        box-shadow: 0 12px 28px rgba(0,0,0,.14);
      }
    }

    /* ================= HERO ================= */
    .hero{
      position: relative;
      min-height: calc(100svh - var(--nav-h));
      display: flex; align-items: center;
      isolation: isolate;
      background:
        linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 55%, rgba(0,0,0,0) 100%),
        url("events.jpg") center/cover no-repeat fixed;
      color: #fff;
      overflow: hidden;
    }
    .hero::after{
      content:""; position:absolute; inset:0 0 0 auto; width:30vw; min-width:220px;
      background: color-mix(in srgb, var(--brand) 75%, transparent);
      clip-path: polygon(100% 0, 100% 100%, 5% 100%, 100% 0);
      pointer-events:none; z-index:-1;
    }
    @media (max-width: 767.98px){
      .hero{
        min-height: calc(62svh - var(--nav-h));
        background-attachment: scroll;
        background-position: center 22%;
        text-align:center; padding-block:2.25rem;
      }
      .hero::after{ content:none !important; }
      .hero .row{ justify-content:center; }
      .hero .btn-brand{ display:inline-flex; margin:.5rem auto 0; }
      .hero h1{ margin-left:auto; margin-right:auto; }
    }
    .hero h1{ font-size: clamp(1.9rem, 2.5vw + 1.2rem, 3.5rem); line-height:1.1; }

    /* ================= GET INVOLVED (mini section) ================= */
    #participate{ padding-block: 3.75rem; background: linear-gradient(180deg, #fff 0%, #f7faf8 100%); }
    .cta-card{
      border-radius: var(--card-r);
      border: 1px solid #e6eee9;
      box-shadow: 0 6px 18px rgba(0,0,0,.06);
      background: #fff;
      height: 100%;
    }
    .cta-icon{
      width:44px; height:44px; border-radius:14px;
      background: var(--brand-ghost);
      border: 1px solid #cfe7d6;
      display:flex; align-items:center; justify-content:center;
      color: var(--brand);
      font-size: 1.1rem;
      flex: 0 0 auto;
    }

    /* ================= EVENTS ================= */
    #events{ padding-block: 4rem; background:#fff; }
    .section-title{ font-weight: 800; color:#132015; }
    .events-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom: 1.25rem; }
    .events-toolbar{ display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
    .chip{
      border:1px solid #dbe7df; background:#fff; color:#132015; font-weight:800;
    }
    .chip:hover{ border-color:#b8d7c3; color:var(--brand-ink); }
    .toolbar-search{ min-width: 220px; }
    .results-note{ color:#5b6b5f; font-weight:700; }

    .event-card{
      border-radius: var(--card-r);
      border: 1px solid #e6eee9;
      box-shadow: 0 6px 18px rgba(0,0,0,.06);
      overflow:hidden;
      background:#fff;
      display:flex;
    }
    .date-tile{
      width:86px;
      background: var(--brand-ghost);
      border-right: 1px solid #e0efe6;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      padding: .75rem .5rem;
      text-align:center;
    }
    .date-tile .mon{ font-weight:900; color:var(--brand-ink); text-transform:uppercase; letter-spacing:.5px; }
    .date-tile .day{ font-size:1.6rem; font-weight:900; color:#132015; line-height:1; margin-top:.15rem; }
    .event-title{ font-weight:900; }
    .event-meta{ color:#56665b; font-weight:700; display:flex; gap:1rem; flex-wrap:wrap; }
    .event-desc{ color:#475a4e; }
    .cat-pill{
      background: var(--brand-ghost);
      border: 1px solid #cfe7d6;
      color: var(--brand-ink);
      font-weight:900;
    }
    .card-actions{ margin-top:auto; display:flex; gap:.5rem; flex-wrap:wrap; }
    .empty{
      border: 1px dashed #cfe7d6;
      border-radius: var(--card-r);
      padding: 2rem 1rem;
      text-align:center;
      background: #fbfdfc;
      color:#4d5f54;
    }

    /* ================= FOOTER ================= */
    .site-footer{
      background: linear-gradient(180deg, #173123 0%, #0f2318 100%);
      color:#d7e7dd;
      border-top: 1px solid rgba(255,255,255,.06);
    }
    .footer-title{ color:#fff; font-weight:900; }
    .footer-link{ color:#d7e7dd; text-decoration:none; font-weight:700; }
    .footer-link:hover{ color:#fff; text-decoration:underline; }
    .footer-desc{ color:#c6dccf; }
    .social-chip{
      width:38px; height:38px; border-radius:14px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.12);
      display:flex; align-items:center; justify-content:center;
      color:#fff; text-decoration:none;
    }
    .social-chip:hover{ background: rgba(255,255,255,.14); }

/* ===== Source: powershow.php ===== */
:root {
      /* Brand colors derived from the logo */
      --hps-bg: #FCFCFB;
      --hps-ink: #0E0D0C;
      --hps-gold: #CBB157;      /* POWER SHOW text */
      --hps-gold-dark: #A39356;
      --hps-gold-soft: #DDD0A1;
      --hps-rail: #575036;
      --hps-muted: #A3A29F;

      --hps-radius: 18px;

      --bs-body-bg: var(--hps-bg);
      --bs-body-color: var(--hps-ink);
      --bs-primary: var(--hps-gold);
      --bs-secondary: var(--hps-rail);
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
      background-color: var(--hps-bg);
      color: var(--hps-ink);
      position: relative; /* required for scrollspy on body */
    }

    a:focus-visible,
    button:focus-visible {
      outline: 2px solid var(--hps-gold-dark);
      outline-offset: 2px;
    }

    /* NAVBAR */

    .navbar {
      background-color: #b29c46; /* slightly darker than hps-gold for contrast */
      border-bottom: 2px solid var(--hps-gold-dark);
      box-shadow: 0 0.25rem 1.25rem rgba(0,0,0,0.16);
    }

    .navbar-brand span {
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #ffffff;
    }

    .navbar-brand-icon {
      background-color: #ffffff;
      border-radius: 999px;
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .navbar-brand-icon i {
      color: var(--hps-ink);
    }

    .nav-link {
      color: rgba(255,255,255,0.9);
      font-weight: 500;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-size: 0.8rem;
    }

    .nav-link:hover,
    .nav-link:focus,
    .nav-link.active {
      color: #ffffff;
    }

    .navbar .dropdown-menu {
      border-radius: 12px;
      border: 1px solid rgba(0,0,0,0.1);
    }

    /* CTA pill button used in navbar and hero */

    .btn-hps-cta {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.4rem 0.5rem 0.4rem 1.1rem;
      border-radius: 999px;
      background-color: var(--hps-ink);   /* black pill */
      color: #ffffff;
      border: none;
      font-weight: 600;
      font-size: 0.8rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      white-space: nowrap;
      transition: background-color 0.18s ease-out,
                  color 0.18s ease-out,
                  transform 0.12s ease-out,
                  box-shadow 0.18s ease-out;
    }

    .btn-hps-cta:hover,
    .btn-hps-cta:focus {
      background-color: var(--hps-rail);
      color: #ffffff;
      transform: translateY(-1px);
      box-shadow: 0 0.4rem 0.9rem rgba(0,0,0,0.18);
    }

    .btn-hps-cta-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 26px;
      height: 26px;
      border-radius: 10px;
      background-color: #ffffff;          /* white rounded square */
      color: #c54a16;                     /* orange/red arrow */
      flex-shrink: 0;
      font-size: 0.9rem;
    }

    /* Other buttons */

    .btn-hps-primary,
    .btn-hps-outline {
      transition: background-color 0.18s ease-out,
                  color 0.18s ease-out,
                  transform 0.12s ease-out,
                  box-shadow 0.18s ease-out;
    }

    .btn-hps-primary:hover,
    .btn-hps-outline:hover {
      transform: translateY(-1px);
      box-shadow: 0 0.4rem 0.9rem rgba(0,0,0,0.18);
    }

    .btn-hps-primary {
      border-radius: 999px;
      background-color: var(--hps-ink);
      color: #fff;
      border: none;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-size: 0.8rem;
      padding-inline: 1.4rem;
    }

    .btn-hps-primary:hover {
      background-color: var(--hps-rail);
      color: #fff;
    }

    .btn-hps-outline {
      border-radius: 999px;
      border: 1px solid var(--hps-ink);
      color: var(--hps-ink);
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-size: 0.8rem;
      padding-inline: 1.4rem;
      background: transparent;
    }

    .btn-hps-outline:hover {
      background-color: var(--hps-ink);
      color: #fff;
    }

    /* HERO */

    .hero {
      padding: 4rem 0 4.5rem;
    }

    .hero-card {
      background: #fff;
      border-radius: 26px;
      box-shadow: 0 1.5rem 3.5rem rgba(0,0,0,0.14);
      padding: 2.5rem 2.5rem 2.25rem;
      border: 2px solid var(--hps-gold-soft);
      position: relative;
      overflow: hidden;
    }

    .hero-card::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: 24px;
      border: 1px solid rgba(0,0,0,0.04);
      pointer-events: none;
    }

    .hero-logo {
      max-width: 360px;
      height: auto;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      border-radius: 999px;
      padding: 0.35rem 0.9rem;
      font-size: 0.8rem;
      background-color: var(--hps-ink);
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }

    .hero h1 {
      font-weight: 800;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      font-size: 2.1rem;
      color: var(--hps-ink);
    }

    .hero-tagline {
      font-size: 1.1rem;
      font-weight: 600;
    }

    .date-pill {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      border-radius: 999px;
      padding: 0.45rem 1rem;
      font-size: 0.9rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      background-color: var(--hps-gold);
      color: var(--hps-ink);
    }

    /* SECTIONS */

    .section-pad {
      padding: 4rem 0;
    }

    .section-heading {
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.18em;
      font-size: 0.8rem;
      color: var(--hps-muted);
    }

    .section-title {
      font-weight: 700;
      font-size: 1.9rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--hps-ink);
    }

    .section-alt {
      background-color: var(--hps-gold-soft);
    }

    .card-rounded {
      border-radius: var(--hps-radius);
      border: 1px solid rgba(0,0,0,0.06);
      background-color: #fff;
      overflow: hidden;
    }

    .card-rounded .card-img-top {
      max-height: 230px;
      object-fit: cover;
    }

    .event-tag {
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--hps-ink);
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
    }

    .event-tag i {
      color: var(--hps-ink);
    }

    .chip {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      border-radius: 999px;
      padding: 0.35rem 0.9rem;
      font-size: 0.8rem;
      background-color: var(--hps-gold-soft);
      color: var(--hps-ink);
    }

    /* GALLERY */

    .gallery-thumb {
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      background-color: #000;
      cursor: pointer;
    }

    .gallery-thumb img {
      width: 100%;
      height: 170px;
      object-fit: cover;
      transition: transform 0.25s ease-out;
    }

    .gallery-thumb:hover img {
      transform: scale(1.04);
    }

    .gallery-thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.35), transparent 60%);
      opacity: 0;
      transition: opacity 0.25s ease-out;
    }

    .gallery-thumb:hover::after {
      opacity: 1;
    }

    /* FOOTER */

    .footer {
      padding: 2.5rem 0 1.5rem;
      background-color: var(--hps-ink);
      color: rgba(255,255,255,0.85);
      border-top: 3px solid var(--hps-gold);
    }

    .footer a {
      color: rgba(255,255,255,0.9);
      text-decoration: none;
    }

    .footer a:hover {
      color: #fff;
      text-decoration: underline;
    }

    @media (max-width: 767.98px) {
      .hero-card {
        padding: 1.8rem 1.6rem 1.6rem;
      }
      .hero-logo {
        max-width: 260px;
      }
      .hero h1 {
        font-size: 1.7rem;
      }
    }

/* ===== Source: sponsor.php ===== */
:root{
    --brand:#2e553f; --brand-ink:#1f3e2e; --brand-ghost:#e7f1ea; --nav-h:72px; --card-r:1rem;
  }
  body{font-family:system-ui,-apple-system,Segoe UI,Ubuntu,Roboto,Arial,sans-serif; color:#132015;}
  /* Navbar (matching your other pages) */
    /* ================= NAVBAR ================= */
    .navbar-glass{
      position: sticky; top:0; z-index:1020;
      height: var(--nav-h);
      background: #fff; /* permanently white */
      border-bottom: 1px solid rgba(0,0,0,.06);
      box-shadow: 0 6px 20px rgba(0,0,0,.08);
    }

    .navbar-brand{
      display:flex; align-items:center; gap:.6rem;
      font-weight:700; letter-spacing:.2px; color:#132015;
      text-decoration:none; line-height:1;
    }
    .brand-icon{
      font-size: 1.6rem;
      color: var(--brand);
      flex: 0 0 auto;
      display: inline-block;
      transform: translateY(1px);
    }

    .navbar-nav .nav-link{
      font-weight:700; color:#111; position:relative; padding:.35rem .5rem;
    }
    .navbar-nav .nav-link::after{
      content:""; position:absolute; left:.5rem; right:.5rem; bottom:.1rem; height:2px;
      background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
    }
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link:focus-visible{ color: var(--brand-ink); }
    .navbar-nav .nav-link:hover::after,
    .navbar-nav .nav-link:focus-visible::after{ transform: scaleX(1); }

    .btn-brand{
      background:var(--brand); color:#fff; border:0;
    }
    .btn-brand:hover,.btn-brand:focus-visible{ background:var(--brand-ink); color:#fff; }

    .navbar-toggler{ border:0; outline:0; }
    .navbar-toggler:focus{ box-shadow:none; }
    .navbar-toggler .navbar-toggler-icon{ filter: contrast(0) brightness(0); }

    /* MOBILE COLLAPSE SHEET (flush under navbar) */
    @media (max-width: 991.98px){
      .navbar-glass .navbar-collapse{
        position: fixed;
        top: var(--nav-h);
        left: 0; right: 0;
        z-index: 1030;
        background: #fff;
        border-bottom: 1px solid rgba(0,0,0,.06);
        box-shadow: 0 10px 30px rgba(0,0,0,.12);
        padding: 0 1rem 1rem;
        max-height: calc(100vh - var(--nav-h));
        overflow-y: auto;
      }
      .navbar-glass .nav-link{
        padding:.9rem .5rem; font-size:1.06rem; border-radius:.5rem;
      }
      .navbar-glass .nav-item + .nav-item .nav-link{ margin-top:.25rem; }
      .navbar-glass{ height:64px; }

      body.menu-open{ overflow:hidden; }
      body.menu-open .navbar-glass{ border-bottom:0; box-shadow:none; }
      body.menu-open .navbar-glass .navbar-collapse{
        top: calc(var(--nav-h) - 1px); /* overlap 1px to remove seam */
        box-shadow: 0 12px 28px rgba(0,0,0,.14);
      }
    }

  .btn-brand{background:var(--brand);color:#fff;border:0}
  .btn-brand:hover{background:var(--brand-ink);color:#fff}
  .page-head{padding:2.25rem 0 1.25rem}
  .page-head h1{font-weight:800}
  .help-note{color:#5b6b5f}

  .card{border:1px solid #e6eee9;border-radius:var(--card-r);box-shadow:0 6px 18px rgba(0,0,0,.06)}
  .tier-card{height:100%;}
  .tier-card h3{font-weight:800}
  .price{font-weight:900; font-size:1.4rem; color:var(--brand-ink);}
  .perk{display:flex;gap:.5rem;align-items:flex-start}
  .perk i{color:var(--brand);}
  .meta-badge{background:var(--brand-ghost);border:1px solid #cfe7d6;color:var(--brand-ink);font-weight:700}
  .req::after{content:" *";color:#b30000;font-weight:800}
  .terms{max-height:16rem;overflow:auto;border:1px solid #e6eee9;border-radius:.75rem;padding:1rem;background:#fff}
  .total{font-weight:800;color:var(--brand-ink)}
  .print-only{display:none}
  @media print{
    .no-print{display:none!important}
    .print-only{display:block}
    body{background:#fff}
    .card{box-shadow:none;border-color:#ddd}
  }

/* ===== Source: sponsorships.php ===== */
:root{
      --brand:#2e553f;
      --ink:#1f3e2e;
      --ghost:#e7f1ea;
      --bg:#f7faf8;
    }
    body{background:var(--bg)}
    .topbar{background:#fff;border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 6px 20px rgba(0,0,0,.08)}
    .hero{
      background:linear-gradient(135deg, rgba(46,85,63,.92), rgba(31,62,46,.92));
      color:#fff;overflow:hidden;
      box-shadow:0 18px 40px rgba(0,0,0,.18);
    }
    .hero .pill{
      display:inline-flex;align-items:center;gap:.5rem;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      padding:.35rem .75rem;border-radius:999px;font-weight:800;
    }
    .card{border:1px solid #e6eee9;border-radius:1rem;box-shadow:0 6px 18px rgba(0,0,0,.06)}
    .btn-brand{background:var(--brand);color:#fff;border:0}
    .btn-brand:hover{background:var(--ink);color:#fff}
    .badge-soft{background:var(--ghost);border:1px solid #cfe7d6;color:var(--ink);font-weight:900}
    .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
    .pre{white-space:pre-wrap}

/* ===== Source: vendor.php ===== */
:root{
    --brand:#2e553f; --brand-ink:#1f3e2e; --brand-ghost:#e7f1ea; --nav-h:72px; --card-r:1rem;
  }
  body{font-family:system-ui,-apple-system,Segoe UI,Ubuntu,Roboto,Arial,sans-serif; color:#132015;}
    /* ================= NAVBAR ================= */
    .navbar-glass{
      position: sticky; top:0; z-index:1020;
      height: var(--nav-h);
      background: #fff; /* permanently white */
      border-bottom: 1px solid rgba(0,0,0,.06);
      box-shadow: 0 6px 20px rgba(0,0,0,.08);
    }

    .navbar-brand{
      display:flex; align-items:center; gap:.6rem;
      font-weight:700; letter-spacing:.2px; color:#132015;
      text-decoration:none; line-height:1;
    }
    .brand-icon{
      font-size: 1.6rem;
      color: var(--brand);
      flex: 0 0 auto;
      display: inline-block;
      transform: translateY(1px);
    }

    .navbar-nav .nav-link{
      font-weight:700; color:#111; position:relative; padding:.35rem .5rem;
    }
    .navbar-nav .nav-link::after{
      content:""; position:absolute; left:.5rem; right:.5rem; bottom:.1rem; height:2px;
      background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
    }
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link:focus-visible{ color: var(--brand-ink); }
    .navbar-nav .nav-link:hover::after,
    .navbar-nav .nav-link:focus-visible::after{ transform: scaleX(1); }

    .btn-brand{
      background:var(--brand); color:#fff; border:0;
    }
    .btn-brand:hover,.btn-brand:focus-visible{ background:var(--brand-ink); color:#fff; }

    .navbar-toggler{ border:0; outline:0; }
    .navbar-toggler:focus{ box-shadow:none; }
    .navbar-toggler .navbar-toggler-icon{ filter: contrast(0) brightness(0); }

    /* MOBILE COLLAPSE SHEET (flush under navbar) */
    @media (max-width: 991.98px){
      .navbar-glass .navbar-collapse{
        position: fixed;
        top: var(--nav-h);
        left: 0; right: 0;
        z-index: 1030;
        background: #fff;
        border-bottom: 1px solid rgba(0,0,0,.06);
        box-shadow: 0 10px 30px rgba(0,0,0,.12);
        padding: 0 1rem 1rem;
        max-height: calc(100vh - var(--nav-h));
        overflow-y: auto;
      }
      .navbar-glass .nav-link{
        padding:.9rem .5rem; font-size:1.06rem; border-radius:.5rem;
      }
      .navbar-glass .nav-item + .nav-item .nav-link{ margin-top:.25rem; }
      .navbar-glass{ height:64px; }

      body.menu-open{ overflow:hidden; }
      body.menu-open .navbar-glass{ border-bottom:0; box-shadow:none; }
      body.menu-open .navbar-glass .navbar-collapse{
        top: calc(var(--nav-h) - 1px); /* overlap 1px to remove seam */
        box-shadow: 0 12px 28px rgba(0,0,0,.14);
      }
    }

  .btn-brand{background:var(--brand);color:#fff;border:0}
  .btn-brand:hover{background:var(--brand-ink);color:#fff}
  .page-head{padding:2.25rem 0 1.25rem}
  .page-head h1{font-weight:800}
  .meta-badge{background:var(--brand-ghost);border:1px solid #cfe7d6;color:var(--brand-ink);font-weight:700}
  .card{border:1px solid #e6eee9;border-radius:var(--card-r);box-shadow:0 6px 18px rgba(0,0,0,.06)}
  .card h2,.card h3{font-weight:800}
  .req::after{content:" *";color:#b30000;font-weight:800}
  .form-text{color:#5d6e62}
  .help-note{color:#5b6b5f}
  .total{font-weight:800;color:var(--brand-ink)}
  .pill{background:var(--brand-ghost);border:1px solid #cfe7d6;color:var(--brand-ink);font-weight:700}
  .terms{max-height:16rem;overflow:auto;border:1px solid #e6eee9;border-radius:.75rem;padding:1rem;background:#fff}
  .print-only{display:none}
  @media print{
    .no-print{display:none!important}
    .print-only{display:block}
    body{background:#fff}
    .card{box-shadow:none;border-color:#ddd}
  }

/* ===== Source: vendor_apply.php ===== */
:root{--brand:#2e553f;--ink:#1f3e2e;--ghost:#e7f1ea;--r:1rem}
    body{font-family:"Ubuntu",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
    .btn-brand{background:var(--brand);color:#fff;border:0}
    .btn-brand:hover{background:var(--ink);color:#fff}
    .card{border:1px solid #e6eee9;border-radius:var(--r);box-shadow:0 6px 18px rgba(0,0,0,.06)}
    .hero{
      padding:2.75rem 0 2rem;
      background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%),
      url("events.jpg") center/cover no-repeat;
      color:#fff;
    }

/* ===== Source: sponsor_request.php ===== */
:root{--brand:#2e553f;--ink:#1f3e2e;--r:1rem}
    body{font-family:"Ubuntu",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
    .btn-brand{background:var(--brand);color:#fff;border:0}
    .btn-brand:hover{background:var(--ink);color:#fff}
    .card{border:1px solid #e6eee9;border-radius:var(--r);box-shadow:0 6px 18px rgba(0,0,0,.06)}
    .hero{
      padding:2.75rem 0 2rem;
      background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%),
      url("events.jpg") center/cover no-repeat;
      color:#fff;
    }

/* WordPress admin bar offset */
body.admin-bar .navbar-glass{ top:32px; }
@media (max-width:782px){ body.admin-bar .navbar-glass{ top:46px; } }

