/* =========================================================
   THE BLUEGRASS FAMILY FARM — shared site stylesheet
   ========================================================= */

:root{
  --bff-cream:#faf7f0;
  --bff-cream-dark:#efe8d6;
  --bff-gold:#c6a355;
  --bff-gold-light:#dcc07f;
  --bff-gold-dark:#9c7d3a;
  --bff-ink:#252420;
  --bff-black:#0e0e0d;
  --bff-muted:#6f6c62;
  --bff-line:#e7dfc9;
  --shadow-soft:0 10px 30px rgba(20,16,6,.06);
  --shadow-mid:0 18px 40px rgba(20,16,6,.10);
  --shadow-lift:0 26px 55px rgba(20,16,6,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ overflow-x:hidden; }

body{
  font-family:'Montserrat', sans-serif;
  color:var(--bff-ink);
  font-size:15.5px;
  line-height:1.75;
  background:#fff;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.font-serif{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  letter-spacing:.3px;
}

a{ color:inherit; text-decoration:none; }
::selection{ background:var(--bff-gold); color:#fff; }

/* focus visibility for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--bff-gold-dark); outline-offset:2px;
}

/* ---------- Eyebrow labels ---------- */
.eyebrow{
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:.72rem;
  font-weight:600;
  color:var(--bff-gold-dark);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:var(--bff-gold);
  display:inline-block;
}

/* ---------- Section heading ornament ---------- */
.section-heading{
  font-size:clamp(2rem, 1.6rem + 1.6vw, 2.85rem);
  margin-bottom:1.1rem;
  position:relative;
}
.section-heading.with-rule::after{
  content:"";
  display:block;
  width:64px; height:2px;
  margin:1.1rem auto 0;
  background:linear-gradient(90deg, transparent, var(--bff-gold), transparent);
}
.text-align-start.with-rule::after{ margin-left:0; }

.text-muted-serif{ color:var(--bff-muted); max-width:720px; margin-left:auto; margin-right:auto; }

/* ---------- Buttons ---------- */
.btn-gold{
  background:linear-gradient(135deg, var(--bff-gold-light), var(--bff-gold) 55%, var(--bff-gold-dark));
  color:#fff;
  border:1px solid var(--bff-gold-dark);
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-size:.72rem;
  font-weight:600;
  padding:.9rem 2.1rem;
  border-radius:2px;
  display:inline-block;
  position:relative;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
  box-shadow:0 8px 20px rgba(156,125,58,.28);
}
.btn-gold:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(156,125,58,.38);
  background:linear-gradient(135deg, var(--bff-gold), var(--bff-gold-dark) 65%, var(--bff-gold-dark));
}
.btn-gold:active{ transform:translateY(0); }

.btn-outline-cream{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.8);
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-size:.72rem;
  font-weight:600;
  padding:.9rem 2.1rem;
  border-radius:2px;
  display:inline-block;
  transition:.3s var(--ease);
  backdrop-filter:blur(2px);
}
.btn-outline-cream:hover{ background:#fff; color:var(--bff-ink); border-color:#fff; transform:translateY(-2px); }

.btn-outline-gold{
  background:transparent;
  color:var(--bff-ink);
  border:1px solid var(--bff-ink);
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-size:.72rem;
  font-weight:600;
  padding:.9rem 2.1rem;
  border-radius:2px;
  display:inline-block;
  transition:.3s var(--ease);
}
.btn-outline-gold:hover{ background:var(--bff-ink); color:#fff; transform:translateY(-2px); }

/* ---------- Scroll progress bar ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg, var(--bff-gold-dark), var(--bff-gold-light));
  z-index:1040;
  transition:width .08s linear;
}

/* ---------- Header ---------- */
.main-header{
  position:fixed; top:0; left:0; right:0; z-index:1030;
  background:linear-gradient(to bottom, rgba(10,10,9,.6), rgba(10,10,9,0));
  transition:background .35s var(--ease), box-shadow .35s var(--ease), padding .35s var(--ease);
  padding:1.1rem 0;
}
.main-header.scrolled{
  background:rgba(14,14,13,.88);
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  padding:.65rem 0;
  border-bottom:1px solid rgba(198,163,85,.25);
}
.main-header .navbar-brand img{ height:54px; transition:.3s ease; }
.main-header.scrolled .navbar-brand img{ height:44px; }
.main-header .nav-link{
  position:relative;
  color:#f4efe2; font-size:.8rem; text-transform:uppercase; letter-spacing:1.4px;
  font-weight:500; margin:0 .9rem; padding:.35rem 0!important;
  transition:color .25s ease;
}
.main-header .nav-link::after{
  content:"";
  position:absolute; left:0; bottom:-2px; width:0; height:1px;
  background:var(--bff-gold);
  transition:width .3s var(--ease);
}
.main-header .nav-link:hover, .main-header .nav-link.active{ color:var(--bff-gold-light); }
.main-header .nav-link:hover::after, .main-header .nav-link.active::after{ width:100%; }
.main-header .social-icons a{ color:#f4efe2; font-size:.95rem; margin-left:1.1rem; display:inline-block; transition:.25s ease; }
.main-header .social-icons a:hover{ color:var(--bff-gold-light); transform:translateY(-2px); }
.navbar-toggler{ border:none; color:#fff; box-shadow:none!important; }
.page-spacer{ height:108px; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:660px;
  background-size:cover; background-position:center 25%; background-repeat:no-repeat;
  display:flex; align-items:center;
}
@media (min-width:992px) and (prefers-reduced-motion:no-preference){
  .hero, .venue-band, .cta-band{ background-attachment:fixed; }
}
.hero-inner > *{
  opacity:0; transform:translateY(22px);
  animation:heroIn .9s var(--ease) forwards;
}
.hero-inner .hero-eyebrow{ animation-delay:.05s; }
.hero-inner h1{ animation-delay:.18s; }
.hero-inner .lead{ animation-delay:.34s; }
.hero-inner .d-flex{ animation-delay:.48s; }
@keyframes heroIn{
  to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  .hero-inner > *{ opacity:1; transform:none; animation:none; }
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,7,.42) 0%, rgba(8,8,7,.32) 45%, rgba(8,8,7,.62) 100%);
}
.hero::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:110px;
  background:linear-gradient(to bottom, transparent, rgba(0,0,0,.28));
  pointer-events:none;
}
.hero .hero-inner{ position:relative; z-index:2; color:#fff; }
.hero .hero-eyebrow{
  color:var(--bff-gold-light); text-transform:uppercase; letter-spacing:4px; font-size:.75rem; font-weight:600;
  display:inline-flex; align-items:center; gap:.7rem; margin-bottom:1rem;
}
.hero .hero-eyebrow::before, .hero .hero-eyebrow::after{ content:""; width:34px; height:1px; background:var(--bff-gold-light); }
.hero h1{
  font-size:clamp(2.4rem, 1.7rem + 3.3vw, 4.4rem); font-weight:500; color:#fff; line-height:1.08;
  text-shadow:0 4px 24px rgba(0,0,0,.4);
}
.hero .lead{
  font-size:1.05rem; letter-spacing:2px; text-transform:uppercase;
  font-weight:400; margin:1.3rem 0 2.2rem; color:#f2ede0;
}

/* ---------- Sections ---------- */
.section-cream{ background:var(--bff-cream); }
.section-pad{ padding-top:5.5rem; padding-bottom:5.5rem; }
.section-pad-sm{ padding-top:3rem; padding-bottom:3rem; }

.intro-emblem{ ; opacity:.92; margin-bottom:1.6rem; filter:drop-shadow(0 6px 10px rgba(0,0,0,.08)); }

/* ---------- Reveal-on-scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* Staggered card cascade inside a revealed section (delay set inline via JS) */
.reveal .service-card,
.reveal .price-card,
.reveal .category-card,
.reveal .review-card,
.reveal .blog-card,
.reveal .gallery-col{
  opacity:0; transform:translateY(20px) scale(.98);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.reveal.is-visible .service-card,
.reveal.is-visible .price-card,
.reveal.is-visible .category-card,
.reveal.is-visible .review-card,
.reveal.is-visible .blog-card,
.reveal.is-visible .gallery-col{
  opacity:1; transform:translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal .service-card, .reveal .price-card, .reveal .category-card,
  .reveal .review-card, .reveal .blog-card, .reveal .gallery-col{
    opacity:1; transform:none; transition:none;
  }
}

/* ---------- Feature lists ---------- */
.feature-list li{ padding:.4rem 0; display:flex; align-items:flex-start; gap:.7rem; }
.feature-list i{
  color:#fff; background:var(--bff-gold); border-radius:50%;
  width:20px; height:20px; min-width:20px; display:flex; align-items:center; justify-content:center;
  margin-top:.2rem; font-size:.62rem;
}
.feature-img{
  border-radius:8px; width:100%; height:100%; object-fit:cover; min-height:340px;
  box-shadow:var(--shadow-mid);
  transition:transform .6s var(--ease), box-shadow .6s var(--ease);
}
.feature-img-wrap{ overflow:hidden; border-radius:8px; }
.feature-img-wrap:hover .feature-img{ transform:scale(1.035); box-shadow:var(--shadow-lift); }

/* ---------- Venue / CTA full-width bands ---------- */
.venue-band, .cta-band{
  position:relative; min-height:440px;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  display:flex; align-items:center; justify-content:center; text-align:center;
}
.venue-band::before, .cta-band::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,7,.5), rgba(8,8,7,.62));
}
.venue-band .venue-inner, .cta-band .cta-inner{ position:relative; z-index:2; color:#fff; max-width:660px; }
.venue-band h2, .cta-band h2{ color:#fff; font-size:clamp(2rem, 1.5rem + 2vw, 2.85rem); }
.venue-band p, .cta-band p{ color:#efe9db; }

/* ---------- Gallery ---------- */
.gallery-wrap{ position:relative; padding:0 60px; }
.gallery-track{ display:flex; gap:22px; overflow:hidden; }
.gallery-col{ flex:0 0 calc(25% - 16.5px); }
.gallery-track img{
  height:290px; width:100%; object-fit:cover; border-radius:8px;
  box-shadow:var(--shadow-soft);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.gallery-col:hover img{ transform:translateY(-6px) scale(1.015); box-shadow:var(--shadow-mid); }
.gallery-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%;
  background:var(--bff-gold); color:#fff; display:flex; align-items:center; justify-content:center;
  border:none; box-shadow:0 8px 20px rgba(156,125,58,.3); z-index:3;
  transition:.25s var(--ease);
}
.gallery-arrow:hover{ background:var(--bff-gold-dark); transform:translateY(-50%) scale(1.06); }
.gallery-arrow.prev{ left:2px; }
.gallery-arrow.next{ right:2px; }
.gallery-dots{ text-align:center; margin-top:1.9rem; }
.gallery-dots span{ display:inline-block; width:8px; height:8px; border-radius:50%; background:#ddd2ab; margin:0 4px; transition:.3s ease; }
.gallery-dots span.active{ background:var(--bff-gold); width:24px; border-radius:5px; }

/* ---------- Cards (services / pricing / categories / reviews / blog) ---------- */
.service-card, .price-card, .category-card, .review-card, .blog-card{
  background:#fff; border:1px solid var(--bff-line); border-radius:12px;
  box-shadow:var(--shadow-soft);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.service-card:hover, .price-card:hover, .category-card:hover, .blog-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--shadow-lift);
  border-color:var(--bff-gold-light);
}

.service-card{ padding:2.1rem 1.85rem; height:100%; }
.service-icon{
  width:58px; height:58px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--bff-cream-dark), #fff 75%);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.3rem;
  color:var(--bff-gold-dark); font-size:1.4rem;
  box-shadow:inset 0 0 0 1px var(--bff-line);
}
.service-card h3{ font-size:1.42rem; margin-bottom:.7rem; }
.service-card p{ font-size:.87rem; color:var(--bff-muted); margin:0; }

.price-card{ padding:2.4rem 1.85rem; height:100%; text-align:center; }
.price-card .price{ font-size:2.7rem; color:var(--bff-gold-dark); margin-bottom:.5rem; }
.price-card h3{ font-size:1.32rem; margin-bottom:.8rem; }
.price-card p{ font-size:.87rem; color:var(--bff-muted); margin:0; }

.category-card{ padding:2.1rem 1.85rem; height:100%; text-align:center; }
.category-thumb{
  width:92px; height:92px; border-radius:50%; object-fit:cover; margin:0 auto 1.3rem;
  display:block; border:3px solid var(--bff-cream-dark); box-shadow:var(--shadow-soft);
}
.category-card h3{ font-size:1.5rem; margin-bottom:1rem; }
.category-card ul{ list-style:none; padding:0; margin:0; }
.category-card ul li{ font-size:.87rem; color:var(--bff-muted); padding:.4rem 0; border-top:1px solid #f1ebda; }
.category-card ul li:first-child{ border-top:none; }

.review-card{ padding:1.5rem; height:100%; }
.review-stars i{ color:#f4b400; font-size:.85rem; margin-right:2px; }
.review-text{
  font-size:.86rem; color:#4a4a45; margin:.85rem 0 1.2rem;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.review-avatar{ width:36px; height:36px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px #fff, 0 0 0 4px var(--bff-line); }
.review-name{ font-size:.83rem; font-weight:600; }
.review-date{ font-size:.72rem; color:#9a978d; }

.blog-card{ overflow:hidden; height:100%; display:flex; flex-direction:column; }
.blog-card img{ width:100%; height:225px; object-fit:cover; transition:transform .5s var(--ease); }
.blog-card:hover img{ transform:scale(1.045); }
.blog-card-body{ padding:1.6rem; display:flex; flex-direction:column; flex:1; }
.blog-date{ font-size:.72rem; text-transform:uppercase; letter-spacing:1.2px; color:var(--bff-gold-dark); font-weight:600; margin-bottom:.65rem; }
.blog-title{ font-size:1.32rem; line-height:1.32; margin-bottom:1.1rem; flex:1; }
.blog-readmore{ font-size:.75rem; text-transform:uppercase; letter-spacing:1.6px; font-weight:600; color:var(--bff-ink); display:inline-flex; align-items:center; gap:.45rem; }
.blog-readmore i{ font-size:.7rem; transition:transform .3s var(--ease); }
.blog-card:hover .blog-readmore i{ transform:translateX(5px); }

/* ---------- Pricing / form pages ---------- */
.pricing-cover{
  width:100%; max-width:400px; border-radius:8px;
  box-shadow:var(--shadow-lift);
  transition:transform .5s var(--ease);
}
.pricing-cover:hover{ transform:translateY(-6px); }
.form-card{
  background:#fff; border:1px solid var(--bff-line); border-radius:12px;
  box-shadow:var(--shadow-mid); overflow:hidden;
}
.form-card.p-body{ padding:2.1rem; }
.form-card label{ font-size:.82rem; font-weight:600; margin-bottom:.4rem; display:block; }
.form-card .form-control{ border-radius:5px; border-color:var(--bff-line); padding:.7rem .9rem; font-size:.9rem; }
.form-card .form-control:focus{ border-color:var(--bff-gold); box-shadow:0 0 0 .2rem rgba(198,163,85,.18); }

/* ---------- Iframe booking form embed ---------- */
.form-card iframe{ width:100%; border:none; display:block; }

/* ---------- Story sections (about/tour pages) ---------- */
.story-heading{ font-size:clamp(1.7rem, 1.3rem + 1.3vw, 2.3rem); margin-bottom:1.1rem; text-align:left; }
.story-text{ color:var(--bff-muted); text-align:left; }
.story-text p{ margin-bottom:1.05rem; }
.signature{ font-family:'Cormorant Garamond', serif; font-style:italic; font-size:1.25rem; color:var(--bff-ink); }
.story-img{
  border-radius:8px; width:100%; height:100%; object-fit:cover; min-height:360px;
  box-shadow:var(--shadow-mid);
}

/* ---------- Blog article body content (single.php) ---------- */
.article-content{ color:var(--bff-ink); font-size:1rem; line-height:1.85; }
.article-content > *:first-child{ margin-top:0; }
.article-content p{ margin-bottom:1.4rem; color:#3d3c37; }
.article-content h2{
  font-size:1.85rem; margin:2.6rem 0 1.1rem; color:var(--bff-ink);
  position:relative; padding-left:1.1rem;
}
.article-content h2::before{
  content:""; position:absolute; left:0; top:.25rem; bottom:.25rem; width:3px;
  background:linear-gradient(180deg, var(--bff-gold-light), var(--bff-gold-dark));
  border-radius:2px;
}
.article-content h3{
  font-size:1.35rem; margin:1.8rem 0 .8rem; color:var(--bff-gold-dark);
}
.article-content ul, .article-content ol{ margin:0 0 1.4rem; padding-left:1.4rem; color:#3d3c37; }
.article-content li{ margin-bottom:.5rem; }
.article-content a{ color:var(--bff-gold-dark); text-decoration:underline; text-underline-offset:2px; }
.article-content a:hover{ color:var(--bff-ink); }
.article-content blockquote{
  margin:2rem 0; padding:1.25rem 1.5rem; border-left:3px solid var(--bff-gold);
  background:var(--bff-cream); font-style:italic; color:var(--bff-muted); border-radius:0 8px 8px 0;
}
.article-content img{ border-radius:8px; box-shadow:var(--shadow-soft); margin:1.5rem 0; max-width:100%; height:auto; }
.article-content em{ color:var(--bff-muted); }
.article-content strong{ color:var(--bff-ink); }

/* FAQ block: every H3 immediately followed by a P gets a card treatment */
.article-content h3 + p{
  background:#fff; border:1px solid var(--bff-line); border-radius:8px;
  padding:1.1rem 1.3rem; margin-top:-.3rem; margin-bottom:1.6rem;
  box-shadow:var(--shadow-soft);
}

/* ---------- Audio narration player (WordPress [audio] shortcode) ---------- */
.article-content .audio-listen-label{
  display:flex; align-items:center; gap:.6rem;
  font-size:.72rem; text-transform:uppercase; letter-spacing:1.5px; font-weight:600;
  color:var(--bff-gold-dark); margin-bottom:.75rem;
}
.article-content .audio-listen-label i{ font-size:.85rem; }
.article-content .wp-block-audio,
.article-content .wp-audio-shortcode{
  background:var(--bff-cream); border:1px solid var(--bff-line); border-radius:10px;
  padding:1.1rem 1.3rem; margin:0 0 2rem; box-shadow:var(--shadow-soft);
}
.article-content audio{ width:100%; }
.article-content .mejs-container{ border-radius:6px; overflow:hidden; }
.article-content .mejs-controls{ background:#fff !important; }
.article-content .mejs-time-total,
.article-content .mejs-horizontal-volume-total{ background:var(--bff-line) !important; }
.article-content .mejs-time-current,
.article-content .mejs-horizontal-volume-current{ background:var(--bff-gold) !important; }
.article-content .mejs-button button{ color:var(--bff-gold-dark) !important; }

/* ---------- Map ---------- */
.map-embed{ position:relative; }
.map-embed iframe{ width:100%; height:440px; border:0; display:block; filter:saturate(.92); }

/* ---------- Footer ---------- */
footer{ background:var(--bff-black); color:#cbc7ba; padding:4.5rem 0 0; position:relative; }
footer::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, transparent, var(--bff-gold), transparent);
}
footer h6{ color:var(--bff-gold-light); text-transform:uppercase; letter-spacing:1.8px; font-size:.78rem; font-weight:600; margin-bottom:1.3rem; }
footer ul{ list-style:none; padding:0; margin:0; }
footer ul li{ margin-bottom:.65rem; font-size:.87rem; }
footer ul li a{ transition:.25s ease; }
footer ul li a:hover{ color:var(--bff-gold-light); padding-left:3px; }
footer .footer-brand h5{ color:#fff; font-family:'Cormorant Garamond',serif; font-size:1.55rem; }
footer .footer-bottom{ border-top:1px solid #232320; margin-top:2.75rem; padding:1.3rem 0; font-size:.78rem; color:#83807a; }
footer .social-icons a{ color:#cbc7ba; font-size:1rem; margin-right:1.1rem; transition:.25s ease; display:inline-block; }
footer .social-icons a:hover{ color:var(--bff-gold-light); transform:translateY(-3px); }

@media (max-width: 991px){
  .gallery-col{ flex:0 0 100%; }
  .gallery-track img{ height:230px; }
  .venue-band, .cta-band{ min-height:360px; }
}

/* =========================================================
   NAV — PRESENTABLE LAYOUT
   Replaces the previous "force single line everywhere" patch.
   Desktop (>=992px): balanced spacing, menu centered in the
   space between logo and social icons, single line.
   Mobile/tablet (<992px): normal Bootstrap collapse + hamburger
   restored (forcing single-line there made text unreadable).
   ========================================================= */

#mainHeader .navbar{
  padding: .5rem 0 !important;
}
#mainHeader .container{
  max-width: 1320px !important;
  overflow-x: visible !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

@media (min-width: 992px){
  #mainHeader .navbar{
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  #mainHeader .navbar-brand{
    flex: 0 0 auto !important;
    margin-right: 2.5rem !important;
  }
  #mainHeader .navbar-collapse{
    flex: 1 1 auto !important;
    display: flex !important;
  }
  #mainHeader .navbar-nav{
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100%;
    gap: .35rem;
  }
  #mainHeader .nav-item{
    white-space: nowrap !important;
  }
  #mainHeader .nav-link{
    white-space: nowrap !important;
    font-size: .78rem !important;
    letter-spacing: 1.1px !important;
    padding: .4rem .85rem !important;
    margin: 0 !important;
  }
  #mainHeader .social-icons{
    flex: 0 0 auto !important;
    margin-left: 2rem !important;
  }

  /* Progressive shrink so it still fits at smaller desktop/laptop
     widths without wrapping to a second line */
  @media (max-width: 1300px){
    #mainHeader .nav-link{ font-size: .72rem !important; padding: .4rem .6rem !important; letter-spacing: .8px !important; }
  }
  @media (max-width: 1150px){
    #mainHeader .nav-link{ font-size: .66rem !important; padding: .4rem .45rem !important; }
    #mainHeader .navbar-brand{ margin-right: 1.25rem !important; }
    #mainHeader .social-icons{ margin-left: 1rem !important; }
  }
}

/* ---------- Mobile / tablet: restore normal collapse + hamburger ---------- */
@media (max-width: 991.98px){
  #mainHeader .navbar{
    flex-wrap: wrap !important;
    justify-content: space-between !important;
  }
  #mainHeader .navbar-nav{
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #mainHeader .nav-link{
    font-size: .82rem !important;
    white-space: normal !important;
  }
}