/* Generator: header only. */
#generator-header, #generator-header * { box-sizing: border-box; }
#generator-header {
  --gh-brand: #64000f;
  position: sticky; top: 0; left: auto; z-index: 1000;
  width: 100%; max-width: 100vw; height: auto; clear: both;
  background: var(--gh-brand); color: #242124; border-bottom: 1px solid #e9e5e6;
  font: 14px/1.45 Arial, sans-serif; text-align: left;
}
.admin-bar #generator-header { top: 32px; }
#generator-header a { color: inherit; text-decoration: none; }
#generator-header button { font: inherit; cursor: pointer; text-transform: none; letter-spacing: normal; box-shadow: none; }
#generator-header a:focus-visible, #generator-header button:focus-visible { outline: 2px solid var(--gh-brand); outline-offset: 4px; }
#generator-header .gh-main { max-width: 1200px; margin: auto; padding: 20px 28px; display: flex; align-items: center; gap: 28px; background: var(--gh-brand); color: #fff; }
#generator-header .gh-main a:focus-visible, #generator-header .gh-main button:focus-visible { outline-color: #fff; }
#generator-header .gh-brand { display: flex; align-items: center; flex-shrink: 0; gap: 22px; }
#generator-header .gh-brand img { display: block; width: 220px; height: auto; padding: 0; border: 0; }
#generator-header .gh-description { max-width: 160px; font-size: 13px; color: #fff; }
#generator-header .gh-contact { margin-left: auto; display: flex; flex-direction: column; gap: 4px; }
#generator-header .gh-phone { white-space: nowrap; font-size: 19px; font-weight: 700; color: #fff; }
#generator-header .gh-hours { font-size: 12px; color: #fff; }
#generator-header .gh-callback { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 6px; padding: 12px 18px; min-height: 44px; background: #ebb620; color: #000; white-space: nowrap; box-shadow: 3px 3px 8px 0px #2b0303; }
#generator-header .gh-envelope { display: block; flex: 0 0 18px; }
#generator-header .gh-callback:hover { background: #e9c942; }
#generator-header .gh-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
#generator-header .gh-cart { position: relative; display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; color: #fff; border-radius: 6px; }
#generator-header .gh-cart:hover { background: #ffffff18; }
#generator-header .gh-cart svg { display: block; flex-shrink: 0; }
#generator-header .gh-cart-count { position: absolute; top: -3px; right: -4px; display: flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 999px; background: #e52336; color: #fff; border: 2px solid var(--gh-brand); box-sizing: content-box; font: 700 11px/1 Arial, sans-serif; }
#generator-header .gh-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; background: transparent; color: #fff; border: 1px solid #fff; border-radius: 6px; }
#generator-header .gh-bars, #generator-header .gh-bars::before, #generator-header .gh-bars::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; }
#generator-header .gh-bars::before, #generator-header .gh-bars::after { content: ''; position: absolute; left: 0; }
#generator-header .gh-bars::before { top: -6px; }
#generator-header .gh-bars::after { top: 6px; }
#generator-header .gh-toggle[aria-expanded="true"] .gh-bars { background: transparent; }
#generator-header .gh-toggle[aria-expanded="true"] .gh-bars::before { top: 0; transform: rotate(45deg); background: #fff; }
#generator-header .gh-toggle[aria-expanded="true"] .gh-bars::after { top: 0; transform: rotate(-45deg); background: #fff; }
#generator-header .gh-nav { background: #fff; border-top: 1px solid #f0edef; }
#generator-header .gh-menu { display: flex; align-items: stretch; justify-content: space-between; gap: 4px; max-width: 1200px; margin: auto; padding: 0 28px; list-style: none; }
#generator-header .gh-menu li { float: none; position: relative; display: flex; align-items: center; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; }
#generator-header .gh-menu a { display: block; padding: 17px 10px; font-size: 14px; line-height: 20px; background: none; }
#generator-header .gh-menu > li:first-child > a { padding-left: 0; }
#generator-header .gh-menu a:hover, #generator-header .current-menu-item > a, #generator-header .current-menu-ancestor > a { color: var(--gh-brand); }
#generator-header .current-menu-item > a { font-weight: 700; }
#generator-header .gh-subtoggle { display: flex; align-items: center; justify-content: center; padding: 0; width: 36px; min-height: 44px; border: 0; border-radius: 4px; background: transparent; color: var(--gh-brand); }
#generator-header .gh-subtoggle::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
#generator-header .gh-subtoggle[aria-expanded="true"]::after { transform: rotate(225deg) translate(-1px, -1px); }
#generator-header .gh-subtoggle:hover { background: #f7f2f3; }
#generator-header .sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 2; width: 320px; max-width: calc(100vw - 32px); margin: 0; padding: 8px; border: 1px solid #ece6e8; border-radius: 0 0 8px 8px; background: #fff; box-shadow: 0 12px 28px #30121a12; }
#generator-header .sub-menu li { width: 100%; }
#generator-header .sub-menu a { flex: 1; min-width: 0; padding: 12px; border-radius: 4px; overflow-wrap: anywhere; }
#generator-header .sub-menu a:hover { background: #f8f3f4; }
#generator-header .gh-menu > li:nth-last-child(-n+2) > .sub-menu { left: auto; right: 0; }
#generator-header .sub-menu .sub-menu { position: static; width: 100%; box-shadow: none; border: 0; border-left: 1px solid #e5dcde; margin-left: 12px; }
#generator-header .gh-open > .sub-menu,
#generator-header:not(.gh-ready) li:hover > .sub-menu,
#generator-header:not(.gh-ready) li:focus-within > .sub-menu { display: block; }
@media (max-width: 1000px) {
  #generator-header .gh-description { display: none; }
  #generator-header .gh-main { gap: 20px; }
  #generator-header .gh-menu { gap: 0; padding: 0 18px; }
  #generator-header .gh-menu a { font-size: 13px; padding-right: 5px; padding-left: 5px; }
}
@media (max-width: 1024px) {
  #generator-header .gh-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 12px; padding: 14px 16px; }
  #generator-header .gh-brand img { width: 190px; max-width: 100%; }
  #generator-header .gh-brand { min-width: 0; grid-column: 1; grid-row: 1; }
  #generator-header.gh-ready .gh-toggle { display: flex; grid-column: 2; grid-row: 1; justify-self: end; }
  #generator-header .gh-contact { grid-column: 1; grid-row: 2; margin: 0; gap: 2px; }
  #generator-header .gh-phone { font-size: 15px; }
  #generator-header .gh-hours { font-size: 10px; }
  #generator-header .gh-actions { grid-column: 2; grid-row: 2; gap: 8px; }
  #generator-header .gh-callback { padding: 12px 10px; font-size: 12px; }
  #generator-header.gh-ready .gh-nav { display: none; }
  #generator-header.gh-ready.gh-menu-open .gh-nav { display: block; }
  #generator-header .gh-nav { max-height: calc(100vh - 155px); max-height: calc(100dvh - 155px); overflow-y: auto; overscroll-behavior: contain; }
  #generator-header .gh-menu { display: block; padding: 8px 16px 16px; }
  #generator-header .gh-menu > li { border-bottom: 1px solid #f0edef; }
  #generator-header .gh-menu a, #generator-header .gh-menu > li:first-child > a { flex: 1; padding: 14px 8px; font-size: 15px; }
  #generator-header .gh-subtoggle { width: 44px; min-height: 48px; }
  #generator-header .sub-menu { position: static; width: 100%; max-width: none; padding: 0 0 8px 12px; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
  #generator-header .sub-menu a { font-size: 14px; padding: 12px 8px; color: #655d62; }
  #generator-header:not(.gh-ready) .sub-menu { display: block; }
}
@media (max-width: 782px) { .admin-bar #generator-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar #generator-header { top: 0; } }
@media (max-width: 380px) {
  #generator-header .gh-main { padding-right: 12px; padding-left: 12px; column-gap: 8px; }
  #generator-header .gh-phone { font-size: 13px; }
  #generator-header .gh-contact { grid-column: 1 / -1; }
  #generator-header .gh-actions { grid-column: 1 / -1; grid-row: 3; }
  #generator-header .gh-callback { flex: 1; }
  #generator-header .gh-nav { max-height: calc(100vh - 210px); max-height: calc(100dvh - 210px); }
}
