/* Shared header slot. Page headers are preserved inside the page-scoped CSS files to avoid collisions. */


.gd-site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid #e1eef0;box-shadow:0 10px 28px rgba(12,70,86,.04)}
.gd-header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.gd-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#102f3c;font-weight:950;font-size:20px;white-space:nowrap}

.gd-logo .gd-site-logo-img{display:block;max-width:190px;max-height:54px;width:auto;height:auto;object-fit:contain;}
.gd-mobile-logo .gd-site-logo-img{display:block;max-width:170px;max-height:46px;width:auto;height:auto;object-fit:contain;}
.gd-logo:has(.gd-site-logo-img),.gd-mobile-logo:has(.gd-site-logo-img){line-height:1;}
@media(max-width:560px){.gd-logo .gd-site-logo-img{max-width:150px;max-height:40px}.gd-mobile-logo .gd-site-logo-img{max-width:150px;max-height:42px}}
.gd-main-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.gd-main-nav a{text-decoration:none;color:#294858;font-weight:850;font-size:14px}
.gd-header-actions{display:flex;align-items:center;gap:10px}
.gd-header-actions .gd-btn{min-height:42px;border-radius:14px;padding:9px 14px}
.gd-header-profile-btn{box-shadow:0 14px 30px rgba(15,123,123,.18)}
.gd-menu-toggle{display:none;border:1px solid #d8ebec;background:#fff;border-radius:14px;width:42px;height:42px;font-weight:950;color:#102f3c}
@media(max-width:980px){.gd-main-nav{display:none}.gd-menu-toggle{display:inline-grid;place-items:center}.gd-header-inner{min-height:66px}.gd-header-actions .gd-btn-light:not(.gd-auth-open){display:none}}
@media(max-width:560px){.gd-header-actions{gap:7px}.gd-header-actions .gd-btn{padding:8px 10px;font-size:12px}.gd-logo{font-size:16px}.gd-auth-open[data-account-type="customer"]{display:none}}

/* Mobile drawer: same source menu as desktop, shared across single/archive/static pages */
.gd-mobile-menu-backdrop{position:fixed;inset:0;z-index:1190;background:rgba(4,24,31,.48);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .22s ease}
.gd-mobile-menu{position:fixed;top:0;right:0;z-index:1200;width:min(88vw,390px);height:100dvh;background:#fff;border-left:1px solid #dcebed;box-shadow:-28px 0 70px rgba(7,36,47,.22);transform:translateX(105%);transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;padding:18px;overflow:auto}
.gd-mobile-menu.is-open{transform:translateX(0)}
.gd-mobile-menu-backdrop.is-open{opacity:1;pointer-events:auto}
html.gd-mobile-lock,html.gd-mobile-lock body{overflow:hidden}
.gd-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #e6f0f2}
.gd-mobile-logo{display:inline-flex;align-items:center;gap:10px;color:#102f3c;font-weight:950;font-size:18px;text-decoration:none;min-width:0}
.gd-mobile-logo img{max-height:42px;width:auto}
.gd-mobile-menu-close{width:42px;height:42px;border-radius:14px;border:1px solid #dcebed;background:#f7fbfc;color:#102f3c;font-size:26px;line-height:1;display:grid;place-items:center}
.gd-mobile-nav{padding:14px 0;flex:1}
.gd-mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gd-mobile-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:11px 13px;border-radius:15px;color:#294858;text-decoration:none;font-weight:900;background:#f8fbfc;border:1px solid transparent}
.gd-mobile-nav li.current-menu-item>a,.gd-mobile-nav a:hover{background:#eefafa;border-color:#cdeced;color:#0b7476}
.gd-mobile-nav li.menu-item-has-children.is-open>a{background:#eefafa;border-color:#cdeced;color:#0b7476}
.gd-mobile-actions{display:grid;gap:10px;padding-top:14px;border-top:1px solid #e6f0f2}
.gd-mobile-actions .gd-btn{width:100%;justify-content:center;min-height:46px;border-radius:15px}
@media(min-width:981px){.gd-mobile-menu,.gd-mobile-menu-backdrop{display:none!important}}
@media(max-width:560px){.gd-site-header{z-index:1100}.gd-header-actions .gd-auth-open[data-account-type="company"]{display:none}.gd-mobile-menu{width:min(92vw,370px);padding:15px}.gd-mobile-nav a{min-height:48px}.gd-mobile-actions .gd-btn{font-size:14px}}

/* WordPress menu + desktop mega menu */
.gd-main-nav{position:relative;align-self:stretch;display:flex;align-items:center}
.gd-main-nav .gd-primary-menu{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.gd-main-nav .gd-primary-menu>li{display:flex;align-items:center;height:74px}
.gd-main-nav .gd-primary-menu>li>a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:14px;transition:.2s ease;color:#294858;font-weight:900;font-size:14px}
.gd-main-nav .gd-primary-menu>li>a:hover,.gd-main-nav .gd-primary-menu>li.current-menu-item>a,.gd-main-nav .gd-primary-menu>li.current-menu-ancestor>a{background:#eefafa;color:#0b7476}
.gd-main-nav .gd-primary-menu>.menu-item-has-children>a:after{content:"⌄";font-size:12px;line-height:1;color:#7b98a4;transition:.2s ease}
.gd-main-nav .gd-primary-menu>.menu-item-has-children:hover>a:after{transform:rotate(180deg);color:#0b7476}
.gd-main-nav .gd-primary-menu>.menu-item-has-children{position:static}
.gd-main-nav .gd-primary-menu>.menu-item-has-children>.sub-menu{position:absolute;top:calc(100% - 2px);right:0;width:min(780px,calc(100vw - 32px));display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:18px;background:rgba(255,255,255,.98);border:1px solid #dcebed;border-radius:24px;box-shadow:0 28px 80px rgba(8,62,78,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:.2s ease;z-index:1105}
.gd-main-nav .gd-primary-menu>.menu-item-has-children:hover>.sub-menu,.gd-main-nav .gd-primary-menu>.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.gd-main-nav .sub-menu li{min-width:0}
.gd-main-nav .sub-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 13px;border-radius:16px;background:#f8fbfc;border:1px solid transparent;color:#294858;font-size:13px;font-weight:900;line-height:1.6;transition:.18s ease}
.gd-main-nav .sub-menu a:hover{background:#eefafa;border-color:#cdeced;color:#0b7476;transform:translateY(-1px)}
.gd-main-nav .sub-menu .sub-menu{position:static;display:grid!important;gap:6px;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;border:0;background:transparent;padding:6px 10px 0 0;margin:0;grid-template-columns:1fr;width:auto}
.gd-main-nav .sub-menu .sub-menu a{min-height:38px;padding:8px 10px;background:#fff;font-size:12px}
.gd-mobile-nav .menu-item-has-children>a{position:relative;padding-left:44px}
.gd-mobile-nav .menu-item-has-children>a:after{content:"⌄";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:10px;display:inline-grid;place-items:center;background:#eefafa;border:1px solid #d4ecef;font-size:13px;color:#0b7476;transition:transform .2s ease,background .2s ease,color .2s ease}
.gd-mobile-nav .menu-item-has-children.is-open>a:after{transform:translateY(-50%) rotate(180deg);background:#0b7476;color:#fff;border-color:#0b7476}
.gd-mobile-nav .sub-menu{margin:0 14px 0 0;padding:0 12px 0 0;border-right:2px solid #dcebed;display:none;gap:7px}
.gd-mobile-nav .menu-item-has-children.is-open>.sub-menu{display:grid;margin-top:7px}
.gd-mobile-nav .sub-menu a{min-height:42px;padding:9px 11px;background:#fff;border-color:#e7f0f2;font-size:13px}
.gd-mobile-nav .sub-menu .menu-item-has-children>a{padding-left:42px}
.gd-mobile-nav .sub-menu .menu-item-has-children>a:after{width:25px;height:25px;border-radius:9px;font-size:12px}
@media(min-width:1200px){
  .gd-main-nav .gd-primary-menu>.menu-item-has-children>.sub-menu{
    width:min(960px,calc(100vw - 48px));
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:980px){.gd-main-nav{display:none}}
@media(max-width:560px){.gd-auth-open[data-account-type="customer"]{display:none}.gd-header-actions .gd-auth-open[data-account-type="company"]{display:none}}


/* Mobile header quick actions: search + auth/register */
.gd-header-search-btn{display:none}
.gd-mobile-header-quick{display:none}

@media(max-width:980px){
  .gd-header-actions .gd-header-view-btn{display:none!important}
  .gd-header-actions .gd-header-search-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}

@media(max-width:560px){
  .gd-site-header{
    background:rgba(255,255,255,.94);
  }
  .gd-header-inner{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .gd-logo{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-start;
    font-size:17px;
  }
  .gd-logo img{
    max-height:38px;
    width:auto;
  }
  .gd-header-actions{
    flex:0 0 auto;
    gap:7px;
  }
  .gd-header-actions .gd-btn,
  .gd-header-actions .gd-auth-open,
  .gd-header-actions .gd-header-search-btn{
    display:none!important;
  }
  .gd-menu-toggle{
    display:inline-grid!important;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:15px;
    background:#fff;
    border:1px solid #dbeaec;
    box-shadow:0 8px 22px rgba(16,42,54,.06);
  }
  .gd-mobile-header-quick{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:0 0 10px;
  }
  .gd-mobile-header-quick .gd-mobile-quick-btn{
    min-width:0;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid #d7e8eb;
    border-radius:15px;
    background:linear-gradient(180deg,#fff,#f7fcfc);
    color:#153d4a;
    text-decoration:none;
    font:inherit;
    font-size:11px;
    font-weight:950;
    line-height:1.35;
    box-shadow:0 8px 22px rgba(16,42,54,.055);
    padding:8px 7px;
    cursor:pointer;
    white-space:nowrap;
  }
  .gd-mobile-header-quick .gd-mobile-quick-btn span{
    width:20px;
    height:20px;
    border-radius:8px;
    display:inline-grid;
    place-items:center;
    flex:0 0 20px;
    background:rgba(8,123,131,.09);
    color:#087b83;
    font-size:12px;
    line-height:1;
  }
  .gd-mobile-header-quick .gd-mobile-quick-btn strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .gd-mobile-header-quick .gd-mobile-quick-search{
    background:linear-gradient(180deg,#ffffff,#f4fbfb);
  }
  .gd-mobile-header-quick .gd-mobile-quick-login{
    background:linear-gradient(180deg,#ffffff,#f6fbfb);
  }
  .gd-mobile-header-quick .gd-mobile-quick-company{
    border-color:transparent;
    background:linear-gradient(135deg,#087b83,#0b6573);
    color:#fff;
    box-shadow:0 12px 28px rgba(8,123,131,.20);
  }
  .gd-mobile-header-quick .gd-mobile-quick-company span{
    background:rgba(255,255,255,.18);
    color:#fff;
  }
  .gd-mobile-header-quick .gd-mobile-quick-btn:active{
    transform:translateY(1px);
  }
}

@media(max-width:370px){
  .gd-mobile-header-quick{
    gap:6px;
  }
  .gd-mobile-header-quick .gd-mobile-quick-btn{
    font-size:10px;
    padding-inline:5px;
  }
  .gd-mobile-header-quick .gd-mobile-quick-btn span{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
}

/* Service/city icons inside WordPress menus */
.gd-menu-term-title{display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:100%;line-height:1.5}
.gd-menu-term-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-menu-term-icon{flex:0 0 30px;width:30px;height:30px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#eefafa,#fff);border:1px solid #d2ecee;color:#0b7476;overflow:hidden;box-shadow:0 7px 18px rgba(9,92,99,.08)}
.gd-menu-term-icon-img{display:block;width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}
.gd-menu-term-icon svg{width:17px;height:17px;display:block}
.gd-menu-term-icon-letter{font-size:12px;font-weight:950;line-height:1;color:#0b7476}
.gd-main-nav .sub-menu .gd-menu-term-item>a{justify-content:flex-start;text-align:right}
.gd-main-nav .sub-menu .gd-menu-term-item>a:hover .gd-menu-term-icon{background:#fff;border-color:#b9e5e7;transform:translateY(-1px)}
.gd-main-nav .gd-primary-menu>li.gd-menu-term-item>a{padding-inline-start:9px;padding-inline-end:11px}
.gd-main-nav .gd-primary-menu>li.gd-menu-term-item>a .gd-menu-term-icon{width:26px;height:26px;flex-basis:26px;border-radius:10px}
.gd-mobile-nav .gd-menu-term-title{gap:10px;width:100%}
.gd-mobile-nav .gd-menu-term-icon{width:32px;height:32px;flex-basis:32px;border-radius:12px}
.gd-mobile-nav .gd-menu-term-label{white-space:normal}
.gd-mobile-nav .gd-menu-term-item>a{display:flex;align-items:center;justify-content:flex-start;text-align:right}
@media(max-width:560px){.gd-menu-term-icon{width:30px;height:30px;flex-basis:30px}.gd-menu-term-icon-img{padding:5px}}

/* Header owner/account SVG icons */
.gd-header-action-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:inline-grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.18);
  color:currentColor;
}
.gd-header-action-icon .gd-header-action-svg{
  width:17px;
  height:17px;
  display:block;
}
.gd-header-actions .gd-btn,
.gd-mobile-actions .gd-btn{
  gap:8px;
}
.gd-mobile-header-quick .gd-mobile-quick-icon .gd-mobile-quick-svg{
  width:14px;
  height:14px;
  display:block;
}
.gd-mobile-header-quick .gd-mobile-quick-company .gd-mobile-quick-icon{
  background:rgba(255,255,255,.20);
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset;
}


/* Homepage province selector lives in the header archive CTA. */
.gd-header-location-btn{white-space:nowrap}.gd-header-location-icon{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;color:#0a8079}.gd-header-location-icon svg{display:block;width:100%;height:100%}.gd-header-location-btn:hover .gd-header-location-icon{color:#075f5a}.gd-header-location-btn.is-loading{opacity:.68;pointer-events:none}.gd-mobile-location-btn{width:100%}

/* Province selection stays clickable while results refresh in background. */
.gd-header-location-btn.is-loading{opacity:.82;pointer-events:auto;cursor:pointer}
