/* ============================
   Site-wide Georgia Font System + Mobile Menu Fix
   ============================ */
@import url('https://fonts.googleapis.com/css2?family=Georgia,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;0,6..96,700;0,6..96,800;0,6..96,900;1,6..96,400;1,6..96,500;1,6..96,600;1,6..96,700;1,6..96,800;1,6..96,900&display=swap');

/* Base font for entire site */
body,
.main,
p,
div {
    font-family: 'Georgia', serif !important;
    font-weight: 500 !important;
}

/* Header elements - FORCE Georgia on everything in header */
#header,
#header *,
.header,
.header *,
#header .phone,
#header .contact-info,
#header span,
#header div,
#header p {
    font-family: 'Georgia', serif !important;
}

/* Navigation - uniform weight and size - FORCE Georgia */
#header .navigation a,
#header .navigation li a,
#header .navigation ul li a,
.header .navigation a,
.header .navigation li a,
.primary-menu a,
.main-navigation a,
.list-unstyled a,
.menu-main-menu-container a {
    font-family: 'Georgia', serif !important;
    font-size: 18px !important;
    font-weight: 550!important;
    text-transform: none !important;
    line-height: 1.2 !important;
}

/* Navigation responsive sizes */
@media (max-width: 1023px) {
    #header .navigation a,
    #header .navigation li a,
    #header .navigation ul li a {
        font-size: 17px !important;
    }
}

@media (max-width: 767px) {
    #header .navigation a,
    #header .navigation li a,
    #header .navigation ul li a {
        font-size: 15px !important;
    }
}

/* Headings - match Elementor Primary font exactly */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Georgia', serif !important;
    font-weight: 700 !important;
}

/* H1 specific - match Elementor Primary font sizes */
h1 {
    font-size: 35px !important;
    font-weight: 700 !important;
}

@media (max-width: 1023px) {
    h1 {
        font-size: 24px !important;
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 21px !important;
    }
}

/* Banner descriptions */
#page-banner .description,
#banner-home p {
    font-family: 'Georgia', serif !important;
    font-weight: 800 !important;
}

/* Footer */
#footer,
#footer a,
#footer .text-block,
#footer .text-item,
#footer .copy,
#footer-contact,
#footer-contact a {
    font-family: 'Georgia', serif !important;
    text-transform: none !important;
    font-variant-caps: normal !important;
    font-weight: 400 !important;
    font-size: 18px !important;
}

@media (max-width: 1023px) {
    #footer,
    #footer a,
    #footer .text-block,
    #footer .text-item,
    #footer .copy,
    #footer-contact,
    #footer-contact a {
        font-size: 17px !important;
    }
}

@media (max-width: 767px) {
    #footer,
    #footer a,
    #footer .text-block,
    #footer .text-item,
    #footer .copy,
    #footer-contact,
    #footer-contact a {
        font-size: 17px !important;
    }
}

/* ============================
   Banner Taglines
   ============================ */
@media (min-width: 1024px) {
    #banner-home p {
        max-width: none !important;
        white-space: nowrap;
    }
    #page-banner .description {
        white-space: nowrap;
        max-width: none !important;
        padding-left: 0px;
        padding-right: 40px;
    }
}

@media (max-width: 1023px) {
    #banner-home p {
        max-width: 100% !important;
        white-space: normal;
    }
    #page-banner .description {
        white-space: normal;
        max-width: 100% !important;
        padding-left: 20px;
        padding-right: 20px;
    }
}
/* Add space between banner heading and subtitle */
#banner-home .text-block h1 {
    margin-bottom: 40px !important;
}

/* Section heading sizing - Home page */
body.page-id-8 .section-home h2,
body.page-id-8 .text-block h2 { font-size: 30px; }

/* Why Choose Us item titles - Home page */
body.page-id-8 #home-choose .text-block h3 { font-size: 20px; }

/* Practice-area detail body copy */
body.single-practice-areas .elementor-widget-text-editor p,
body.single-practice-areas .elementor-widget-text-editor li { font-size: 21px; }

/* Attorney bio body text */
body.single-attorneys .elementor-widget-text-editor p,
body.single-attorneys .elementor-widget-text-editor li { font-size: 22px; line-height: 1.7; }

/* Practice detail section heading */
#single-practice-heading h2 { font-size: 30px !important; }

/* Practice index card titles */
#practice-list .practice-item h3 { font-size: 26px !important; }

/* Attorneys overview body text */
body.page-template-page-attorneys .elementor-widget-text-editor p,
body.page-template-page-attorneys .elementor-widget-text-editor li { font-size: 21px !important; }

/* Footer contact labels */
#footer-contact h3 { font-size: 13px !important; }

/* Hero banner headline */
#page-banner h1 { font-size: 44px !important; text-transform: none !important; font-weight: 500 !important; letter-spacing: normal !important; line-height: 1.2 !important; }
#banner-home h1 { font-size: 44px !important; text-transform: none !important; font-weight: 500 !important; letter-spacing: normal !important; line-height: 1.2 !important; max-width: 410px !important; }

/* Mobile: scale down hero and headings so they fit */
@media (max-width: 767px) {
  #page-banner h1,
  #banner-home h1 { font-size: 24px !important; max-width: 225px !important; }
  body.page-id-8 .section-home h2,
  body.page-id-8 .text-block h2,
  #single-practice-heading h2 { font-size: 24px !important; }
  #practice-list .practice-item h3 { font-size: 22px !important; }
  #banner-home p { font-size: 20px !important; }
}

/* Home hero tagline */
#banner-home p { font-weight: 400 !important; font-style: italic !important; font-size: 24px !important; }

/* Practice menu: name bold, description normal */
#menu-practice-menu a { font-weight: 400 !important; line-height: 1.5 !important; }
#menu-practice-menu a strong { font-weight: 700 !important; }

/* Hero tagline: wrap within readable zone */
#banner-home p, #banner-home p em { white-space: normal !important; }
#banner-home p { max-width: 470px !important; }

/* Practice pages: consistent paragraph spacing */
body.single-practice-areas .elementor-widget-text-editor p { margin-bottom: 15px !important; }

/* Interior banner tagline: match home hero */
#page-banner .description { font-weight: 400 !important; font-size: 24px !important; }

@media (max-width: 767px) {
  #page-banner .description { font-size: 18px !important; }
}
