/* Lakeside SEO V3.3 Brand Refresh
   Purpose: unify public SEO site + Instant Quote around the official Lakeside logo and brand palette.
   This file intentionally loads last and overrides earlier V3/V3.2 styles without changing app logic. */
:root{
  --brand-pine:#10241b;
  --brand-pine-2:#0b1b14;
  --brand-green:#1f5f3a;
  --brand-green-2:#2f7d3c;
  --brand-grass:#8cc63f;
  --brand-ice:#86d6ee;
  --brand-ice-soft:#eef9fc;
  --brand-leaf-soft:#eef7ef;
  --brand-cream:#fbfcf7;
  --brand-white:#ffffff;
  --brand-ink:#111a15;
  --brand-muted:#5e6e65;
  --brand-line:#dce7df;
  --brand-shadow:0 18px 44px rgba(16,36,27,.10);

  /* Map the old V3 variables into the Lakeside palette. */
  --green:var(--brand-green);
  --green-2:var(--brand-pine);
  --green-3:var(--brand-leaf-soft);
  --gold:var(--brand-grass);
  --ink:var(--brand-ink);
  --muted:var(--brand-muted);
  --line:var(--brand-line);
  --bg:var(--brand-cream);
  --card:var(--brand-white);
  --shadow:var(--brand-shadow);
}
html{background:var(--brand-cream);} 
body{
  background:
    radial-gradient(circle at 12% 4%, rgba(134,214,238,.12), transparent 28rem),
    linear-gradient(180deg,#ffffff 0%,var(--brand-cream) 42%,#f4faf5 100%) !important;
  color:var(--brand-ink) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.topbar,
.instant-quote-page .topbar{
  background:linear-gradient(90deg,var(--brand-pine) 0%,#173b2a 54%,var(--brand-green) 100%) !important;
  border-bottom:3px solid rgba(140,198,63,.55);
  color:#fff !important;
}
.topbar a,.instant-quote-page .topbar a{color:#fff!important;text-decoration:none;}
.site-header,
.instant-quote-page .site-header{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid var(--brand-line)!important;
  box-shadow:0 8px 28px rgba(16,36,27,.06);
  z-index:100!important;
}
.nav,.instant-quote-page .site-header .nav{min-height:82px!important;}
.brand,
.footer .brand,
.instant-quote-page .site-header .brand{
  gap:12px!important;
  min-width:0;
}
.brand strong,
.instant-quote-page .site-header .brand strong{
  color:var(--brand-ink)!important;
  font-weight:900!important;
}
.brand em,
.instant-quote-page .site-header .brand em{
  color:var(--brand-muted)!important;
  letter-spacing:.01em;
}
.brand-mark,
.instant-quote-page .site-header .brand-mark{
  width:78px!important;
  height:54px!important;
  min-width:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:0!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  letter-spacing:0!important;
  overflow:visible!important;
}
.brand-mark.brand-logo img,
.instant-quote-page .site-header .brand-mark.brand-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 4px 8px rgba(16,36,27,.18));
}
/* Fallback if a page still has text-only LL markup. */
.brand-mark:not(.brand-logo){
  background-image:url('/assets/img/lakeside-logo.png')!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
}
.footer .brand-mark{width:104px!important;height:70px!important;min-width:104px!important;}
.footer .brand strong{color:#fff!important;}
.footer .brand em{color:#d8e8de!important;}
.menu a,
.instant-quote-page .site-header .menu a{
  color:var(--brand-ink)!important;
}
.menu a[aria-current=page],
.instant-quote-page .site-header .menu a[aria-current=page]{
  color:var(--brand-green)!important;
}
.menu-toggle,
.instant-quote-page .site-header .menu-toggle{
  background:linear-gradient(180deg,#f6fbf7 0%,#eaf4ee 100%)!important;
  color:var(--brand-green)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:0 4px 14px rgba(16,36,27,.08);
}
.btn,
button,
.instant-quote-page button{
  border-radius:999px!important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn:hover,
button:hover,
.instant-quote-page button:hover{transform:translateY(-1px);}
.btn-primary,
.menu a.btn-primary,
.instant-quote-page .site-header .menu a.btn-primary,
.instant-quote-page .site-header .menu a.btn-primary:visited,
.instant-quote-page .site-header .menu a.btn-primary:hover,
.instant-quote-page .site-header .menu a.btn-primary:focus{
  background:linear-gradient(180deg,var(--brand-green-2) 0%,var(--brand-green) 100%)!important;
  border-color:var(--brand-green)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(31,95,58,.20);
}
.btn-secondary{
  color:var(--brand-green)!important;
  background:#fff!important;
  border-color:var(--brand-green)!important;
}
.btn-soft{
  color:var(--brand-green)!important;
  background:linear-gradient(180deg,#fff 0%,var(--brand-leaf-soft) 100%)!important;
  border-color:var(--brand-line)!important;
}
.hero,.page-hero{
  background:
    radial-gradient(circle at 15% 20%, rgba(134,214,238,.22), transparent 26rem),
    radial-gradient(circle at 82% 10%, rgba(140,198,63,.18), transparent 20rem),
    linear-gradient(135deg,#f8fffb 0%,#ffffff 52%,#edf8f1 100%)!important;
  border-bottom:1px solid var(--brand-line)!important;
}
.eyebrow{
  color:var(--brand-green)!important;
  letter-spacing:.18em!important;
}
.pill,.area-links a,.badge{
  color:var(--brand-green)!important;
  background:#fff!important;
  border-color:var(--brand-line)!important;
}
.badge{
  background:linear-gradient(180deg,var(--brand-ice-soft) 0%,#f6fff1 100%)!important;
  border-color:#cfe6d1!important;
}
.hero-card,.panel,.card,.faq-list details,.table,.iq-card-header,.instant-quote-page .panel{
  border-color:var(--brand-line)!important;
  box-shadow:0 14px 38px rgba(16,36,27,.08)!important;
}
.card.highlight{
  border-color:rgba(140,198,63,.58)!important;
  box-shadow:0 18px 44px rgba(31,95,58,.12)!important;
}
.mini-item{
  background:linear-gradient(180deg,#f5fbf7 0%,var(--brand-ice-soft) 100%)!important;
  border:1px solid var(--brand-line);
}
.price{color:var(--brand-green)!important;}
.section.alt{background:linear-gradient(180deg,#f2f8f4 0%,#f8fcfa 100%)!important;}
.section.dark{
  background:
    radial-gradient(circle at 10% 20%, rgba(134,214,238,.16), transparent 28rem),
    linear-gradient(135deg,var(--brand-pine) 0%,#143c2b 70%,var(--brand-pine-2) 100%)!important;
  color:#fff!important;
}
.notice{
  background:#fffdf4!important;
  border-color:#dbe8bf!important;
  color:var(--brand-pine)!important;
}
.quote-strip{
  background:
    radial-gradient(circle at 10% 10%, rgba(134,214,238,.14), transparent 22rem),
    linear-gradient(135deg,var(--brand-green) 0%,var(--brand-pine) 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 46px rgba(16,36,27,.18);
}
.form input,.form select,.form textarea,
.instant-quote-page input,
.instant-quote-page select,
.instant-quote-page textarea{
  border-color:var(--brand-line)!important;
  color:var(--brand-ink)!important;
}
.form input:focus,.form select:focus,.form textarea:focus,
.instant-quote-page input:focus,
.instant-quote-page select:focus,
.instant-quote-page textarea:focus{
  border-color:rgba(31,95,58,.55)!important;
  box-shadow:0 0 0 4px rgba(134,214,238,.22)!important;
}
input[type="radio"],input[type="checkbox"]{accent-color:var(--brand-green);}
.footer{
  background:
    radial-gradient(circle at 14% 10%, rgba(134,214,238,.08), transparent 24rem),
    linear-gradient(180deg,var(--brand-pine) 0%,var(--brand-pine-2) 100%)!important;
  color:#dce8e2!important;
}
.footer-bottom{border-top-color:rgba(255,255,255,.14)!important;}

/* Instant Quote: bring legacy quote app into the same brand family. */
.instant-quote-page{
  --iq-blue:var(--brand-pine);
  --iq-blue-2:var(--brand-green);
  --iq-card:#ffffff;
  --iq-text:var(--brand-ink);
  --iq-muted:var(--brand-muted);
  --iq-border:var(--brand-line);
  background:linear-gradient(180deg,#fff 0%,#f5faf7 100%)!important;
}
.instant-quote-page .iq-hero{
  background:
    radial-gradient(circle at 13% 18%, rgba(134,214,238,.18), transparent 24rem),
    radial-gradient(circle at 85% 12%, rgba(140,198,63,.20), transparent 18rem),
    linear-gradient(135deg,var(--brand-pine) 0%,#194b33 66%,var(--brand-green) 100%)!important;
  color:#fff!important;
  border-bottom:4px solid rgba(140,198,63,.65);
}
.instant-quote-page .iq-hero h1{letter-spacing:-.04em!important;}
.instant-quote-page .iq-card-header,
.instant-quote-page .panel{
  background:#fff!important;
  border-color:var(--brand-line)!important;
  box-shadow:0 12px 30px rgba(16,36,27,.08)!important;
}
.instant-quote-page .title,
.instant-quote-page .panel h2,
.instant-quote-page label{color:var(--brand-ink)!important;}
.instant-quote-page .sub,
.instant-quote-page .tag,
.instant-quote-page .small{color:var(--brand-muted)!important;}
.instant-quote-page button:not(.menu-toggle){
  background:linear-gradient(180deg,var(--brand-green-2) 0%,var(--brand-green) 100%)!important;
  border:1px solid var(--brand-green)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(31,95,58,.16);
}
.instant-quote-page button.ghost:not(.menu-toggle){
  background:linear-gradient(180deg,#ffffff 0%,var(--brand-leaf-soft) 100%)!important;
  color:var(--brand-green)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:none!important;
}
.instant-quote-page button.selected{
  background:linear-gradient(180deg,var(--brand-green-2) 0%,var(--brand-green) 100%)!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(134,214,238,.36),0 10px 22px rgba(31,95,58,.18)!important;
}
.instant-quote-page .notice,
.instant-quote-page .map-help{
  background:linear-gradient(180deg,#ffffff 0%,var(--brand-ice-soft) 100%)!important;
  border:1px solid #cae7ef!important;
  color:var(--brand-pine)!important;
}
.instant-quote-page.maps-auth-error .map-help{
  background:#fffdf4!important;
  border-color:#dbe8bf!important;
}
.instant-quote-page .map{
  border-color:var(--brand-line)!important;
  box-shadow:0 12px 30px rgba(16,36,27,.08);
}
.instant-quote-page .hr{border-top-color:rgba(16,36,27,.12)!important;}
.instant-quote-page .kpi{border-color:var(--brand-line)!important;}
.instant-quote-page .value{color:var(--brand-green)!important;}

@media(max-width:980px){
  .menu,
  .instant-quote-page .site-header .menu{
    background:#fff!important;
    border-color:var(--brand-line)!important;
    box-shadow:0 24px 60px rgba(16,36,27,.18)!important;
    z-index:120!important;
  }
  .menu a.btn-primary,
  .instant-quote-page .site-header .menu a.btn-primary{
    width:100%!important;
    align-self:stretch!important;
    color:#fff!important;
    text-align:center!important;
  }
}
@media(max-width:660px){
  .topbar-inner{gap:4px!important;line-height:1.45;}
  .nav,.instant-quote-page .site-header .nav{min-height:74px!important;gap:10px!important;}
  .brand,.instant-quote-page .site-header .brand{gap:9px!important;}
  .brand-mark,
  .instant-quote-page .site-header .brand-mark{
    width:58px!important;
    height:42px!important;
    min-width:58px!important;
  }
  .brand strong,
  .instant-quote-page .site-header .brand strong{font-size:1.02rem!important;line-height:1.08;}
  .brand em,
  .instant-quote-page .site-header .brand em{font-size:.78rem!important;}
  .menu-toggle,
  .instant-quote-page .site-header .menu-toggle{padding:9px 12px!important;border-radius:14px!important;}
  .footer .brand-mark{width:88px!important;height:60px!important;min-width:88px!important;}
  .instant-quote-page .iq-hero{padding:40px 0 46px!important;}
  .instant-quote-page .iq-hero h1{font-size:clamp(2.05rem,12vw,3.25rem)!important;}
}
