/* Presentation only. No rules apply above 650px; published records are never changed. */
.mobile-catalog-topbar,.usc-mobile-duration{display:none}
@media(max-width:650px){
  /* Keep the existing brand, real service-area entry and working search. */
  body:has(#main.usc-mobile-catalog) .site-header .header-inner{display:flex;flex-wrap:wrap;gap:10px;padding-block:12px;width:calc(100% - 28px)}
  body:has(#main.usc-mobile-catalog) .site-header .header-inner>.brand{display:flex;order:0;flex:0 1 42%;min-width:0}
  body:has(#main.usc-mobile-catalog) .brand-logo{max-width:min(var(--usc-mobile-logo-width,118px),100%);max-height:40px}
  body:has(#main.usc-mobile-catalog) .mobile-service-area{order:1;flex:1;width:auto;min-width:0;font-size:11px;gap:5px;justify-content:flex-end}
  body:has(#main.usc-mobile-catalog) .mobile-service-area small{font-size:10px!important;line-height:1.4}
  body:has(#main.usc-mobile-catalog) .mobile-service-area>span:first-child{font-size:18px}
  body:has(#main.usc-mobile-catalog) .site-header .header-search{order:3;flex-basis:100%;border-radius:12px;background:#f4f6f4;min-height:44px}
  body:has(#main.usc-mobile-catalog) .site-header .header-search input{padding:12px;font-size:14px}
  body:has(#main.usc-mobile-catalog) .mobile-catalog-topbar{display:flex;order:-1;flex-basis:100%;gap:10px;align-items:center;min-width:0;border-bottom:1px solid var(--line);padding-bottom:8px}
  .mobile-catalog-topbar strong{flex:1;min-width:0;font-size:16px;line-height:1.35;overflow-wrap:anywhere}
  .mobile-catalog-topbar a{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--deep);font-size:24px;border-radius:10px}
  body:has(#main.usc-mobile-catalog):has(.mobile-catalog-topbar) .site-header .header-inner>.brand,body:has(#main.usc-mobile-catalog):has(.mobile-catalog-topbar) .mobile-service-area{display:none}
  /* Existing animated slides, media, destinations and timing are reused. */
  #main.usc-mobile-catalog .homepage-slider{width:calc(100% - 28px);margin:6px auto 0;border-radius:14px;overflow:hidden}
  #main.usc-mobile-catalog .homepage-slide{position:relative;display:block;min-height:300px;background:#173d39}
  #main.usc-mobile-catalog .homepage-slide[hidden]{display:none}
  #main.usc-mobile-catalog .homepage-slide-image{position:absolute;inset:0;min-height:0;height:100%}
  #main.usc-mobile-catalog .homepage-slide-image img{inset:0;width:100%;height:100%;object-fit:contain}
  #main.usc-mobile-catalog .homepage-slide-copy{position:relative;z-index:1;padding:24px 20px;min-height:300px;background:linear-gradient(90deg,#0e2829e6, #0e282970 65%,transparent);color:#fff}
  #main.usc-mobile-catalog .homepage-slide-copy h1{font-size:min(var(--usc-hero-mobile-size,28px),28px)!important;line-height:1.15!important;max-width:82%;margin:16px 0;color:#fff}
  #main.usc-mobile-catalog .homepage-slide-copy p{max-width:78%;font-size:14px!important;line-height:1.5!important;color:#fff;margin:10px 0 18px}
  #main.usc-mobile-catalog .homepage-slide-copy .eyebrow{color:#fff;font-size:9px!important}
  #main.usc-mobile-catalog .homepage-slider-controls{height:36px}
  #main.usc-mobile-catalog .hero{margin-top:8px;min-height:0;grid-template-columns:1fr;overflow:hidden}
  #main.usc-mobile-catalog .hero-content{padding:24px 20px}
  #main.usc-mobile-catalog .hero-content h1{font-size:28px!important;line-height:1.2!important;margin:16px 0}
  #main.usc-mobile-catalog .hero-content>p{font-size:14px!important;line-height:1.5!important}
  #main.usc-mobile-catalog .hero-art{min-height:180px}
  #main.usc-mobile-catalog .hero-art .house-art{height:180px}
  #main.usc-mobile-catalog .categories-section{padding-block:20px 24px}
  #main.usc-mobile-catalog .section:not(.categories-section){padding-block:30px}
  #main.usc-mobile-catalog .section .section-heading-row h2{font-size:24px!important;line-height:1.3!important}
  #main.usc-mobile-catalog .section .service-card{min-height:0;padding:16px}
  #main.usc-mobile-catalog .section .service-card h3{font-size:17px!important;line-height:1.3!important}
  #main.usc-mobile-catalog .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px}
  /* Reuse the existing outer card and square image box across the three mobile grids. */
  #main.usc-mobile-catalog :is(.categories-section,.catalog-subcategory-grid) .homepage-category-link,#main.usc-mobile-catalog .usc-discovery-nav a{padding:8px 8px 10px;gap:8px;border:1px solid #e2ebe5;background:#fff;border-radius:16px;min-height:0;box-sizing:border-box;box-shadow:none}
  #main.usc-mobile-catalog .homepage-category-image-card{aspect-ratio:1;border-radius:12px;background:#fff;border:1px solid #e8ece4}
  #main.usc-mobile-catalog .category-art-image{object-fit:contain}
  body #main.usc-mobile-catalog :is(.categories-section,.catalog-subcategory-grid) .homepage-category-link .category-copy strong:not([style*="font-size"]){font-size:13px!important;line-height:1.4;display:block;color:#365650;font-weight:400}
  #main.usc-mobile-catalog .catalog-listing{padding-top:24px;padding-bottom:24px}
  #main.usc-mobile-catalog .section-heading-row{margin:12px 0;gap:8px}
  /* Hero text remains readable, uses current families/colors; geometry stays mobile-only. */
  #main.usc-mobile-catalog .catalog-category-intro .breadcrumbs{padding:14px 16px 0;font-size:10px;line-height:1.6}
  #main.usc-mobile-catalog .catalog-category-intro .catalog-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,38%);gap:8px;height:auto;min-height:0;padding:10px 12px 14px}
  #main.usc-mobile-catalog .catalog-category-intro .catalog-intro-grid>div:first-child{padding:8px 4px;max-height:none;overflow:visible}
  #main.usc-mobile-catalog .catalog-category-intro .catalog-intro-art{width:100%;max-width:170px;aspect-ratio:1;height:auto;border-width:3px;border-radius:12px}
  #main.usc-mobile-catalog .catalog-category-intro :is(h1,h2).category-hero-title,#main.usc-mobile-catalog .catalog-category-intro .catalog-content-page-title{font-size:24px!important;line-height:1.2!important;letter-spacing:-.025em!important;margin:8px 0}
  #main.usc-mobile-catalog .catalog-category-intro p{font-size:13px!important;line-height:1.5!important;margin:8px 0}
  #main.usc-mobile-catalog .catalog-category-intro .eyebrow{font-size:8px!important;letter-spacing:.12em!important}
  #main.usc-mobile-catalog .catalog-category-intro [data-category-title-part]{display:inline}
  #main.usc-mobile-catalog .catalog-category-intro [data-category-title-separator]{display:inline}
  /* Existing sidebar becomes a compact three-column chooser, not another navigation system. */
  #main.usc-mobile-catalog .usc-discovery.shell{width:calc(100% - 24px);padding-top:8px}
  #main.usc-mobile-catalog .usc-discovery-grid{gap:14px}
  #main.usc-mobile-catalog .usc-discovery-sidebar{position:static;padding:12px;border-radius:12px}
  #main.usc-mobile-catalog .usc-discovery-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px;overflow:visible}
  #main.usc-mobile-catalog .usc-discovery-nav a{font-size:12px;min-width:0;color:#365650;font-weight:400}
  #main.usc-mobile-catalog .usc-discovery-nav a[aria-current=true]{border-color:#21856b;background:#f1f8f3;color:#133d39;font-weight:700}
  #main.usc-mobile-catalog .usc-discovery-nav-image{width:100%;aspect-ratio:1;border-radius:12px}
  #main.usc-mobile-catalog .usc-discovery-section{scroll-margin-top:16px;margin-bottom:24px}
  #main.usc-mobile-catalog .usc-discovery-banner{height:clamp(160px,52vw,240px)}
  #main.usc-mobile-catalog .usc-discovery-list-heading{padding:12px 2px 8px}
  #main.usc-mobile-catalog :is(.usc-discovery-list-heading,.section-heading-row) :is(h2,h3){font-size:21px!important;line-height:1.3!important}
  #main.usc-mobile-catalog .usc-discovery-card{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px;border-radius:14px}
  #main.usc-mobile-catalog .usc-discovery-image{grid-row:1 / 3;align-self:start}
  #main.usc-mobile-catalog .usc-discovery-copy h3{font-size:16px!important;line-height:1.3!important;margin:0 0 6px}
  #main.usc-mobile-catalog .usc-discovery-copy p{font-size:12px!important;line-height:1.5!important}
  #main.usc-mobile-catalog .usc-discovery-row-actions{grid-column:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
  #main.usc-mobile-catalog .usc-discovery-row-actions .usc-price-hint{font-size:16px!important;white-space:normal;flex-basis:100%}
  #main.usc-mobile-catalog .usc-mobile-duration{display:block;flex-basis:100%;font-size:11px!important}
  #main.usc-mobile-catalog .usc-discovery-row-actions .usc-action{padding:10px 12px;min-height:44px;font-size:12px!important}
  #main.usc-mobile-catalog .usc-discovery-summary h2{font-size:21px!important}
  #main.usc-mobile-catalog .usc-discovery-summary p{font-size:13px!important}
  /* Preserve gallery controls, area form and existing booking URL. */
  #main.usc-mobile-catalog>.service-gallery{padding-top:8px;padding-bottom:8px}
  #main.usc-mobile-catalog .service-gallery-stage{border-radius:12px}
  #main.usc-mobile-catalog .service-gallery-thumbnails>a{flex-basis:70px;min-height:70px}
  #main.usc-mobile-catalog .service-intro{margin-top:0;padding:14px 16px;border-radius:12px}
  #main.usc-mobile-catalog .service-intro .catalog-intro-grid{gap:12px}
  #main.usc-mobile-catalog .service-intro #service-title{font-size:24px!important;line-height:1.25!important;margin:10px 0}
  #main.usc-mobile-catalog .service-intro .breadcrumbs{font-size:10px;margin-bottom:12px}
  #main.usc-mobile-catalog .service-detail{padding-top:20px;gap:20px;padding-bottom:90px}
  #main.usc-mobile-catalog .service-detail-main .service-content-section>h2,#main.usc-mobile-catalog #price-title{font-size:21px!important;line-height:1.3!important}
  #main.usc-mobile-catalog .price-panel{padding:16px;border-radius:14px}
  #main.usc-mobile-catalog .price-panel .booking-link{position:fixed;z-index:35;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:14px;right:14px;width:auto;box-sizing:border-box;min-height:48px;border-radius:12px;box-shadow:0 -4px 18px #133d391a}
  #main.usc-mobile-catalog .service-rich-content{font-size:14px}
  #main.usc-mobile-catalog .service-rich-content img{max-width:100%;height:auto}
  /* Modal lives outside main; scope explicitly to the existing native dialog. */
  body:has(#main.usc-mobile-catalog) .usc-service-dialog .usc-configurator-content>h2{font-size:23px!important;line-height:1.3!important}
  body:has(#main.usc-mobile-catalog) .usc-service-dialog .usc-options-form h2{font-size:21px!important}
}
