/**
 * Zibayab Global Shell v3 — Phase 5
 *
 * The public shell is intentionally quiet: hierarchy comes from type, spacing
 * and one clear action rather than stacked cards, gradients and shadows.
 * Page-specific provider/result components migrate in later phases.
 */

:root{
  --zy-shell-header:64px;
  --zy-shell-container:1200px;
  --zy-shell-gutter:clamp(16px,3vw,28px);
  --zy-shell-section:clamp(42px,5vw,68px);
  --zy-shell-section-compact:clamp(28px,3.5vw,44px);
  --zy-shell-h1:clamp(2rem,1.48rem + 1.55vw,3.25rem);
  --zy-shell-h2:clamp(1.5rem,1.22rem + .82vw,2.1rem);
  --zy-shell-h3:1.25rem;
  --zy-shell-copy:1rem;
  --zy-shell-muted:.875rem;
  --zy-shell-line:color-mix(in srgb,var(--zy-line) 72%,transparent);
  --zy-shell-line-soft:color-mix(in srgb,var(--zy-line) 46%,transparent);
  --zy-shell-hover:color-mix(in srgb,var(--zy-ink) 4%,var(--zy-surface));
  --zy-shell-selected:color-mix(in srgb,var(--zy-brand) 8%,var(--zy-surface));
}

/* --- Canvas and layout --------------------------------------------------- */
body.zy-shell-v3{
  background:var(--zy-bg);
  color:var(--zy-ink);
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.zy-shell-v3 .site-content{min-height:56vh}
body.zy-shell-v3 .container,
body.zy-shell-v3 .zy-ui-container{
  width:min(var(--zy-shell-container),calc(100% - (var(--zy-shell-gutter) * 2)));
  max-width:none;
  margin-inline:auto;
}
body.zy-shell-v3 .container-narrow{width:min(780px,calc(100% - (var(--zy-shell-gutter) * 2)));margin-inline:auto}
body.zy-shell-v3 .market-section{padding-block:var(--zy-shell-section);background:transparent}
body.zy-shell-v3 .market-section + .market-section{border-top:0}
body.zy-shell-v3 :where(.market-section,.fresha-route-section,.landing-editorial-section,.service-knowledge-moment){box-shadow:none}

/* --- Type hierarchy ----------------------------------------------------- */
body.zy-shell-v3 :where(h1,h2,h3,h4,p){text-wrap:pretty}
body.zy-shell-v3 :where(h1,h2,h3,h4){color:var(--zy-ink);letter-spacing:-.018em}
body.zy-shell-v3 :where(h1){font-size:var(--zy-shell-h1);font-weight:700;line-height:1.3}
body.zy-shell-v3 :where(.market-section-head h2,.fresha-route-section__head h2,.price-section-heading h2,.zy-section-head h2){font-size:var(--zy-shell-h2);font-weight:700;line-height:1.34}
body.zy-shell-v3 :where(.market-section-head h3,.provider-result__heading h3,.home-service-card h3,.home-need-card h3){font-size:var(--zy-shell-h3);font-weight:600}
body.zy-shell-v3 :where(.market-section-head p,.fresha-route-section__head p,.price-section-heading p){max-width:680px;color:var(--zy-muted);font-size:var(--zy-shell-copy);line-height:1.6}
body.zy-shell-v3 .market-eyebrow{
  display:inline-flex;
  margin:0 0 5px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--zy-muted);
  font-size:var(--zy-shell-muted)!important;
  font-weight:650;
  line-height:1.5;
}
body.zy-shell-v3 .market-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:24px;
}
body.zy-shell-v3 .market-section-head__copy{max-width:760px}
body.zy-shell-v3 .market-section-head__copy :where(h2,h3,p){margin-top:0}
body.zy-shell-v3 .market-section-head__copy h2{margin-bottom:6px}
body.zy-shell-v3 .market-section-head__copy p{margin-bottom:0}
body.zy-shell-v3 .market-text-link{
  display:inline-flex;align-items:center;gap:5px;min-height:40px;
  padding:4px 2px;border:0;background:transparent;color:var(--zy-ink);
  font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap;
}
body.zy-shell-v3 .market-text-link:hover{color:var(--zy-brand)}
body.zy-shell-v3 .market-text-link .zy-icon{width:16px;height:16px}

