/* Karevu 17.6.44 — desktop-only final layout ownership. */
@media (min-width:1101px) {
  .siteHeader .headerInner { direction:ltr; grid-template-areas:"brand nav actions"; }
  .siteHeader .brand { direction:ltr; justify-self:start; }
  .siteHeader .mainNav { direction:ltr; }
  .siteHeader .headerActions { direction:ltr; justify-self:end; }
  .siteHeader .menuButton { display:none; }
  .homeHeroInner { align-items:center; }
  .serviceTileCopy { min-height:74px; }
  .serviceTile > a, .serviceTileAction { width:148px; min-width:148px; height:42px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; justify-self:center; box-sizing:border-box; white-space:nowrap; }
  .magazineArticleLayout { align-items:start; }
  .articleReadingBody { max-width:860px; margin-inline:auto; }
}


/* 0.7.2 — desktop ownership for location-first search. */
@media (min-width:1101px) {
  .locationFirstSearchPanel { min-height:60px; }
  .locationFirstSearchPanel .locationFirstSearchCopy { flex-direction:row; align-items:center; gap:6px 9px; }
  .locationFirstSearchPanel .locationFirstSearchCopy small { display:none; }
  .locationFirstSearchPanel .nearbySearchControl.isPrimary { min-width:350px; justify-content:flex-end; }
  .manualLocationFields { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .locationFirstHeroSearch { margin-top:2px; }
  .heroLocationPrimary .nearbySearchControl.isPrimary { min-width:330px; justify-content:flex-end; }
  .locationFirstHeroSearch .manualLocationFields { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .locationFirstHeroSearch .heroSearchOptions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .manualLocationFilters>summary small { display:none; }
  .caregiverDirectoryFilters .directoryFilterGrid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .veterinaryDirectoryFilters .veterinaryServiceField,
  .veterinaryDirectoryFilters .veterinaryQuickFilters { grid-column:span 1; }
  .veterinaryDirectoryFilters .veterinaryQuickFilters>div { gap:6px 12px; }
}
@media (min-width:1101px) {
  .locationFirstHomeHero { padding-bottom:18px; }
}

/* 0.9.4 — desktop header collision repair.
   The navigation owns only its grid track and the shell can use the real desktop width,
   so the last links can never slide underneath cart/notification/account actions. */
@media (min-width:1101px) {
  .siteHeader .headerInner {
    width:min(1480px,calc(100% - 32px));
    max-width:none;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    column-gap:clamp(10px,1.2vw,24px);
  }
  .siteHeader .mainNav {
    width:100%;
    min-width:0;
    justify-self:stretch;
    justify-content:center;
    gap:clamp(0px,.16vw,3px);
    position:relative;
    z-index:1;
  }
  .siteHeader .mainNav a {
    flex:0 1 auto;
    padding-inline:clamp(5px,.48vw,9px);
    font-size:clamp(10px,.72vw,12px);
  }
  .siteHeader .brand,
  .siteHeader .headerActions {
    position:relative;
    z-index:2;
  }
  .siteHeader .headerActions {
    flex:none;
  }
}

@media (min-width:1101px) and (max-width:1280px) {
  .siteHeader .brand {
    min-width:190px;
  }
  .siteHeader .brandText small {
    display:none;
  }
  .siteHeader .mainNav a {
    padding-inline:5px;
    font-size:10px;
  }
  .siteHeader .accountButton {
    max-width:155px;
  }
}

/* 0.9.5 — desktop final ownership for every frontend page family.
   This file is imported after shop.css, so route-specific styles cannot take geometry back. */
@media (min-width:1101px) {
  html, body { max-width:100%; overflow-x:clip; }
  main { min-width:0; }

  .profileGrid { grid-template-columns:minmax(0,1fr) minmax(330px,370px); }
  .profileMain, .bookingBox, .accountMain, .dashboardCard,
  .shopCartItems, .shopCheckoutMain, .shopSellerMain, .shopProductInfo { min-width:0; }

  .directoryFilterGrid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .cardsGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pricingGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }

  .filterActions, .directoryFilterToolbar, .locationFirstToolbar,
  .dashboardHead, .shopCatalogToolbar, .shopProductsToolbar,
  .shopDashboardSectionHead, .shopFlowHead { flex-wrap:wrap; }

  .accountLayout { grid-template-columns:minmax(220px,240px) minmax(0,1fr); }
  .shopCartLayout { grid-template-columns:minmax(0,1fr) 340px; }
  .shopCheckoutLayout { grid-template-columns:minmax(0,1fr) 360px; }
  .shopCheckoutSummary { min-width:0; }
  .shopSellerLayout { min-width:0; }
  .accountSidebar { min-width:0; }
  .accountNav a { min-width:0; }

  .accountMain, .vetWorkspacePage, .shopSellerWorkspace { max-width:100%; min-width:0; }

  .shopEmptyCartIcon {
    width:64px; height:64px; margin-inline:auto; border-radius:20px;
    display:grid; place-items:center; background:var(--primary-soft); color:var(--primary);
  }
  .shopEmptyCartIcon .uiIcon { width:30px; height:30px; }
}


/* 0.9.8 — desktop glass header + commerce storefront ownership. */
@media (min-width:1101px) {
  .siteHeader .headerInner { background:linear-gradient(135deg,rgba(255,255,255,.80),rgba(245,251,249,.64)); -webkit-backdrop-filter:blur(22px) saturate(175%); backdrop-filter:blur(22px) saturate(175%); }
  .shopCommerceHeroGrid { grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); }
  .shopCatalogLayout { grid-template-columns:250px minmax(0,1fr); }
  .shopCatalogLayout .shopProductGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .shopFilterSidebar { display:block; }
  .shopFilterToggle,.shopFilterDrawer { display:none; }
}

