/* One compact header at every width. Gallery viewers remain above it. */
:root { --lgp-header-height: 72px; }
html { scroll-padding-top: calc(var(--lgp-header-height) + 12px); }
#hc { height: var(--lgp-header-height) !important; }
#headerAndMenu { position: fixed !important; top: 0 !important; left: 0; right: 0; width: 100% !important; height: var(--lgp-header-height); z-index: 900; }
#headerAndMenuInner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
#headerContainer { height: 100%; flex: 0 0 auto; width: auto !important; margin: 0; }
#header .inner { padding: 0 16px; height: var(--lgp-header-height); display: flex; align-items: center; }
#header .inner p { margin: 0; }
#header img { display: block; max-height: 48px; object-fit: contain; }
#menucontainerouter, #topMainMenuContainer { display: none !important; }
#mobilemenubuttontop { position: static !important; float: none !important; height: var(--lgp-header-height); box-sizing: border-box; padding: 0 8px; display: flex !important; align-items: center; gap: 12px; }
#lgp-menu-toggle { display: inline-flex; align-items: center; background: none; border: 0; padding: 10px 0; color: #111; font: 400 14px/1.2 'Poppins', Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; white-space: nowrap; }
#mobilemenu { display: none !important; top: var(--lgp-header-height) !important; max-height: calc(100dvh - var(--lgp-header-height)) !important; z-index: 901 !important; overscroll-behavior: contain; }
#mobilemenu.lgp-menu-open { display: block !important; }
#mobilemenubutton { display: none !important; }
#mobilemenulinks { display: block !important; }
#mobilemenulinks .mobilesubmenu { display: block !important; }
#mobilemenulinks .mobilesubmenu[hidden] { display: none !important; }
#mobilemenulinks a:focus-visible, #lgp-menu-toggle:focus-visible { outline: 3px solid #2374ab; outline-offset: -3px; }
.lgp-mcart a { display: inline-flex !important; align-items: center; gap: 4px; position: relative; }
.lgp-mcart svg { width: 18px; height: 18px; display: block; }
.lgp-mcn { display: inline-block; min-width: 16px; height: 16px; padding: 0 4px; box-sizing: border-box; border-radius: 8px; background: #bd1752; color: #fff; font: 600 10px/16px Arial, sans-serif; text-align: center; }
.lgp-mcn:empty { display: none; }
#lgp-mcart-top { display: none; align-items: center; gap: 2px; color: #111; text-decoration: none; }
#lgp-mcart-top.has { display: inline-flex; }
#lgp-mcart-top svg { width: 24px; height: 24px; }
a.lgp-photo-finder { display: inline-flex; align-items: center; justify-content: center; background: #ff2679; color: #fff !important; border-radius: 4px; padding: 10px 12px; font: 400 14px/1.2 'Poppins', Arial, sans-serif; text-transform: none; letter-spacing: 0; white-space: nowrap; text-decoration: none; }
a.lgp-photo-finder:hover { background: #ff2679; }
a.lgp-photo-finder:focus-visible { outline: 3px solid #2374ab; outline-offset: 3px; }
@media (max-width:1260px) {
  :root { --lgp-header-height: 56px; }
  #header .inner { padding: 0 6px; }
  #header img { max-width: 84px !important; max-height: 40px; }
  #mobilemenubuttontop { gap: 6px; padding: 0 4px; }
  #mobilemenubuttontop a.lgp-photo-finder { padding: 9px 5px; }
}

#lgp-home-banner { background: #bd1752; color: #fff; text-align: center; }
#lgp-home-banner[hidden] { display: none; }
#lgp-home-banner a { display: block; padding: 12px 18px; color: #fff; font: 600 16px/1.45 Arial, sans-serif; text-decoration: none; overflow-wrap: anywhere; }
#lgp-home-banner a:hover { background: #991343; text-decoration: underline; }
#lgp-home-banner a:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
@media (max-width:1260px) { #lgp-home-banner a { padding: 10px 14px; font-size: 14px; } }

/* Balanced header spacing and matching client links. */
#header .inner { padding: 0 24px; }
#mobilemenubuttontop { padding: 0 24px; gap: 20px; }
#lgp-clients { position: relative; display: flex; align-items: center; }
#lgp-clients > button { border: 0; background: none; color: #111; padding: 10px 0; font: 400 14px/1.2 'Poppins', Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; white-space: nowrap; }
#lgp-client-links { position: absolute; right: 0; top: 100%; width: 215px; padding: 6px 0; background: #fff; box-shadow: 0 4px 16px #0003; }
#lgp-client-links[hidden] { display: none; }
#lgp-client-links a { display: block; padding: 12px 16px; color: #111; text-align: left; text-transform: none; text-decoration: none; font: 14px/1.3 Arial, sans-serif; }
#lgp-client-links a:hover { background: #eee; }
#lgp-clients :focus-visible { outline: 3px solid #2374ab; outline-offset: -3px; }
#mobilemenulinks .lgp-phone-client { display: none; }
@media (max-width: 700px) {
  #mobilemenubuttontop a.lgp-photo-finder, #lgp-clients > button, #lgp-menu-toggle { font-size: 13px; }
  #header .inner { padding: 0 12px; }
  #mobilemenubuttontop { padding: 0 12px; gap: 8px; }
  #lgp-clients { display: none; }
  #mobilemenulinks .lgp-phone-client { display: block; }
  #mobilemenulinks .lgp-phone-client a { text-transform: none; }
}
/* Fit the logo, finder, filled-cart badge and menu at 360px. */
@media (max-width: 420px) {
  #header .inner { padding: 0 8px; }
  #header img { max-width: 64px !important; }
  #mobilemenubuttontop { padding: 0 8px; gap: 6px; }
  #mobilemenubuttontop a.lgp-photo-finder { font-size: 11px; padding: 9px 5px; }
  #lgp-menu-toggle { font-size: 12px; }
  #lgp-mcart-top svg { width: 20px; height: 20px; }
}