/* --- Header ------------------------------------------------------------- */
body.zy-shell-v3 .site-header{
  position:sticky;
  top:var(--zy-admin-offset);
  z-index:var(--zy-z-header);
  height:var(--zy-shell-header);
  border-bottom:1px solid var(--zy-shell-line-soft);
  background:color-mix(in srgb,var(--zy-bg) 96%,transparent);
  box-shadow:none;
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  backdrop-filter:blur(16px) saturate(120%);
  transition:border-color var(--zy-fast),background-color var(--zy-fast);
}
body.zy-shell-v3 .site-header.is-scrolled{border-bottom-color:var(--zy-shell-line);background:color-mix(in srgb,var(--zy-bg) 98%,transparent)}
body.zy-shell-v3 .site-header__inner{height:100%;gap:16px}
body.zy-shell-v3 .header-wordmark{
  color:var(--zy-ink);font-size:1.12rem;font-weight:900;letter-spacing:-.035em;text-decoration:none;
}
body.zy-shell-v3 .header-primary-nav{gap:3px}
body.zy-shell-v3 .header-primary-nav a{
  min-height:36px;display:inline-flex;align-items:center;padding:5px 8px;border:0;border-radius:var(--zy-ui-radius-control);
  background:transparent;color:var(--zy-muted);font-size:.76rem;font-weight:620;text-decoration:none;white-space:nowrap;
}
body.zy-shell-v3 .header-primary-nav a:hover{background:var(--zy-shell-hover);color:var(--zy-ink)}
body.zy-shell-v3 .header-primary-nav a.is-active{position:relative;background:transparent;color:var(--zy-ink);font-weight:780}
body.zy-shell-v3 .header-primary-nav a.is-active::after{content:"";position:absolute;right:8px;left:8px;bottom:-14px;height:2px;border-radius:2px;background:var(--zy-brand)}
body.zy-shell-v3 .header-more-nav{display:none;position:relative}
body.zy-shell-v3 .header-more-nav summary{list-style:none;min-height:36px;display:inline-flex;align-items:center;gap:3px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:var(--zy-muted);font-size:.76rem;font-weight:620;cursor:pointer;white-space:nowrap}
body.zy-shell-v3 .header-more-nav summary::-webkit-details-marker{display:none}
body.zy-shell-v3 .header-more-nav summary .zy-icon{width:14px;height:14px;transition:transform var(--zy-fast)}
body.zy-shell-v3 .header-more-nav[open] summary .zy-icon{transform:rotate(180deg)}
body.zy-shell-v3 .header-more-nav summary:hover,
body.zy-shell-v3 .header-more-nav.is-active summary{background:var(--zy-shell-hover);color:var(--zy-ink)}
body.zy-shell-v3 .header-more-nav__menu{position:absolute;z-index:calc(var(--zy-z-header) + 2);top:calc(100% + 8px);inset-inline-end:0;min-width:148px;padding:6px;border:1px solid var(--zy-shell-line);border-radius:var(--zy-ui-radius-overlay);background:var(--zy-surface);box-shadow:var(--zy-shadow-pop)}
body.zy-shell-v3 .header-more-nav__menu a{width:100%;justify-content:flex-start;min-height:38px;padding-inline:10px}
body.zy-shell-v3 .header-desktop-actions{gap:6px}
body.zy-shell-v3 .header-login-plain{
  min-height:40px;display:inline-flex;align-items:center;padding:6px 9px;border:0;border-radius:var(--zy-ui-radius-control);
  color:var(--zy-ink);background:transparent;font-size:.76rem;font-weight:700;text-decoration:none;
}
body.zy-shell-v3 .header-login-plain:hover{background:var(--zy-shell-hover)}
body.zy-shell-v3 .icon-button{
  min-width:40px;min-height:40px;border:0;border-radius:var(--zy-ui-radius-control);background:transparent;color:var(--zy-ink);box-shadow:none;
}
body.zy-shell-v3 .icon-button:hover{background:var(--zy-shell-hover)}
body.zy-shell-v3 .theme-toggle{border:0;background:transparent}

