/* =========================
   LCNL THEME — CLEAN BUILD
   ========================= */

/* --- Core theme tokens --- */
:root{
  --brand: #7a1d3c;      /* LCNL maroon */
  --brand-600: #6c1936;  /* hover */
  --brand-700: #5e1630;  /* active */
  --accent1: #d4af37;    /* gold */
  --accent: var(--accent1); /* alias for any legacy 'var(--accent)' */
  --muted:#f6f2f2;
  --radius:14px;
}

/* --- Basics/Utilities --- */
.bg-brand { background: var(--brand) !important; }
.bg-accent1 { background: var(--accent1) !important; }
.text-brand { color: var(--brand) !important; }
.text-accent1 { color: var(--accent1) !important; } /* unified */
.text-pink { color: #e4405f !important; }          /* Mahila */
.text-primary { color: #0d6efd !important; }       /* YLS */
/* NOTE: .text-danger below was being used for Bereavement.
   Keeping your colour but be aware this changes Bootstrap's global 'danger'. */
.text-danger { color: #d63384 !important; }        /* Bereavement accent */

/* --- Motto (hero headings) --- */
.motto { font-weight: 700; font-size: 1.75rem; color: #fff; }
.motto .script { font-size: 1.75rem; color: var(--accent1); }
.motto-sub { font-size: 1rem; font-weight: 400; color: #f8f9fa; font-style: italic; margin-top: .5rem; }

/* =========================
   HERO + OVERLAYS
   ========================= */
.hero-lcnl-watermark{
  position: relative;
  overflow: hidden;
  z-index: 0;
  min-height: 150px;
  border-radius: 0;
}
.hero-lcnl-watermark::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  z-index:1; /* overlay ABOVE logos, BELOW content */
}
.hero-lcnl-watermark .random-logo{
  position:absolute; opacity:.8; pointer-events:none; z-index:0; mix-blend-mode:overlay;
}
/* Ensure hero text sits on top of overlay */
.hero-lcnl-watermark .container{ position: relative; z-index: 2; }
.hero-lcnl-watermark h4{ text-shadow: 0 2px 6px rgba(0,0,0,.5); }
.hero-lcnl-watermark .badge{
  font-size:.85rem; padding:.4rem .6rem; border-radius:var(--radius); backdrop-filter: blur(3px);
}

/* Artistic overlay palettes (kept as-is, deduped) */
.hero-overlay-grey::before{background:radial-gradient(circle at center,rgba(128,128,128,.85) 0%,rgba(128,128,128,.4) 80%);}
.hero-overlay-red::before{background:linear-gradient(135deg,rgba(220,53,69,.85) 0%,rgba(220,53,69,.4) 100%);}
.hero-overlay-blue::before{background:radial-gradient(circle at top,rgba(13,110,253,.85) 20%,rgba(13,110,253,.3) 100%);}
.hero-overlay-green::before{background:linear-gradient(to right,rgba(25,135,84,.85) 0%,rgba(40,167,69,.5) 100%);}
.hero-overlay-orange::before{background:linear-gradient(rgba(253,126,20,.8),rgba(253,126,20,.8)),url("/assets/patterns/noise-texture.png");background-size:auto,200px 200px;}
.hero-overlay-white::before{background:linear-gradient(to bottom,rgba(255,255,255,.9) 0%,rgba(255,255,255,.6) 100%);}

.hero-overlay-royalblue::before{background:radial-gradient(circle at center,rgba(15,40,120,.9) 0%,rgba(15,40,120,.6) 100%);}
.hero-overlay-emerald::before{background:linear-gradient(to bottom right,rgba(0,80,50,.9),rgba(0,120,70,.6));}
.hero-overlay-darkred::before{background:linear-gradient(to top,rgba(100,0,20,.9),rgba(150,0,40,.6));}
.hero-overlay-midnight::before{background:radial-gradient(circle at top left,rgba(40,0,70,.95),rgba(25,0,40,.6));}
.hero-overlay-charcoal::before{background:linear-gradient(135deg,rgba(20,20,20,.9),rgba(60,60,60,.6));}
.hero-overlay-teal::before{background:linear-gradient(to right,rgba(0,70,70,.9),rgba(0,120,120,.6));}
.hero-overlay-burgundy::before{background:radial-gradient(circle,rgba(80,0,20,.95),rgba(120,0,40,.65));}
.hero-overlay-slateblue::before{background:linear-gradient(to bottom,rgba(70,90,140,.9),rgba(50,70,110,.6));}
.hero-overlay-forest::before{background:linear-gradient(to top right,rgba(20,60,20,.9),rgba(40,100,40,.6));}
.hero-overlay-bronze::before{background:linear-gradient(135deg,rgba(120,60,20,.9),rgba(180,100,40,.65));}

.hero-overlay-sapphire::before{background:radial-gradient(circle at center,rgba(15,60,150,.95),rgba(10,30,80,.65));}
.hero-overlay-ruby::before{background:radial-gradient(ellipse at center,rgba(120,0,30,.95),rgba(80,0,20,.6));}
.hero-overlay-amethyst::before{background:radial-gradient(circle at top,rgba(70,0,100,.95),rgba(40,0,60,.6));}
.hero-overlay-onyx::before{background:linear-gradient(180deg,rgba(0,0,0,.95),rgba(50,50,50,.7));}
.hero-overlay-obsidian::before{background:radial-gradient(ellipse at center,rgba(10,10,20,.95) 40%,rgba(0,0,0,.7) 100%);}
.hero-overlay-gold::before{background:radial-gradient(circle,rgba(160,120,20,.9),rgba(90,60,10,.7));}
.hero-overlay-platinum::before{background:linear-gradient(to bottom,rgba(180,180,180,.9),rgba(90,90,90,.6));}
.hero-overlay-ocean::before{background:radial-gradient(ellipse at center,rgba(0,30,80,.95),rgba(0,70,120,.65));}
.hero-overlay-storm::before{background:radial-gradient(circle at center,rgba(50,50,60,.95),rgba(20,20,30,.7));}
.hero-overlay-wine::before{background:linear-gradient(to top,rgba(70,0,20,.9),rgba(120,20,40,.65));}
.hero-overlay-velvet::before{background:radial-gradient(circle,rgba(60,0,80,.95),rgba(30,0,50,.6));}
.hero-overlay-jade::before{background:linear-gradient(to bottom right,rgba(0,60,40,.95),rgba(0,100,70,.65));}
.hero-overlay-copper::before{background:linear-gradient(135deg,rgba(120,60,20,.9),rgba(90,40,15,.7));}
.hero-overlay-steel::before{background:radial-gradient(ellipse at center,rgba(50,70,100,.95),rgba(30,40,60,.6));}
.hero-overlay-smoke::before{background:radial-gradient(ellipse at center,rgba(80,80,80,.8),rgba(20,20,20,.9));}
.hero-overlay-midnight-teal::before{background:radial-gradient(ellipse at center,rgba(0,50,60,.95),rgba(0,30,40,.6));}
.hero-overlay-sand::before{background:linear-gradient(to bottom,rgba(180,120,60,.9),rgba(100,60,30,.7));}
.hero-overlay-indigo::before{background:radial-gradient(circle at center,rgba(30,0,80,.95),rgba(15,0,50,.6));}
.hero-overlay-peacock::before{background:linear-gradient(135deg,rgba(0,70,100,.95),rgba(0,100,70,.65));}
.hero-overlay-vignette::before{background:radial-gradient(circle at center,rgba(0,0,0,.6) 70%,rgba(0,0,0,.95) 100%);}
.hero-overlay-crimsonsunset::before{background:radial-gradient(ellipse at center,rgba(120,0,30,.9),rgba(255,80,60,.6));}
.hero-overlay-arctic::before{background:radial-gradient(circle at top,rgba(0,150,255,.85),rgba(0,60,120,.6));}
.hero-overlay-moss::before{background:radial-gradient(ellipse at center,rgba(40,70,40,.9),rgba(90,140,90,.6));}
.hero-overlay-amber::before{background:radial-gradient(circle,rgba(255,160,30,.9),rgba(150,80,0,.65));}
.hero-overlay-nightsky::before{background:linear-gradient(to bottom,rgba(10,10,50,.9),rgba(0,0,0,.85));}
.hero-overlay-turquoise::before{background:radial-gradient(circle at center,rgba(0,180,160,.85),rgba(0,100,80,.65));}
.hero-overlay-rosewood::before{background:linear-gradient(135deg,rgba(80,20,40,.9),rgba(150,50,80,.65));}
.hero-overlay-pearl::before{background:linear-gradient(to bottom right,rgba(255,255,255,.95),rgba(230,230,230,.7));}
.hero-overlay-cobalt::before{background:radial-gradient(ellipse at center,rgba(0,50,150,.9),rgba(0,20,90,.65));}
.hero-overlay-garnet::before{background:radial-gradient(circle at center,rgba(90,0,20,.95),rgba(40,0,10,.65));}
.hero-overlay-emeraldmist::before{background:radial-gradient(ellipse at bottom,rgba(0,120,70,.9),rgba(0,40,20,.6));}
.hero-overlay-silverfrost::before{background:linear-gradient(135deg,rgba(210,210,210,.9),rgba(140,140,140,.6));}
.hero-overlay-magenta::before{background:linear-gradient(to bottom left,rgba(200,0,150,.9),rgba(100,0,80,.65));}
.hero-overlay-chocolate::before{background:radial-gradient(circle at top,rgba(80,40,10,.95),rgba(40,20,5,.7));}
.hero-overlay-slatestorm::before{background:linear-gradient(160deg,rgba(70,70,80,.9),rgba(30,30,40,.7));}
.hero-overlay-lavender::before{background:linear-gradient(to top,rgba(180,160,230,.9),rgba(120,100,180,.65));}
.hero-overlay-obsidianred::before{background:linear-gradient(135deg,rgba(50,0,0,.95),rgba(100,0,20,.7));}
.hero-overlay-tealocean::before{background:radial-gradient(circle at center,rgba(0,100,120,.9),rgba(0,50,70,.6));}
.hero-overlay-royalgold::before{background:linear-gradient(to right,rgba(200,150,20,.9),rgba(120,80,10,.65));}
.hero-overlay-midnightindigo::before{background:radial-gradient(ellipse at center,rgba(30,0,60,.95),rgba(10,0,30,.7));}

/* Rangoli repeated patterns */
.hero-rangoli-pink{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-pink.svg");background-repeat:repeat;}
.hero-rangoli-blue{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-blue.svg");background-repeat:repeat;}
.hero-rangoli-purple{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-purple.svg");background-repeat:repeat;}
.hero-rangoli-grey{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-grey.svg");background-repeat:repeat;}
.hero-rangoli-red{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-red.svg");background-repeat:repeat;}
.hero-rangoli-orange{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-orange.svg");background-repeat:repeat;}
.hero-rangoli-green{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-green.svg");background-repeat:repeat;}
.hero-rangoli-yellow{background-color:var(--accent1);background-image:url("/assets/patterns/rangoli-yellow.svg");background-repeat:repeat;}

.hero-radial{background-image:repeating-radial-gradient(circle,var(--brand),var(--brand) 20px,var(--accent1) 20px,var(--accent1) 40px);}

/* =========================
   CARDS / CONTAINERS
   ========================= */
.card{
  border:0; border-radius:var(--radius);
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}
.card:hover{ transform: scale(1.08); box-shadow:0 8px 20px rgba(0,0,0,.2); z-index:2; }
.card.no-hover,
.card.no-hover:hover{ transform:none !important; box-shadow:0 4px 12px rgba(0,0,0,.05) !important; z-index:auto !important; }

.card-link{ text-decoration:none; color:inherit; transition: transform .15s ease; }
.card-link:hover{ transform: translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.12); }

/* Constitution-style box */
.constitution-box{
  background:#fff; border:2px solid rgba(0,0,0,.08);
  border-left:6px solid var(--accent1);
  border-radius:var(--radius);
  padding:1.25rem;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.constitution-box:hover{ transform: translateY(-3px); box-shadow:0 6px 18px rgba(0,0,0,.1); }


.lcnl-card h4 i.bi-info-circle{ color:var(--brand); border-left:6px solid var(--brand); padding-left:.5rem; }
.lcnl-card h4 i.bi-file-earmark-text{ color:var(--accent1); border-left:6px solid var(--accent1); padding-left:.5rem; }
.lcnl-card h4 i.bi-ticket-perforated{ color:#198754; border-left:6px solid #198754; padding-left:.5rem; }
.lcnl-card h4 i.bi-telephone-inbound{ color:#0d6efd; border-left:6px solid #0d6efd; padding-left:.5rem; }

.lcnl-card {
  position:relative;
}
/* LCNL Reading Box — replaces colourful variant */
.lcnl-card{
  background:#fff;                          /* no gradient */
  border:1px solid rgba(0,0,0,.08);         /* light edge for separation */
  border-radius:var(--radius);
  padding:1.25rem 1.25rem;                  /* comfy padding */
  box-shadow:0 2px 8px rgba(0,0,0,.04);     /* very soft shadow */
}

/* Optional: ultra-subtle brand accent */
.lcnl-card{ border-left:6px solid color-mix(in srgb, var(--brand) 20%, transparent); }


/* Keep it still on hover (no “cardy” animations) */
.lcnl-card:hover{ transform:none; box-shadow:0 2px 10px rgba(0,0,0,.06); }

/* Typography inside the reading box */
.lcnl-card h1, .lcnl-card h2, .lcnl-card h3,
.lcnl-card h4, .lcnl-card h5, .lcnl-card h6{
  margin-top:0;
  margin-bottom:.75rem;
  font-weight:700;
  color:#222;
  border-bottom:1px solid rgba(0,0,0,.06);  /* subtle section divider */
  padding-bottom:.35rem;
}

.lcnl-card p{
  margin-bottom:.85rem;
  line-height:1.65;                         /* easier reading */
  color:#333;
}

.lcnl-card ul, .lcnl-card ol{
  margin-bottom:.85rem;
  padding-left:1.1rem;                      /* readable list indent */
}

.lcnl-card > :last-child{ margin-bottom:0; }/* trim trailing gap */


.promo-banner img {
  width: 600px;
  height: auto;
}





/* Hover utility */
.hover-card{ transition: transform .2s ease, box-shadow .2s ease; border-radius:var(--radius); }
.hover-card:hover{ transform: translateY(-5px); box-shadow:0 6px 20px rgba(0,0,0,.15); }

/* =========================
   HEADER + NAVBAR
   ========================= */
.lcnl-header .lcnl-logo{ height: clamp(80px,10vw,110px); }
.lcnl-header a{ color:#222; }
.lcnl-header a:hover{ color:var(--brand); }
.lcnl-header .fs-4{ line-height:1.15; }
.lcnl-header .site-title{ margin-bottom:.5rem; }
@media (min-width:992px){ .lcnl-header .site-title{ margin-bottom:1rem; } }
.lcnl-header .socials a{ line-height:1; }

/* Social brand colours (incl. YouTube) */
.socials a[aria-label="Facebook"] i{ color:#1877F2 !important; }
.socials a[aria-label="Instagram"] i{ color:#E4405F !important; }
.socials a[aria-label="Vimeo"] i{ color:#19b7ea !important; }
.socials a[aria-label="YouTube"] i{ color:#FF0000 !important; }
/* Hover -> LCNL brand */
.socials a:hover i, .lcnl-header .socials a:hover i{ color:var(--brand) !important; }

/* Navbar (gold theme) */
.bg-lcnl{ background-color: var(--accent1) !important; box-shadow:0 2px 6px rgba(0,0,0,.25); }
.navbar{ border-radius:0; }
.lcnl-nav{ gap:2rem; }

.navbar-light .navbar-nav .nav-link{
  color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.25);
  transition: all .2s ease; padding:.75rem 1rem;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link.active{
  color:#fff !important; background-color:rgba(255,255,255,.2); border-radius:var(--radius);
}
.navbar-light .navbar-nav .nav-link.active{ font-weight:600; text-decoration: underline; }

.navbar-light .navbar-toggler{ border-color: rgba(255,255,255,.7); }
.navbar-light .navbar-toggler-icon{ filter: invert(1); } /* white icon */
.navbar-light .dropdown-toggle::after{ border-top-color:#fff !important; }

.navbar-light .dropdown-menu{
  background:#fff; border:none; border-radius:var(--radius);
  box-shadow:0 6px 20px rgba(0,0,0,.1);
}
.navbar-light .dropdown-item{ color:#222 !important; }
.navbar-light .dropdown-item:hover,
.navbar-light .dropdown-item:focus,
.navbar-light .dropdown-item.active{
  background-color: var(--accent1) !important; color:#fff !important;
}
/* Hover open on desktop only */
@media (min-width:992px){
  .navbar .dropdown:hover .dropdown-menu{ display:block; margin-top:0; }
  .navbar .dropdown-toggle::after{ vertical-align:.15em; }
}
/* Collapsed nav spacing */
@media (max-width:991.98px){
  .lcnl-nav{ gap:.5rem !important; }
  .navbar-nav .nav-link{ padding-top:.5rem !important; padding-bottom:.5rem !important; line-height:1.2 !important; }
  .navbar-nav .dropdown-menu .dropdown-item{ padding-top:.5rem !important; padding-bottom:.5rem !important; }
}

/* Toggler label size (Menu/Close) */
.navbar-toggler-text{
  font-size: 1rem; line-height:1.1; letter-spacing:.02em; font-weight:600; color:#fff;
}
@media (max-width:360px){ .navbar-toggler-text{ font-size:.75rem; } }

/* Admin bar */
.bg-darkblue{ background-color:#0d1b3d !important; }
.navbar-dark .nav-link{ color:#f8f9fa !important; }
.navbar-dark .nav-link:hover{ color: var(--accent1); }
#adminNav .navbar-nav{ justify-content:center; width:100%; }
#adminNav .nav-item{ text-align:center; }

/* Header buttons – fixed sizing to prevent hover “jump” */
.lcnl-header .btn-brand,
.lcnl-header .btn-outline-brand{
  --btn-py: .35rem; --btn-px: .9rem;
  padding: var(--btn-py) var(--btn-px);
  line-height: 1.2; border-width: 1px; font-weight:600; letter-spacing:.01em;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lcnl-header .btn-brand:hover,
.lcnl-header .btn-outline-brand:hover,
.lcnl-header .btn-brand:focus,
.lcnl-header .btn-outline-brand:focus{
  padding: var(--btn-py) var(--btn-px); transform:none; box-shadow:none;
}

.lcnl-header .btn {
  font-size: 0.85rem;       /* smaller text */
  padding: 0.25rem 0.6rem;  /* tighter padding */
  line-height: 1.2;
}

.lcnl-header .btn i {
  font-size: 0.95rem;       /* icons slightly smaller */
}

@media (max-width: 420px) {
  .lcnl-header .btn {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
  }
}



/* =========================
   BUTTONS
   ========================= */
/* Filled brand */
.btn-brand{
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--brand);
  --bs-btn-border-color:var(--brand);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--brand-600);
  --bs-btn-hover-border-color:var(--brand-600);
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:var(--brand-700);
  --bs-btn-active-border-color:var(--brand-700);
  --bs-btn-disabled-bg:var(--brand);
  --bs-btn-disabled-border-color:var(--brand);
  border:none; border-radius:var(--radius);
}

/* Outline brand -> filled on hover (force white text) */
.btn-outline-brand{
  --bs-btn-color:var(--brand);
  --bs-btn-border-color:var(--brand);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--brand);
  --bs-btn-hover-border-color:var(--brand);
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:var(--brand-700);
  --bs-btn-active-border-color:var(--brand-700);
  background-color:transparent;
  border:2px solid var(--brand);
  color:var(--brand);
}
.btn-outline-brand:hover,
.btn-outline-brand:focus,
.btn-outline-brand:active,
.btn-outline-brand.active,
.show > .btn-outline-brand.dropdown-toggle{
  color:#fff !important; background-color:var(--brand) !important; border-color:var(--brand) !important;
}

/* Link-style (e.g., Logout) */
.btn-link-brand{ color:var(--brand) !important; font-weight:600; }
.btn-link-brand:hover{ color:var(--brand-600) !important; text-decoration:underline; }

/* Focus ring */
.btn-brand:focus-visible,
.btn-outline-brand:focus-visible,
.btn-link-brand:focus-visible{
  outline:0; box-shadow:0 0 0 .2rem rgba(122,29,60,.25);
}

/* Accent button (gold) */
.btn-accent{ background:var(--accent1); color:#fff; border:none; }
.btn-accent:hover{ background:#c9a227; color:var(--brand); }

/* =========================
   EVENTS / GALLERY
   ========================= */
.event-overlay{
  position:absolute; bottom:0; left:0; right:0;
  background:rgba(0,0,0,.6); padding:.5rem; text-align:center;
}
/* Scroller scrollbar */
.d-flex.overflow-auto{ scrollbar-width:thin; scrollbar-color:var(--brand) #f1f1f1; }
.d-flex.overflow-auto::-webkit-scrollbar{ height:8px; }
.d-flex.overflow-auto::-webkit-scrollbar-track{ background:#f1f1f1; }
.d-flex.overflow-auto::-webkit-scrollbar-thumb{ background-color:var(--brand); border-radius:10px; }

/* Event cards in upcoming scroller (unified) */
.event-card-link{ width:200px; flex-shrink:0; }
.event-card{
  height:250px; display:flex; flex-direction:column;
}
.event-card .event-img-wrapper{
  flex:1; display:flex; align-items:center; justify-content:center;
  overflow:hidden; border-radius:var(--radius); position:relative;
}
.event-card .event-img-wrapper img{
  width:90%; height:300px; object-fit:contain;
}
.event-card .event-overlay{ position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,.6); padding:.5rem; text-align:center; }

/* =========================
   COMPONENTS MISC
   ========================= */
footer a{ opacity:.9; }
footer a:hover{ opacity:1; }

.accordion-button{ background:#f1f1f1; font-weight:600; }
.accordion-button:not(.collapsed){ background:#ddd; }

/* Committee photos */
.committee-photo{
  height:300px; width:100%;
  object-fit:contain; background:#f8f9fa; padding:10px;
}

/* Carousel tweaks */
#galleryCarousel{ position:relative; }
#galleryCarousel .carousel-control-prev,
#galleryCarousel .carousel-control-next{ width:10%; }
#galleryCarousel .carousel-control-prev-icon,
#galleryCarousel .carousel-control-next-icon{ filter: invert(1); }

/* Shiva image centre on mobile */
@media (max-width:768px){
  .shiva-img-wrapper{ margin:0 auto 20px !important; text-align:center; }
  .shiva-img-wrapper img{ display:inline-block; }
}

/* Hero layout helpers (if used) */
.hero .row{ flex-wrap:nowrap; }
.hero .col{ flex:1 1 auto; min-width:0; }
.hero .col-lg-4{ flex:0 0 auto; justify-content:flex-end; display:flex; align-items:center; }
.hero img{ max-width:175px; height:auto; }
.hero .overlay{ position:absolute; inset:0; background:rgba(0,0,0,.3); z-index:1; }
.hero .container{ position:relative; z-index:2; }

/* Page-specific hero colours (fixed undefined --accent → --accent1) */
.hero-events{ background:linear-gradient(135deg,var(--brand),#9c2b52); }
.hero-membership{ background:linear-gradient(135deg,var(--accent1),#f5d35c); }
.hero-bereavement{ background:linear-gradient(135deg,#333,#555); }
.hero-about{ background:linear-gradient(135deg,#005f73,#0a9396); }

/* HEADER login/register – force explicit colours & consistent sizing */
.lcnl-header .btn-brand{
  display:inline-flex; align-items:center; gap:.35rem;
  color:#fff !important;
  background-color: var(--brand) !important;
  border: 1px solid var(--brand) !important;
  border-radius: var(--radius);
  /* lock size so hover doesn't "grow" */
  --btn-py:.35rem; --btn-px:.9rem;
  padding: var(--btn-py) var(--btn-px);
  line-height:1.2; font-weight:600; letter-spacing:.01em;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lcnl-header .btn-brand:hover,
.lcnl-header .btn-brand:focus{
  color:#fff !important;
  background-color: var(--brand-600) !important;
  border-color: var(--brand-600) !important;
  box-shadow:none; transform:none;
}
.lcnl-header .btn-brand:active{
  color:#fff !important;
  background-color: var(--brand-700) !important;
  border-color: var(--brand-700) !important;
}

/* REGISTER (outline) – already set, but mirror the size so both match */
.lcnl-header .btn-outline-brand{
  display:inline-flex; align-items:center; gap:.35rem;
  border:2px solid var(--brand);
  color:var(--brand);
  --btn-py:.35rem; --btn-px:.9rem;
  padding: var(--btn-py) var(--btn-px);
  line-height:1.2; font-weight:600; letter-spacing:.01em;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lcnl-header .btn-outline-brand:hover,
.lcnl-header .btn-outline-brand:focus{
  color:#fff !important;
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  box-shadow:none; transform:none;
}

/* =========================
   MEMBERSHIP — Benefit Cards
   ========================= */
.membership-benefits .benefit-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-top:5px solid var(--brand);      /* maroon accent */
  border-radius:var(--radius);
  padding:1rem 1.1rem;
  box-shadow:0 4px 10px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display:flex; flex-direction:column;    /* equal height cards */
  min-height:100%;
}
.membership-benefits .benefit-card:hover{
  transform: translateY(-3px);            /* subtle lift */
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

/* Content helpers (optional) */
.membership-benefits .benefit-icon{
  font-size:2.4rem; line-height:1; color:var(--brand); margin-right:.5rem;
}
.membership-benefits .benefit-title{
  font-weight:700; margin:0;
}
.membership-benefits .benefit-body{
  margin-top:.35rem; color:#333; line-height:1.6; flex:1;
}
.membership-benefits .benefit-cta .btn{ margin-top:.5rem; }

/* Variant: gold top border if you want variety */
.membership-benefits .benefit-card.accent-gold{ border-top-color: var(--accent1); }

/* If a benefit card also has .card, prevent the global .card:hover scale */
.membership-benefits .benefit-card.card:hover{
  transform: translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.12);
}

/* =========================
   LCNL — Themed Tabs
   ========================= */

/* Remove default underline + use brand colours */
.nav-tabs{
  border: 0;
  --bs-nav-tabs-border-color: transparent;
  --bs-nav-tabs-link-hover-border-color: transparent;
  --bs-nav-tabs-link-active-border-color: var(--brand);
}

.nav-tabs .nav-link{
  color: var(--brand);
  font-weight: 600;
  background: transparent;
  border: 0;
  border-radius: var(--radius) var(--radius) 0 0;
  padding: .6rem 1rem;
  transition: background-color .15s ease, color .15s ease;
}

.nav-tabs .nav-link:hover{
  color: var(--brand-600);
  background: rgba(122, 29, 60, .06); /* very light maroon wash */
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link{
  color: #fff;
  background: var(--brand);
  border: 1px solid var(--brand);
  border-bottom-color: transparent;  /* visually connects to content box */
}

/* Accessible focus ring */
.nav-tabs .nav-link:focus-visible{
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(122, 29, 60, .25);
}

/* Pretty content box that sits under the tabs */
.nav-tabs + .tab-content{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-top: 0; /* merges with active tab */
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 1rem 1.25rem;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

/* Small-screen padding tweak */
@media (max-width: 576px){
  .nav-tabs .nav-link{ padding: .5rem .75rem; }
}

.trustee-photo {
  object-fit: cover;
  aspect-ratio: 3 / 4;
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.trustee-card {
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  transition: transform 0.2s;
}
.trustee-card:hover {
  transform: translateY(-4px);
}
.trustee-name {
  margin-top: 8px;
  font-weight: 600;
  font-size: 0.95rem;
}
.trustee-card img:hover {
  filter: brightness(0.9);
}