/* 0.9.9 — desktop high-detail storefront composition. */
@media (min-width:1101px) {
  .shopStorefrontV099 .shopV099UtilityBar { grid-template-columns:max-content minmax(360px,560px) max-content; }
  .shopStorefrontV099 .shopV099HeroStage { height:430px; }
  .shopStorefrontV099 .shopV099CategoryDock { grid-template-columns:repeat(auto-fit,minmax(112px,1fr)); }
  .shopStorefrontV099 .shopV099FeatureLayout { grid-template-columns:230px minmax(0,1fr); }
  .shopStorefrontV099 .shopV099ProductShelf { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .shopStorefrontV099 .shopV099CatalogLayout { grid-template-columns:270px minmax(0,1fr); }
  .shopStorefrontV099 .shopV099ProductGrid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .shopStorefrontV099 .shopV099FilterSidebar { display:block; }
  .shopProductPageV099 .shopV099ProductDetailGrid { grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); }
}


/* 0.9.12 — desktop lower-storefront ownership. */
@media (min-width:1101px) {
  .shopStorefrontV099 .shopV0912FeatureLayout { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:16px; }
  .shopStorefrontV099 .shopV0912DealRail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shopStorefrontV099 .shopV0912ProductShelf { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .shopStorefrontV099 .shopV0912BrandRail { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .shopStorefrontV099 .shopV099ProductGrid.sparse { grid-template-columns:repeat(auto-fit,minmax(220px,280px)); justify-content:start; }
  .shopStorefrontV099 .shopV0912StoryRail { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* 0.9.27 — desktop product gallery scroll behavior without duplicating base geometry. */
@media (min-width:1101px){
  .shopProductPageV099 .shopV099ProductThumbs{overscroll-behavior-inline:contain;}
}

/* Karevu Canada 0.10.28 — desktop visual-detail ownership. */
@media (min-width:1101px) {
  html[dir="ltr"] .subAccountActions>a,
  html[dir="ltr"] .subAccountActions>button { min-height:42px; }
  html[dir="ltr"] .petRecordHeroActions>a,
  html[dir="ltr"] .petRecordHeroActions>button { min-height:42px; }
  html[dir="ltr"] .shopSellerLayout { grid-template-columns:250px minmax(0,1fr); }
  html[dir="ltr"] .shopSellerSidebar { top:88px; }
}

/* Karevu Canada 0.10.38 — the navigation is centered against the header itself,
   not against the uneven space left between the brand and account actions. */
@media (min-width:1101px) {
  .siteHeader .headerInner {
    grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);
  }
  .siteHeader .mainNav {
    width:max-content;
    max-width:100%;
    justify-self:center;
    justify-content:center;
  }
  .siteHeader .brand { justify-self:start; }
  .siteHeader .headerActions { justify-self:end; }
}