/* Header route search is one compact control, not three visual boxes. */
body.zy-shell-v3 .header-route-search--desktop{
  min-height:46px;padding:3px;border:1px solid var(--zy-shell-line);border-radius:8px;background:var(--zy-surface);box-shadow:none;
  transition:border-color var(--zy-fast),box-shadow var(--zy-fast);
}
body.zy-shell-v3 .header-route-search--desktop:focus-within{border-color:color-mix(in srgb,var(--zy-brand) 52%,var(--zy-line));box-shadow:var(--zy-ui-focus)}
body.zy-shell-v3 .header-route-search__field{
  min-height:36px;padding-inline:9px;border:0;border-radius:var(--zy-ui-radius-control);background:transparent;
}
body.zy-shell-v3 .header-route-search__field:hover{background:var(--zy-shell-hover)}
body.zy-shell-v3 .header-route-search__field .zy-icon{width:17px;height:17px;color:var(--zy-muted)}
body.zy-shell-v3 .header-route-search__native{font-size:.76rem;font-weight:590;color:var(--zy-ink)}
body.zy-shell-v3 .header-route-search__divider{width:1px;height:22px;background:var(--zy-shell-line)}
body.zy-shell-v3 .header-route-search__submit{
  width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border:0;border-radius:var(--zy-ui-radius-control);
  background:var(--zy-action-primary);color:var(--zy-action-primary-ink);box-shadow:none;
}
body.zy-shell-v3 .header-route-search__submit:hover{background:var(--zy-action-primary-hover)}
body.zy-shell-v3 .header-route-search__submit .zy-icon{width:18px;height:18px}
body.zy-shell-v3 .header-route-search__status{display:none}
body.zy-shell-v3 .header-searchable-select__panel{top:calc(100% + 8px);padding:5px;border:1px solid var(--zy-shell-line);border-radius:8px;background:var(--zy-surface);box-shadow:var(--zy-ui-shadow-float)}
body.zy-shell-v3 .header-searchable-select__option{min-height:40px;padding:7px 9px;border-radius:5px}
body.zy-shell-v3 .header-searchable-select__option:hover,
body.zy-shell-v3 .header-searchable-select__option:focus,
body.zy-shell-v3 .header-searchable-select__option[aria-selected="true"]{background:var(--zy-brand-soft);color:var(--zy-ink)}

/* --- Buttons and controls ---------------------------------------------- */
body.zy-shell-v3 :where(.button,.zy-ui-action){
  min-height:44px;padding:8px 14px;border-radius:var(--zy-ui-radius-control);box-shadow:none;
  font-size:.79rem;font-weight:740;line-height:1.2;text-decoration:none;
  transition:background-color var(--zy-fast),border-color var(--zy-fast),color var(--zy-fast),transform var(--zy-fast);
}
body.zy-shell-v3 :where(.button-primary,.zy-ui-action--primary){background:var(--zy-action-primary);border-color:var(--zy-action-primary);color:var(--zy-action-primary-ink)}
body.zy-shell-v3 :where(.button-primary,.zy-ui-action--primary):hover{background:var(--zy-action-primary-hover);border-color:var(--zy-action-primary-hover);color:var(--zy-action-primary-ink)}
body.zy-shell-v3 :where(.button-secondary,.button-outline,.zy-ui-action--secondary){background:transparent;border:1px solid var(--zy-shell-line);color:var(--zy-ink)}
body.zy-shell-v3 :where(.button-secondary,.button-outline,.zy-ui-action--secondary):hover{background:var(--zy-shell-hover);border-color:var(--zy-line-strong);color:var(--zy-ink)}
body.zy-shell-v3 :where(.button-quiet,.zy-ui-action--quiet){background:var(--zy-shell-selected);border-color:transparent;color:var(--zy-ink)}
body.zy-shell-v3 :where(.button-large){min-height:48px;padding-inline:18px}
body.zy-shell-v3 :where(button,.button,a,input,select,textarea):focus-visible{outline:0;box-shadow:var(--zy-ui-focus)}
body.zy-shell-v3 :where(input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],input[type="password"],select,textarea){
  border:1px solid var(--zy-shell-line);border-radius:var(--zy-ui-radius-control);background:var(--zy-surface);color:var(--zy-ink);box-shadow:none;
}
body.zy-shell-v3 :where(input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],input[type="password"],select){min-height:46px}
body.zy-shell-v3 :where(input,select,textarea)::placeholder{color:color-mix(in srgb,var(--zy-muted) 76%,transparent)}
body.zy-shell-v3 :where(input,select,textarea):focus{border-color:color-mix(in srgb,var(--zy-brand) 56%,var(--zy-line));outline:0;box-shadow:var(--zy-ui-focus)}

