/* ============================================================
   STICKY HEADER — #3060b0 blue, slightly transparent
   ============================================================ */
.header-holder.nav-fixed-top,
.main-header.nav-fixed-top,
.nav-fixed-top {
  background-color: rgba(48, 96, 176, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
  transition: background-color 0.3s ease !important;
}

.nav-fixed-top .menu-nav li a,
.nav-fixed-top .menu-mobile li a,
.nav-fixed-top a {
  color: #ffffff !important;
}

/* Cream pill background — ONLY on the colored header logo */
img[src*="brown-co-website-logo"] {
  background-color: rgba(237, 229, 216, 0.95) !important;
  padding: 8px 18px !important;
  border-radius: 6px !important;
  box-sizing: content-box !important;
}

/* ============================================================
   PAGE BANNER TITLES — force white text on dark background
   ============================================================ */
.top-single-bkg .post-title,
.top-single-bkg .single-post-title,
.top-single-bkg h1,
.topsinglepage .post-title,
.topsinglepage h1,
.inner-desc .post-title,
.inner-desc h1 {
  color: #ffffff !important;
}

/* ============================================================
   TOP HEADER BAR — phone, email, social icons all white
   ============================================================ */
.top-header,
.top-header .binfo,
.top-header .binfo ul,
.top-header .binfo li,
.top-header .binfo span,
.top-header .binfo i,
.top-header .binfo a {
  color: #ffffff !important;
}

/* Phone and email icons specifically */
.top-header .binfo .fas,
.top-header .binfo .far,
.top-header .binfo i {
  color: #ffffff !important;
}

/* Social icons (LinkedIn SVG, search icon) */
.top-header .header-social a,
.top-header .header-social i,
.top-header .header-social svg,
.top-header .header-social svg path,
.top-header .social-media a,
.top-header .social-media i,
.top-header .social-media svg,
.top-header .social-media svg path {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Hover state — peachy pink to match rest of site */
.top-header .header-social a:hover,
.top-header .header-social a:hover svg,
.top-header .header-social a:hover svg path,
.top-header .search-btn:hover,
.top-header .search-btn:hover i {
  color: #F5C8B8 !important;
  fill: #F5C8B8 !important;
}

/* ============================================================
   LOGO SIZING
   ============================================================ */
.logo img,
.header-holder .logo img,
.main-header .logo img,
.nav-fixed-top .logo img {
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
}

/* ============================================================
   HERO SLIDER HEIGHT
   ============================================================ */
.swiper-mt,
.swiper-mt .swiper-slide,
.swiper-mt .swiper-container,
.swiper-mt .swiper-wrapper {
  height: 75vh !important;
  min-height: 600px !important;
  max-height: 800px !important;
}

.swiper-mt .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ============================================================
   FONTS — Work Sans for menu + footer only
   ============================================================ */

/* Header navigation menu */
.menu-nav li,
.menu-nav li a,
.menu-mobile li,
.menu-mobile li a,
.main-header .menu-nav > li > a,
.header-holder .menu-nav > li > a {
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 400 !important;
}

/* Footer — all text */
footer p,
footer a,
footer li,
footer span,
footer div,
footer h3,
footer h4,
footer .widget-title {
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 400 !important;
}

/* ============================================================
   ICON SIZING
   ============================================================ */
.icon-top img {
  width: 80px;
}

.practice-icon-v2 .icon-top img {
  width: 50px;
}

/* ============================================================
   FOOTER — tight, centered, balanced layout (#3060b0 blue)
   ============================================================ */
footer[itemtype="https://schema.org/WPFooter"] {
  background-color: #3060b0 !important;
  padding-top: 50px !important;
  padding-bottom: 30px !important;
  margin-top: 0 !important;
}

/* Center container — tighter max-width */
footer[itemtype="https://schema.org/WPFooter"] .container {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Hide the empty 4th column */
footer[itemtype="https://schema.org/WPFooter"] .foo-block.foo-last {
  display: none !important;
}

footer[itemtype="https://schema.org/WPFooter"] .col-md-6.col-lg-3:nth-child(4) {
  display: none !important;
}

/* Flex row — centered with controlled gap */
footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .row {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 70px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Column widths — Brand wider, Quick Links + Contact tighter */
footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3 {
  flex: 0 1 auto !important;
  padding: 0 !important;
}

footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3:nth-child(1) {
  max-width: 340px !important;
  width: 340px !important;
}

footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3:nth-child(2) {
  max-width: 220px !important;
  width: 220px !important;
}

footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3:nth-child(3) {
  max-width: 260px !important;
  width: 260px !important;
}

footer[itemtype="https://schema.org/WPFooter"] .foo-block {
  padding-bottom: 0 !important;
}

/* Strip default list bullets */
footer ul,
footer ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

footer ul li,
footer ol li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 10px !important;
}

footer ul li::before,
footer ol li::before {
  display: none !important;
  content: none !important;
}

/* Hide widget titles + decorative dots */
footer .widget-title,
footer h2.widget-title,
footer h3.widget-title,
footer .widget-title::after,
footer .widget-title::before {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Footer base text */
footer p,
footer h4,
footer h3 {
  color: #ffffff !important;
}

/* HEADINGS (QUICK LINKS, CONTACT) — UNDERLINED */
footer .foo-block h3,
footer .foo-block h4,
footer .textwidget h3,
footer .textwidget h4,
footer .widget-footer h3,
footer .widget-footer h4 {
  font-size: 13px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  color: #ffffff !important;
  opacity: 0.85 !important;
  text-decoration: underline !important;
  text-underline-offset: 6px !important;
  text-decoration-thickness: 1px !important;
  border-bottom: none !important;
}

/* Reset all footer links to default (no underline) */
footer a {
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* CONTENT LINKS (About Us, Practice Areas, etc.) — PLAIN, NO underline */
footer .foo-block p a,
footer .textwidget p a,
footer .widget-footer p a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 400 !important;
}

footer .foo-block p a:hover,
footer .textwidget p a:hover,
footer .widget-footer p a:hover {
  color: #F5C8B8 !important;
}

/* Email — pink, not bold, no underline, peachy hover */
footer .foo-block a[href^="mailto:"],
footer .foo-block p a[href^="mailto:"],
footer .textwidget a[href^="mailto:"] {
  color: #d99a8a !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

footer .foo-block a[href^="mailto:"]:hover,
footer .foo-block p a[href^="mailto:"]:hover {
  color: #F5C8B8 !important;
}

/* Phone — white, no underline, peachy hover */
footer .foo-block a[href^="tel:"],
footer .foo-block p a[href^="tel:"],
footer .textwidget a[href^="tel:"] {
  color: #ffffff !important;
  text-decoration: none !important;
}

footer .foo-block a[href^="tel:"]:hover,
footer .foo-block p a[href^="tel:"]:hover {
  color: #F5C8B8 !important;
}

/* Copyright bar — full-width divider, centered text */
footer .copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin: 40px auto 0 !important;
  padding-top: 20px !important;
  text-align: center !important;
  max-width: 1020px !important;
}

footer .footer-copy {
  border: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  font-size: 13px !important;
  opacity: 0.7 !important;
  text-align: center !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 40px !important;
  }

  footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3,
  footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3:nth-child(1),
  footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3:nth-child(2),
  footer[itemtype="https://schema.org/WPFooter"] .footer-widgets .col-md-6.col-lg-3:nth-child(3) {
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
  }

  footer[itemtype="https://schema.org/WPFooter"] .container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ============================================================
   SMOOTH SCROLL + ANCHOR OFFSET (for footer "Practice Areas" link)
   ============================================================ */
html {
  scroll-behavior: smooth !important;
}

#services {
  scroll-margin-top: 100px !important;
}

/* ============================================================
   MOBILE MENU — #3060b0 blue background, white text
   ============================================================ */
.mobile-menu-holder,
.mobile-menu-holder.is-active,
.modal-menu-container {
  background-color: rgba(48, 96, 176, 0.98) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Menu items — white text */
.mobile-menu-holder .menu-mobile li a,
.mobile-menu-holder .menu-mobile li,
.modal-menu-container .menu-mobile li a {
  color: #ffffff !important;
}

/* Hover / active menu item — peachy pink */
.mobile-menu-holder .menu-mobile li a:hover,
.mobile-menu-holder .menu-mobile li.current-menu-item > a {
  color: #F5C8B8 !important;
}

/* Bottom contact info (phone + email) */
.mobile-menu-holder .menu-contact,
.mobile-menu-holder .menu-contact li,
.mobile-menu-holder .menu-contact span,
.mobile-menu-holder .menu-contact i {
  color: #ffffff !important;
}

/* Social icons (LinkedIn, etc.) — white fill */
.mobile-menu-holder .menu-contact .social-media a,
.mobile-menu-holder .menu-contact .social-media svg,
.mobile-menu-holder .menu-contact .social-media svg path {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.mobile-menu-holder .menu-contact .social-media a:hover,
.mobile-menu-holder .menu-contact .social-media a:hover svg,
.mobile-menu-holder .menu-contact .social-media a:hover svg path {
  color: #F5C8B8 !important;
  fill: #F5C8B8 !important;
}

/* Close button (X) — white bars */
.mobile-menu-holder .exit-mobile .icon-bar1,
.mobile-menu-holder .exit-mobile .icon-bar2,
.modal-menu-container .exit-mobile .icon-bar1,
.modal-menu-container .exit-mobile .icon-bar2 {
  background-color: #ffffff !important;
}
/* ============================================================
   MOBILE SIDE MARGINS — only applies on mobile viewports
   ============================================================ */
@media (max-width: 1024px) {
  main,
  .site-content,
  .content-area,
  .elementor-section:not(.swiper-mt):not(.main-header):not(footer) {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
}