/* Keep the Services sheet owned by the viewport while preserving its form. */
@media (max-width: 780px) {
  body[data-category="vacation"] .vacationSearchSidebar .vacationCheckbox {
    min-width: 0 !important;
  }
  body[data-category="vacation"] .vacationSearchSidebar .vacationCheckbox > input {
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    clip-path: inset(50%);
  }
  body[data-category="vacation"] .vacationSearchSidebar .vacationCheckbox > span {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  body[data-category="vacation"] .vacationSearchSidebar .vacationCheckbox > input:focus-visible + span {
    outline: 2px solid var(--category-accent, #6595ff);
    outline-offset: 2px;
  }
  body[data-category="services"].services-sheet-open .services-search-pro {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    transform: none !important;
    filter: none !important;
    contain: none !important;
    isolation: auto !important;
    z-index: auto !important;
  }
}

/* Desktop header: reserve space for every navigation item before search. */
@media (min-width: 781px) {
  #cone-app-header.categoryHeader .categoryHeader__inner {
    grid-template-areas: "brand nav controls" "search search search" !important;
    grid-template-columns: max-content minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 10px 14px !important;
    padding-block: 8px !important;
  }
  #cone-app-header.categoryHeader .categoryHeader__nav {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    align-items: center !important;
  }
  #cone-app-header.categoryHeader .categoryHeader__nav > :is(a, .megaRoot) {
    flex: 0 0 auto !important;
  }
  #cone-app-header.categoryHeader .categoryHeader__nav:has(.megaRoot.is-open) {
    z-index: 4401 !important;
  }
  #cone-app-header.categoryHeader .categoryHeader__controls {
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    align-items: center !important;
  }
  #cone-app-header.categoryHeader .categoryHeader__searchZone {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
  #cone-app-header.categoryHeader .categoryHeader__searchForm {
    width: 100% !important;
    min-width: 0 !important;
  }
  /* A single outer field; the input itself never paints a second rectangle. */
  html[data-theme] body[data-category] :is(input[type="search"], input[name="q"]) {
    border-radius: 14px !important;
    box-shadow: none !important;
  }
  html[data-theme] body[data-category] :is(.categoryHeader__searchInputWrap, .headerSearch__inputWrap) :is(input[type="search"], input[name="q"]),
  #cone-app-header :is(.categoryHeader__searchInputWrap, .headerSearch__inputWrap) :is(input[type="search"], input[name="q"]) {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  body :is(.categoryHeader__searchInputWrap, .headerSearch__inputWrap):focus-within {
    outline: 2px solid var(--category-accent, #6595ff);
    outline-offset: 2px;
  }
}
@media (min-width: 781px) and (max-width: 1100px) {
  #cone-app-header.categoryHeader .categoryHeader__inner {
    grid-template-areas: "brand controls" "nav nav" "search search" !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }
}
@media (min-width: 1600px) {
  #cone-app-header.categoryHeader .categoryHeader__inner {
    grid-template-areas: "brand nav search controls" !important;
    grid-template-columns: max-content minmax(0, max-content) minmax(220px, 1fr) max-content !important;
  }
}