/* --- Chips, breadcrumbs and small navigation --------------------------- */
body.zy-shell-v3 :where(.zy-chip,.zy-ui-chip,.provider-result__chips span,.city-hero__shortcuts a){
  border:1px solid var(--zy-shell-line);border-radius:999px;background:transparent;box-shadow:none;
}
body.zy-shell-v3 .breadcrumbs{margin-block:14px 0;color:var(--zy-muted);font-size:.72rem}
body.zy-shell-v3 .breadcrumbs ol{gap:5px}
body.zy-shell-v3 .breadcrumbs a{color:var(--zy-muted);text-decoration:none}
body.zy-shell-v3 .breadcrumbs a:hover{color:var(--zy-ink)}
body.zy-shell-v3 .pagination{gap:4px}
body.zy-shell-v3 .pagination .page-numbers{min-width:38px;min-height:38px;border:0;border-radius:var(--zy-ui-radius-control);background:transparent;box-shadow:none;color:var(--zy-muted)}
body.zy-shell-v3 .pagination .page-numbers:hover{background:var(--zy-shell-hover);color:var(--zy-ink)}
body.zy-shell-v3 .pagination .page-numbers.current{background:var(--zy-ink);color:var(--zy-bg)}

/* --- Reduce decorative chrome without rewriting page components yet. --- */
body.zy-shell-v3 :where(
  .home-service-card,.home-need-card,.home-price-card,.home-review-card,.home-city-card,
  .post-card,.zy-system-card,.price-side-card,.landing-editorial-panel,
  .local-price-intelligence__panel,.price-table-section,.price-provider-offers,.price-content,
  .directory-decision-guide,.service-knowledge-moment__item,.fresha-available-link
){box-shadow:none}
body.zy-shell-v3 :where(
  .home-service-card,.home-need-card,.home-price-card,.home-review-card,.home-city-card,
  .post-card,.zy-system-card,.price-side-card,.landing-editorial-panel,
  .price-table-section,.price-provider-offers,.price-content,.directory-decision-guide,
  .service-knowledge-moment__item,.fresha-available-link
){border-color:var(--zy-shell-line)}
body.zy-shell-v3 :where(.landing-editorial-section,.service-knowledge-moment,.fresha-results){background:transparent}
body.zy-shell-v3 :where(.home-methodology,.home-about){background:color-mix(in srgb,var(--zy-ink) 2.2%,var(--zy-bg))}

/* --- Global overlays: navigation, account and search ------------------- */
body.zy-shell-v3 .market-overlay{background:color-mix(in srgb,#060911 44%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body.zy-shell-v3 .market-drawer__panel{width:min(92vw,372px);border:0;border-inline-start:1px solid var(--zy-shell-line);box-shadow:var(--zy-ui-shadow-float);background:var(--zy-surface)}
body.zy-shell-v3 .market-drawer__head{height:64px;padding-inline:16px;border-bottom:1px solid var(--zy-shell-line-soft)}
body.zy-shell-v3 .market-drawer__body{display:grid;align-content:start;gap:10px;padding:12px 14px 18px}
body.zy-shell-v3 .market-drawer__search{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:58px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--zy-brand) 22%,var(--zy-shell-line));border-radius:8px;background:var(--zy-brand-soft);color:var(--zy-ink);text-align:right}
body.zy-shell-v3 .market-drawer__search>span{display:grid;gap:1px}
body.zy-shell-v3 .market-drawer__search strong{font-size:.82rem;font-weight:800}
body.zy-shell-v3 .market-drawer__search small{color:var(--zy-muted);font-size:.72rem;font-weight:550}
body.zy-shell-v3 .market-drawer__search>.zy-icon:first-child{width:19px;height:19px;color:var(--zy-brand)}
body.zy-shell-v3 .market-drawer__search>.zy-icon:last-child{width:16px;height:16px;color:var(--zy-muted)}
body.zy-shell-v3 .market-drawer__routes{gap:0}
body.zy-shell-v3 .market-drawer__routes a,
body.zy-shell-v3 .market-account-links a{border:0;border-radius:6px;background:transparent;box-shadow:none}
body.zy-shell-v3 .market-drawer__routes a{min-height:58px;padding:9px 8px;border-bottom:1px solid var(--zy-shell-line-soft);border-radius:0}
body.zy-shell-v3 .market-drawer__routes a:last-child{border-bottom:0}
body.zy-shell-v3 .market-drawer__routes a:hover,
body.zy-shell-v3 .market-account-links a:hover{background:var(--zy-shell-hover)}
body.zy-shell-v3 .market-drawer__routes a.is-active{color:var(--zy-brand)}
body.zy-shell-v3 .market-drawer__routes a>.zy-icon:first-child{color:var(--zy-muted)}
body.zy-shell-v3 .market-drawer__routes a.is-active>.zy-icon:first-child{color:var(--zy-brand)}
body.zy-shell-v3 .market-drawer__routes strong{font-size:.82rem;font-weight:600}
body.zy-shell-v3 .market-drawer__routes small{margin-top:1px;font-size:.7rem;line-height:1.55}
body.zy-shell-v3 .market-drawer__foot{padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--zy-shell-line-soft);gap:8px}
body.zy-shell-v3 .market-drawer__utility{display:grid;grid-template-columns:1fr 1fr;gap:6px}
body.zy-shell-v3 .market-drawer__utility>a,
body.zy-shell-v3 .market-drawer__theme{min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border:1px solid var(--zy-shell-line);border-radius:6px;background:transparent;color:var(--zy-muted);font:inherit;font-size:.73rem;font-weight:690;text-decoration:none}
body.zy-shell-v3 .market-drawer__utility :where(.zy-icon){width:17px;height:17px}
body.zy-shell-v3 .market-drawer__provider-join{min-height:46px;display:grid;grid-template-columns:20px minmax(0,1fr) auto 16px;align-items:center;gap:7px;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:var(--zy-muted);font-size:.72rem;text-decoration:none}
body.zy-shell-v3 .market-drawer__provider-join strong{color:var(--zy-ink);font-size:.72rem;white-space:nowrap}
body.zy-shell-v3 .market-account-card{border:0;background:transparent;box-shadow:none}
body.zy-shell-v3 .market-account-card{padding:8px 0;border-radius:0}
body.zy-shell-v3 .market-account-provider-cta{padding:10px 0;border:0;border-top:1px solid var(--zy-shell-line-soft);border-radius:0;background:transparent}
body.zy-shell-v3 .market-account-actions .button{border-radius:6px}

