/*
  Oloropa public header integrity guard
  Purpose: keep the ranger/nav header as a compact command bar on every public page
  while leaving individual Serenity Home detail pages untouched.
*/
:root{
  --ol-public-header-top:clamp(10px,1.05vw,18px);
  --ol-public-header-height:74px;
  --ol-public-header-safe-width:min(1400px,calc(100vw - 24px));
  --ol-public-header-brand-width:minmax(238px,.82fr);
  --ol-public-header-action-width:minmax(212px,max-content);
}

html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"])
  .ol-cc-header[data-oloropa-concierge-header],
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"])
  header.ol-cc-header[data-oloropa-concierge-header],
html body[data-ol-public-header-integrity="active"] .ol-cc-header[data-oloropa-concierge-header]{
  box-sizing:border-box!important;
  position:fixed!important;
  inset:auto auto auto 50%!important;
  top:var(--ol-public-header-top)!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  width:var(--ol-public-header-safe-width)!important;
  min-width:0!important;
  max-width:calc(100vw - 24px)!important;
  height:var(--ol-public-header-height)!important;
  min-height:var(--ol-public-header-height)!important;
  max-height:var(--ol-public-header-height)!important;
  margin:0!important;
  padding:10px 12px 10px 14px!important;
  display:grid!important;
  grid-template-columns:var(--ol-public-header-brand-width) minmax(0,auto) var(--ol-public-header-action-width)!important;
  grid-auto-flow:column!important;
  grid-auto-rows:auto!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:12px!important;
  border-radius:999px!important;
  overflow:visible!important;
  transform:translate3d(-50%,var(--ol-public-header-y,0),0)!important;
  translate:none!important;
  contain:none!important;
  isolation:isolate!important;
  z-index:2147483000!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header]::before,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header]::after{
  box-sizing:border-box!important;
  pointer-events:none!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol20-brand-zone,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol-cc-brand{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:52px!important;
  min-height:0!important;
  max-height:52px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-brand img,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol20-brand-zone img,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-logo,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol20-logo{
  flex:0 0 auto!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
  object-fit:contain!important;
  margin:0!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-brand-text,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol20-brand-copy,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol20-wordmark{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol-cc-nav{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  max-width:min(690px,48vw)!important;
  height:50px!important;
  min-height:0!important;
  max-height:50px!important;
  margin:0!important;
  padding:4px!important;
  border-radius:999px!important;
  overflow:visible!important;
  transform:none!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav-item,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav > li{
  box-sizing:border-box!important;
  position:relative!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:42px!important;
  min-height:0!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-link,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav a{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:0 13px!important;
  white-space:nowrap!important;
  line-height:1!important;
  overflow:visible!important;
  transform:none!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-dot,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-link::after{
  flex:0 0 auto!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-mega{
  box-sizing:border-box!important;
  position:absolute!important;
  top:calc(100% + 14px)!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  width:min(360px,calc(100vw - 36px))!important;
  min-width:min(320px,calc(100vw - 36px))!important;
  max-width:calc(100vw - 36px)!important;
  max-height:min(70vh,560px)!important;
  height:auto!important;
  margin:0!important;
  padding:14px!important;
  border-radius:26px!important;
  overflow:auto!important;
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(-50%,8px,0)!important;
  transform-origin:50% 0!important;
  z-index:2147483001!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav-item:hover > .ol-cc-mega,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav-item:focus-within > .ol-cc-mega,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav > li:hover > .ol-cc-mega,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-nav > li:focus-within > .ol-cc-mega{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate3d(-50%,0,0)!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol-cc-actions{
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:52px!important;
  min-height:0!important;
  max-height:52px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  transform:none!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-cta,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] [data-ol-open-brief]{
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  max-width:248px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0 18px!important;
  white-space:nowrap!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-menu-button{
  display:none!important;
  flex:0 0 auto!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
}

html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-es-trace,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-es-media-state,
html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] [data-ol-section-state]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (max-width:1320px){
  :root{--ol-public-header-brand-width:minmax(220px,1fr);--ol-public-header-action-width:minmax(170px,max-content);}
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header]{
    grid-template-columns:minmax(220px,1fr) auto!important;
    gap:10px!important;
  }
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol-cc-nav{
    display:none!important;
  }
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol-cc-actions{
    grid-column:2!important;
  }
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-menu-button{
    display:inline-flex!important;
  }
}

@media (max-width:760px){
  :root{--ol-public-header-height:66px;--ol-public-header-safe-width:calc(100vw - 18px);}
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header]{
    padding:8px 10px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol20-brand-zone,
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] > .ol-cc-brand{
    height:48px!important;
    max-height:48px!important;
  }
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-brand img,
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol20-brand-zone img,
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-logo,
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol20-logo{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important;
  }
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] .ol-cc-cta,
  html body:not([data-oloropa-page="view_home.php"]) .ol-cc-header[data-oloropa-concierge-header] [data-ol-open-brief]{
    display:none!important;
  }
}

/* Site-wide public-header gap guard
   Collapses legacy header-only carrier shells so fixed navigation no longer
   leaves a viewport-height blank band before #main-content. View Home keeps
   its own native header/home-detail layout untouched. */
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(> .ol-cc-header[data-oloropa-concierge-header]),
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]),
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > [data-ol-public-nav-shell="true"]{
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  translate:none!important;
  contain:none!important;
  isolation:auto!important;
  pointer-events:none!important;
  z-index:auto!important;
}

html body:not([data-oloropa-page="view_home.php"]) > [data-ol-public-nav-shell="true"] > .ol-cc-header[data-oloropa-concierge-header],
html body:not([data-oloropa-page="view_home.php"]) > [data-ol-public-nav-shell="true"] > .ol-cc-mobile-drawer,
html body:not([data-oloropa-page="view_home.php"]) > [data-ol-public-nav-shell="true"] > [data-oloropa-mobile-drawer],
html body:not([data-oloropa-page="view_home.php"]) > [data-ol-public-nav-shell="true"] > .p11-progress,
html body:not([data-oloropa-page="view_home.php"]) > [data-ol-public-nav-shell="true"] > .sp-progress,
html body:not([data-oloropa-page="view_home.php"]) > [data-ol-public-nav-shell="true"] > .ix-progress{
  pointer-events:auto!important;
}

html body:not([data-oloropa-page="view_home.php"])[data-ol-public-main-gap-fixed="true"] #main-content,
html body:not([data-oloropa-page="view_home.php"])[data-ol-public-header-integrity="active"] #main-content{
  margin-top:0!important;
}

html body:not([data-oloropa-page="view_home.php"])[data-ol-public-main-gap-fixed="true"] #main-content > :first-child,
html body:not([data-oloropa-page="view_home.php"])[data-ol-public-header-integrity="active"] #main-content > :first-child{
  margin-top:0!important;
}

html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]) > .ol-cc-header[data-oloropa-concierge-header],
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]) > .ol-cc-mobile-drawer,
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]) > [data-oloropa-mobile-drawer],
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]) > .p11-progress,
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]) > .sp-progress,
html body:not([data-oloropa-page="view_home.php"]):not([data-ol-page-family="home-detail"]):not([data-ol-page-family="view-home"]) > .p11-shell:has(.ol-cc-header[data-oloropa-concierge-header]) > .ix-progress{
  pointer-events:auto!important;
}
