/* DigitEMB site chrome - ONE header and ONE footer for every page (HEADFOOT, 2026-09-12).
   Used three ways, so it must be self-contained:
     1. the static pages (next to site.css / account-navigation css, which it overrides),
     2. the six home pages (which do NOT load site.css and carry their own inline header rules),
     3. inside the shadow root of the header/footer that nginx adds to the app pages.
   Every rule is scoped to header.site-header / footer.site-footer so nothing leaks into the page. */

.site-header,.site-footer{--blue:#0e6ace;--navy:#004188;--ink:#212934;--muted:#5f6d7b;--line:#dce5f0;--pale:#f4f8fd;box-sizing:border-box;color:var(--ink);font-family:Assistant,"Assistant Fallback",Arial,sans-serif;font-size:18px;line-height:1.65;font-weight:400;letter-spacing:normal;text-align:start;-webkit-font-smoothing:antialiased}
.site-header *,.site-footer *{box-sizing:border-box}
.site-header a,.site-footer a{color:inherit;text-decoration:none}
.site-header a:hover,.site-footer a:hover{color:var(--blue)}
.site-header a:focus-visible,.site-header summary:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.site-header img,.site-footer img{display:block;max-width:100%;height:auto}

/* ---------- header ---------- */
header.site-header{display:block;position:relative;z-index:30;margin:0;padding:0;background:#fff;border-bottom:1px solid var(--line)}
header.site-header .wrap{display:flex;width:min(1240px,100%);margin:0 auto;padding-left:28px;padding-right:28px}
header.site-header .navigation{flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:20px;height:auto;min-height:84px;padding-top:8px;padding-bottom:8px}
header.site-header .logo-link{display:block;flex-shrink:0}
header.site-header .logo-link img{width:150px}
header.site-header .desktop-nav{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;justify-content:center;gap:22px;margin:0;padding:0;font-size:16px;font-weight:650;line-height:1.3}
header.site-header .desktop-nav a{display:block;padding:8px 0;white-space:nowrap}
header.site-header .desktop-nav a[aria-current="page"]{color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue)}
header.site-header .customer-actions{display:flex;flex-direction:row;align-items:center;gap:10px;flex-shrink:0;margin:0}
header.site-header .customer-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 18px;border:0;border-radius:5px;background:var(--blue);color:#fff;font-size:15px;font-weight:650;line-height:1.2;white-space:nowrap;gap:8px;text-align:center}
header.site-header .customer-actions .button:hover{background:var(--navy);color:#fff}
header.site-header .customer-login{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:9px 14px;border:1px solid #bfd0df;border-radius:5px;background:#fff;color:#17334f;font-size:15px;font-weight:650;line-height:1.2;white-space:nowrap}
header.site-header .customer-login:hover{background:#edf5fb;border-color:#17334f;color:#17334f}
header.site-header .mobile-nav{display:none;position:relative;flex-shrink:0;margin:0}
header.site-header .mobile-nav summary{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer;list-style:none;font-size:15px;font-weight:650;line-height:1.2}
header.site-header .mobile-nav summary::-webkit-details-marker{display:none}
header.site-header .mobile-nav summary::before{content:"";display:block;width:16px;height:12px;background:linear-gradient(currentColor,currentColor) 0 0/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 5px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 10px/100% 2px no-repeat}
header.site-header .mobile-nav nav{display:block;position:absolute;inset-inline-end:0;top:52px;z-index:50;width:250px;max-width:calc(100vw - 24px);margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 15px 35px #00418818;font-size:16px;font-weight:650;line-height:1.3}
header.site-header .mobile-nav nav a{display:block;padding:11px 12px;border-radius:4px}
header.site-header .mobile-nav nav a[aria-current="page"]{color:var(--blue);background:var(--pale)}
header.site-header .mobile-nav nav a.mobile-login{margin-top:6px;border-top:1px solid var(--line);border-radius:0;padding-top:14px}

@media (max-width:1260px){
  header.site-header .navigation{gap:16px}
  header.site-header .logo-link img{width:138px}
  header.site-header .desktop-nav{gap:16px;font-size:15px}
  header.site-header .customer-actions .button,header.site-header .customer-login{font-size:14px}
}
/* Arabic labels are the widest at desktop sizes: tighter spacing first, compact menu below 1320px. */
@media (max-width:1400px){
  header.site-header:lang(ar) .desktop-nav{gap:14px;font-size:15px}
  header.site-header:lang(ar) .navigation{gap:14px}
}
@media (max-width:1320px){
  header.site-header:lang(ar) .desktop-nav{display:none}
  header.site-header:lang(ar) .mobile-nav{display:block}
  header.site-header:lang(ar) .customer-login{display:none}
  header.site-header:lang(ar) .customer-actions{margin-inline-start:auto}
}
/* Long German/French/Portuguese/Spanish labels need the compact menu a little earlier. */
@media (max-width:1180px){
  header.site-header:lang(de) .desktop-nav,header.site-header:lang(fr) .desktop-nav,header.site-header:lang(es) .desktop-nav,header.site-header:lang(pt) .desktop-nav{display:none}
  header.site-header:lang(de) .mobile-nav,header.site-header:lang(fr) .mobile-nav,header.site-header:lang(es) .mobile-nav,header.site-header:lang(pt) .mobile-nav{display:block}
  header.site-header:lang(de) .customer-login,header.site-header:lang(fr) .customer-login,header.site-header:lang(es) .customer-login,header.site-header:lang(pt) .customer-login{display:none}
  header.site-header:lang(de) .customer-actions,header.site-header:lang(fr) .customer-actions,header.site-header:lang(es) .customer-actions,header.site-header:lang(pt) .customer-actions{margin-inline-start:auto}
}
@media (max-width:1080px){
  header.site-header .desktop-nav{display:none}
  header.site-header .mobile-nav{display:block}
  header.site-header .customer-login{display:none}
  header.site-header .customer-actions{margin-inline-start:auto}
  header.site-header .navigation{min-height:76px;gap:12px}
}
@media (max-width:767px){
  header.site-header .wrap{padding-left:18px;padding-right:18px}
  header.site-header .logo-link img{width:124px}
  header.site-header .customer-actions .button{padding:8px 12px;font-size:14px;white-space:normal;max-width:150px;line-height:1.2}
  header.site-header .mobile-nav summary{padding:8px 10px;font-size:14px}
}
@media (max-width:400px){
  header.site-header .wrap{padding-left:14px;padding-right:14px}
  header.site-header .navigation{gap:8px}
  header.site-header .logo-link img{width:104px}
  header.site-header .customer-actions .button{padding:7px 9px;font-size:13px;max-width:128px}
  header.site-header .mobile-nav summary{padding:8px;font-size:13px;gap:6px}
}

/* ---------- footer ---------- */
footer.site-footer{display:block;width:min(1240px,100%);margin:0 auto;padding:0 28px;background:#fff;font-size:16px}
footer.site-footer .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:35px;padding:50px 0;font-size:16px}
footer.site-footer .footer-logo{width:160px;margin:0 0 22px}
footer.site-footer h3{margin:0 0 18px;color:var(--ink);font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.2;letter-spacing:-.035em}
footer.site-footer .footer-grid a{display:block;margin:10px 0}
footer.site-footer .footer-grid .digitemb-socials a.social-link{display:inline-flex;align-items:center;justify-content:center;margin:0}
footer.site-footer .footer-grid p{margin:0 0 16px;color:var(--muted)}
footer.site-footer address{margin:10px 0;font-style:normal}
footer.site-footer .footer-bottom{display:flex;flex-wrap:wrap;gap:12px 25px;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
footer.site-footer .footer-bottom a{color:var(--muted)}
footer.site-footer .utility-links{display:flex;flex-wrap:wrap;gap:12px 24px;width:auto;margin:0;padding:0 0 24px;font-size:15px}
footer.site-footer .utility-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy)}
@media (max-width:980px){footer.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){footer.site-footer{padding:0 22px}}
@media (max-width:500px){
  footer.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:25px}
  footer.site-footer .footer-grid>div:first-child,footer.site-footer .footer-grid>div:last-child{grid-column:1/-1}
}