body.zy-shell-v3 .market-dialog__panel{top:10vh;width:min(calc(100% - 32px),620px);max-height:78vh;padding:20px;border:1px solid var(--zy-shell-line);border-radius:10px;background:var(--zy-surface);box-shadow:var(--zy-ui-shadow-float)}
body.zy-shell-v3 .market-dialog__head{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--zy-shell-line-soft)}
body.zy-shell-v3 .market-dialog__head span{font-size:.72rem;font-weight:650}
body.zy-shell-v3 .market-dialog__head h2{margin:2px 0 0;font-size:1.08rem;font-weight:600}
body.zy-shell-v3 .header-route-search--dialog{min-height:50px;padding:3px;border:1px solid var(--zy-shell-line);border-radius:8px;background:var(--zy-surface)}
body.zy-shell-v3 .header-route-search--dialog:focus-within{border-color:color-mix(in srgb,var(--zy-brand) 52%,var(--zy-line));box-shadow:var(--zy-ui-focus)}
body.zy-shell-v3 .header-route-search--dialog .header-route-search__submit{width:auto;min-width:96px;padding-inline:14px;gap:6px}
body.zy-shell-v3 .market-dialog__route-note{margin:9px 2px 0;color:var(--zy-muted);font-size:.72rem;line-height:1.7}
body.zy-shell-v3 .market-dialog__quick{gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid var(--zy-shell-line-soft)}
body.zy-shell-v3 .market-dialog__quick a{min-height:34px;display:inline-flex;align-items:center;padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--zy-muted);font-size:.72rem;font-weight:680}
body.zy-shell-v3 .market-dialog__quick a:hover{background:var(--zy-shell-hover);color:var(--zy-ink)}

/* Footer should close the page, not look like another dashboard. */
body.zy-shell-v3 .site-footer{border-top:1px solid var(--zy-shell-line);background:transparent;box-shadow:none}
body.zy-shell-v3 .site-footer :where(a){text-decoration:none}

@media(min-width:1181px){
  body.zy-shell-v3 .site-header__inner{
    display:grid;
    grid-template-columns:auto minmax(300px,520px) minmax(260px,1fr) auto;
    grid-template-areas:"wordmark search nav actions";
    align-items:center;
    gap:clamp(12px,1.4vw,22px);
  }
  body.zy-shell-v3 .header-more-nav{display:none}
}

@media(min-width:1020px) and (max-width:1099px){
  body.zy-shell-v3 .site-header__inner{
    display:grid;grid-template-columns:auto minmax(320px,1fr) auto;
    grid-template-areas:"wordmark search actions";align-items:center;gap:14px;
  }
  body.zy-shell-v3 .header-primary-nav{display:none}
}

