/* =========================================================================
   Mark Malloch-Brown – Global Styles (loaded on every page)
   Handles: header, navigation, social icon removal
   global.css v1.0.0
   ========================================================================= */

/* -------------------------------------------------------------------------
   Shared tokens (duplicated from homepage.css so this file is standalone)
   ---------------------------------------------------------------------- */
:root {
    --mmb-navy:    #1E4D8C;
    --mmb-heading: #1a1a1a;
    --mmb-body:    #444444;
    --mmb-amber:   #8B6914;
    --font-serif:  'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-sans:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* =========================================================================
   HEADER – solid background, no transparency
   ========================================================================= */

/* Core header element and every Astra wrapper variant */
#masthead,
.site-header,
.main-header-bar,
.main-header-bar-wrap,
.ast-primary-header-bar,
.ast-above-header-bar,
.ast-header-wrap {
    background-color: #ffffff !important;
}

/* Solid drop-shadow so the header reads against any background */
.site-header,
.main-header-bar {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.09) !important;
}

/* Kill the transparent-header body-class overrides Astra injects */
body.ast-header-transparent #masthead,
body.ast-header-transparent .site-header,
body.ast-header-transparent .main-header-bar,
body.ast-header-transparent .main-header-bar-wrap {
    background-color: #ffffff !important;
    position: relative !important;       /* stops it from floating over the hero */
}

/* Remove any negative top-margin / padding-top Astra adds to the page
   when a transparent header is active */
body.ast-header-transparent #page,
body.ast-header-transparent .hfeed {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* =========================================================================
   SITE TITLE (shown when no logo image is set)
   ========================================================================= */
.site-title a,
.ast-site-identity .site-title a {
    font-family: var(--font-sans) !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: var(--mmb-heading) !important;
    text-decoration: none !important;
    letter-spacing: 0.01em;
    transition: color 0.18s;
}

.site-title a:hover,
.ast-site-identity .site-title a:hover {
    color: var(--mmb-navy) !important;
}

/* Force the site title element to render (Astra hides it when a logo image
   is set; our filter + this CSS together guarantee text is always shown) */
.ast-site-identity .site-title,
.ast-site-identity h1.site-title,
.ast-site-identity p.site-title,
.site-title {
    display: block !important;
    margin: 0;
    line-height: 1;
}

/* Hide the tagline / site description in the header */
.site-description {
    display: none;
}

/* =========================================================================
   PRIMARY NAVIGATION
   ========================================================================= */

/* Nav link base */
.main-header-menu .menu-item > a,
.ast-nav-menu .menu-item > a,
.ast-header-navigation .menu-item > a {
    font-family: var(--font-sans) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: var(--mmb-body) !important;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.18s;
}

/* Hover + current page */
.main-header-menu .menu-item > a:hover,
.ast-nav-menu .menu-item > a:hover,
.main-header-menu .current-menu-item > a,
.ast-nav-menu .current-menu-item > a,
.main-header-menu .current-menu-ancestor > a,
.ast-nav-menu .current-menu-ancestor > a {
    color: var(--mmb-navy) !important;
}

/* Remove Astra's underline / bottom-border hover style on nav items */
.main-header-menu .menu-item > a::after,
.ast-nav-menu .menu-item > a::after {
    display: none !important;
}

/* =========================================================================
   REMOVE SOCIAL ICONS FROM HEADER
   Covers: Astra Pro header-builder element, widget-area placement,
   and common third-party social-icon widgets.
   ========================================================================= */

/* Astra Pro – Social Icons header element */
.ast-header-social-elem,
.ast-social-inner-spacing,
.astra-addon-header-social {
    display: none !important;
}

/* Astra Header Builder (3.x) social element */
.ahfb-header-social,
.ahfb-builder-item[data-section="section-hb-social-icons"],
.ast-builder-layout-element[data-section="section-hb-social-icons"] {
    display: none !important;
}

/* Social links placed via Custom HTML or widget in header */
.ast-masthead-custom-menu-items .social-link,
.ast-masthead-custom-menu-items [class*="social"],
.header-widget-area [class*="social"],
.header-widget-area .widget_social_widget,
.header-widget-area .wp-social-link {
    display: none !important;
}

/* Above-header bar (secondary bar) social icons */
.ast-above-header-section [class*="social"],
.ast-above-header-section .ast-social-inner-spacing {
    display: none !important;
}

/* Generic catch-all: hide any element whose only purpose is social icons
   inside the masthead / header. Does NOT affect footer or page content. */
#masthead [class*="social-icon"],
#masthead [class*="header-social"],
#masthead .wp-block-social-links {
    display: none !important;
}

/* =========================================================================
   FOOTER  (mmb-footer is output by our custom footer.php)
   ========================================================================= */
.mmb-footer {
    background: #1a1a1a;
    padding: 3rem 0 2rem;
}

.mmb-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    text-align: center;
}

.mmb-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
}

.mmb-footer__name {
    font-family: var(--font-serif) !important;
    font-size: 1.375rem !important;
    font-weight: 700;
    color: #ffffff !important;
    text-decoration: none !important;
    letter-spacing: -0.01em;
    transition: color 0.18s;
}
.mmb-footer__name:hover {
    color: rgba(255, 255, 255, 0.8) !important;
}

.mmb-footer__tagline {
    font-family: var(--font-sans);
    font-size: 0.6875rem;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}

.mmb-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem 2rem;
}

.mmb-footer__nav a {
    font-family: var(--font-sans);
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.55);
    text-decoration: none;
    transition: color 0.18s;
}
.mmb-footer__nav a:hover {
    color: rgba(255, 255, 255, 0.9);
}

.mmb-footer__copy {
    font-family: var(--font-sans);
    font-size: 0.6875rem;
    color: rgba(255, 255, 255, 0.3);
    margin: 0.5rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    width: 100%;
    text-align: center;
}
