/* Strong Move header-only refinements. Loaded after the global stylesheet. */
@media (min-width:1001px) {
  .sm-header-row { gap:18px; }
  .sm-main-nav { gap:18px; }
  .sm-main-nav details { position:relative; }
  .sm-mega {
    left:50%; right:auto; top:calc(100% - 1px);
    width:min(760px,calc(100vw - 32px));
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:30px; padding:26px;
    transform:translateX(-50%);
    border:1px solid var(--sm-line); border-top:3px solid #ff6428;
    border-radius:0 0 12px 12px;
  }
  .sm-mega-small {
    left:50%; right:auto; width:280px; min-width:260px;
    grid-template-columns:1fr; padding:22px;
    transform:translateX(-50%);
  }
  .sm-main-nav details:not([open]) > .sm-mega {
    visibility:hidden; opacity:0; pointer-events:none;
    transform:translate(-50%,-6px);
  }
  .sm-main-nav details[open] > .sm-mega {
    visibility:visible; opacity:1; pointer-events:auto;
    transition:opacity .16s ease,transform .16s ease;
  }
  .sm-header-phone {
    display:flex; align-items:center; gap:8px; min-width:128px;
    padding:7px 0; color:var(--sm-navy); line-height:1.05; white-space:nowrap;
  }
  .sm-header-phone-icon {
    display:grid; width:24px; height:24px; place-items:center;
    border-radius:50%; background:#fff1eb; color:#ff6428; font-size:13px;
    transition:transform .18s ease,background-color .18s ease;
  }
  .sm-header-phone small,.sm-header-phone strong { display:block; }
  .sm-header-phone small {
    margin-bottom:3px; color:#ff6428; font-size:9px; font-weight:900;
    letter-spacing:.09em; text-transform:uppercase;
  }
  .sm-header-phone strong { font-size:14px; font-weight:900; letter-spacing:.01em; }
  .sm-header-phone:hover .sm-header-phone-icon,
  .sm-header-phone:focus-visible .sm-header-phone-icon {
    transform:translateY(-1px); background:#ff6428; color:#fff;
  }
}

@media (min-width:1001px) and (max-width:1366px) {
  .sm-header-row { gap:14px; }
  .sm-main-nav { gap:13px; font-size:12px; }
  .sm-logo img { width:200px; }
  .sm-header-phone { min-width:120px; }
  .sm-header-phone strong { font-size:13px; }
  .sm-header-quote { padding:13px 14px; font-size:14px; white-space:nowrap; }
}

@media (max-width:1000px) {
  .sm-main-nav details:not([open]) > .sm-mega { display:none; }
  .sm-main-nav details[open] > .sm-mega { display:grid; }
}

@media (max-width:782px) {
  header.wp-block-template-part:has(.sm-site-header) {
    position:sticky!important;top:0!important;z-index:1000!important;
  }
  .admin-bar header.wp-block-template-part:has(.sm-site-header) { top:46px!important; }
  .sm-header-row { min-height:72px; gap:9px; }
  .sm-logo { flex:0 0 118px;margin-right:auto; }
  .sm-logo img { width:118px; max-width:118px; }
  .sm-header-phone {
    position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:3px;
    flex:0 0 126px;min-width:0;min-height:40px;padding:5px 5px 7px 9px;
    border-left:3px solid var(--sm-orange);border-radius:4px 9px 4px 4px;
    background:linear-gradient(135deg,#0b2032,#102f4b);
    color:#fff; line-height:1.02; text-decoration:none;
    box-shadow:0 7px 16px rgba(7,29,48,.17); box-sizing:border-box;
  }
  .sm-header-phone::after {
    content:'';position:absolute;left:20px;bottom:-4px;
    width:7px; height:7px; border:2px solid #fff; border-radius:50%;
    background:#102a43;box-shadow:78px 0 0 -2px #102a43,78px 0 0 0 #fff;
  }
  .sm-header-phone-icon {
    position:relative;display:block;flex:0 0 29px;width:29px;height:25px;
    border-radius:3px 8px 3px 2px;background:linear-gradient(145deg,#365267,#13283a);
    color:transparent;font-size:0;box-shadow:inset 0 -3px var(--sm-orange);
  }
  .sm-header-phone-icon::before {
    content:'';position:absolute;right:4px;top:4px;width:13px;height:9px;
    border-radius:2px 5px 1px 1px;background:linear-gradient(145deg,#d7edf8,#789eb5);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);
  }
  .sm-header-phone-icon::after {
    content:'';position:absolute;right:-3px;bottom:1px;width:6px;height:3px;
    border-radius:1px;background:var(--sm-orange);
  }
  .sm-header-phone small,.sm-header-phone strong { display:block; white-space:nowrap; }
  .sm-header-phone small {
    margin-bottom:3px; color:#ff9a72; font-size:7px; font-weight:900;
    letter-spacing:.08em; text-transform:uppercase;
  }
  .sm-header-phone>span:not(.sm-header-phone-icon){flex:1;min-width:0}
  .sm-header-phone strong { color:#fff; font-size:9px; font-weight:900; letter-spacing:0; }
  .sm-header-phone:hover,.sm-header-phone:focus-visible { background:#173f61; }
  .sm-menu-toggle { flex:0 0 42px;min-width:42px;height:40px;padding:7px;font-size:0;line-height:1; }
  .sm-menu-toggle::after { content:'☰';color:var(--sm-navy);font-size:18px;font-weight:900; }
  .sm-site-header.is-open .sm-menu-toggle::after { content:'×';font-size:22px; }
}
@media (min-width:421px) and (max-width:782px) {
  .sm-logo { flex-basis:135px; }
  .sm-logo img { width:135px; max-width:135px; }
  .sm-header-phone { flex-basis:130px; }
  .sm-header-phone strong { font-size:10px; }
}
