/* 2026-07-20 A.E.G.I.S. laptop-density repair.
   Scope: laptop/tablet CSS viewports created by Windows display scaling.
   Does not affect phones (<=760px) or full desktop (>1180px). */
@media (min-width:761px) and (max-width:1180px){
  :root{
    --swapthing-header-width:1080px;
    --swapthing-header-gutter:18px;
    --swapthing-content-width:calc(var(--swapthing-header-width) - (var(--swapthing-header-gutter) * 2));
  }

  html{
    font-size:14px;
  }

  body .site-header .site-header-inner{
    min-height:64px!important;
    padding:.42rem clamp(.9rem,2.4vw,1.4rem)!important;
    gap:.72rem!important;
  }

  body .site-header .brand{
    grid-template-columns:46px minmax(0,auto)!important;
    column-gap:.55rem!important;
  }

  body .site-header .brand-logo{
    width:42px!important;
    height:42px!important;
  }

  body .site-header .brand-name{
    font-size:1.08rem!important;
  }

  body .site-header .brand-tagline{
    font-size:.66rem!important;
  }

  body main.site-main{
    padding:1.05rem 0 1.6rem!important;
  }

  body main.site-main > .container,
  body main.site-main > .container.browse-page,
  body main.site-main .container.browse-page{
    width:min(1044px,calc(100vw - 36px))!important;
    max-width:min(1044px,calc(100vw - 36px))!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body main.site-main .container.browse-page .browse-page-header-section{
    margin-bottom:.75rem!important;
  }

  body main.site-main .container.browse-page .browse-secondary-header{
    padding:.32rem 0 .55rem!important;
  }

  body main.site-main .container.browse-page .browse-header-row{
    gap:.7rem!important;
    margin:.15rem 0 .65rem!important;
  }

  body main.site-main .container.browse-page .browse-page-title{
    font-size:clamp(2rem,4.6vw,3.05rem)!important;
    line-height:.94!important;
    letter-spacing:-.055em!important;
  }

  body main.site-main .container.browse-page .browse-page-subtitle{
    font-size:.92rem!important;
    line-height:1.24!important;
  }

  body main.site-main .container.browse-page .browse-after-hero-action{
    min-height:2.55rem!important;
    margin:.1rem 0 .55rem!important;
  }

  body main.site-main .container.browse-page .browse-after-hero-action .browse-hero-add-listing,
  body main.site-main :where(.primary-btn,.secondary-btn,.button,.small-btn,.browse-submit-btn,.browse-search-toggle){
    min-height:2.55rem!important;
    padding:.58rem .88rem!important;
    font-size:.9rem!important;
  }

  body main.site-main .container.browse-page #listing-grid.listing-layout-cards,
  body main.site-main .container.browse-page .listing-grid.listing-layout-cards{
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
    gap:14px!important;
  }

  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card{
    border-radius:18px!important;
  }

  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-image-wrap,
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-image-link{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-img{
    min-height:0!important;
    height:100%!important;
  }

  body main.site-main .container.browse-page #listing-grid .listing-body{
    padding:.78rem!important;
    gap:.42rem!important;
  }

  body main.site-main .container.browse-page #listing-grid .listing-title,
  body main.site-main .container.browse-page #listing-grid .listing-title a{
    font-size:1rem!important;
    line-height:1.12!important;
  }

  body main.site-main .container.browse-page #listing-grid .listing-desc,
  body main.site-main .container.browse-page #listing-grid .listing-location-text,
  body main.site-main .container.browse-page #listing-grid .listing-card p{
    font-size:.86rem!important;
    line-height:1.25!important;
  }

  body main.site-main .container.browse-page .image-type-pill,
  body main.site-main .container.browse-page .image-rating-pill,
  body main.site-main .container.browse-page .image-location-pill,
  body main.site-main .container.browse-page .type-pill{
    font-size:.72rem!important;
    padding:.26rem .46rem!important;
  }
}

/* Laptops with high Windows display scaling can report an 800-899px CSS viewport.
   Keep page-change motion available there; phones remain excluded. */
@media (min-width:761px) and (prefers-reduced-motion:no-preference){
  html.st-page-entering :is(.site-header,.site-footer,.brand,.header-actions,.nav,.footer-counts,main.site-main > :not(section):not(.compact-card):not(.detail-shell):not(.related-section)){
    animation:st-page-morph-nonsection-in 150ms cubic-bezier(.22,.75,.24,1) both;
    transform-origin:center center;
  }

  html.st-page-exiting :is(.site-header,.site-footer,.brand,.header-actions,.nav,.footer-counts,main.site-main > :not(section):not(.compact-card):not(.detail-shell):not(.related-section)){
    animation:st-page-morph-nonsection-out 120ms cubic-bezier(.16,.84,.24,1) both;
    transform-origin:center center;
  }

  html.st-page-entering main.site-main :is(section,.compact-card,.detail-shell,.detail-panel,.related-section,.dashboard-tab-panel,.ops-card,.listing-card,.member-listing-card,.public-profile-card,.public-listing-summary,.wishlist-listing-card){
    animation:st-section-slide-in-center 360ms cubic-bezier(.18,.84,.22,1) both;
    transform-origin:center center;
    will-change:transform,opacity,filter;
  }

  html.st-page-exiting main.site-main :is(section,.compact-card,.detail-shell,.detail-panel,.related-section,.dashboard-tab-panel,.ops-card,.listing-card,.member-listing-card,.public-profile-card,.public-listing-summary,.wishlist-listing-card){
    animation:st-section-slide-out-center 260ms cubic-bezier(.16,.84,.24,1) both!important;
    transform-origin:center center;
    will-change:transform,opacity,filter;
  }
}
