
/* Milirdario site-wide header/footer | colours: navy #050a30, gold #a86e1f, blue #1677bc */

/* These selectors cover common classic, block, and page-builder themes.
   If your theme uses a different wrapper, add its exact selector to the list. */
body.mhr-layout-enabled :is(
  #masthead, #site-header, #main-header, .site-header,
  .elementor-location-header, .fusion-header-wrapper,
  .et-l--header, .whb-header, .wp-site-blocks > header.wp-block-template-part
):not(#mhr-site-header) { display:none!important; }
body.mhr-layout-enabled :is(
  #colophon, #site-footer, #footer, .site-footer,
  .elementor-location-footer, .fusion-footer, .et-l--footer,
  .wp-site-blocks > footer.wp-block-template-part
):not(#mhr-site-footer) { display:none!important; }

#mhr-site-header, #mhr-site-footer {
  --mhr-navy:#050a30; --mhr-gold:#a86e1f; --mhr-blue:#1677bc;
  --mhr-muted:#bec7e2; font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  box-sizing:border-box; line-height:1.5; letter-spacing:normal;
}
#mhr-site-header *, #mhr-site-header *::before, #mhr-site-header *::after,
#mhr-site-footer *, #mhr-site-footer *::before, #mhr-site-footer *::after {box-sizing:border-box;}
#mhr-site-header a, #mhr-site-footer a { text-decoration:none; }
#mhr-site-header a:focus-visible, #mhr-site-header button:focus-visible,
#mhr-site-footer a:focus-visible {outline:3px solid var(--mhr-blue); outline-offset:4px;}
.mhr-skip {position:fixed;left:12px;top:8px;z-index:100001;background:#fff;color:#050a30;padding:10px 16px;transform:translateY(-150%);}
.mhr-skip:focus {transform:translateY(0);}
.mhr-content-anchor {position:absolute;width:0;height:0;overflow:hidden;}

/* Header */
#mhr-site-header {position:sticky;top:0;z-index:9998;width:100%;background:#fff;color:#050a30;border-bottom:1px solid #e7eaf3;box-shadow:0 5px 28px rgba(5,10,48,.06);}
#mhr-site-header .mhr-header-inner {width:min(1240px,calc(100% - 48px));min-height:88px;display:flex;align-items:center;gap:32px;margin:0 auto;}
#mhr-site-header .mhr-brand {display:flex;align-items:center;flex:0 0 auto;max-width:205px;}
#mhr-site-header .mhr-brand img {display:block;width:190px;max-width:100%;height:auto;max-height:66px;object-fit:contain;object-position:left center;}
#mhr-site-header .mhr-nav {margin-left:auto;min-width:0;}
#mhr-site-header .mhr-menu {display:flex;align-items:center;gap:clamp(13px,2vw,28px);list-style:none;margin:0;padding:0;}
#mhr-site-header .mhr-menu li {list-style:none;margin:0;padding:0;position:relative;}
#mhr-site-header .mhr-menu > li > a {display:inline-flex;align-items:center;gap:6px;padding:32px 0;font-size:13px;font-weight:700;color:#182247;white-space:nowrap;transition:color .2s;}
#mhr-site-header .mhr-menu a:hover, #mhr-site-header .mhr-menu .current-menu-item > a,
#mhr-site-header .mhr-menu .current-menu-ancestor > a {color:#1677bc;}
#mhr-site-header .mhr-menu .sub-menu {display:none;position:absolute;z-index:10;top:100%;left:-17px;min-width:205px;list-style:none;margin:0;padding:9px;background:#fff;border:1px solid #e3e9f3;border-radius:9px;box-shadow:0 16px 38px rgba(5,10,48,.13);}
#mhr-site-header .mhr-menu .sub-menu li a {display:block;font-size:13px;font-weight:600;color:#182247;padding:11px 13px;border-radius:5px;white-space:normal;}
#mhr-site-header .mhr-menu .sub-menu li a:hover {background:#f0f6fc;color:#1677bc;}
#mhr-site-header .mhr-menu li:hover > .sub-menu, #mhr-site-header .mhr-menu li:focus-within > .sub-menu {display:block;}
#mhr-site-header .mhr-appointment {display:inline-flex;justify-content:center;align-items:center;gap:12px;flex:none;min-height:45px;padding:12px 19px;border-radius:5px;background:#a86e1f;color:#fff;font-size:12px;font-weight:800;transition:background .2s,transform .2s;white-space:nowrap;}
#mhr-site-header .mhr-appointment:hover {background:#895616;color:#fff;transform:translateY(-1px);}
#mhr-site-header .mhr-toggle {display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:none;width:44px;height:44px;padding:0;border:1px solid #e3e9f3;border-radius:6px;background:#f8fafe;color:#050a30;cursor:pointer;}
#mhr-site-header .mhr-toggle span {display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s;}
#mhr-site-header .mhr-toggle[aria-expanded="true"] span:first-child {transform:translateY(7px) rotate(45deg);}
#mhr-site-header .mhr-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0;}
#mhr-site-header .mhr-toggle[aria-expanded="true"] span:last-child {transform:translateY(-7px) rotate(-45deg);}
body.admin-bar #mhr-site-header {top:32px;}

/* Footer */
#mhr-site-footer {background:#050a30;color:#f5f6fb;width:100%;}
#mhr-site-footer .mhr-footer-main {width:min(1240px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1.15fr 1.2fr;gap:clamp(26px,3.7vw,65px);padding:78px 0 69px;}
#mhr-site-footer .mhr-footer-brand {display:inline-block;max-width:205px;}
#mhr-site-footer .mhr-footer-brand img {display:block;width:200px;height:auto;max-height:73px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);}
#mhr-site-footer .mhr-footer-about p {max-width:320px;margin:22px 0 22px;font-size:13px;line-height:1.85;color:#c4cce2;}
#mhr-site-footer .mhr-footer-column h2 {font:800 12px/1.4 'DM Sans',system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#e2b979;margin:7px 0 23px;}
#mhr-site-footer .mhr-footer-column ul {list-style:none;margin:0;padding:0;}
#mhr-site-footer .mhr-footer-column li {list-style:none;margin:0 0 13px;padding:0;}
#mhr-site-footer .mhr-footer-column a {display:inline-block;color:#d5dbee;font-size:13px;line-height:1.55;overflow-wrap:anywhere;transition:color .18s;}
#mhr-site-footer .mhr-footer-column a:hover {color:#f2c78d;}
#mhr-site-footer .mhr-footer-column p {font-size:13px;line-height:1.8;color:#c4cce2;margin:0 0 18px;}
#mhr-site-footer .mhr-footer-column .mhr-footer-inline-link {color:#f2c78d;font-weight:700;margin-top:5px;}
#mhr-site-footer .mhr-footer-column .mhr-footer-contact-button {display:inline-block;background:#a86e1f;border-radius:5px;color:#fff;padding:12px 16px;font-size:12px;font-weight:800;margin-top:20px;}
#mhr-site-footer .mhr-footer-column .mhr-footer-contact-button:hover {background:#895616;color:#fff;}
#mhr-site-footer .mhr-socials {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;}
#mhr-site-footer .mhr-socials a, #mhr-site-footer .mhr-socials .mhr-social-unset {width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.06);color:#f3f5ff;transition:background .2s,border-color .2s,transform .2s;}
#mhr-site-footer .mhr-socials a:hover {background:#1677bc;border-color:#1677bc;transform:translateY(-3px);}
#mhr-site-footer .mhr-socials .mhr-social-unset {opacity:.38;cursor:default;}
#mhr-site-footer .mhr-socials svg {width:17px;height:17px;display:block;}
#mhr-site-footer .mhr-footer-bottom {padding:25px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.13);color:#afb9d4;font-size:11px;}

@media(max-width:1150px) {
  #mhr-site-header .mhr-header-inner {gap:17px;}
  #mhr-site-header .mhr-brand img {width:165px;}
  #mhr-site-header .mhr-menu {gap:15px;}
  #mhr-site-header .mhr-menu > li > a {font-size:12px;}
}
@media(max-width:950px) {
  #mhr-site-header .mhr-header-inner {min-height:75px;}
  #mhr-site-header .mhr-brand img {width:170px;}
  #mhr-site-header .mhr-nav {display:none;position:absolute;z-index:20;top:100%;left:0;right:0;margin:0;background:#fff;border-top:1px solid #e7eaf3;box-shadow:0 20px 35px rgba(5,10,48,.14);max-height:calc(100svh - 85px);overflow:auto;}
  #mhr-site-header .mhr-nav.mhr-nav-open {display:block;}
  #mhr-site-header .mhr-menu {width:min(1240px,calc(100% - 48px));margin:0 auto;padding:14px 0 23px;display:block;}
  #mhr-site-header .mhr-menu > li > a {display:block;padding:13px 0;font-size:14px;white-space:normal;border-bottom:1px solid #f0f2f7;}
  #mhr-site-header .mhr-menu .sub-menu {display:block;position:static;box-shadow:none;border:none;min-width:0;margin:0 0 5px 15px;padding:0;background:transparent;}
  #mhr-site-header .mhr-menu .sub-menu li a {padding:9px 12px;font-size:13px;}
  #mhr-site-header .mhr-appointment {margin-left:auto;}
  #mhr-site-header .mhr-toggle {display:flex;}
  #mhr-site-footer .mhr-footer-main {grid-template-columns:1.4fr 1fr;row-gap:42px;}
}
@media(max-width:600px) {
  body.admin-bar #mhr-site-header {top:46px;}
  #mhr-site-header .mhr-header-inner {width:calc(100% - 32px);min-height:70px;gap:10px;}
  #mhr-site-header .mhr-brand img {width:142px;max-height:52px;}
  #mhr-site-header .mhr-appointment {display:none;}
  #mhr-site-header .mhr-toggle {margin-left:auto;}
  #mhr-site-header .mhr-menu {width:calc(100% - 36px);}
  #mhr-site-footer .mhr-footer-main {width:calc(100% - 36px);grid-template-columns:1fr 1fr;column-gap:20px;row-gap:35px;padding:52px 0 44px;}
  #mhr-site-footer .mhr-footer-about {grid-column:1/-1;}
  #mhr-site-footer .mhr-contact {grid-column:1/-1;}
  #mhr-site-footer .mhr-footer-bottom {padding:21px 18px;display:block;}
  #mhr-site-footer .mhr-footer-bottom span {display:block;margin:5px 0;}
}
@media(prefers-reduced-motion:reduce) {
  #mhr-site-header *,#mhr-site-footer * {transition:none!important;}
}




/* ==========================================
   MILIRDARIO GLOBAL HEADER & FOOTER WIDTH
   ========================================== */

/* HEADER - 80% content width */
#mhr-site-header .mhr-header-inner {
    width: 80%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

/* FOOTER - 80% content width */
#mhr-site-footer .mhr-footer-main {
    width: 80%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

/* FOOTER COPYRIGHT SECTION */
#mhr-site-footer .mhr-footer-bottom {
    width: 80%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding: 25px 0;
}

/* Keep header and footer backgrounds full width */
#mhr-site-header,
#mhr-site-footer {
    width: 100%;
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 900px) {

    #mhr-site-header .mhr-header-inner,
    #mhr-site-footer .mhr-footer-main,
    #mhr-site-footer .mhr-footer-bottom {
        width: 90%;
    }

}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {

    #mhr-site-header .mhr-header-inner,
    #mhr-site-footer .mhr-footer-main,
    #mhr-site-footer .mhr-footer-bottom {
        width: calc(100% - 32px);
    }

}

