/* OX24 HEADER — single source of truth, contract 94 */
:root{--ox24-blue:#002147;--ox24-line:#e4eaef;--ox24-muted:#72808c;--ox24-disabled:#aab3bb}

.ox24-photo-header{
  position:relative!important;
  z-index:10000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:88px!important;
  height:88px!important;
  padding:14px 30px!important;
  box-sizing:border-box!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.87),rgba(255,255,255,.82),rgba(255,255,255,.88)),
    url("/oxford-header.jpg") center 42%/cover no-repeat!important;
  border-bottom:1px solid #e4ebf0!important;
}

.ox24-brandline{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  height:62px!important;
}
.ox24-brandline .ox24-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  text-decoration:none!important;
}
.ox24-brandline img{
  display:block!important;
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  max-width:62px!important;
  max-height:62px!important;
  object-fit:contain!important;
  border-radius:0!important;
  clip-path:none!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
.ox24-brand-sub{display:none!important}

.ox24-header-actions{
  margin-left:auto!important;
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  height:44px!important;
}

.ox24-icon-button,
.ox24-profile-button{
  appearance:none!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--ox24-blue)!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
  line-height:1!important;
}
.ox24-icon-button{border-radius:12px!important}
.ox24-icon-button:hover{background:rgba(0,33,71,.055)!important}
.ox24-icon-button svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ox24-profile-button{
  border-radius:50%!important;
  overflow:hidden!important;
  border:1px solid #dce5eb!important;
  background:#f7fafc!important;
}
.ox24-profile-button img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
  clip-path:none!important;
  background:transparent!important;
}
.ox24-profile-fallback{
  display:block!important;
  width:22px!important;
  height:22px!important;
}

.ox24-main-nav{
  position:relative!important;
  z-index:5!important;
  min-height:54px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:42px!important;
  padding:0 24px!important;
  overflow:visible!important;
  background:#fff!important;
  border-bottom:1px solid #e8edf1!important;
  box-sizing:border-box!important;
}
.ox24-main-nav a,
.ox24-main-nav .ox24-nav-disabled{
  min-height:54px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  font-size:15px!important;
  text-decoration:none!important;
  border-bottom:2px solid transparent!important;
  padding:0 2px!important;
  color:#657786!important;
  box-sizing:border-box!important;
}
.ox24-main-nav a.active{
  color:var(--ox24-blue)!important;
  border-bottom-color:var(--ox24-blue)!important;
}
.ox24-main-nav a:hover{color:var(--ox24-blue)!important}
.ox24-main-nav .ox24-nav-disabled{
  color:var(--ox24-disabled)!important;
  cursor:default!important;
  opacity:.72!important;
}

/* Same search/account popovers everywhere. */
.ox24-search-popover,.ox24-profile-popover{
  position:fixed!important;
  z-index:10020!important;
  right:24px!important;
  top:72px!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid #dfe6eb!important;
  border-radius:16px!important;
  box-shadow:0 18px 48px rgba(21,45,70,.14)!important;
  display:none;
}
.ox24-search-popover.open,.ox24-profile-popover.open{display:block!important}
.ox24-search-popover{
  width:min(520px,calc(100vw - 32px))!important;
  padding:12px!important;
}
.ox24-profile-popover{width:250px!important;padding:14px!important}

@media(max-width:720px){
  .ox24-photo-header{
    min-height:64px!important;
    height:64px!important;
    padding:7px 12px!important;
    position:sticky!important;
    top:0!important;
  }
  .ox24-brandline{height:48px!important}
  .ox24-brandline .ox24-logo-link,
  .ox24-brandline img{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
  }
  .ox24-header-actions{gap:2px!important;height:40px!important}
  .ox24-icon-button,.ox24-profile-button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .ox24-icon-button svg{width:24px!important;height:24px!important}
  .ox24-main-nav{display:none!important}
  .ox24-search-popover{
    top:58px!important;
    right:10px!important;
    width:calc(100vw - 20px)!important;
    border-radius:14px!important;
  }
  .ox24-profile-popover{top:58px!important;right:10px!important}
}

/* OX24_PROFILE_SETTINGS_107 */
.ox24-settings-modal{position:fixed;inset:0;z-index:12000;background:rgba(0,21,42,.42);display:flex;align-items:center;justify-content:center;padding:18px}.ox24-settings-modal[hidden]{display:none}.ox24-settings-panel{width:min(560px,100%);max-height:86vh;overflow:auto;background:#fff;border:1px solid #e1e7ec;border-radius:18px;box-shadow:0 22px 60px rgba(0,21,42,.2)}.ox24-settings-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e7edf1}.ox24-settings-head button{border:0;background:#f3f6f8;border-radius:50%;width:34px;height:34px;font-size:20px}.ox24-settings-body{padding:16px;display:grid;gap:11px}.ox24-settings-body label{font-size:11px;color:#5f6f7a}.ox24-settings-body input,.ox24-settings-body select{display:block;width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #dfe6eb;border-radius:10px;padding:10px;background:#fff;color:#263b4c;font:inherit}.ox24-settings-body .ox24-check{display:flex;align-items:center;gap:8px}.ox24-settings-body .ox24-check input{width:auto;margin:0}.ox24-settings-primary{border:1px solid #dfe6eb;border-radius:999px;background:#fff;color:#002147;padding:9px 12px;font:inherit;cursor:pointer}.ox24-settings-status{font-size:11px;color:#71808a}.ox24-home-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:640px){.ox24-settings-modal{align-items:flex-end;padding:0}.ox24-settings-panel{border-radius:18px 18px 0 0;max-height:92vh}.ox24-home-fields{grid-template-columns:1fr}}


/* Contract 108 global interaction */
button,[role="button"],a[href],summary{cursor:pointer!important}
button:active,[role="button"]:active,a[href]:active{transform:translateY(1px);opacity:.84}
button[disabled],[aria-busy="true"]{cursor:progress!important;opacity:.62}
.ox24-check-row{display:flex!important;align-items:center!important;gap:9px!important}
.ox24-check-row input{width:auto!important;margin:0!important}
.ox24-settings-body [hidden]{display:none!important}

.ox24-location-choices{display:grid;gap:5px;margin-top:6px}.ox24-location-choices button{width:100%;text-align:left;border:1px solid #dfe6eb;background:#fff;border-radius:9px;padding:8px}

/* Contract110 shared profile/location controls */
.ox24-settings-body input[list]{width:100%}
.ox24-location-choices{display:grid;gap:5px}
#ox24RegionWrap[hidden]{display:none!important}
.ox24-settings-primary[disabled],button[aria-busy="true"]{opacity:.62;cursor:wait!important}

/* Contract111 — aligned Home-base location row */
.ox24-home-fields{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px!important;
  align-items:start!important;
}
.ox24-home-fields > label,
.ox24-home-fields > #ox24RegionWrap{
  margin:0!important;
  align-self:start!important;
  min-width:0;
}
.ox24-home-fields > #ox24RegionWrap > label{
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%;
}
.ox24-home-fields > label{
  display:flex!important;
  flex-direction:column!important;
}
.ox24-home-fields input{
  box-sizing:border-box!important;
  height:42px!important;
  margin-top:6px!important;
}
.ox24-home-fields #ox24HomeVerify{
  grid-column:1/-1;
}
@media(max-width:760px){
  .ox24-home-fields{grid-template-columns:1fr!important}
  .ox24-home-fields #ox24HomeVerify{grid-column:1}
}
