/* LUNEVE mobile commerce v40. Presentation only: keep products, options,
   approved catalog data, and the existing fitting/checkout controls intact. */
.mobile-search-slot,
#mobileFilterOpenBtn,
.mobile-bottom-nav #mobileLookNavBtn,
.mobile-bottom-nav #mobileSetsNavBtn,
.mobile-bottom-nav #mobileAccountNav { display:none; }
#mobileFilterDialog:not([open]) { display:none; }

@media (max-width:760px) {
  body:not(.admin-workspace) {
    --header-h:56px;
    --mobile-nav-height:64px;
    --catalog-ratio:4 / 5;
    --catalog-inset:7%;
    padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom));
    background:#f4f1ea;
  }

  /* Keep the complete preview disclosure readable; it is not an ad strip. */
  body:not(.admin-workspace) > aside[role="status"]:first-child {
    padding:9px 14px !important;
    font-size:12px !important;
    line-height:1.6 !important;
    overflow-wrap:anywhere;
  }
  body:not(.admin-workspace) > .announcement { display:none; }
  body:not(.admin-workspace) .site-header {
    height:56px;
    min-height:56px;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:5px;
    padding:0 12px;
    background:rgba(244,241,234,.98);
    border-bottom:0;
    box-shadow:none;
  }
  body:not(.admin-workspace) .site-header > div:first-child { min-width:0; }
  body:not(.admin-workspace) .site-header .logo {
    font-size:23px;
    letter-spacing:.13em;
    justify-self:start;
    margin-left:3px;
  }
  body:not(.admin-workspace) .site-header .icon-btn {
    min-height:44px;
    width:44px;
    padding:10px;
  }
  body:not(.admin-workspace) .header-actions { gap:0; min-width:0; }
  body:not(.admin-workspace) .header-actions #customerAccountLink,
  body:not(.admin-workspace) .header-actions #ordersOpenBtn { display:none; }
  body:not(.admin-workspace) #cartOpenBtn { position:relative; }
  body:not(.admin-workspace) #cartCount {
    position:absolute;
    top:4px;
    right:0;
    margin:0;
    min-width:17px;
    height:17px;
    padding:0 4px;
    font-size:10px;
    font-variant-numeric:tabular-nums;
  }

  body:not(.admin-workspace).mobile-commerce-ready .mobile-search-slot {
    display:block;
    padding:4px 16px 10px;
    background:var(--bg);
  }
  body:not(.admin-workspace) .mobile-search-slot .search-box {
    display:block;
    width:100%;
    min-width:0;
  }
  body:not(.admin-workspace) .mobile-search-slot .search-box input {
    height:44px;
    border-radius:8px;
    padding:0 42px 0 14px;
    background:#fffdf8;
    border:1px solid #dedad3;
    color:var(--ink);
    font-size:16px;
    line-height:1.4;
  }
  body:not(.admin-workspace) .mobile-search-slot .search-box input::placeholder { color:#77716a; }
  body:not(.admin-workspace) .mobile-search-slot .search-box input:focus { border-color:#171717; }
  body:not(.admin-workspace) .experience-nav {
    top:56px;
    min-height:44px;
    padding:0 12px;
    gap:0;
    justify-content:flex-start;
    background:rgba(244,241,234,.98);
    overflow-x:auto;
    scrollbar-width:none;
    border-bottom:1px solid #dcd7ce;
  }
  body:not(.admin-workspace) .experience-nav::-webkit-scrollbar { display:none; }
  body:not(.admin-workspace) .experience-tab {
    display:inline-flex;
    flex:0 0 auto;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:0 11px;
    font-size:13px;
    letter-spacing:-.025em;
    border:0;
    border-bottom:2px solid transparent;
    border-radius:0;
    white-space:nowrap;
    background:transparent;
    color:#68635c;
  }
  body:not(.admin-workspace) .experience-tab.active,
  body:not(.admin-workspace) .experience-tab[aria-current="page"] {
    border-bottom-color:#171717;
    color:#171717;
    font-weight:750;
    background:transparent;
  }

  /* Product-first editorial banner, rather than a full-screen splash. */
  body:not(.admin-workspace)[data-view-mode="model"] .hero {
    grid-template-columns:minmax(0,1fr) 112px;
    min-height:96px;
    max-height:108px;
    margin:12px 16px 0;
    border:1px solid #e0dbd1;
    border-radius:10px;
    background:#eae6dc;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-copy {
    min-height:0;
    padding:16px 10px 16px 16px;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero h1 {
    max-width:240px;
    font-size:clamp(23px,6.2vw,30px);
    line-height:.96;
    letter-spacing:-.035em;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero h1 span { padding-left:.3em; }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-desc {
    display:none;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero .eyebrow,
  body:not(.admin-workspace)[data-view-mode="model"] .hero-actions,
  body:not(.admin-workspace)[data-view-mode="model"] .hero-look-meta,
  body:not(.admin-workspace)[data-view-mode="model"] .hero-mode-label { display:none; }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-visual {
    min-height:0;
    background:transparent;
    padding:9px 9px 9px 0;
    display:flex;
    align-items:center;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-visual::before { display:none; }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-showcase {
    position:relative;
    inset:auto;
    width:100%;
    height:84px;
    transform:none;
    padding:0;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-showcase-frame {
    width:100%;
    height:84px;
    min-height:0;
    border:0;
    border-radius:7px;
    background:#fff;
    box-shadow:none;
  }
  body:not(.admin-workspace)[data-view-mode="model"] .hero-showcase-frame img {
    object-fit:contain;
    padding:8%;
    mix-blend-mode:normal;
  }

  body:not(.admin-workspace) #shopSection {
    min-width:0;
    padding:16px 16px 28px;
    scroll-margin-top:116px;
  }
  body:not(.admin-workspace) #shopSection > .section-head {
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
  }
  body:not(.admin-workspace) #shopSection > .section-head > div:first-child { min-width:0; }
  body:not(.admin-workspace) #shopSection .section-title {
    font-family:inherit;
    font-size:23px;
    line-height:1.3;
    letter-spacing:-.055em;
    font-weight:720;
  }
  body:not(.admin-workspace) #shopSection .view-copy { font-size:12px; line-height:1.65; margin:5px 0 0; }
  body:not(.admin-workspace) #shopSection > .section-head .section-meta { flex:0 0 auto; font-size:12px; white-space:nowrap; }
  body:not(.admin-workspace) .brand-directory { margin:0 0 12px; padding:8px 0 6px; }
  body:not(.admin-workspace) .brand-directory-head { gap:10px; margin-bottom:4px; }
  body:not(.admin-workspace) .brand-directory-head h3 { font-size:14px; }
  body:not(.admin-workspace) .brand-directory-head h3 span { font-size:10px; margin-left:5px; }
  body:not(.admin-workspace) .brand-directory-head .chip { min-height:44px; padding:0 12px; font-size:12px; }
  body:not(.admin-workspace) .brand-list {
    display:flex;
    overflow-x:auto;
    max-width:100%;
    gap:8px;
    padding:2px 3px 4px;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  body:not(.admin-workspace) .brand-list::-webkit-scrollbar { display:none; }
  body:not(.admin-workspace) .brand-slot {
    flex:0 0 72px;
    min-width:0;
    min-height:72px;
    padding:6px 5px 5px;
    gap:3px;
    border-radius:8px;
    scroll-snap-align:start;
  }
  body:not(.admin-workspace) .brand-logo { height:26px; padding:0 3px; }
  body:not(.admin-workspace) .brand-logo > span { font-size:24px; }
  body:not(.admin-workspace) .brand-slot strong { font-size:11px; line-height:1.4; }
  body:not(.admin-workspace) .brand-slot-status { font-size:10px; line-height:1.4; }
  body:not(.admin-workspace) .brand-directory-note { font-size:11px; line-height:1.65; margin:4px 0 0; }
  body:not(.admin-workspace) .brand-selection { margin-top:10px; padding-top:10px; gap:5px 10px; }
  body:not(.admin-workspace) .brand-selection strong { font-size:16px; }
  body:not(.admin-workspace) .brand-selection > span { font-size:12px; }
  body:not(.admin-workspace) .brand-selection button { margin-left:0; font-size:12px; }
  body:not(.admin-workspace) .brand-public-info { padding-top:14px; margin-top:12px; gap:8px; }
  body:not(.admin-workspace) .brand-public-info h3 { font-size:19px; }
  body:not(.admin-workspace) .brand-public-info p { font-size:12px; line-height:1.7; }

  body:not(.admin-workspace) .shop-toolbar {
    grid-template-columns:minmax(0,1fr);
    width:100%;
    gap:12px;
    margin-bottom:15px;
  }
  body:not(.admin-workspace) #categoryChips {
    min-width:0;
    max-width:100%;
    gap:6px;
    padding:2px 1px 4px;
    scroll-snap-type:x proximity;
  }
  body:not(.admin-workspace) #categoryChips .chip {
    min-height:44px;
    padding:0 15px;
    border-radius:7px;
    font-size:13px;
    scroll-snap-align:start;
  }
  body:not(.admin-workspace) .toolbar-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    min-width:0;
    gap:8px;
    align-items:center;
  }
  body:not(.admin-workspace) .toolbar-actions #sortSelect {
    grid-column:1;
    grid-row:auto;
    min-width:0;
    width:100%;
    min-height:44px;
    font-size:14px;
    padding:0 34px 0 12px;
    border-radius:7px;
    background:#fffdf8;
  }
  body:not(.admin-workspace).mobile-commerce-ready #mobileFilterOpenBtn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    grid-column:2;
    grid-row:auto;
    min-height:44px;
    padding:0 15px;
    gap:7px;
    border:1px solid #d6d0c5;
    border-radius:7px;
    background:#fffdf8;
    font-size:13px;
    font-weight:650;
    cursor:pointer;
  }
  body:not(.admin-workspace).mobile-commerce-ready .toolbar-actions #toggleFiltersBtn { display:none; }
  body:not(.admin-workspace) .active-shop-conditions { gap:8px; margin-bottom:16px; align-items:flex-start; }
  body:not(.admin-workspace) .active-shop-conditions > div { gap:5px; }
  body:not(.admin-workspace) .active-shop-conditions span:not(.sr-only) { padding:6px 9px; font-size:11px; }
  body:not(.admin-workspace) .active-shop-conditions button { min-height:44px; font-size:12px; }

  body:not(.admin-workspace) #productGrid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:23px 10px;
  }
  body:not(.admin-workspace) .product-card { min-width:0; }
  body:not(.admin-workspace) .product-media {
    aspect-ratio:4 / 5;
    border-radius:8px;
    border:1px solid #e6e2da;
    background:#fff;
  }
  body:not(.admin-workspace) .product-media > img.base-image {
    width:100%;
    height:100%;
    padding:7%;
    object-fit:contain;
    object-position:center;
  }
  body:not(.admin-workspace) .product-card:hover .base-image { transform:none; }
  body:not(.admin-workspace) .product-info { padding:10px 1px 0; }
  body:not(.admin-workspace) .product-brand { margin:0 0 4px; font-size:11px; line-height:1.4; color:#68635c; }
  body:not(.admin-workspace) .product-topline { display:block; }
  body:not(.admin-workspace) .product-name {
    min-width:0;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    white-space:normal;
    overflow:hidden;
    overflow-wrap:anywhere;
  }
  body:not(.admin-workspace) .product-price {
    display:block;
    margin-top:6px;
    color:#171717;
    font-size:16px;
    line-height:1.35;
    font-weight:750;
    letter-spacing:-.03em;
    font-variant-numeric:tabular-nums;
  }
  body:not(.admin-workspace) .product-sub { margin-top:4px; min-height:44px; gap:2px; font-size:11px; }
  body:not(.admin-workspace) .product-sub > span { min-width:0; overflow-wrap:anywhere; line-height:1.5; }
  body:not(.admin-workspace) .wish-button { flex:0 0 44px; min-width:44px; min-height:44px; padding:11px; }
  body:not(.admin-workspace) .product-badge,
  body:not(.admin-workspace) .look-badge { top:8px; padding:5px 6px; font-size:9px; line-height:1.4; }
  body:not(.admin-workspace) .product-badge { left:8px; }
  body:not(.admin-workspace) .look-badge { right:8px; }
  body:not(.admin-workspace) .quick-actions { left:7px; right:7px; bottom:7px; gap:5px; }
  body:not(.admin-workspace) .quick-actions button { min-height:44px; height:auto; padding:6px 8px; font-size:11px; line-height:1.4; }
  body:not(.admin-workspace) .empty-state { padding:40px 16px; font-size:14px; line-height:1.8; }

  /* Five familiar destinations; legacy handlers stay available outside this nav. */
  body:not(.admin-workspace) .mobile-bottom-nav {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:calc(64px + var(--safe-bottom));
    padding:5px 8px calc(5px + var(--safe-bottom));
    background:rgba(255,253,248,.98);
    border-top:1px solid #ded9cf;
    box-shadow:0 -3px 14px rgba(23,23,23,.035);
  }
  body:not(.admin-workspace) .mobile-bottom-nav #mobileProfileBtn,
  body:not(.admin-workspace) .mobile-bottom-nav #mobileAdminBtn { display:none; }
  body:not(.admin-workspace) .mobile-bottom-nav #mobileLookNavBtn,
  body:not(.admin-workspace) .mobile-bottom-nav #mobileSetsNavBtn,
  body:not(.admin-workspace) .mobile-bottom-nav #mobileAccountNav { display:grid; }
  body:not(.admin-workspace) .mobile-bottom-nav > button,
  body:not(.admin-workspace) .mobile-bottom-nav > a {
    min-height:54px;
    min-width:0;
    padding:5px 2px;
    display:grid;
    place-items:center;
    gap:4px;
    align-content:center;
    border:0;
    border-radius:7px;
    text-decoration:none;
    background:transparent;
    color:#706960;
    font-size:11px;
    line-height:1.3;
    cursor:pointer;
  }
  body:not(.admin-workspace) .mobile-bottom-nav > .active,
  body:not(.admin-workspace) .mobile-bottom-nav > [aria-current="page"],
  body:not(.admin-workspace) .mobile-bottom-nav > [aria-pressed="true"] {
    color:#171717;
    font-weight:750;
    background:#eeebe4;
  }
  body:not(.admin-workspace) .mobile-bottom-nav svg { width:21px; height:21px; }
  body:not(.admin-workspace) .toast-region { bottom:calc(78px + var(--safe-bottom)); }
  body:not(.admin-workspace).locked .mobile-bottom-nav { pointer-events:none; }
  body:not(.admin-workspace).mobile-filter-open { overflow:hidden; }
  body:not(.admin-workspace) .site-footer { padding:28px 16px 32px; gap:22px; font-size:12px; line-height:1.8; }
  body:not(.admin-workspace) .shop-service { padding:22px 16px; gap:16px; }
  body:not(.admin-workspace) .shop-service strong { font-size:14px; }
  body:not(.admin-workspace) .shop-service p { font-size:12px; line-height:1.7; }

  /* Native dialog owns modal focus/escape; use the original filter controls. */
  body:not(.admin-workspace) #mobileFilterDialog {
    position:fixed;
    inset:auto 0 0;
    width:100%;
    max-width:760px;
    max-height:calc(100dvh - 24px);
    margin:0 auto;
    padding:0;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid #d6d0c5;
    border-bottom:0;
    border-radius:18px 18px 0 0;
    background:#fffdf8;
    color:#171717;
    box-shadow:0 -18px 60px rgba(23,23,23,.18);
  }
  body:not(.admin-workspace) #mobileFilterDialog::backdrop { background:rgba(18,17,15,.48); }
  body:not(.admin-workspace) #mobileFilterDialog > header,
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-head {
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:62px;
    padding:12px 18px;
    border-bottom:1px solid #e7e2d9;
    background:#fffdf8;
  }
  body:not(.admin-workspace) #mobileFilterDialog h2 { margin:0; font-size:19px; line-height:1.3; letter-spacing:-.035em; }
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-body,
  body:not(.admin-workspace) #mobileFilterDialog > form { padding:18px; }
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-fields { padding:18px 18px 0; }
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-extra-slot { padding:0 18px 18px; }
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-field { display:grid; gap:8px; margin:0 0 16px; min-width:0; font-size:13px; line-height:1.5; }
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-field > span,
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-field > label { font-weight:650; }
  body:not(.admin-workspace) #mobileFilterDialog #sizeFilter,
  body:not(.admin-workspace) #mobileFilterDialog #priceFilter,
  body:not(.admin-workspace) #mobileFilterDialog #colorFilter {
    display:block !important;
    grid-column:auto;
    width:100%;
    min-height:48px;
    padding:0 35px 0 12px;
    border-radius:7px;
    background:#fff;
    font-size:16px;
  }
  body:not(.admin-workspace) #mobileFilterDialog #filterExtras {
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    margin:6px 0 0;
    min-width:0;
    padding:14px 0 0;
    border-top:1px solid #e6e0d6;
  }
  body:not(.admin-workspace) #mobileFilterDialog #filterExtras > select { width:100%; }
  body:not(.admin-workspace) #mobileFilterDialog #filterExtras > label { min-height:44px; gap:10px; font-size:14px; line-height:1.6; }
  body:not(.admin-workspace) #mobileFilterDialog #filterExtras input[type="checkbox"] { width:20px; height:20px; flex:0 0 auto; }
  body:not(.admin-workspace) #mobileFilterDialog #filterSummary { flex-basis:auto; font-size:12px; line-height:1.7; margin:0; }
  body:not(.admin-workspace) #mobileFilterDialog button,
  body:not(.admin-workspace) #mobileFilterDialog .btn { min-height:44px; font-size:14px; }
  body:not(.admin-workspace) #mobileFilterDialog > footer,
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-actions {
    position:sticky;
    bottom:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    padding:14px 18px calc(14px + var(--safe-bottom));
    border-top:1px solid #e7e2d9;
    background:#fffdf8;
    font-size:14px;
  }
  body:not(.admin-workspace) #mobileFilterDialog .mobile-filter-actions .btn { width:100%; border-radius:8px; }

  /* Compact personal workspace without hiding photo/AI source or readiness. */
  body:not(.admin-workspace) .today-look {
    scroll-margin-top:116px;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    padding:22px 16px 14px;
  }
  body:not(.admin-workspace) .today-intro h1 { font-size:26px; line-height:1.3; }
  body:not(.admin-workspace) .today-kicker { margin-bottom:8px; font-size:11px; line-height:1.6; }
  body:not(.admin-workspace) .today-lead { margin:10px 0 16px; font-size:13px; line-height:1.75; }
  body:not(.admin-workspace) .today-photo { margin:0 0 16px; padding:12px 0; gap:8px; }
  body:not(.admin-workspace) .today-photo-actions { flex-wrap:wrap; gap:8px; }
  body:not(.admin-workspace) .today-photo .today-text-button { min-height:44px; font-size:13px; }
  body:not(.admin-workspace) .photo-state { font-size:12px; line-height:1.5; }
  body:not(.admin-workspace) .today-fieldset { margin-bottom:14px; }
  body:not(.admin-workspace) .today-fieldset legend { font-size:13px; margin-bottom:8px; }
  body:not(.admin-workspace) .today-options { gap:6px; }
  body:not(.admin-workspace) .today-options button { min-height:44px; padding:8px 11px; font-size:12px; }
  body:not(.admin-workspace) .today-card-heading { padding:16px; gap:10px; }
  body:not(.admin-workspace) .today-card-heading h3 { font-size:19px; line-height:1.4; }
  body:not(.admin-workspace) .today-next { min-height:44px; font-size:12px; padding-left:6px; gap:7px; }
  body:not(.admin-workspace) .today-view-tabs { margin:0 16px; gap:0 12px; }
  body:not(.admin-workspace) .today-view-tabs button { font-size:13px; }
  body:not(.admin-workspace) .today-stage { margin:14px 16px 0; grid-template-columns:minmax(0,1fr) 66px; min-height:0; gap:8px; }
  body:not(.admin-workspace) .today-main-product { min-height:0; aspect-ratio:4 / 5; padding:32px 8% 44px; }
  body:not(.admin-workspace) .today-main-product > img { height:100%; object-fit:contain; mix-blend-mode:normal; }
  body:not(.admin-workspace) .today-product-rail { gap:7px; }
  body:not(.admin-workspace) .today-product-rail button { min-height:44px; padding:6px; }
  body:not(.admin-workspace) .today-product-rail img { height:auto; aspect-ratio:4 / 5; max-height:95px; object-fit:contain; }
  body:not(.admin-workspace) .today-product-rail span { font-size:10px; }
  body:not(.admin-workspace) .today-image-caption { font-size:12px; gap:6px; }
  body:not(.admin-workspace) .today-image-caption > span { min-width:0; overflow-wrap:anywhere; }
  body:not(.admin-workspace) .today-avatar { height:auto; max-height:460px; aspect-ratio:4 / 5; object-fit:contain; background:#fff; }
  body:not(.admin-workspace) .today-personal-next,
  body:not(.admin-workspace) .today-reason { margin:12px 16px; }
  body:not(.admin-workspace) .today-personal-next p,
  body:not(.admin-workspace) .today-personal-next small,
  body:not(.admin-workspace) .today-preview-note { font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
  body:not(.admin-workspace) .today-preview-note { margin:10px 16px 0; }
  body:not(.admin-workspace) .today-reason p { font-size:13px; line-height:1.75; }
  body:not(.admin-workspace) .today-buy-row { padding:16px; gap:12px; }
  body:not(.admin-workspace) .today-buy-row strong { font-size:20px; }
  body:not(.admin-workspace) .today-memory { padding:16px 0; gap:12px; }
  body:not(.admin-workspace) .today-memory strong { font-size:16px; }
  body:not(.admin-workspace) .catalog-generation { margin:12px 0; }
  body:not(.admin-workspace) .catalog-generation p,
  body:not(.admin-workspace) .catalog-generation small { font-size:12px; line-height:1.7; }

  /* One full outfit at a time; retain the separate garment and finished-look panels. */
  body:not(.admin-workspace)[data-view-mode="sets"] #shopSection { padding-top:22px; }
  body:not(.admin-workspace)[data-view-mode="sets"] .set-controls { gap:8px; margin-bottom:18px; min-width:0; }
  body:not(.admin-workspace)[data-view-mode="sets"] .set-controls .chip { min-height:44px; padding:0 12px; font-size:12px; }
  body:not(.admin-workspace)[data-view-mode="sets"] .budget-chips { flex-basis:100%; max-width:100%; gap:6px; padding-bottom:3px; }
  body:not(.admin-workspace)[data-view-mode="sets"] .set-controls .sort-select { min-width:0; width:100%; min-height:44px; font-size:14px; border-radius:7px; }
  body:not(.admin-workspace) .set-showcase-header { gap:10px; margin-bottom:14px; min-width:0; }
  body:not(.admin-workspace) .set-showcase-header > div:first-child { min-width:0; }
  body:not(.admin-workspace) .set-showcase h3 { font-size:23px; line-height:1.3; }
  body:not(.admin-workspace) .set-kicker { font-size:12px; margin-bottom:5px; }
  body:not(.admin-workspace) .set-pagination { gap:5px; }
  body:not(.admin-workspace) .set-pagination .set-arrow { min-width:44px; width:44px; height:44px; }
  body:not(.admin-workspace) .set-counter { font-size:11px; }
  body:not(.admin-workspace) .set-counter strong { font-size:15px; }
  body:not(.admin-workspace) .set-showcase-visuals { grid-template-columns:minmax(0,1fr); gap:12px; }
  body:not(.admin-workspace) .set-garment-panel,
  body:not(.admin-workspace) .set-avatar-panel { min-width:0; border-radius:10px; }
  body:not(.admin-workspace) .set-garment-view { height:auto; min-height:0; aspect-ratio:4 / 5; padding:48px 8% 12px; }
  body:not(.admin-workspace) .set-panel-label { padding:16px; font-size:12px; }
  body:not(.admin-workspace) .set-panel-label > span { min-width:0; overflow-wrap:anywhere; }
  body:not(.admin-workspace) .set-product-photo img,
  body:not(.admin-workspace) .set-avatar-image { object-fit:contain; mix-blend-mode:normal; }
  body:not(.admin-workspace) .set-product-caption { padding:12px 16px; font-size:13px; min-height:60px; }
  body:not(.admin-workspace) .set-avatar-panel:not(.has-look) { min-height:310px; }
  body:not(.admin-workspace) .set-avatar-panel.has-look { min-height:0; aspect-ratio:4 / 5; }
  body:not(.admin-workspace) .set-avatar-empty { padding:60px 22px 24px; }
  body:not(.admin-workspace) .set-avatar-wordmark { margin-bottom:14px; font-size:40px; }
  body:not(.admin-workspace) .set-avatar-empty h4 { font-size:18px; }
  body:not(.admin-workspace) .set-avatar-empty p { font-size:13px; line-height:1.75; margin-bottom:16px; }
  body:not(.admin-workspace) .set-avatar-empty small,
  body:not(.admin-workspace) #setGenerationStatus { font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
  body:not(.admin-workspace) .set-avatar-disclaimer { font-size:11px; line-height:1.6; }
  body:not(.admin-workspace) .set-pieces { gap:8px; padding:12px 2px 16px; max-width:100%; }
  body:not(.admin-workspace) .set-piece { flex:0 0 168px; padding:9px; gap:8px; min-height:92px; }
  body:not(.admin-workspace) .set-piece img { width:46px; height:62px; object-fit:contain; padding:0; }
  body:not(.admin-workspace) .set-piece strong { font-size:12px; line-height:1.5; }
  body:not(.admin-workspace) .set-piece small,
  body:not(.admin-workspace) .set-piece > span > span { font-size:11px; }
  body:not(.admin-workspace) .set-showcase-footer { padding-top:16px; gap:14px; }
  body:not(.admin-workspace) .set-showcase-footer > p { font-size:13px; line-height:1.75; }
  body:not(.admin-workspace) .set-purchase { min-width:0; flex-wrap:wrap; gap:12px; }
  body:not(.admin-workspace) .set-purchase strong { font-size:23px; }
  body:not(.admin-workspace) .set-purchase .btn { flex:1 1 140px; min-height:48px; padding:8px 13px; white-space:normal; font-size:13px; }

  body:not(.admin-workspace) :is(button,a,input,select,summary):focus-visible {
    outline:2px solid #386552;
    outline-offset:3px;
  }
  body:not(.admin-workspace) .recent-products { margin-top:28px; padding-top:20px; }
  body:not(.admin-workspace) .recent-list button { flex-basis:116px; min-height:44px; }
  body:not(.admin-workspace) .recent-list img { width:116px; height:145px; object-fit:contain; background:#fff; }
}

@media (max-width:360px) {
  body:not(.admin-workspace) .site-header { padding-inline:8px; }
  body:not(.admin-workspace) .mobile-search-slot { padding-inline:12px; }
  body:not(.admin-workspace) #shopSection { padding-inline:12px; }
  body:not(.admin-workspace) .experience-tab { padding-inline:9px; font-size:12px; }
  body:not(.admin-workspace)[data-view-mode="model"] .hero { margin-inline:12px; grid-template-columns:minmax(0,1fr) 98px; }
  body:not(.admin-workspace) .product-name { font-size:12px; }
  body:not(.admin-workspace) .product-price { font-size:15px; }
  body:not(.admin-workspace) .set-showcase-header { flex-wrap:wrap; }
  body:not(.admin-workspace) .set-pagination { margin-left:auto; }
}

@media (prefers-reduced-motion:reduce) {
  body:not(.admin-workspace) .mobile-search-slot,
  body:not(.admin-workspace) .mobile-bottom-nav,
  body:not(.admin-workspace) #mobileFilterDialog { scroll-behavior:auto; transition:none; animation:none; }
}