@media(min-width:1100px) and (max-width:1180px){
  body.zy-shell-v3 .site-header__inner{
    display:grid;grid-template-columns:auto minmax(280px,1fr) max-content auto;
    grid-template-areas:"wordmark search nav actions";align-items:center;gap:10px;
  }
  body.zy-shell-v3 .header-primary-nav{grid-area:nav;display:flex;align-items:center;gap:2px;min-width:max-content}
  body.zy-shell-v3 .header-primary-nav__route--specialties,
  body.zy-shell-v3 .header-primary-nav__route--cities,
  body.zy-shell-v3 .header-primary-nav__route--blog{display:none}
  body.zy-shell-v3 .header-more-nav{display:block}
  body.zy-shell-v3 .header-primary-nav a,
  body.zy-shell-v3 .header-more-nav summary{padding-inline:6px}
}

@media(max-width:1019px){
  :root{--zy-shell-header:60px;--zy-shell-gutter:14px;--zy-shell-section:42px}
  body.zy-shell-v3 .site-header__inner{gap:6px}
  body.zy-shell-v3 .header-mobile-menu{width:40px;height:40px;min-width:40px;min-height:40px}
  body.zy-shell-v3 .header-mobile-actions .icon-button{width:40px;height:40px;min-width:40px;min-height:40px}
  body.zy-shell-v3 .market-section-head{align-items:start;flex-direction:column;gap:8px;margin-bottom:20px}
  body.zy-shell-v3 .market-text-link{min-height:36px}
}

@media(max-width:1019px){
  body.zy-shell-v3 .site-header__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand blank actions"}
  body.zy-shell-v3 .header-brand-cluster{grid-area:brand;display:flex;align-items:center;gap:5px}
  body.zy-shell-v3 .header-mobile-actions{grid-area:actions;display:flex;align-items:center;gap:3px}
  body.zy-shell-v3 .header-mobile-search{color:var(--zy-brand)}
  body.zy-shell-v3 .header-mobile-search .zy-icon{width:20px;height:20px}
  body.zy-shell-v3 .header-mobile-account{border-radius:6px!important}
}

@media(max-width:640px){
  :root{--zy-shell-h1:1.62rem;--zy-shell-h2:1.2rem;--zy-shell-copy:.88rem}
  body.zy-shell-v3 .container,
  body.zy-shell-v3 .zy-ui-container,
  body.zy-shell-v3 .container-narrow{width:calc(100% - 28px)}
  body.zy-shell-v3 .market-section{padding-block:36px}
  body.zy-shell-v3 .header-wordmark{font-size:1.03rem}
  body.zy-shell-v3 .market-dialog__panel{top:auto;right:0;bottom:0;left:0;width:100%;max-height:min(86dvh,720px);padding:14px 14px calc(16px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--zy-shell-line);border-radius:10px 10px 0 0;transform:translateY(18px)}
  body.zy-shell-v3 .market-dialog[aria-hidden="false"] .market-dialog__panel{transform:none}
  body.zy-shell-v3 .market-dialog__panel::before{content:"";display:block;width:34px;height:3px;margin:-5px auto 10px;border-radius:999px;background:color-mix(in srgb,var(--zy-muted) 34%,transparent)}
  body.zy-shell-v3 .header-route-search--dialog{display:grid;grid-template-columns:1fr;grid-template-areas:"city" "service" "submit";gap:0;padding:0;border:0;box-shadow:none;background:transparent}
  body.zy-shell-v3 .header-route-search--dialog:focus-within{border:0;box-shadow:none}
  body.zy-shell-v3 .header-route-search--dialog .header-route-search__field{min-height:52px;padding-inline:10px;border:1px solid var(--zy-shell-line);border-radius:6px;background:var(--zy-surface)}
  body.zy-shell-v3 .header-route-search--dialog .header-route-search__field--city{grid-area:city;margin-bottom:7px}
  body.zy-shell-v3 .header-route-search--dialog .header-route-search__field--service{grid-area:service;margin-bottom:9px}
  body.zy-shell-v3 .header-route-search--dialog .header-route-search__divider{display:none}
  body.zy-shell-v3 .header-route-search--dialog .header-route-search__submit{grid-area:submit;width:100%;min-height:48px;border-radius:6px}
  body.zy-shell-v3 .market-dialog__quick{display:grid;grid-template-columns:1fr 1fr;gap:2px}
  body.zy-shell-v3 .market-dialog__quick a{justify-content:center}

}

@media(prefers-reduced-motion:reduce){
  body.zy-shell-v3 *{scroll-behavior:auto}
}


