/*
Theme Name: LFMTE Tulip Gold Top Bar Theme
Theme URI: https://tuliptraffic.com/
Description: A soft pastel tulip theme for LFMTE traffic exchanges with a
             horizontal TOP BAR instead of a sidebar, plus an interactive 400px
             hero header (pointer parallax, cursor glow, drifting petals,
             typing headline and count-up stats). Bootstrap 4 / LFMTE 3.x
             compatible, no PHP edits required.
Version: 1.5
Author: Tulip Traffic Exchange
Tags: gold, teal, ivory, luxury, elegant, topbar, hero, bootstrap4
*/

@charset "utf-8";

/* ==========================================================================
   0. LOCAL WEBFONTS (Quicksand — no Google connection required)
   ========================================================================== */

@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("style_files/webfonts/quicksand-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("style_files/webfonts/quicksand-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("style_files/webfonts/cinzel-400.woff2") format("woff2");
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("style_files/webfonts/cormorant-garamond-400.woff2") format("woff2");
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("style_files/webfonts/cormorant-garamond-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("style_files/webfonts/jost-400.woff2") format("woff2");
}

/* ==========================================================================
   1. DESIGN TOKENS
   Change these values to re-skin the whole theme in seconds.
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS — luxury teal / antique gold / ivory
   Sampled directly from the Tulip Traffic banner artwork.
   ========================================================================== */

:root {
  /* Gold — the primary accent */
  --luxe-gold-deep:   #8f6513;
  --luxe-gold:        #c9a227;
  --luxe-gold-mid:    #d0a942;
  --luxe-gold-bright: #e8cc7f;
  --luxe-gold-pale:   #f2e3b4;
  --luxe-gold-light:  #e0c46b;

  /* Teal — the counterpoint */
  --luxe-teal-deep:   #0f2c27;
  --luxe-teal:        #1a5048;
  --luxe-teal-mid:    #357a6f;
  --luxe-teal-light:  #7fae9f;
  --luxe-teal-pale:   #e8f0ec;

  /* Ivory — the ground */
  --luxe-ivory-50:    #fbf9f0;
  --luxe-ivory-100:   #f6f3e8;
  --luxe-ivory-200:   #efeada;
  --luxe-ivory-300:   #e6dfc6;
  --luxe-ivory-400:   #cfc7a8;

  /* Ink */
  --luxe-ink:         #0f2e28;
  --luxe-ink-soft:    #2c5249;
  --luxe-muted:       #6b6652;

  --luxe-line:        #e6dfc6;
  --luxe-line-strong: #d9cfa8;

  --luxe-shadow-sm:   0 4px 14px rgba(90, 72, 28, 0.10);
  --luxe-shadow:      0 12px 32px rgba(90, 72, 28, 0.13);
  --luxe-shadow-lg:   0 24px 60px rgba(60, 48, 18, 0.20);
  --luxe-inset:       inset 0 1px 0 rgba(255, 252, 235, 0.65);

  /* Type */
  --luxe-display: "Cinzel", "Cormorant Garamond", Georgia, serif;
  --luxe-serif:   "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --luxe-sans:    "Jost", "Segoe UI", system-ui, sans-serif;

  /* ---- legacy aliases: every older rule keeps working, in new colours ---- */
  --tulip-rose:       var(--luxe-gold);
  --tulip-rose-dark:  var(--luxe-gold-deep);
  --tulip-rose-soft:  var(--luxe-gold-bright);
  --tulip-plum:       var(--luxe-ink);
  --tulip-plum-soft:  var(--luxe-ink-soft);
  --tulip-sage:       var(--luxe-teal-mid);
  --tulip-sage-dark:  var(--luxe-teal);
  --tulip-cream:      var(--luxe-ivory-50);
  --tulip-blush-50:   var(--luxe-ivory-50);
  --tulip-blush-100:  #f4eedd;
  --tulip-blush-200:  #eadfc0;
  --tulip-blush-300:  #ddc98f;
  --tulip-blush-400:  #cdb269;
  --tulip-line:       var(--luxe-line);
  --tulip-shadow:     var(--luxe-shadow);
  --tulip-shadow-sm:  var(--luxe-shadow-sm);
  --tulip-shadow-lg:  var(--luxe-shadow-lg);
  --tulip-font:       var(--luxe-sans);
  --tulip-radius:     14px;
  --tulip-radius-sm:  10px;
  --tulip-radius-lg:  22px;
  --tulip-sidebar-w:  225px;
  --tulip-hero-h:     400px;
  --tulip-bar-h:      68px;
}

/* ==========================================================================
   2. BASE + TYPOGRAPHY
   ========================================================================== */

body {
  font-family: var(--tulip-font);
  font-size: 16px;
  font-weight: 500;
  color: var(--tulip-plum);
  background-color: var(--tulip-blush-50);
  /* The soft ivory wash is now a layer of the background itself (it used to
     be a fixed ::before overlay that painted ON TOP of un-wrapped page content
     and washed the text out). Texture photo stays visible underneath. */
  background-image:
    linear-gradient(180deg,
                    rgba(251, 249, 240, 0.40) 0%,
                    rgba(246, 243, 232, 0.52) 45%,
                    rgba(241, 236, 222, 0.62) 100%),
    url("images/bg_soft.jpg");
  background-size: cover, cover;
  background-position: center top, center top;
  background-attachment: fixed, fixed;
  background-repeat: no-repeat, no-repeat;
  -webkit-font-smoothing: antialiased;
}

/* (the old fixed wash overlay was removed — see the body background above) */
body::before { content: none; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--tulip-font);
  color: var(--tulip-plum);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.display-1, .display-2, .display-3, .display-4 {
  font-weight: 700;
  color: var(--tulip-plum);
  letter-spacing: -0.02em;
}

p, .lead { color: var(--tulip-plum-soft); }
.lead { font-weight: 500; }

a { color: var(--tulip-rose-dark); text-decoration: none; }
a:hover, a:focus { color: var(--tulip-rose); text-decoration: underline; }

hr { border-top: 1px solid var(--tulip-line); }

::selection { background: var(--tulip-rose-soft); color: var(--tulip-plum); }

/* Slim, pink scrollbars */
* { scrollbar-width: thin; scrollbar-color: var(--tulip-blush-400) transparent; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: var(--tulip-blush-400);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover { background: var(--tulip-rose); background-clip: content-box; }

/* ==========================================================================
   3. LAYOUT — TOP BAR (no sidebar)
   --------------------------------------------------------------------------
   LFMTE prints the same markup for a sidebar theme; here it is laid out as a
   horizontal top bar, so nothing in the script's HTML has to change:
     .lfm_slidebar        -> the bar itself (sticky, blurred, pink)
     .lfm_slidebar_mainmenu -> horizontal menu
     .lfm_topbar          -> hamburger + "Join Free" CTA (moved into the bar by
                             style_files/js/tulip-topbar.js)
   ========================================================================== */

.lfm_outerdiv {
  display: block;
  width: 100%;
  position: relative;
  z-index: 1;
}

.main { width: 100%; min-width: 0; }

.content {
  padding: 0 0 2.5rem 0;
  display: block;
}

/* --- The bar ------------------------------------------------------------- */

.lfm_slidebar {
  position: sticky;
  top: 0;
  z-index: 1030;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 0;
  height: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.15rem;
  margin-left: 0;
  padding: 0.5rem 1.15rem;
  background: rgba(251, 249, 240, 0.92);
  -webkit-backdrop-filter: saturate(150%) blur(14px);
  backdrop-filter: saturate(150%) blur(14px);
  border-right: 0;
  border-bottom: 1px solid var(--tulip-line);
  box-shadow: 0 4px 20px rgba(120, 96, 40, 0.08);
  transition: padding 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.lfm_slidebar::after { content: none; }      /* the decorative band stays in the sidebar theme */
.lfm_slidebar.toggled { margin-left: 0; }    /* reused as the mobile "menu open" switch */

/* Brand */
.lfm_slidebar > a {
  order: 1;
  display: flex;
  align-items: center;
  text-decoration: none;
}

.lfm_menu_logo {
  max-height: 38px;
  width: auto;
  margin: 0;
  display: block;
  transition: max-height 0.25s ease;
}

/* Menu */
.lfm_slidebar_mainmenu {
  order: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.1rem;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
  overflow: visible;
}

.lfm_slidebar_mainmenu li { margin: 0; position: relative; }

.lfm_slidebar_mainmenu li > a {
  display: inline-block;
  color: var(--tulip-plum);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0.42rem 0.95rem;
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease,
              box-shadow 0.2s ease, transform 0.15s ease;
}

.lfm_slidebar_mainmenu li > a::after { content: none; }   /* no sidebar bullet */
.lfm_slidebar_mainmenu li > a span { position: relative; }

.lfm_slidebar_mainmenu li > a:hover,
.lfm_slidebar_mainmenu li > a:focus {
  color: var(--tulip-rose-dark);
  background: #ffffff;
  border-color: var(--tulip-blush-200);
  box-shadow: var(--tulip-shadow-sm);
  transform: translateY(-1px);
  text-decoration: none;
}

.lfm_slidebar_mainmenu li > a.active {
  color: #ffffff;
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #e0c46b 100%);
  border-color: transparent;
  box-shadow: 0 8px 20px rgba(201, 162, 39, 0.34);
}

.lfm_slidebar_mainmenu .badge { margin-left: 0.35rem; vertical-align: 2px; font-size: 0.62rem; }

/* Submenu drops down on hover / keyboard focus */
.lfm_slidebar_mainmenu ul {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 210px;
  display: none;
  margin: 0.3rem 0 0 0;
  padding: 0.45rem;
  list-style: none;
  background: #ffffff;
  border: 1px solid var(--tulip-line);
  border-radius: 14px;
  box-shadow: var(--tulip-shadow);
  z-index: 40;
}
.lfm_slidebar_mainmenu li:hover > ul,
.lfm_slidebar_mainmenu li:focus-within > ul { display: block; }
.lfm_slidebar_mainmenu ul li > a {
  display: block;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  padding: 0.45rem 0.7rem;
}

/* Overflow menu — items that do not fit on one line live in here */
.tulip-menu-collapsed .lfm_slidebar_mainmenu { flex-wrap: nowrap; }
.lfm_slidebar_mainmenu li.tulip-more > ul { left: auto; right: 0; min-width: 235px; max-height: 70vh; overflow-y: auto; }
.lfm_slidebar_mainmenu li.tulip-more.open > ul { display: block; }
.lfm_slidebar_mainmenu li.tulip-more > a i { font-size: 10px; margin-left: 3px; vertical-align: 1px; }
.lfm_slidebar_mainmenu li.tulip-more ul > li > a { white-space: nowrap; }

/* --- Second header row: hamburger + CTA ---------------------------------- */

.lfm_topbar {
  order: 3;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0 0.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  position: static;
}

.lfm_topbar .navbar-collapse { display: flex !important; align-items: center; }
.lfm_topbar .navbar-nav {
  flex-direction: row;
  align-items: center;
  margin-left: 0;
}
.lfm_topbar .navbar-nav > li { margin-left: 0.4rem; }

/* Fallback if the script is missing or blocked: the second row still looks tidy */
html:not(.tulip-topbar-ready) .lfm_topbar {
  justify-content: flex-end;
  padding: 0.5rem 1.15rem;
  background: rgba(252, 250, 242, 0.72);
  border-bottom: 1px solid var(--tulip-line);
}

.lfm_slidebar_toggleswitch {
  display: none;                    /* desktop: the menu is already on screen */
  cursor: pointer;
  font-size: 20px;
  color: var(--tulip-rose);
  padding: 8px 11px;
  border-radius: 12px;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.lfm_slidebar_toggleswitch:hover {
  color: var(--tulip-rose-dark);
  background: var(--tulip-blush-100);
  transform: scale(1.05);
}

/* Compact state once the page is scrolled (added by tulip-topbar.js) */
.lfm_slidebar.is-stuck {
  padding-top: 0.32rem;
  padding-bottom: 0.32rem;
  background: rgba(252, 250, 242, 0.97);
  box-shadow: 0 10px 30px rgba(110, 88, 35, 0.14);
}
.lfm_slidebar.is-stuck .lfm_menu_logo { max-height: 30px; }

/* --- Mobile: one row + dropdown panel ----------------------------------- */

@media (max-width: 991.98px) {
  .lfm_slidebar_toggleswitch { display: inline-flex; }
  .lfm_topbar { order: 3; margin-left: auto; }

  .lfm_slidebar_mainmenu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.1rem;
    margin: 0;
    padding: 0.6rem;
    background: #ffffff;
    border-top: 1px solid var(--tulip-line);
    box-shadow: 0 24px 48px rgba(60, 48, 18, 0.18);
    display: none;
    max-height: calc(100vh - 84px);
    overflow: auto;
    z-index: 30;
  }
  .lfm_slidebar.toggled .lfm_slidebar_mainmenu { display: flex; }

  .lfm_slidebar_mainmenu li > a {
    border-radius: 12px;
    padding: 0.6rem 0.9rem;
    font-size: 15px;
  }
  .lfm_slidebar_mainmenu ul {
    position: static;
    display: block;
    border: 0;
    box-shadow: none;
    padding: 0.1rem 0 0.1rem 0.75rem;
    margin: 0;
  }
}

@media (max-width: 575.98px) {
  .lfm_slidebar { padding: 0.45rem 0.85rem; }
  .lfm_menu_logo { max-height: 32px; }
  .lfm_topbar .navbar-nav > li { margin-left: 0.25rem; }
}

/* ==========================================================================
   4. INTERACTIVE HERO HEADER (400px)
   --------------------------------------------------------------------------
   Drop this in as the first element of <main class="content"> — or paste the
   mark-up from hero.html into the homepage content area:

     <section class="tulip-hero">
       <div class="th-bg"></div>          photo layer   (parallax)
       <div class="th-shade"></div>       readability wash
       <div class="th-glow"></div>        follows the cursor
       <div class="th-petals"></div>      drifting petals (built by JS)
       <div class="container th-inner"> ... content ... </div>
     </section>

   Height is fixed at 400px (override with --tulip-hero-h), and every effect
   is disabled automatically for visitors who ask for reduced motion.
   ========================================================================== */

.tulip-hero {
  --tulip-hero-h: 400px;
  --th-mx: 50%;
  --th-my: 40%;
  position: relative;
  display: flex;
  align-items: center;
  height: var(--tulip-hero-h);
  min-height: var(--tulip-hero-h);
  max-height: var(--tulip-hero-h);
  overflow: hidden;
  isolation: isolate;
  background: var(--tulip-blush-100);
  border-bottom: 1px solid var(--tulip-line);
}

.th-bg, .th-shade, .th-glow, .th-petals { position: absolute; pointer-events: none; }

/* Layer 0 — the tulip field */
.th-bg {
  inset: -5% -4%;
  z-index: 0;
  background: url("images/tulips_hero.jpg") center 45% / cover no-repeat;
  transform: scale(1.06);
  will-change: transform;
}

/* Layer 1 — wash that keeps the copy readable */
.th-shade {
  inset: 0;
  z-index: 1;
  background: linear-gradient(100deg,
              rgba(250, 248, 238, 0.95) 0%,
              rgba(246, 243, 232, 0.80) 38%,
              rgba(240, 234, 216, 0.34) 72%,
              rgba(232, 223, 199, 0.18) 100%);
}

/* Layer 2 — soft light that follows the pointer */
.th-glow {
  inset: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.4s ease;
  background: radial-gradient(300px circle at var(--th-mx) var(--th-my),
              rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 68%);
}
.tulip-hero:hover .th-glow { opacity: 1; }

/* Layer 3 — petals drifting down the hero */
.th-petals { inset: 0; z-index: 3; overflow: hidden; }

.th-petal {
  position: absolute;
  top: -28px;
  width: 12px;
  height: 12px;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  background: linear-gradient(135deg, #f2e3b4, var(--tulip-rose));
  animation: th-fall var(--th-dur, 9s) linear var(--th-delay, 0s) infinite;
  will-change: transform, opacity;
}
@keyframes th-fall {
  0%   { transform: translate3d(0, -30px, 0) rotate(0deg);   opacity: 0; }
  10%  { opacity: 0.55; }
  88%  { opacity: 0.40; }
  100% { transform: translate3d(var(--th-sway, 60px), 470px, 0) rotate(320deg); opacity: 0; }
}

/* Layer 4 — the content */
.th-inner { position: relative; z-index: 4; width: 100%; }
.th-copy { will-change: transform; }

.th-title {
  font-size: clamp(1.6rem, 3.1vw, 2.7rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem;
  color: var(--tulip-plum);
}

.th-sub {
  font-size: clamp(0.98rem, 1.3vw, 1.1rem);
  color: var(--tulip-plum-soft);
  margin: 0 0 1rem;
  min-height: 1.7em;                 /* stops the typing effect shifting the layout */
}
.th-typed { color: var(--tulip-rose-dark); font-weight: 700; }

.th-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; }

/* Floating counters */
.th-stats { display: flex; flex-direction: column; gap: 0.6rem; will-change: transform; }

.th-chip {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  padding: 0.58rem 1.05rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--tulip-line);
  border-radius: 16px;
  box-shadow: var(--tulip-shadow-sm);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.th-chip:hover { transform: translateX(-6px); box-shadow: var(--tulip-shadow); }
.th-chip b {
  font-size: 1.32rem;
  font-weight: 700;
  color: var(--tulip-rose-dark);
  min-width: 4.6rem;
  font-variant-numeric: tabular-nums;
}
.th-chip span {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tulip-plum-soft);
}

/* Shine sweep across the primary call to action */
.th-actions .btn-primary { position: relative; overflow: hidden; }
.th-actions .btn-primary::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-18deg);
  animation: th-shine 5s ease-in-out infinite;
}
@keyframes th-shine {
  0%, 55%   { left: -60%; }
  78%, 100% { left: 135%; }
}

@media (max-width: 991.98px) {
  .th-shade {
    background: linear-gradient(180deg,
                rgba(250, 248, 238, 0.95) 0%,
                rgba(244, 239, 226, 0.88) 58%,
                rgba(236, 228, 206, 0.74) 100%);
  }
  .tulip-hero { text-align: center; }
  .th-actions { justify-content: center; }
  .th-sub { min-height: 0; }
}

/* Respect the visitor's motion preference */
@media (prefers-reduced-motion: reduce) {
  .th-petal,
  .th-actions .btn-primary::after { display: none; animation: none; }
  .th-bg, .th-copy, .th-stats { transform: none !important; }
}

/* ==========================================================================
   5. BUTTONS
   ========================================================================== */

.btn {
  font-family: var(--tulip-font);
  font-weight: 700;
  border-radius: 999px;
  border-width: 1px;
  padding: 0.5rem 1.35rem;
  letter-spacing: 0.01em;
  transition: transform 0.15s ease, box-shadow 0.2s ease,
              background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn:focus, .btn.focus { box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.34); }

.btn-lg { padding: 0.75rem 1.9rem; font-size: 1.06rem; }
.btn-sm { padding: 0.32rem 0.95rem; font-size: 0.83rem; }
.btn-block { border-radius: var(--tulip-radius-sm); }

.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #e0c46b 100%);
  border-color: var(--tulip-rose);
  box-shadow: 0 8px 20px rgba(201, 162, 39, 0.34);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active {
  color: #fff;
  background: linear-gradient(135deg, var(--tulip-rose-dark) 0%, var(--tulip-rose) 100%);
  border-color: var(--tulip-rose-dark);
  box-shadow: 0 10px 24px rgba(143, 101, 19, 0.32);
}
.btn-primary:not(:disabled):not(.disabled):active { background: var(--tulip-rose-dark); }

/* "Join Free" in the top bar uses btn-success in stock LFMTE */
.btn-success {
  color: #fff;
  background: linear-gradient(135deg, var(--tulip-sage) 0%, #a9c9bd 100%);
  border-color: var(--tulip-sage);
  box-shadow: 0 8px 18px rgba(79, 145, 132, 0.30);
}
.btn-success:hover, .btn-success:focus, .btn-success:not(:disabled):not(.disabled):active {
  color: #fff;
  background: linear-gradient(135deg, var(--tulip-sage-dark) 0%, var(--tulip-sage) 100%);
  border-color: var(--tulip-sage-dark);
}

.btn-outline-primary {
  color: var(--tulip-rose-dark);
  border-color: var(--tulip-blush-300);
  background: #fff;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  color: #fff;
  background: var(--tulip-rose);
  border-color: var(--tulip-rose);
}

.btn-secondary { background: var(--tulip-plum-soft); border-color: var(--tulip-plum-soft); color: #fff; }
.btn-secondary:hover, .btn-secondary:focus {
  background: var(--tulip-plum); border-color: var(--tulip-plum); color: #fff;
}

.btn-danger { background: #b5563c; border-color: #b5563c; }
.btn-danger:hover, .btn-danger:focus { background: #9c4a33; border-color: #9c4a33; }

.btn-warning { background: #e3c266; border-color: #e3c266; color: #6b5014; }
.btn-warning:hover, .btn-warning:focus { background: #d8b24a; border-color: #d8b24a; color: #57400f; }

.btn-info { background: #6f9e94; border-color: #6f9e94; color: #fff; }
.btn-info:hover, .btn-info:focus { background: #5d8b81; border-color: #5d8b81; color: #fff; }

.btn-light { background: #fff; border-color: var(--tulip-line); color: var(--tulip-plum); }
.btn-light:hover, .btn-light:focus { background: var(--tulip-blush-100); border-color: var(--tulip-blush-300); color: var(--tulip-plum); }

.btn-link { color: var(--tulip-rose-dark); font-weight: 700; }
.btn-link:hover { color: var(--tulip-rose); }

.btn.disabled, .btn:disabled { opacity: 0.55; box-shadow: none; transform: none; }

/* Social buttons keep their brand colour but pick up the shape */
.btn[style*="#3b5998"] { border-radius: 999px !important; }

/* ==========================================================================
   6. CARDS AND PANELS
   ========================================================================== */

.card {
  border: 1px solid var(--tulip-line);
  border-radius: var(--tulip-radius);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: var(--tulip-shadow-sm);
  overflow: hidden;
}

.card-header {
  background: linear-gradient(135deg, var(--tulip-blush-100) 0%, #ffffff 100%);
  border-bottom: 1px solid var(--tulip-line);
  color: var(--tulip-plum);
  font-weight: 700;
  padding: 0.95rem 1.25rem;
}

.card-body { padding: 1.25rem; }
.card-footer {
  background: var(--tulip-blush-50);
  border-top: 1px solid var(--tulip-line);
  padding: 0.9rem 1.25rem;
}

/* Panel aliases used by some LFMTE pages */
.panel {
  background: #fff;
  border: 1px solid var(--tulip-line);
  border-radius: var(--tulip-radius);
  box-shadow: var(--tulip-shadow-sm);
}
.panel-heading {
  background: var(--tulip-blush-100);
  border-radius: var(--tulip-radius) var(--tulip-radius) 0 0;
  padding: 0.9rem 1.2rem;
  font-weight: 700;
}

/* Feature card with a tulip top border — add class="card-tulip" */
.card-tulip { position: relative; }
.card-tulip::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  z-index: 1;
  background: linear-gradient(90deg, var(--tulip-rose), var(--tulip-blush-400) 60%, var(--tulip-sage));
}

.card-hover { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: var(--tulip-shadow-lg); }

/* Stat tiles for the members area */
.stat-card {
  border-radius: var(--tulip-radius);
  border: 1px solid var(--tulip-line);
  background: #fff;
  padding: 1.15rem 1.25rem;
  box-shadow: var(--tulip-shadow-sm);
  position: relative;
  overflow: hidden;
}
.stat-card .stat-value {
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--tulip-rose-dark);
  line-height: 1.1;
}
.stat-card .stat-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-weight: 700;
  color: var(--tulip-plum-soft);
}
.stat-card .stat-icon {
  position: absolute;
  right: 14px;
  top: 14px;
  font-size: 1.5rem;
  color: var(--tulip-blush-300);
}

/* ==========================================================================
   7. FORMS
   ========================================================================== */

.form-control {
  border-radius: var(--tulip-radius-sm);
  border: 1px solid var(--tulip-line);
  background: #fff;
  color: var(--tulip-plum);
  font-family: var(--tulip-font);
  font-weight: 500;
  padding: 0.55rem 0.9rem;
  height: auto;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-control::placeholder { color: #8c8567; }
.form-control:focus {
  border-color: var(--tulip-blush-400);
  box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.30);
  background: #fff;
  color: var(--tulip-plum);
}
.form-control:disabled, .form-control[readonly] {
  background: var(--tulip-blush-50);
  color: var(--tulip-plum-soft);
}

.form-control-lg { border-radius: 14px; font-size: 1.05rem; }
textarea.form-control { min-height: 120px; }

label, .form-label, .col-form-label { font-weight: 600; color: var(--tulip-plum); }

.custom-select, .custom-file-label {
  border-radius: var(--tulip-radius-sm);
  border-color: var(--tulip-line);
  color: var(--tulip-plum);
  font-weight: 500;
}
.custom-select:focus, .custom-file-input:focus ~ .custom-file-label {
  border-color: var(--tulip-blush-400);
  box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.30);
}

.input-group-text {
  background: var(--tulip-blush-100);
  border-color: var(--tulip-line);
  color: var(--tulip-plum-soft);
  border-radius: var(--tulip-radius-sm);
  font-weight: 600;
}

.custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--tulip-rose);
  border-color: var(--tulip-rose);
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.30);
}
.custom-control-label::before { border-color: var(--tulip-blush-300); }
.custom-range::-webkit-slider-thumb { background: var(--tulip-rose); }
.custom-range::-moz-range-thumb { background: var(--tulip-rose); }
.custom-range::-webkit-slider-runnable-track { background: var(--tulip-blush-200); }
.custom-range::-moz-range-track { background: var(--tulip-blush-200); }

.form-text, .help-block, .text-muted { color: #6b6652 !important; }
.valid-feedback { color: var(--tulip-sage-dark); }
.invalid-feedback { color: #9c4a33; }

/* ==========================================================================
   8. TABLES
   ========================================================================== */

.table { color: var(--tulip-plum); margin-bottom: 0; }

.table thead th {
  border-top: 0;
  border-bottom: 1px solid var(--tulip-line);
  background: linear-gradient(135deg, var(--tulip-blush-100) 0%, #fbf8ec 100%);
  color: var(--tulip-plum);
  font-weight: 700;
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.85rem 1rem;
  white-space: nowrap;
}

.table td, .table th {
  border-top: 1px solid var(--tulip-line);
  padding: 0.8rem 1rem;
  vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(odd) { background-color: #fdfbf4; }
.table-hover tbody tr:hover { background-color: var(--tulip-blush-100); color: var(--tulip-plum); }
.table-bordered { border-color: var(--tulip-line); }
.table-bordered td, .table-bordered th { border-color: var(--tulip-line); }

.table thead.thead-dark th,
.thead-dark th {
  background: linear-gradient(135deg, var(--tulip-plum) 0%, #3f6159 100%);
  color: #fff;
  border-color: transparent;
}

/* Wrap any wide table in this to keep the members area tidy */
.table-tulip {
  background: #fff;
  border: 1px solid var(--tulip-line);
  border-radius: var(--tulip-radius);
  overflow: hidden;
  box-shadow: var(--tulip-shadow-sm);
}

/* ==========================================================================
   9. ALERTS, BADGES, PAGINATION, NAVS, MODALS AND FRIENDS
   ========================================================================== */

.alert {
  border-radius: var(--tulip-radius-sm);
  border: 1px solid transparent;
  font-weight: 600;
  padding: 0.9rem 1.15rem;
}
.alert-primary { background: var(--tulip-blush-100); border-color: var(--tulip-blush-300); color: #8a6a1c; }
.alert-success { background: #edf3ee; border-color: #cfe0d2; color: var(--tulip-sage-dark); }
.alert-info    { background: #eef4f1; border-color: #d6e6e0; color: #3f6f66; }
.alert-warning { background: #fbf3df; border-color: #ecd9a6; color: #8a6a1c; }
.alert-danger  { background: #faeee2; border-color: #e8cfa8; color: #a8442f; }

.badge {
  border-radius: 999px;
  font-weight: 700;
  padding: 0.38em 0.75em;
  letter-spacing: 0.02em;
}
.badge-primary { background: var(--tulip-rose); }
.badge-secondary { background: var(--tulip-plum-soft); }
.badge-success { background: var(--tulip-sage); }
.badge-warning { background: #e3c266; color: #6b5014; }
.badge-info { background: #6f9e94; }
.badge-danger { background: #b5563c; }
.badge-light { background: var(--tulip-blush-100); color: var(--tulip-rose-dark); }
.badge-pill { padding-left: 0.9em; padding-right: 0.9em; }

.pagination { margin-bottom: 0; }
.page-link {
  color: var(--tulip-rose-dark);
  border-color: var(--tulip-line);
  font-weight: 700;
  margin: 0 3px;
  border-radius: var(--tulip-radius-sm) !important;
}
.page-link:hover { background: var(--tulip-blush-100); color: var(--tulip-rose-dark); border-color: var(--tulip-blush-300); }
.page-item.active .page-link {
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #e0c46b 100%);
  border-color: var(--tulip-rose);
  color: #fff;
}
.page-item.disabled .page-link { color: #c3b995; border-color: var(--tulip-line); }

.nav-tabs { border-bottom: 1px solid var(--tulip-line); }
.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-radius: var(--tulip-radius-sm) var(--tulip-radius-sm) 0 0;
  color: var(--tulip-plum-soft);
  font-weight: 700;
}
.nav-tabs .nav-link:hover { border-color: transparent; color: var(--tulip-rose-dark); background: var(--tulip-blush-50); }
.nav-tabs .nav-link.active {
  color: var(--tulip-rose-dark);
  background: #fff;
  border-color: var(--tulip-line) var(--tulip-line) #fff;
}
.nav-pills .nav-link {
  border-radius: 999px;
  color: var(--tulip-plum-soft);
  font-weight: 700;
}
.nav-pills .nav-link:hover { background: var(--tulip-blush-100); color: var(--tulip-rose-dark); }
.nav-pills .nav-link.active { background: linear-gradient(135deg, var(--tulip-rose) 0%, #e0c46b 100%); color: #fff; }

.list-group-item {
  border-color: var(--tulip-line);
  color: var(--tulip-plum);
  background: #fff;
}
.list-group-item:first-child { border-top-left-radius: var(--tulip-radius-sm); border-top-right-radius: var(--tulip-radius-sm); }
.list-group-item:last-child { border-bottom-left-radius: var(--tulip-radius-sm); border-bottom-right-radius: var(--tulip-radius-sm); }
.list-group-item.active {
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #e0c46b 100%);
  border-color: var(--tulip-rose);
  color: #fff;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  background: var(--tulip-blush-100);
  color: var(--tulip-rose-dark);
}

.dropdown-menu {
  border: 1px solid var(--tulip-line);
  border-radius: var(--tulip-radius-sm);
  box-shadow: var(--tulip-shadow);
  padding: 0.4rem;
}
.dropdown-item { border-radius: 8px; font-weight: 600; color: var(--tulip-plum); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--tulip-blush-100); color: var(--tulip-rose-dark); }
.dropdown-item.active, .dropdown-item:active { background: var(--tulip-rose); color: #fff; }
.dropdown-divider { border-top-color: var(--tulip-line); }

.modal-content { border: none; border-radius: var(--tulip-radius); box-shadow: var(--tulip-shadow-lg); }
.modal-header { border-bottom: 1px solid var(--tulip-line); background: linear-gradient(135deg, var(--tulip-blush-100) 0%, #fff 100%); border-radius: var(--tulip-radius) var(--tulip-radius) 0 0; }
.modal-footer { border-top: 1px solid var(--tulip-line); }
.modal-title { font-weight: 700; }
.close { color: var(--tulip-plum); text-shadow: none; opacity: 0.6; }
.close:hover { opacity: 1; color: var(--tulip-rose-dark); }

.progress {
  background: var(--tulip-blush-100);
  border-radius: 999px;
  height: 12px;
  box-shadow: inset 0 1px 2px rgba(120, 96, 40, 0.10);
}
.progress-bar { background: linear-gradient(90deg, var(--tulip-blush-400), var(--tulip-rose)); border-radius: 999px; font-weight: 700; font-size: 0.7rem; }
.progress-bar-striped { background-image: linear-gradient(45deg, rgba(255,255,255,.25) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.25) 50%, rgba(255,255,255,.25) 75%, transparent 75%, transparent); }

.breadcrumb {
  background: #fff;
  border: 1px solid var(--tulip-line);
  border-radius: 999px;
  padding: 0.55rem 1.15rem;
  font-weight: 600;
}
.breadcrumb-item.active { color: var(--tulip-plum-soft); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--tulip-blush-400); }

.jumbotron {
  background: linear-gradient(135deg, var(--tulip-blush-100) 0%, #fff 65%);
  border: 1px solid var(--tulip-line);
  border-radius: var(--tulip-radius-lg);
  box-shadow: var(--tulip-shadow-sm);
}

.tooltip-inner, .popover { border-radius: var(--tulip-radius-sm); font-family: var(--tulip-font); }
.tooltip-inner { background: var(--tulip-plum); font-weight: 600; }
.bs-tooltip-top .arrow::before { border-top-color: var(--tulip-plum); }
.popover { border-color: var(--tulip-line); box-shadow: var(--tulip-shadow); }
.popover-header { background: var(--tulip-blush-100); border-bottom-color: var(--tulip-line); color: var(--tulip-plum); font-weight: 700; }

/* ==========================================================================
   10. LFMTE UTILITY CLASSES (used across the members area)
   ========================================================================== */

/* Text link that looks like a button */
.buttonlink {
  cursor: pointer;
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #e0c46b 100%);
  border-radius: 999px;
  border: 1px solid var(--tulip-rose);
  display: inline-block;
  color: #ffffff;
  font-family: var(--tulip-font);
  font-size: 15px;
  font-weight: 700;
  padding: 5px 15px;
  margin: 2px 1px;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(201, 162, 39, 0.26);
  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.buttonlink:hover {
  color: #ffffff;
  background: linear-gradient(135deg, var(--tulip-rose-dark) 0%, var(--tulip-rose) 100%);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 9px 20px rgba(143, 101, 19, 0.30);
}

/* Full width band, e.g. page section headers */
.infobar {
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #d8b95a 55%, var(--tulip-blush-300) 100%);
}
.infobar h2, .infobar h1, .infobar h3 { color: #ffffff; }
.infobar a { color: #fff; text-decoration: underline; }

/* Vertically centre a Bootstrap row */
.vcenter { display: flex; align-items: center; }

/* Members area text styles */
.lfm_title {
  font-family: var(--tulip-font);
  color: var(--tulip-plum);
  font-size: 32px;
  font-weight: 700;
}
.lfm_descr {
  font-family: var(--tulip-font);
  color: var(--tulip-plum-soft);
  font-size: 16px;
}
.lfm_descr_bold {
  font-family: var(--tulip-font);
  color: var(--tulip-plum);
  font-size: 16px;
  font-weight: 700;
}

.feedicon { color: var(--tulip-rose); font-size: 20px; margin-right: 5px; }

/* Icon spacing */
.far, .fas, .fab, .fal { margin-right: 3px; }

/* Profile pictures */
.profilepic_small { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: var(--tulip-shadow-sm); }
.profilepic_med   { width: 75px; height: 75px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: var(--tulip-shadow-sm); }
.profilepic_large { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; border: 5px solid #fff; box-shadow: var(--tulip-shadow); }

/* Footer */
.lfm_footer {
  background: linear-gradient(180deg, #17342e 0%, #10241f 100%);
  color: #f0e7c8;
  margin-top: 40px;
  position: relative;
}
.lfm_footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--tulip-blush-300), var(--tulip-rose), var(--tulip-sage));
}
.lfm_footer h4, .lfm_footer h5 { color: #fff; letter-spacing: 0.02em; }
.lfm_footer p, .lfm_footer li { color: #c3d6cd; }
.lfm_footer a { color: #f2e3b4; }
.lfm_footer a:hover { color: #fff; }

/* ==========================================================================
   11. THEME EXTRAS (decorative bits you can drop into any page)
   ========================================================================== */

/* Hero banner with the tulip field photo — <div class="hero-tulip"> */
.hero-tulip {
  position: relative;
  border-radius: var(--tulip-radius-lg);
  overflow: hidden;
  background-image: url("images/tulips_hero.jpg");
  background-size: cover;
  background-position: center 35%;
  box-shadow: var(--tulip-shadow);
}
.hero-tulip::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(250, 248, 238, 0.05) 0%, rgba(238, 231, 210, 0.82) 100%);
}
.hero-tulip > * { position: relative; z-index: 1; }

/* Rounded photo, e.g. the homepage world / traffic illustrations */
.img-tulip {
  border-radius: var(--tulip-radius);
  border: 1px solid var(--tulip-line);
  box-shadow: var(--tulip-shadow);
  background: #fff;
}

/* Tulip divider — <div class="tulip-divider"></div> */
.tulip-divider {
  height: 26px;
  margin: 1.75rem 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 26px 26px;
  position: relative;
}
.tulip-divider::before,
.tulip-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  width: calc(50% - 30px);
  background: linear-gradient(90deg, transparent, var(--tulip-blush-300));
}
.tulip-divider::before { left: 0; }
.tulip-divider::after { right: 0; transform: scaleX(-1); }
.tulip-divider {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ee6fa0' d='M12 2c1.9 1.2 3 3.1 3 5.2 0 2.3-1.3 4.2-3 4.9-1.7-.7-3-2.6-3-4.9C9 5.1 10.1 3.2 12 2z'/%3E%3Cpath fill='%237fa98c' d='M11.4 12.4h1.2v9.2h-1.2z'/%3E%3Cpath fill='%237fa98c' d='M11.5 15.6c-1.9 0-3.2-1.2-3.4-3 1.9 0 3.1 1.1 3.4 3zm1 1.6c1.9 0 3.2-1.2 3.4-3-1.9 0-3.1 1.1-3.4 3z'/%3E%3C/svg%3E");
}

/* Section wrapper used on the public pages */
.section-tulip { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.section-tulip-alt {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(242, 237, 223, 0.75) 100%);
  border-top: 1px solid var(--tulip-line);
  border-bottom: 1px solid var(--tulip-line);
}

/* Eyebrow label */
.eyebrow {
  display: inline-block;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tulip-rose-dark);
  background: #fff;
  border: 1px solid var(--tulip-blush-300);
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  margin-bottom: 0.9rem;
}

/* Colour helpers */
.text-rose { color: var(--tulip-rose) !important; }
.text-plum { color: var(--tulip-plum) !important; }
.text-sage { color: var(--tulip-sage-dark) !important; }
.bg-blush  { background-color: var(--tulip-blush-100) !important; }
.bg-blush-soft { background-color: var(--tulip-blush-50) !important; }
.bg-sage   { background-color: #edf3ee !important; }
.bg-cream  { background-color: var(--tulip-cream) !important; }
.bg-white-glass { background: rgba(255, 255, 255, 0.9) !important; backdrop-filter: blur(8px); }
.border-blush { border-color: var(--tulip-line) !important; }
.shadow-soft { box-shadow: var(--tulip-shadow) !important; }
.shadow-soft-sm { box-shadow: var(--tulip-shadow-sm) !important; }
.round-xl { border-radius: var(--tulip-radius-lg) !important; }
.round-md { border-radius: var(--tulip-radius) !important; }
.round-sm { border-radius: var(--tulip-radius-sm) !important; }

/* --------------------------------------------------------------------------
   Stock homepage re-skin, so the theme looks finished even before you touch
   the page content. The default LFMTE homepage marks its grey "Get Started"
   band with an inline style; this repaints it pink without editing anything.
   Remove this block if you would rather keep that band grey.
   -------------------------------------------------------------------------- */

section[style*="#555555"],
section[style*="#555"],
div[style*="#555555"].infobar {
  background: linear-gradient(135deg, var(--tulip-rose) 0%, #d8b95a 55%, var(--tulip-blush-400) 100%) !important;
  border-top: 1px solid var(--tulip-blush-300);
  border-bottom: 1px solid var(--tulip-blush-300);
  color: #fff;
}
section[style*="#555555"] h1,
section[style*="#555555"] h2,
section[style*="#555555"] p,
section[style*="#555555"] .lead { color: #fff !important; }
section[style*="#555555"] .text-white { color: #fff !important; }
/* Buttons sitting on that pink band */
section[style*="#555555"] .btn-primary {
  background: #fff;
  color: var(--tulip-rose-dark);
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(80, 64, 24, 0.22);
}
section[style*="#555555"] .btn-primary:hover,
section[style*="#555555"] .btn-primary:focus {
  background: var(--tulip-blush-100);
  color: var(--tulip-rose-dark);
}

/* Custom control panel shown around the surf bar iframe */
.surf-frame {
  border: 1px solid var(--tulip-line);
  border-radius: var(--tulip-radius);
  background: #fff;
  box-shadow: var(--tulip-shadow);
  padding: 0.75rem;
}
.surf-frame iframe {
  border: 0;
  border-radius: var(--tulip-radius-sm);
  width: 100%;
  background: #fff;
}

/* ==========================================================================
   12. RESPONSIVE TWEAKS
   ========================================================================== */

@media (max-width: 991.98px) {
  .lfm_menu_logo { max-height: 38px; }
  .display-4 { font-size: 2.3rem; }
  .lfm_title { font-size: 26px; }
}

@media (max-width: 575.98px) {
  body { font-size: 15px; }
  .lfm_topbar { padding: 0.5rem 0.75rem; }
  .content { padding: 0.25rem 0.25rem 2rem 0.25rem; }
  .display-4 { font-size: 1.95rem; }
  .btn-lg { padding: 0.65rem 1.5rem; font-size: 1rem; }
}

/* Keep the fixed background from fighting small screens */
@media (max-width: 889px) {
  body { background-attachment: scroll, scroll; }
}

/* ==========================================================================
   13. LUXE SKIN — display type, gilting and the banner header
   ========================================================================== */

/* --- Typography: engraved caps for headings, garamond for prose ---------- */

h1, h2, h3, .h1, .h2, .h3,
.display-1, .display-2, .display-3, .display-4,
.lfm_title, .modal-title {
  font-family: var(--luxe-display);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--luxe-ink);
}

h4, h5, h6, .h4, .h5, .h6,
.card-header, .panel-heading, .nav-tabs .nav-link, .nav-pills .nav-link,
.table thead th, .badge, .eyebrow, .stat-label, .btn, .buttonlink, label,
.form-label, .col-form-label, .dropdown-item, .page-link {
  font-family: var(--luxe-sans);
}

.lead, .th-sub, p.lfm_descr, .card-body > p {
  font-family: var(--luxe-serif);
  font-size: 1.06em;
}

.lfm_descr, .lfm_descr_bold { font-family: var(--luxe-sans); }

/* Gold hairline under section headings, with a tulip head */
h2.display-4, .th-title {
  position: relative;
  padding-bottom: 0.45rem;
}
h2.display-4::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 86px;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, var(--luxe-gold), transparent);
}

/* --- Gilt buttons ------------------------------------------------------- */

.btn-primary {
  background: linear-gradient(180deg, #f0d78f 0%, var(--luxe-gold) 46%, #a9812a 100%);
  border-color: #a9812a;
  color: #2b2210;
  text-shadow: 0 1px 0 rgba(255, 248, 220, 0.55);
  box-shadow: 0 10px 22px rgba(140, 108, 30, 0.30), inset 0 1px 0 rgba(255, 250, 225, 0.75);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active {
  background: linear-gradient(180deg, #f6e3a8 0%, #d8b24a 46%, #8f6513 100%);
  border-color: var(--luxe-gold-deep);
  color: #241c0c;
  box-shadow: 0 12px 26px rgba(120, 92, 24, 0.36), inset 0 1px 0 rgba(255, 252, 232, 0.8);
}

.btn-success {
  background: linear-gradient(180deg, #4f9184 0%, var(--luxe-teal) 60%, #123a33 100%);
  border-color: var(--luxe-teal);
  color: #f6f3e8;
  box-shadow: 0 10px 22px rgba(26, 80, 72, 0.28), inset 0 1px 0 rgba(210, 236, 228, 0.28);
}
.btn-success:hover, .btn-success:focus, .btn-success:not(:disabled):not(.disabled):active {
  background: linear-gradient(180deg, #5fa294 0%, #1d5a51 60%, #0f2c27 100%);
  border-color: var(--luxe-teal-deep);
  color: #fff;
}

.btn-outline-primary {
  background: #fffdf6;
  border-color: var(--luxe-gold-mid);
  color: var(--luxe-gold-deep);
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  background: var(--luxe-gold);
  border-color: var(--luxe-gold);
  color: #2b2210;
}
.btn-light { background: #fffdf6; border-color: var(--luxe-line); color: var(--luxe-ink); }
.btn-light:hover, .btn-light:focus { background: var(--luxe-ivory-100); border-color: var(--luxe-gold-pale); color: var(--luxe-ink); }
.btn-secondary { background: var(--luxe-teal-mid); border-color: var(--luxe-teal-mid); color: #fff; }
.btn-secondary:hover, .btn-secondary:focus { background: var(--luxe-teal); border-color: var(--luxe-teal); }
.btn-link { color: var(--luxe-gold-deep); }
.btn:focus, .btn.focus { box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.30); }

.buttonlink {
  background: linear-gradient(180deg, #f0d78f 0%, var(--luxe-gold) 46%, #a9812a 100%);
  border-color: #a9812a;
  color: #2b2210;
  box-shadow: 0 8px 18px rgba(140, 108, 30, 0.26), inset 0 1px 0 rgba(255, 250, 225, 0.7);
}
.buttonlink:hover {
  background: linear-gradient(180deg, #f6e3a8 0%, #d8b24a 46%, #8f6513 100%);
  color: #241c0c;
}

/* --- Cards: ivory stock with a double gold rule ------------------------- */

.card, .panel, .stat-card, .jumbotron, .breadcrumb, .dropdown-menu,
.modal-content, .list-group-item, .surf-frame {
  background: linear-gradient(180deg, #fffdf6 0%, var(--luxe-ivory-50) 100%);
  border-color: var(--luxe-line);
  box-shadow: var(--luxe-shadow-sm), var(--luxe-inset);
}

.card { position: relative; border-radius: var(--tulip-radius); }
.card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(201, 162, 39, 0.22);
  border-radius: calc(var(--tulip-radius) - 4px);
  pointer-events: none;
}
.card > .card-header { border-radius: var(--tulip-radius) var(--tulip-radius) 0 0; }

.card-header, .panel-heading, .modal-header {
  background: linear-gradient(180deg, #fbf7e8 0%, #f4eedd 100%);
  border-bottom: 1px solid var(--luxe-line-strong);
  color: var(--luxe-ink);
  letter-spacing: 0.02em;
}

.card-tulip::before {
  background: linear-gradient(90deg, var(--luxe-gold-deep), var(--luxe-gold-bright) 45%, var(--luxe-teal));
}

.stat-card .stat-value {
  font-family: var(--luxe-display);
  font-weight: 600;
  color: var(--luxe-gold-deep);
}
.stat-card .stat-icon { color: var(--luxe-gold-pale); }

/* --- Tables ------------------------------------------------------------- */

.table thead th {
  background: linear-gradient(180deg, #fbf7e8 0%, #f2ead6 100%);
  border-bottom: 1px solid var(--luxe-line-strong);
  color: var(--luxe-ink);
  letter-spacing: 0.1em;
}
.table { color: var(--luxe-ink); }
.table td, .table th { border-top-color: var(--luxe-line); }
.table-striped tbody tr:nth-of-type(odd) { background-color: #fdfbf3; }
.table-hover tbody tr:hover { background-color: #f8f2df; color: var(--luxe-ink); }
.table thead.thead-dark th, .thead-dark th {
  background: linear-gradient(180deg, #1d5a51 0%, var(--luxe-teal-deep) 100%);
  color: var(--luxe-gold-pale);
}

/* --- Rail, footer and info bands --------------------------------------- */

.lfm_footer {
  background: linear-gradient(180deg, #14382f 0%, #0b241f 100%);
  color: #d8e5df;
}
.lfm_footer::before {
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--luxe-gold) 20%, var(--luxe-gold-bright) 50%, var(--luxe-gold) 80%, transparent);
}
.lfm_footer h4, .lfm_footer h5 { font-family: var(--luxe-display); color: var(--luxe-gold-pale); letter-spacing: 0.06em; }
.lfm_footer p, .lfm_footer li { color: #b9cfc7; }
.lfm_footer a { color: var(--luxe-gold-bright); }
.lfm_footer a:hover { color: #fdf3d6; }

.infobar {
  background: linear-gradient(135deg, var(--luxe-teal-deep) 0%, var(--luxe-teal) 55%, var(--luxe-teal-mid) 100%);
  border-top: 1px solid rgba(232, 204, 127, 0.35);
  border-bottom: 1px solid rgba(232, 204, 127, 0.35);
}
.infobar h2, .infobar h1 { color: var(--luxe-gold-pale); }

/* The stock homepage's grey band, repainted in the luxe palette */
section[style*="#555555"], section[style*="#555"], div[style*="#555555"].infobar {
  background: linear-gradient(135deg, #14382f 0%, var(--luxe-teal) 55%, #2b6a5f 100%) !important;
  border-top: 1px solid rgba(232, 204, 127, 0.30);
  border-bottom: 1px solid rgba(232, 204, 127, 0.30);
}
section[style*="#555555"] h1, section[style*="#555555"] h2 { color: var(--luxe-gold-pale) !important; }
section[style*="#555555"] .btn-primary {
  background: linear-gradient(180deg, #f0d78f 0%, var(--luxe-gold) 46%, #a9812a 100%);
  color: #2b2210;
}

/* --- Header bar: ivory glass with a gold rule and two-line lockup ------- */

.lfm_slidebar {
  background: rgba(251, 249, 240, 0.94);
  border-bottom: 1px solid var(--luxe-line-strong);
  box-shadow: 0 6px 22px rgba(90, 72, 28, 0.08);
}
.lfm_slidebar::before {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--luxe-gold) 25%, var(--luxe-gold-bright) 50%, var(--luxe-gold) 75%, transparent);
  pointer-events: none;
}
.lfm_slidebar.is-stuck { background: rgba(253, 251, 243, 0.98); box-shadow: 0 12px 32px rgba(90, 72, 28, 0.16); }

.lfm_menu_logo { max-height: 44px; }
.lfm_slidebar_mainmenu li > a { color: var(--luxe-ink); letter-spacing: 0.03em; }
.lfm_slidebar_mainmenu li > a:hover,
.lfm_slidebar_mainmenu li > a:focus {
  background: #fffdf6;
  border-color: var(--luxe-gold-pale);
  color: var(--luxe-gold-deep);
}
.lfm_slidebar_mainmenu li > a.active {
  background: linear-gradient(180deg, #f0d78f 0%, var(--luxe-gold) 50%, #a9812a 100%);
  color: #2b2210;
  box-shadow: 0 8px 18px rgba(140, 108, 30, 0.28);
}
.lfm_slidebar_mainmenu .badge-primary { background: var(--luxe-teal); }

/* --- Hero: the banner artwork as an interactive 400px header ------------ */

.tulip-hero-crest {
  background-color: var(--luxe-ivory-100);
  background-image: linear-gradient(180deg, rgba(251, 249, 240, 0.0) 55%, rgba(246, 243, 232, 0.72) 100%),
                    url("images/bg_soft.jpg");
  background-size: cover, cover;
  background-position: center, center top;
  border-bottom: 1px solid var(--luxe-line-strong);
}

/* the artwork layer */
.tulip-hero-crest .th-bg {
  inset: 0;
  background-image: url("images/hero_banner.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transform: none;
  filter: drop-shadow(0 10px 24px rgba(120, 96, 40, 0.12));
}
@media (min-width: 1500px) and (-webkit-min-device-pixel-ratio: 1.3), (min-width: 1500px) {
  .tulip-hero-crest .th-bg { background-size: contain; }
}
/* retina / very wide screens get the 2x artwork */
@media (min-width: 1200px) {
  .tulip-hero-crest .th-bg { background-image: url("images/hero_banner_2x.jpg"); }
}
/* narrow screens: crop into the middle of the artwork so the gilt wordmark
   still reads at full height */
@media (max-width: 900px) {
  .tulip-hero-crest .th-bg { background-size: cover; background-position: center 46%; }
}

/* softer glow so the artwork's own finish is not washed out */
.tulip-hero-crest .th-glow {
  background: radial-gradient(280px circle at var(--th-mx) var(--th-my),
              rgba(255, 250, 225, 0.34), rgba(255, 250, 225, 0) 70%);
}
.tulip-hero-crest .th-shade { background: none; }

/* the action rail sits in the lower band of the banner */
.tulip-hero-crest { align-items: flex-end; }
.tulip-hero-crest .th-inner { padding-bottom: 1.35rem; }

/* gold petals to match the artwork */
.tulip-hero-crest .th-petal {
  background: linear-gradient(135deg, #f6e6bd, var(--luxe-gold));
  opacity: 0.75;
}

/* --- The action rail that sits over the lower band of the banner -------- */

.th-rail {
  position: relative;
  z-index: 4;
  width: 100%;
  margin-top: auto;
  padding: 0.85rem 1.1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  background: rgba(250, 248, 238, 0.88);
  border: 1px solid var(--luxe-line-strong);
  border-radius: 18px;
  box-shadow: var(--luxe-shadow);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.th-rail .th-typed { font-family: var(--luxe-serif); font-size: 1.2rem; font-style: italic; color: var(--luxe-teal); }
.th-rail .th-sub { margin: 0; flex: 1 1 15rem; min-height: 1.6em; font-size: 1.1rem; color: var(--luxe-ink-soft); }
.th-rail .th-actions { flex: 0 0 auto; display: flex; gap: 0.5rem; flex-wrap: wrap; }
.th-rail .th-stats { flex-direction: row; gap: 0.5rem; }
.th-rail .th-chip {
  background: rgba(255, 253, 246, 0.92);
  border-color: var(--luxe-line-strong);
  padding: 0.4rem 0.8rem;
}
.th-rail .th-chip b { font-family: var(--luxe-display); font-size: 1.1rem; min-width: 3.6rem; color: var(--luxe-gold-deep); }
.th-rail .th-chip span { font-size: 0.68rem; letter-spacing: 0.12em; color: var(--luxe-ink-soft); }

@media (max-width: 900px) {
  .th-rail { gap: 0.6rem; padding: 0.7rem 0.85rem; }
  .th-rail .th-actions { width: 100%; justify-content: center; }
  .th-rail .th-sub { text-align: center; flex-basis: 100%; }
  .th-rail .th-stats { display: none; }
}
@media (max-width: 575.98px) {
  .th-rail .btn { padding: 0.5rem 1rem; font-size: 0.9rem; }
}

/* --- Eyebrow, dividers and misc ---------------------------------------- */

.eyebrow {
  background: #fffdf6;
  border-color: var(--luxe-gold-pale);
  color: var(--luxe-gold-deep);
  letter-spacing: 0.2em;
  font-family: var(--luxe-sans);
}
.tulip-divider::before, .tulip-divider::after {
  background: linear-gradient(90deg, transparent, var(--luxe-gold-pale));
}
.breadcrumb-item + .breadcrumb-item::before { color: var(--luxe-gold); }
.page-item.active .page-link {
  background: linear-gradient(180deg, #f0d78f 0%, var(--luxe-gold) 50%, #a9812a 100%);
  border-color: #a9812a;
  color: #2b2210;
}
.progress { background: #f1ead6; }
.progress-bar { background: linear-gradient(90deg, var(--luxe-gold-bright), var(--luxe-gold)); }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--luxe-gold); border-color: var(--luxe-gold); }
.form-control:focus, .custom-select:focus {
  border-color: var(--luxe-gold-mid);
  box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.22);
}
::selection { background: var(--luxe-gold-pale); color: var(--luxe-ink); }
*::-webkit-scrollbar-thumb { background: var(--luxe-gold-pale); }
*::-webkit-scrollbar-thumb:hover { background: var(--luxe-gold); }

/* The banner already carries the badge, so the ripple underline is off */
.th-actions .btn-primary::after { display: none; }


/* ==========================================================================
   20. TULIPTRAFFIC MODERN LFMTE INTEGRATION
   The rules above are preserved from LFMTE_tulip_gold.zip. These additions
   connect that design system to the native header/content/footer PHP files.

   v1.1 — the original menu styles are restored. The only changes are:
     * the main menu now sits on the LEFT, right after the logo
       (it used to be pushed to the right edge)
     * the whole menu stays on the nav bar on desktop: one row, no wrapping
     * second-level menus are compact drop-down cards under their item
       (hover to open, close on leave, one at a time; fly-outs for third level)
   ========================================================================== */

/* Header artwork is deliberately BEFORE navigation. */
.tulip-header-stage {
  width: 100%;
  margin: 0;
  border: 0;
  box-shadow: inset 0 -1px 0 rgba(143,101,19,.22);
}
.tulip-header-stage.tulip-hero-crest {
  --tulip-hero-h: auto;
  height:auto; min-height:0; max-height:none; aspect-ratio:3 / 1;
}
.tulip-header-stage .th-bg { inset:0; transform:none; background-position:center center; background-size:cover!important; }
.tulip-header-stage .th-shade { background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(10,48,42,.04)); }
.tulip-header-stage .th-petal { opacity: .56; }

.tulip-gold-divider {
  height: 7px;
  position: relative;
  z-index: 1040;
  background: linear-gradient(90deg, var(--luxe-teal-deep), var(--luxe-gold-deep) 20%, var(--luxe-gold-bright) 50%, var(--luxe-gold-deep) 80%, var(--luxe-teal-deep));
  box-shadow: 0 2px 14px rgba(90,72,28,.22);
}
.tulip-gold-divider span { display:block; height:1px; background:rgba(255,255,255,.65); }

/* Premium menu: same top-bar intent as the supplied theme, placed after hero. */
.lfm_menu_bar.tulip-gold-menu {
  position: sticky;
  top: 0;
  z-index: 1035;
  width: 100%;
  background: rgba(251,249,240,.95);
  -webkit-backdrop-filter: saturate(155%) blur(14px);
  backdrop-filter: saturate(155%) blur(14px);
  border: 0;
  border-bottom: 1px solid var(--luxe-line-strong);
  box-shadow: 0 8px 25px rgba(90,72,28,.10);
  transition: box-shadow .25s ease, background .25s ease;
}
.lfm_menu_bar.tulip-gold-menu.tulip-scrolled {
  background: rgba(251,249,240,.985);
  box-shadow: 0 14px 34px rgba(60,48,18,.16);
}
.tulip-gold-menu .navbar {
  width: 100%;
  min-height: 72px;
  padding: .45rem clamp(.8rem, 2.2vw, 2rem);
  align-items: center;
}
.tulip-gold-brand { display:flex; align-items:center; flex:0 0 auto; margin-right:clamp(.7rem,2vw,1.6rem); }
.tulip-gold-brand .lfm_menu_logo { width:auto; max-width:min(270px,28vw); max-height:48px; object-fit:contain; }
.tulip-gold-menu .navbar-collapse { align-self:stretch; }

/* MENU ALIGNMENT: items start at the LEFT (was flex-end = right side). */
.tulip-gold-mainnav { width:100%; min-width:0; align-items:stretch; justify-content:flex-start; gap:.15rem; }

.tulip-gold-mainnav > .nav-item { position:relative; display:flex; align-items:center; }
.tulip-gold-mainnav > .nav-item > .nav-link {
  display:flex; align-items:center; gap:.25rem;
  min-height:44px; padding:.55rem .9rem;
  color:var(--luxe-ink); border:1px solid transparent; border-radius:999px;
  font-family:var(--luxe-sans); font-weight:600; font-size:.92rem; white-space:nowrap;
  transition:all .2s ease;
}
.tulip-gold-mainnav > .nav-item > .nav-link i { color:var(--luxe-gold-deep); }
.tulip-gold-mainnav > .nav-item > .nav-link:hover,
.tulip-gold-mainnav > .nav-item.lfm_tab_opened > .nav-link {
  color:var(--luxe-teal-deep); text-decoration:none;
  background:linear-gradient(135deg,#fff,var(--luxe-ivory-100));
  border-color:var(--luxe-gold-pale); box-shadow:var(--luxe-shadow-sm);
}
.tulip-gold-mainnav > .nav-item.lfm_tab_opened > .nav-link {
  box-shadow:inset 0 -3px 0 var(--luxe-gold), var(--luxe-shadow-sm);
}
.tulip-menu-toggle {
  color:var(--luxe-teal-deep)!important; border:1px solid var(--luxe-gold-pale)!important;
  border-radius:12px; background:#fff; padding:.5rem .75rem;
  box-shadow:var(--luxe-shadow-sm);
}
.tulip-menu-toggle span { margin-left:.35rem; font-weight:700; font-family:var(--luxe-sans); }

/* DESKTOP: keep the logo and the whole menu together on ONE row of the bar. */
@media (min-width:992px) {
  .tulip-gold-menu .navbar { flex-wrap:nowrap; justify-content:flex-start; }
  .tulip-gold-menu .navbar-toggler,
  .tulip-gold-menu .tulip-menu-toggle { display:none!important; }
  .tulip-gold-menu .navbar-collapse {
    display:flex!important; flex:1 1 auto; flex-basis:auto; align-items:center;
    min-width:0; width:auto;
  }
  .tulip-gold-mainnav {
    display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center;
    justify-content:flex-start; margin:0 auto 0 0; padding:0; list-style:none;
  }
  .tulip-gold-mainnav > .nav-item { flex:0 0 auto; }
  .tulip-gold-mainnav > .nav-item > .nav-link {
    padding:.55rem clamp(.5rem,.85vw,.9rem);
    font-size:clamp(.82rem,.95vw,.92rem);
  }
}

/* ==========================================================================
   SECOND-LEVEL MENUS — compact, professional drop-downs
   --------------------------------------------------------------------------
   Desktop (992px+): each top-level item opens a neat vertical card directly
   under it, left-aligned, ~230-340px wide, with a gold top edge. Items are
   stacked one per row with gold icons. Items that have a third level open a
   fly-out card to the right. Only ONE menu is ever open, and it closes the
   moment the pointer leaves (nothing stays pinned open or floating).
   Mobile / tablet (<992px): the sections expand inline inside the hamburger
   panel (see the 991.98px block further down).
   ========================================================================== */

/* Base list (also the starting point for mobile): hidden until opened */
.lfm_menu_tab {
  display:none; position:absolute; top:100%; left:0;
  margin:0; padding:.5rem; list-style:none;
  flex-wrap:wrap; gap:.2rem;
  background:#fffdf6; border:1px solid var(--luxe-line-strong); border-radius:14px;
  box-shadow:var(--luxe-shadow-lg); z-index:1050;
}
li.lfm_tab_opened > .lfm_menu_tab { display:flex; }

.lfm_menu_tab > li { position:relative; margin:0; }
.lfm_menu_tab > li > a {
  display:flex; align-items:center; gap:.5rem;
  min-height:40px; padding:.55rem .85rem;
  color:var(--luxe-ink); font-family:var(--luxe-sans); font-weight:600; font-size:.9rem; line-height:1.25;
  border-radius:10px; text-decoration:none;
  transition:color .18s ease, background .18s ease, box-shadow .18s ease;
}
.lfm_menu_tab > li > a i { width:18px; margin:0; text-align:center; color:var(--luxe-gold-deep); }
.lfm_menu_tab > li > a:hover,
.lfm_menu_tab > li > a:focus,
.lfm_menu_tab > li.show > a {
  color:var(--luxe-teal-deep); text-decoration:none;
  background:linear-gradient(90deg, rgba(232,204,127,.24), rgba(232,240,236,.85));
  box-shadow:inset 3px 0 0 var(--luxe-gold);
}
.lfm_menu_tab .caret { margin-left:.35rem; opacity:.65; }

/* Third level (native Bootstrap dropdown inside a sub-menu) */
.lfm_menu_tab .dropdown-menu {
  min-width:220px; padding:.5rem;
  background:linear-gradient(180deg,#fffefa 0%,#fbf8ec 100%);
  border:1px solid var(--luxe-line-strong); border-top:3px solid var(--luxe-gold);
  border-radius:14px; box-shadow:var(--luxe-shadow-lg);
  z-index:1060;
}
.lfm_menu_tab .dropdown-menu a {
  display:flex; align-items:center; gap:.5rem;
  padding:.5rem .75rem; border-radius:8px;
  color:var(--luxe-ink); font-size:.88rem; font-weight:600; white-space:nowrap;
}
.lfm_menu_tab .dropdown-menu a:hover {
  color:var(--luxe-teal-deep); text-decoration:none;
  background:linear-gradient(90deg, rgba(232,204,127,.24), rgba(232,240,236,.85));
  box-shadow:inset 3px 0 0 var(--luxe-gold);
}

@keyframes tulip-drop-in {
  from { opacity:0; transform:translateY(-6px); }
  to   { opacity:1; transform:none; }
}

/* ---- Desktop drop-down card ------------------------------------------- */
@media (min-width:992px) {

  .tulip-gold-menu .lfm_menu_tab {
    display:none;
    top:calc(100% + 10px); left:0; right:auto;
    width:max-content; min-width:230px; max-width:min(340px,90vw);
    flex-direction:column; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start;
    gap:2px; padding:.5rem;
    background:linear-gradient(180deg,#fffefa 0%,#fbf8ec 100%);
    border:1px solid var(--luxe-line-strong); border-top:3px solid var(--luxe-gold);
    border-radius:14px;
    box-shadow:0 22px 44px rgba(60,48,18,.18), 0 2px 6px rgba(60,48,18,.08);
    animation:tulip-drop-in .18s ease both;
  }

  /* LFMTE pins the current section open on page load: ignore that */
  .tulip-gold-menu li.lfm_tab_opened > .lfm_menu_tab { display:none; }

  /* open on hover */
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:hover > .lfm_menu_tab { display:flex; }

  /* invisible bridge so the card doesn't close while the pointer crosses the gap */
  .tulip-gold-menu .lfm_menu_tab::before {
    content:""; position:absolute; left:0; right:0; top:-14px; height:14px;
  }

  .tulip-gold-menu .lfm_menu_tab > li { width:100%; }
  .tulip-gold-menu .lfm_menu_tab > li > a { width:100%; justify-content:flex-start; white-space:nowrap; }

  /* arrow on items that open a fly-out (points right) */
  .tulip-gold-menu .lfm_menu_tab > li > a .caret,
  .tulip-gold-menu .lfm_menu_tab > li > a.dropdown-toggle::after {
    margin-left:auto; transform:rotate(-90deg); opacity:.7;
  }

  /* third level: fly-out card beside the hovered item */
  .tulip-gold-menu .lfm_menu_tab > li > .dropdown-menu {
    position:absolute!important; top:-11px!important; left:calc(100% + 8px)!important;
    right:auto!important; bottom:auto!important; transform:none!important; margin:0!important;
    min-width:220px; width:max-content; max-width:320px;
    animation:tulip-drop-in .16s ease both;
  }
  .tulip-gold-menu .lfm_menu_tab > li > .dropdown-menu::before {
    content:""; position:absolute; top:0; bottom:0; left:-10px; width:10px;
  }
}

/* keyboard users (kept in its own rule: older browsers skip :has) */
@media (min-width:992px) {
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:has(:focus-visible) > .lfm_menu_tab { display:flex; }
  .tulip-gold-menu .lfm_menu_tab > li:has(> a:focus-visible) > .dropdown-menu { display:block; }
}

/* mouse users: fly-outs show only while hovered (a clicked ".show" never sticks) */
@media (min-width:992px) and (hover:hover) {
  .tulip-gold-menu .lfm_menu_tab > li > .dropdown-menu { display:none; }
  .tulip-gold-menu .lfm_menu_tab > li:hover > .dropdown-menu { display:block; }
  /* only one top-level menu open at a time, even if one still has keyboard focus */
  .tulip-gold-menu .tulip-gold-mainnav:hover > .nav-item:not(:hover) > .lfm_menu_tab { display:none; }
}

/* touch screens wide enough for the desktop bar have no hover: tap-to-toggle */
@media (min-width:992px) and (hover:none) {
  .tulip-gold-menu li.lfm_tab_opened > .lfm_menu_tab { display:flex; }
}

/* narrower desktops: the last item opens inward so it never leaves the screen */
@media (min-width:992px) and (max-width:1279.98px) {
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:last-child > .lfm_menu_tab { left:auto; right:0; }
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:last-child .lfm_menu_tab > li > .dropdown-menu {
    left:auto!important; right:calc(100% + 8px)!important;
  }
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:last-child .lfm_menu_tab > li > .dropdown-menu::before {
    left:auto; right:-10px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .tulip-gold-menu .lfm_menu_tab,
  .tulip-gold-menu .lfm_menu_tab > li > .dropdown-menu { animation:none; }
}

/* Page shell keeps legacy LFMTE output intact while giving it the gold/ivory skin. */
.tulip-main { position:relative; z-index:1; padding:clamp(1rem,2.5vw,2.25rem) 0 0; }
.tulip-page-shell { max-width:1480px; padding-left:clamp(.75rem,2vw,2rem); padding-right:clamp(.75rem,2vw,2rem); }
.tulip-content-surface {
  min-height:240px; padding:clamp(1rem,2.2vw,2rem);
  background:rgba(255,255,255,.80); border:1px solid var(--luxe-line);
  border-radius:22px; box-shadow:var(--luxe-shadow);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.tulip-content-surface img { max-width:100%; height:auto; }
.tulip-content-surface table { max-width:100%; }

/* Premium footer in the same teal / antique-gold / ivory language. */
.tulip-premium-footer {
  overflow:hidden; padding:3.25rem 0 0; margin-top:3rem;
  background:
    radial-gradient(circle at 88% 18%, rgba(232,204,127,.11), transparent 30%),
    linear-gradient(145deg,#173a33 0%,#102c27 54%,#091d1a 100%);
  border-top:0;
}
.tulip-premium-footer::before { height:5px; background:linear-gradient(90deg,var(--luxe-teal-light),var(--luxe-gold),var(--luxe-gold-bright),var(--luxe-gold),var(--luxe-teal-light)); }
.tulip-footer-flourish {
  position:absolute; inset:5px 0 auto 0; height:150px; opacity:.07; pointer-events:none;
  background:url("images/tulips_cream.jpg") center 58% / cover no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent); mask-image:linear-gradient(to bottom,#000,transparent);
}
.tulip-footer-shell { position:relative; z-index:1; max-width:1480px; padding:0 clamp(1rem,3vw,3rem); }
.tulip-footer-brand-card,.tulip-footer-panel,.tulip-footer-visual {
  border:1px solid rgba(232,204,127,.20); border-radius:20px;
  background:rgba(255,255,255,.035); box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.tulip-footer-brand-card { padding:1.6rem; }
.tulip-footer-logo { max-width:310px; width:min(100%,310px); height:auto; filter:drop-shadow(0 8px 18px rgba(0,0,0,.18)); }
.tulip-footer-tagline { margin:.85rem 0 .35rem!important; font-family:var(--luxe-serif); font-size:1.35rem; color:var(--luxe-gold-pale)!important; }
.tulip-footer-copy { max-width:560px; margin:0!important; color:#bfd2cb!important; line-height:1.7; }
.tulip-footer-pills { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1.1rem; }
.tulip-footer-pills span { display:inline-flex; align-items:center; gap:.25rem; padding:.35rem .65rem; border:1px solid rgba(232,204,127,.20); border-radius:999px; color:#e8e0c2; background:rgba(255,255,255,.04); font-size:.78rem; font-weight:600; }
.tulip-footer-pills i { color:var(--luxe-gold-bright); }
.tulip-footer-panel { padding:1.55rem; }
.tulip-footer-panel h5 { margin:0 0 1rem; font-family:var(--luxe-display); color:var(--luxe-gold-pale); letter-spacing:.04em; }
.tulip-footer-links { display:grid; gap:.45rem; }
.tulip-footer-links a { display:flex; align-items:center; gap:.65rem; padding:.55rem .65rem; border-radius:10px; color:#d7e4df; background:rgba(255,255,255,.025); border:1px solid transparent; }
.tulip-footer-links a:hover { color:#fff5d9; background:rgba(232,204,127,.08); border-color:rgba(232,204,127,.14); text-decoration:none; transform:translateX(3px); }
.tulip-footer-links i { width:18px; color:var(--luxe-gold-bright); text-align:center; }
.tulip-footer-visual { position:relative; overflow:hidden; min-height:250px; }
.tulip-footer-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.34; filter:saturate(.85) contrast(1.04); }
.tulip-footer-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,29,25,.18),rgba(8,29,25,.92)); }
.tulip-footer-visual-copy { position:absolute; z-index:2; left:1.35rem; right:1.35rem; bottom:1.35rem; display:flex; flex-direction:column; gap:.25rem; }
.tulip-footer-visual-copy .eyebrow { color:var(--luxe-gold-bright); font-size:.72rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.tulip-footer-visual-copy strong { color:#fff8e5; font-family:var(--luxe-display); font-size:1.3rem; }
.tulip-footer-visual-copy small { color:#c5d7d0; line-height:1.5; }
.tulip-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; padding:1.2rem 0 1.4rem; border-top:1px solid rgba(232,204,127,.15); }
.tulip-footer-bottom p { margin:0!important; color:#9fb9b0!important; font-size:.82rem; }
.tulip-footer-mini-links { display:flex; gap:.6rem; align-items:center; color:#6f8f84; font-size:.8rem; }
.tulip-footer-mini-links a { color:#d9c88f; }

@media (max-width:1199.98px) {
  .tulip-gold-brand .lfm_menu_logo { max-width:220px; }
  .tulip-gold-mainnav > .nav-item > .nav-link { padding:.52rem .68rem; font-size:.86rem; }
}
/* Tight desktop widths: icons hide so the whole menu still fits on the bar. */
@media (min-width:992px) and (max-width:1279.98px) {
  .tulip-gold-mainnav > .nav-item > .nav-link i { display:none; }
  .tulip-gold-mainnav > .nav-item > .nav-link { padding:.5rem .55rem; font-size:.82rem; }
}
@media (max-width:991.98px) {
  .tulip-gold-menu .navbar { min-height:62px; padding:.4rem .8rem; }
  .tulip-gold-brand .lfm_menu_logo { max-width:210px; max-height:42px; }
  .tulip-gold-menu .navbar-collapse { width:100%; margin-top:.5rem; padding:.6rem; background:#fff; border:1px solid var(--luxe-line); border-radius:14px; box-shadow:var(--luxe-shadow); }
  .tulip-gold-mainnav { display:block; }
  .tulip-gold-mainnav > .nav-item { display:block; width:100%; }
  .tulip-gold-mainnav > .nav-item > .nav-link { width:100%; border-radius:10px; justify-content:space-between; }
  .lfm_menu_tab { position:static; min-width:0; max-width:none; width:100%; margin:.25rem 0 .55rem; padding:.4rem; border-radius:10px; box-shadow:none; background:var(--luxe-ivory-50); justify-content:flex-start; }
  li.lfm_tab_opened:not(.lfm_tab_closed) > .lfm_menu_tab { display:flex; }
  li.lfm_tab_closed > .lfm_menu_tab { display:none; }
  .lfm_menu_tab > li { width:100%; }
  .lfm_menu_tab > li > a { width:100%; }
  .lfm_menu_tab .dropdown-menu { position:static!important; float:none; transform:none!important; width:100%; margin:.25rem 0 0; box-shadow:none; }
  .tulip-content-surface { border-radius:16px; }
  .tulip-footer-bottom { flex-direction:column; text-align:center; }
}
@media (max-width:575.98px) {
  .tulip-header-stage .th-bg { inset:0; background-size:cover!important; }
  .tulip-gold-brand .lfm_menu_logo { max-width:180px; }
  .tulip-menu-toggle span { display:none; }
  .tulip-main { padding-top:.75rem; }
  .tulip-page-shell { padding-left:.55rem; padding-right:.55rem; }
  .tulip-content-surface { padding:.8rem; border-radius:13px; }
  .tulip-premium-footer { padding-top:2.4rem; }
  .tulip-footer-brand-card,.tulip-footer-panel { padding:1.15rem; }
  .tulip-footer-logo { max-width:240px; }
}


/* ==========================================================================
   22. PREMIUM MENU SKIN
   --------------------------------------------------------------------------
   Visual upgrade only — layout and behaviour (one row, left-aligned, hover
   drop-downs, mobile panel) are untouched. To go back to the plain menu,
   delete this whole section.
     * bar: ivory satin with a double gold rule
     * main buttons: engraved capitals, raised ivory hover with a gold sheen,
       gilt "current section" button
     * drop-downs: ivory cards with a gold pointer, hairline-separated rows,
       diamond marker on hover, matching fly-outs
     * hamburger: gilt-edged button that turns gilt when open
   ========================================================================== */

/* --- The bar ----------------------------------------------------------- */

.lfm_menu_bar.tulip-gold-menu {
  background: linear-gradient(180deg, rgba(255, 254, 250, 0.97) 0%, rgba(250, 246, 232, 0.97) 100%);
  border-bottom: 1px solid rgba(201, 162, 39, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 12px 30px rgba(90, 72, 28, 0.12);
}
.lfm_menu_bar.tulip-gold-menu.tulip-scrolled {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 16px 36px rgba(60, 48, 18, 0.20);
}
/* second, finer gold rule just above the bar's edge */
.lfm_menu_bar.tulip-gold-menu::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 3px;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(201, 162, 39, 0.5) 18%, rgba(232, 204, 127, 0.95) 50%, rgba(201, 162, 39, 0.5) 82%, transparent);
}

/* --- Main menu buttons ------------------------------------------------- */

.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  font-family: var(--luxe-sans);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: var(--luxe-ink);
  background: transparent;
  border: 1px solid transparent;
  transition: color .25s ease, background .25s ease, border-color .25s ease,
              box-shadow .25s ease, transform .2s ease;
}
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link i {
  color: var(--luxe-gold-deep);
  transition: color .25s ease, transform .25s ease;
}

/* light sweep that glides across the button on hover */
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 55%;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.9) 50%, transparent 100%);
  transform: translateX(-140%) skewX(-18deg);
  transition: transform 0s linear .2s, opacity .2s ease;
}
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link:hover::before,
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link:focus-visible::before {
  opacity: 1;
  transform: translateX(260%) skewX(-18deg);
  transition: transform .75s ease, opacity .15s ease;
}

/* hover: raised ivory plaque with a gold hairline */
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link:hover,
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link:focus {
  color: var(--luxe-teal-deep);
  text-decoration: none;
  background: linear-gradient(180deg, #ffffff 0%, #f8f2de 100%);
  border-color: rgba(201, 162, 39, 0.55);
  box-shadow: 0 8px 18px rgba(140, 108, 30, 0.18), inset 0 1px 0 #ffffff, inset 0 -1px 0 rgba(201, 162, 39, 0.25);
  transform: translateY(-1px);
}
.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link:hover i {
  color: var(--luxe-gold);
  transform: scale(1.12);
}

/* current / open section: gilt button */
.tulip-gold-menu .tulip-gold-mainnav > .nav-item.lfm_tab_opened > .nav-link,
.tulip-gold-menu .tulip-gold-mainnav > .nav-item.active > .nav-link {
  color: #2b2210;
  background: linear-gradient(180deg, #f8e7ae 0%, #e2c05e 38%, var(--luxe-gold) 62%, #a9812a 100%);
  border-color: #9a7220;
  text-shadow: 0 1px 0 rgba(255, 248, 220, 0.6);
  box-shadow: 0 10px 22px rgba(140, 108, 30, 0.34), inset 0 1px 0 rgba(255, 251, 230, 0.9), inset 0 -2px 0 rgba(110, 80, 16, 0.28);
}
.tulip-gold-menu .tulip-gold-mainnav > .nav-item.lfm_tab_opened > .nav-link i,
.tulip-gold-menu .tulip-gold-mainnav > .nav-item.active > .nav-link i { color: #5a420c; }

.tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link:focus-visible {
  outline: 2px solid var(--luxe-gold);
  outline-offset: 3px;
}

@media (min-width: 992px) {
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link {
    border-radius: 999px;
    padding: 0.55rem clamp(0.6rem, 1vw, 1.05rem);
    font-size: clamp(0.74rem, 0.82vw, 0.82rem);
  }
}

/* --- Hamburger button -------------------------------------------------- */

.tulip-gold-menu .tulip-menu-toggle {
  color: var(--luxe-teal-deep) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f6f0da 100%);
  border: 1px solid rgba(201, 162, 39, 0.6) !important;
  border-radius: 14px;
  padding: 0.55rem 0.85rem;
  font-family: var(--luxe-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 6px 14px rgba(140, 108, 30, 0.18), inset 0 1px 0 #ffffff;
  transition: background .25s ease, box-shadow .25s ease, transform .2s ease;
}
.tulip-gold-menu .tulip-menu-toggle:hover,
.tulip-gold-menu .tulip-menu-toggle:focus,
.tulip-gold-menu .tulip-menu-toggle:not(.collapsed) {
  color: #2b2210 !important;
  background: linear-gradient(180deg, #f8e7ae 0%, #e2c05e 38%, var(--luxe-gold) 62%, #a9812a 100%);
  box-shadow: 0 10px 20px rgba(140, 108, 30, 0.32), inset 0 1px 0 rgba(255, 251, 230, 0.9);
}

/* --- Drop-down rows (shared by desktop cards and the mobile panel) ------ */

.tulip-gold-menu .lfm_menu_tab > li + li { border-top: 1px solid rgba(201, 162, 39, 0.16); }
.tulip-gold-menu .lfm_menu_tab > li > a,
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a {
  position: relative;
  border-radius: 11px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color .2s ease, background .2s ease, padding-left .2s ease;
}
.tulip-gold-menu .lfm_menu_tab > li > a { padding: 0.7rem 1rem 0.7rem 1.1rem; }

/* gold diamond marker that appears on hover */
.tulip-gold-menu .lfm_menu_tab > li > a::before,
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a::before {
  content: "";
  position: absolute;
  left: 0.6rem; top: 50%;
  width: 6px; height: 6px;
  background: linear-gradient(135deg, #f0d78f, #a9812a);
  transform: translateY(-50%) rotate(45deg) scale(0);
  transition: transform .2s ease;
}
.tulip-gold-menu .lfm_menu_tab > li > a:hover,
.tulip-gold-menu .lfm_menu_tab > li > a:focus,
.tulip-gold-menu .lfm_menu_tab > li.show > a,
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a:hover,
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a:focus {
  color: var(--luxe-teal-deep);
  background: linear-gradient(90deg, rgba(232, 204, 127, 0.30) 0%, rgba(232, 240, 236, 0.35) 100%);
  box-shadow: none;
  padding-left: 1.55rem;
}
.tulip-gold-menu .lfm_menu_tab > li > a:hover::before,
.tulip-gold-menu .lfm_menu_tab > li > a:focus::before,
.tulip-gold-menu .lfm_menu_tab > li.show > a::before,
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a:hover::before,
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a:focus::before {
  transform: translateY(-50%) rotate(45deg) scale(1);
}
.tulip-gold-menu .lfm_menu_tab .dropdown-menu a { padding: 0.62rem 1rem 0.62rem 1.1rem; }

/* --- Drop-down cards (desktop) ---------------------------------------- */

@media (min-width: 992px) {
  .tulip-gold-menu .lfm_menu_tab {
    gap: 0;
    min-width: 240px;
    padding: 0.45rem;
    background: linear-gradient(180deg, #fffefb 0%, #faf6e8 100%);
    border: 1px solid rgba(201, 162, 39, 0.38);
    border-top: 2px solid var(--luxe-gold);
    border-radius: 16px;
    box-shadow: 0 26px 54px rgba(60, 48, 18, 0.20), 0 3px 8px rgba(60, 48, 18, 0.08), inset 0 1px 0 #ffffff;
  }

  /* gold pointer joining the card to its button */
  .tulip-gold-menu .lfm_menu_tab::after {
    content: "";
    position: absolute;
    top: -8px; left: 26px;
    width: 14px; height: 14px;
    background: #fffefb;
    border-top: 2px solid var(--luxe-gold);
    border-left: 2px solid var(--luxe-gold);
    border-radius: 3px 0 0 0;
    transform: rotate(45deg);
    pointer-events: none;
  }

  /* fly-out cards (third level) */
  .tulip-gold-menu .lfm_menu_tab > li > .dropdown-menu {
    gap: 0;
    padding: 0.45rem;
    background: linear-gradient(180deg, #fffefb 0%, #faf6e8 100%);
    border: 1px solid rgba(201, 162, 39, 0.38);
    border-top: 2px solid var(--luxe-gold);
    border-radius: 16px;
    box-shadow: 0 26px 54px rgba(60, 48, 18, 0.20), 0 3px 8px rgba(60, 48, 18, 0.08), inset 0 1px 0 #ffffff;
  }
  .tulip-gold-menu .lfm_menu_tab > li > .dropdown-menu::after {
    content: "";
    position: absolute;
    top: 18px; left: -8px;
    width: 14px; height: 14px;
    background: #fffefb;
    border-left: 1px solid rgba(201, 162, 39, 0.55);
    border-bottom: 1px solid rgba(201, 162, 39, 0.55);
    border-radius: 0 0 0 3px;
    transform: rotate(45deg);
    pointer-events: none;
  }
}
/* when the last item opens inward, the pointers move to the other side */
@media (min-width: 992px) and (max-width: 1279.98px) {
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:last-child > .lfm_menu_tab::after { left: auto; right: 26px; }
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item:last-child .lfm_menu_tab > li > .dropdown-menu::after {
    left: auto; right: -8px;
    border-left: 0; border-bottom: 0;
    border-top: 1px solid rgba(201, 162, 39, 0.55);
    border-right: 1px solid rgba(201, 162, 39, 0.55);
    border-radius: 0 3px 0 0;
  }
}

/* --- Mobile / tablet panel -------------------------------------------- */

@media (max-width: 991.98px) {
  .tulip-gold-menu .navbar-collapse {
    background: linear-gradient(180deg, #fffefb 0%, #faf6e8 100%);
    border: 1px solid rgba(201, 162, 39, 0.38);
    border-radius: 18px;
    box-shadow: 0 24px 48px rgba(60, 48, 18, 0.18), inset 0 1px 0 #ffffff;
  }
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link {
    justify-content: space-between;
    padding: 0.8rem 1rem;
    font-size: 0.84rem;
    letter-spacing: 0.1em;
    border-radius: 12px;
    margin-bottom: 0.3rem;
    background: linear-gradient(180deg, #ffffff 0%, #faf6e8 100%);
    border-color: rgba(201, 162, 39, 0.28);
  }
  .tulip-gold-menu .lfm_menu_tab {
    background: linear-gradient(180deg, #fffefb 0%, #faf6e8 100%);
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link::before { display: none; }
  .tulip-gold-menu .tulip-gold-mainnav > .nav-item > .nav-link,
  .tulip-gold-menu .lfm_menu_tab > li > a,
  .tulip-gold-menu .lfm_menu_tab .dropdown-menu a { transition: none; }
}


/* ==========================================================================
   23. READABILITY — vibrant text on the textured page background
   --------------------------------------------------------------------------
   Root cause of the washed-out pages: the old soft-wash overlay (body::before,
   position:fixed, z-index:0) painted ABOVE any content that was not inside a
   positioned wrapper (pages / frames without .lfm_outerdiv or .tulip-main),
   so dark text sat under a 60-80% ivory veil. The wash is now part of the body
   background (section 2), the texture photo still shows through, and the text
   colours below are a notch deeper and richer.
   ========================================================================== */

/* Body copy and headings */
body { color: var(--luxe-ink); }
p, .lead, .lfm_descr { color: var(--luxe-ink-soft); }
h1, h2, h3, .h1, .h2, .h3, .lfm_title { color: var(--luxe-teal-deep); }
.lfm_descr_bold, label, .form-label, .col-form-label, legend { color: var(--luxe-ink); }

/* Links: the old hover colour (pale gold) was almost unreadable on ivory */
a { color: var(--luxe-gold-deep); }
a:hover, a:focus { color: var(--luxe-teal); text-decoration: underline; }
.btn-link:hover, .btn-link:focus { color: var(--luxe-teal); }

/* Plain (non-Bootstrap) form fields found on older LFMTE pages */
input[type="text"]:not(.form-control),
input[type="url"]:not(.form-control),
input[type="email"]:not(.form-control),
input[type="password"]:not(.form-control),
input[type="number"]:not(.form-control),
input[type="tel"]:not(.form-control),
input[type="search"]:not(.form-control),
input[type="date"]:not(.form-control),
select:not(.form-control):not(.custom-select),
textarea:not(.form-control) {
  font-family: var(--tulip-font);
  font-size: 15px;
  font-weight: 500;
  color: var(--luxe-ink);
  background: #fffdf6;
  border: 1px solid var(--luxe-gold-mid);
  border-radius: 10px;
  padding: 0.42rem 0.7rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
input[type="text"]:not(.form-control):focus,
input[type="url"]:not(.form-control):focus,
input[type="email"]:not(.form-control):focus,
input[type="password"]:not(.form-control):focus,
input[type="number"]:not(.form-control):focus,
input[type="tel"]:not(.form-control):focus,
input[type="search"]:not(.form-control):focus,
input[type="date"]:not(.form-control):focus,
select:not(.form-control):not(.custom-select):focus,
textarea:not(.form-control):focus {
  outline: 0;
  border-color: var(--luxe-gold);
  box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.28);
}
input:not(.form-control)::placeholder,
textarea:not(.form-control)::placeholder { color: #8c8567; opacity: 1; }

/* Plain submit / button inputs become gilt buttons */
input[type="submit"]:not(.btn):not(.buttonlink),
input[type="button"]:not(.btn):not(.buttonlink),
input[type="reset"]:not(.btn):not(.buttonlink) {
  font-family: var(--tulip-font);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #2b2210;
  cursor: pointer;
  background: linear-gradient(180deg, #f0d78f 0%, var(--luxe-gold) 46%, #a9812a 100%);
  border: 1px solid #a9812a;
  border-radius: 999px;
  padding: 0.45rem 1.35rem;
  text-shadow: 0 1px 0 rgba(255, 248, 220, 0.55);
  box-shadow: 0 8px 18px rgba(140, 108, 30, 0.26), inset 0 1px 0 rgba(255, 250, 225, 0.75);
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}
input[type="submit"]:not(.btn):not(.buttonlink):hover,
input[type="button"]:not(.btn):not(.buttonlink):hover,
input[type="reset"]:not(.btn):not(.buttonlink):hover {
  color: #241c0c;
  transform: translateY(-1px);
  background: linear-gradient(180deg, #f6e3a8 0%, #d8b24a 46%, var(--luxe-gold-deep) 100%);
  box-shadow: 0 12px 24px rgba(120, 92, 24, 0.32), inset 0 1px 0 rgba(255, 252, 232, 0.8);
}
input[type="submit"]:not(.btn):not(.buttonlink):focus-visible,
input[type="button"]:not(.btn):not(.buttonlink):focus-visible,
input[type="reset"]:not(.btn):not(.buttonlink):focus-visible {
  outline: 2px solid var(--luxe-gold);
  outline-offset: 2px;
}