/* Phase 6 — global provider acquisition band moved out of legacy provider slice. */
.provider-cta__visual{display:none}
.provider-cta{margin-top:36px;background:var(--zy-ink);color:var(--zy-bg)}
.provider-cta__inner{min-height:154px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px}
.provider-cta .market-eyebrow{color:color-mix(in srgb,var(--zy-bg) 68%,transparent)}
.provider-cta h2{margin:0 0 5px;color:var(--zy-bg);font-size:1.35rem}
.provider-cta p{margin:0;color:color-mix(in srgb,var(--zy-bg) 72%,transparent);font-size:.82rem}
@media(max-width:620px){.provider-cta__inner{min-height:0;padding:26px 0;grid-template-columns:1fr}.provider-cta h2{font-size:1.18rem}}
.provider-cta__copy{min-width:0}
body.zy-shell-v3 .provider-cta{background:var(--zy-hero);color:var(--zy-on-hero)}
body.zy-shell-v3 .provider-cta .market-eyebrow{color:var(--zy-on-hero-muted)}
body.zy-shell-v3 .provider-cta h2{color:var(--zy-on-hero)}
body.zy-shell-v3 .provider-cta p{color:var(--zy-on-hero-muted)}
body.zy-shell-v3 .provider-cta .button-light{background:var(--zy-on-hero);border-color:var(--zy-on-hero);color:var(--zy-hero)}
body.zy-shell-v3 .provider-cta .button-light:hover{background:#fff;border-color:#fff;color:var(--zy-hero)}


/* Phase 10 — restore the admired header treatment, only adding a quiet consult shortcut. */
body.zy-shell-v3 .header-brand-cluster{display:flex;align-items:center;gap:8px;min-width:0}
body.zy-shell-v3 .header-consult-shortcut{
  display:none;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:5px 10px;
  border:1px solid var(--zy-shell-line);
  border-radius:999px;
  background:transparent;
  color:var(--zy-brand-strong);
  font-size:.73rem;
  font-weight:760;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
body.zy-shell-v3 .header-consult-shortcut .zy-icon{width:15px;height:15px}
body.zy-shell-v3 .header-consult-shortcut:hover{background:var(--zy-brand-soft);border-color:color-mix(in srgb,var(--zy-brand) 28%,var(--zy-shell-line));}
@media(min-width:1020px){
  body.zy-shell-v3 .header-consult-shortcut{display:inline-flex}
}
@media(max-width:1019px){
  body.zy-shell-v3 .header-consult-shortcut{display:none!important}
}


/* Phase 12 — exact desktop header restore from the admired pre-shell geometry. */
@media(min-width:1020px){
  body.zy-shell-v3 .site-header{
    height:var(--zy-header);
    background:color-mix(in srgb,var(--zy-bg) 94%,transparent);
    border-bottom:1px solid var(--zy-line);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
  }
  body.zy-shell-v3 .site-header__inner{
    height:100%;
    display:grid;
    grid-template-columns:auto minmax(320px,620px) 1fr auto;
    grid-template-areas:"wordmark search nav actions";
    align-items:center;
    gap:18px;
  }
  body.zy-shell-v3 .header-brand-cluster{grid-area:wordmark;display:flex;align-items:center;gap:8px;min-width:max-content}
  body.zy-shell-v3 .header-wordmark{font-size:1.32rem;font-weight:850;letter-spacing:-.05em;white-space:nowrap}
  body.zy-shell-v3 .header-consult-shortcut{
    display:inline-flex!important;align-items:center;gap:5px;min-height:38px;padding:7px 11px;
    border:1px solid var(--zy-line-strong);border-radius:10px;background:var(--zy-surface);
    color:var(--zy-ink);font-size:.78rem;font-weight:720;line-height:1;text-decoration:none;white-space:nowrap;
  }
  body.zy-shell-v3 .header-consult-shortcut:hover{background:var(--zy-bg-soft);border-color:var(--zy-line-strong)}
  body.zy-shell-v3 .header-consult-shortcut .zy-icon{width:16px;height:16px;color:var(--zy-brand-strong)}
  body.zy-shell-v3 .header-route-search--desktop{grid-area:search;display:grid;min-width:0;width:100%;height:46px;min-height:46px;padding:3px;border:1px solid var(--zy-line-strong);border-radius:13px;background:var(--zy-surface);box-shadow:0 1px 3px rgba(6,9,17,.03)}
  body.zy-shell-v3 .header-route-search--desktop:focus-within{border-color:color-mix(in srgb,var(--zy-brand) 55%,var(--zy-line-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--zy-brand) 10%,transparent)}
  body.zy-shell-v3 .header-route-search__field{height:38px;min-height:38px;min-width:0;display:flex;align-items:center;gap:7px;padding:0 10px;border:0;border-radius:0;background:transparent}
  body.zy-shell-v3 .header-route-search__field:hover{background:transparent}
  body.zy-shell-v3 .header-route-search__field .zy-icon{font-size:1rem;color:var(--zy-muted)}
  body.zy-shell-v3 .header-route-search__divider{width:1px;height:24px;background:var(--zy-line)}
  body.zy-shell-v3 .header-route-search__submit{width:38px;height:38px;min-width:38px;min-height:38px;border:0;border-radius:10px;background:var(--zy-action-primary);color:var(--zy-action-primary-ink);box-shadow:none}
  body.zy-shell-v3 .header-primary-nav{grid-area:nav;display:flex;align-items:center;gap:2px;min-width:max-content}
  body.zy-shell-v3 .header-primary-nav a{min-height:auto;padding:8px 9px;border-radius:9px;color:var(--zy-muted);font-size:.82rem;font-weight:680}
  body.zy-shell-v3 .header-primary-nav a:hover,body.zy-shell-v3 .header-primary-nav a.is-active{background:var(--zy-bg-soft);color:var(--zy-ink)}
  body.zy-shell-v3 .header-primary-nav a.is-active::after{display:none}
  body.zy-shell-v3 .header-desktop-actions{grid-area:actions;display:flex;align-items:center;gap:7px;min-width:max-content}
  body.zy-shell-v3 .header-login-plain{min-height:auto;padding:8px;font-size:.84rem;font-weight:700;border-radius:9px}
  body.zy-shell-v3 .theme-toggle{width:40px;height:40px;border:0;background:transparent}
}


/* Phase 14 — Header search: one integrated control, never input boxes inside a box. */
@media(min-width:1020px){
  body.zy-shell-v3 .header-route-search--desktop{
    grid-template-columns:minmax(0,.82fr) 1px minmax(0,1.18fr) 38px;
    height:44px;
    min-height:44px;
    padding:2px;
    border:1px solid var(--zy-line-strong);
    border-radius:11px;
    background:var(--zy-surface);
    overflow:visible;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-route-search__field{
    height:38px;
    min-height:38px;
    padding-inline:9px;
    gap:6px;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-route-search__field>.zy-icon{
    width:16px;
    height:16px;
    flex:0 0 16px;
    color:var(--zy-muted);
  }
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select,
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select--inline{
    position:relative;
    display:block;
    flex:1 1 auto;
    min-width:0;
    height:100%;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox,
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox:hover,
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox:focus,
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox:focus-visible{
    display:block;
    width:100%;
    height:36px;
    min-height:36px;
    margin:0;
    padding:0 0 0 22px;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--zy-ink);
    font-size:.78rem;
    font-weight:600;
    line-height:36px;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox::placeholder{
    color:var(--zy-muted);
    opacity:.82;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__toggle{
    position:absolute;
    inset-inline-end:auto;
    inset-inline-start:-3px;
    top:50%;
    width:24px;
    height:24px;
    min-width:24px;
    min-height:24px;
    padding:0;
    border:0!important;
    border-radius:5px;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--zy-muted);
    transform:translateY(-50%);
  }
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__toggle:hover{
    background:var(--zy-shell-hover)!important;
    color:var(--zy-ink);
  }
  body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__toggle .zy-icon{
    width:15px;
    height:15px;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-route-search__divider{
    width:1px;
    height:22px;
    align-self:center;
    background:var(--zy-line);
  }
  body.zy-shell-v3 .header-route-search--desktop .header-route-search__submit{
    width:38px;
    height:38px;
    min-width:38px;
    min-height:38px;
    align-self:center;
    padding:0;
    border:0;
    border-radius:9px;
  }
  body.zy-shell-v3 .header-route-search--desktop .header-route-search__submit .zy-icon{
    width:18px;
    height:18px;
  }
}


/* Phase 15 — remove dropdown chevrons from route search entirely. */
body.zy-shell-v3 .header-searchable-select__toggle{
  display:none!important;
}
body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox,
body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox:hover,
body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox:focus,
body.zy-shell-v3 .header-route-search--desktop .header-searchable-select__combobox:focus-visible{
  padding-inline:0!important;
}
