/* Customer tailoring presentation. Loaded last; catalog and administrator
   state remain owned by the existing application. */
body.tailoring-shop:not(.admin-workspace) {
  --bg:#fbfaf7;
  --surface:#fff;
  --surface-2:#f1f0ea;
  --ink:#252823;
  --muted:#62665f;
  --line:#dedfd7;
  --line-strong:#a4a89c;
  --accent:#334c3f;
  --accent-ink:#fff;
  --radius:4px;
  --shadow:none;
  --catalog-ratio:3 / 4;
  --catalog-inset:4%;
  background:var(--bg);
  color:var(--ink);
  letter-spacing:-.015em;
}
body.tailoring-shop:not(.admin-workspace) .hero,
body.tailoring-shop:not(.admin-workspace) > .announcement { display:none; }
body.tailoring-shop:not(.admin-workspace) [hidden] { display:none !important; }
body.tailoring-shop:not(.admin-workspace):not([data-tailoring-page]) #brandDirectory { display:none; }
/* Preserve older tools and their handlers in the DOM while keeping the
   customer shop focused on the five current shopping destinations. */
body.tailoring-shop:not(.admin-workspace) .desktop-nav > [data-experience],
body.tailoring-shop:not(.admin-workspace) .desktop-nav > a[href="./village.html"],
body.tailoring-shop:not(.admin-workspace) .desktop-nav > a[href="./social.html"],
body.tailoring-shop:not(.admin-workspace) .experience-nav > a[href="./village.html"],
body.tailoring-shop:not(.admin-workspace) .experience-nav > a[href="./social.html"],
body.tailoring-shop:not(.admin-workspace) .experience-nav > .daily-nav-button,
body.tailoring-shop:not(.admin-workspace) #profileOpenBtn,
body.tailoring-shop:not(.admin-workspace) #heroProfileBtn,
body.tailoring-shop:not(.admin-workspace) #mobileProfileBtn,
body.tailoring-shop:not(.admin-workspace) .personal-bar,
body.tailoring-shop:not(.admin-workspace) #todayLook,
body.tailoring-shop:not(.admin-workspace) #setControls > [data-outfit-library],
body.tailoring-shop:not(.admin-workspace) #setControls > [data-outfit-new],
body.tailoring-shop:not(.admin-workspace) #setGrid [data-share-set],
body.tailoring-shop:not(.admin-workspace) .outfit-share-entry,
body.tailoring-shop:not(.admin-workspace) #setGrid [data-rpg-set],
body.tailoring-shop:not(.admin-workspace) #setGrid [data-generate-set],
body.tailoring-shop:not(.admin-workspace) #setGenerationStatus,
body.tailoring-shop:not(.admin-workspace) #mobileCategoryList [data-experience="me"],
body.tailoring-shop:not(.admin-workspace) #shopSection .catalog-generation,
body.tailoring-shop:not(.admin-workspace) #shopSection .quick-actions [data-try],
body.tailoring-shop:not(.admin-workspace) #shopSection .look-badge { display:none !important; }
body.tailoring-shop:not(.admin-workspace):not([data-tailoring-page="home"]) #tailoringHome { display:none; }
body.tailoring-shop:not(.admin-workspace) .site-header {
  background:#fbfaf7;
  border-bottom:1px solid var(--line);
  box-shadow:none;
  backdrop-filter:none;
}
body.tailoring-shop:not(.admin-workspace) .site-header .logo { color:#252823; }
body.tailoring-shop:not(.admin-workspace) .desktop-nav { gap:8px; letter-spacing:0; }
body.tailoring-shop:not(.admin-workspace) .desktop-nav button { min-height:44px; padding:10px 12px; font-size:14px; }
body.tailoring-shop:not(.admin-workspace) .desktop-nav button[aria-current="page"] { color:var(--accent); font-weight:700; }
body.tailoring-shop:not(.admin-workspace) .site-header .icon-btn { width:44px; height:44px; min-height:44px; border-radius:2px; }
body.tailoring-shop:not(.admin-workspace) .header-actions { gap:5px; }
body.tailoring-shop:not(.admin-workspace) .account-entry { min-height:44px; font-size:13px; }
body.tailoring-shop:not(.admin-workspace) .experience-nav {
  background:var(--bg);
  border-bottom:1px solid var(--line);
  box-shadow:none;
  gap:8px;
  min-height:46px;
}
body.tailoring-shop:not(.admin-workspace) .experience-tab {
  min-height:46px;
  padding:11px 15px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
  border-radius:0;
  letter-spacing:0;
  background:transparent;
}
body.tailoring-shop:not(.admin-workspace) .experience-tab.active,
body.tailoring-shop:not(.admin-workspace) .experience-tab[aria-current="page"] {
  color:var(--accent);
  border-bottom-color:var(--accent);
  background:transparent;
}
body.tailoring-shop:not(.admin-workspace) :is(#tailoringHome,#shopSection) {
  width:min(1280px,100%);
  margin-inline:auto;
  padding:30px clamp(16px,3.5vw,48px) 54px;
  scroll-margin-top:130px;
}
body.tailoring-shop:not(.admin-workspace) .tailoring-intro { padding:4px 0 26px; border-bottom:1px solid var(--line); }
body.tailoring-shop:not(.admin-workspace) .tailoring-intro .eyebrow { margin:0 0 10px; color:var(--accent); font-size:12px; letter-spacing:.13em; }
body.tailoring-shop:not(.admin-workspace) .tailoring-intro h1 { margin:0; font-size:clamp(29px,3vw,42px); font-weight:550; line-height:1.3; letter-spacing:-.055em; }
body.tailoring-shop:not(.admin-workspace) .tailoring-intro p:not(.eyebrow) { max-width:600px; margin:12px 0 18px; color:var(--muted); font-size:14px; line-height:1.8; word-break:keep-all; }
body.tailoring-shop:not(.admin-workspace) .tailoring-intro .btn { min-height:44px; padding:10px 18px; }
body.tailoring-shop:not(.admin-workspace) .tailoring-home-section { padding-top:30px; }
body.tailoring-shop:not(.admin-workspace) .tailoring-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:17px; }
body.tailoring-shop:not(.admin-workspace) .tailoring-section-head h2 { margin:0; font-size:22px; line-height:1.4; font-weight:600; letter-spacing:-.04em; }
body.tailoring-shop:not(.admin-workspace) .tailoring-section-head .text-btn { min-height:44px; padding:10px 0 10px 10px; font-size:13px; white-space:nowrap; }
body.tailoring-shop:not(.admin-workspace) .tailoring-section-head p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.7; }
body.tailoring-shop:not(.admin-workspace) .tailoring-home-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,#tailoringCategoryLinks,.tailoring-situation-list) { display:flex; flex-wrap:wrap; gap:8px; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,#tailoringCategoryLinks,.tailoring-situation-list) > button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 18px;
  border:1px solid var(--line);
  border-radius:2px;
  background:#fff;
  color:var(--ink);
  font-size:14px;
  cursor:pointer;
}
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,#tailoringCategoryLinks,.tailoring-situation-list) > button:hover { border-color:var(--accent); color:var(--accent); }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button { position:relative; flex:1 1 180px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; justify-content:center; min-height:90px; padding:17px 38px 17px 18px; text-align:left; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button strong { display:block; font-size:15px; font-weight:600; line-height:1.5; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button :is(small,p) { display:block; margin:0; color:var(--muted); font-size:12px; line-height:1.7; font-weight:400; word-break:keep-all; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button > span:last-child:not(:first-child) { color:var(--muted); font-size:12px; line-height:1.7; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button .tailoring-situation-arrow { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:18px; }
body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button > span[aria-hidden="true"] { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:18px; }
body.tailoring-shop:not(.admin-workspace) #shopSection > .section-head { align-items:center; flex-direction:row; gap:14px; margin-bottom:22px; }
body.tailoring-shop:not(.admin-workspace) #shopSection .section-title { font-family:inherit; font-size:clamp(23px,2.5vw,32px); line-height:1.4; font-weight:600; letter-spacing:-.05em; }
body.tailoring-shop:not(.admin-workspace) #shopSection .eyebrow { color:var(--accent); font-size:12px; }
body.tailoring-shop:not(.admin-workspace) #shopSection :is(.view-copy,.section-meta) { font-size:13px; color:var(--muted); line-height:1.7; }
body.tailoring-shop:not(.admin-workspace) #shopSection .view-copy { margin:6px 0 0; word-break:keep-all; }
body.tailoring-shop:not(.admin-workspace) .shop-toolbar { grid-template-columns:minmax(0,1fr); gap:14px; align-items:center; margin-bottom:22px; }
body.tailoring-shop:not(.admin-workspace) #categoryChips { min-width:0; gap:0; max-width:100%; padding:0; border-bottom:1px solid var(--line); }
body.tailoring-shop:not(.admin-workspace) #categoryChips .chip {
  min-height:46px;
  padding:10px 15px;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  letter-spacing:0;
}
body.tailoring-shop:not(.admin-workspace) #categoryChips .chip.active { color:var(--accent); border-bottom-color:var(--accent); font-weight:650; }
body.tailoring-shop:not(.admin-workspace) :is(.sort-select,.search-box input) { border-radius:3px; background:#fff; border-color:var(--line); color:var(--ink); min-height:44px; }
body.tailoring-shop:not(.admin-workspace) .search-box input { height:46px; font-size:14px; }
body.tailoring-shop:not(.admin-workspace) .search-box input::placeholder { color:#64685f; opacity:1; }
body.tailoring-shop:not(.admin-workspace) .toolbar-actions { min-width:0; gap:10px; }
body.tailoring-shop:not(.admin-workspace) :is(.btn,.cart-cta,.chip,.option-btn) { border-radius:3px; min-height:44px; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .btn { font-size:14px; line-height:1.5; font-weight:600; letter-spacing:0; }
body.tailoring-shop:not(.admin-workspace) :is(.btn.primary,.cart-cta) { background:var(--accent); color:#fff; border:1px solid var(--accent); }
body.tailoring-shop:not(.admin-workspace) :is(.btn.secondary,.btn.ghost) { color:var(--ink); background:#fff; border:1px solid var(--line); }
body.tailoring-shop:not(.admin-workspace) .btn:disabled { cursor:not-allowed; }
body.tailoring-shop:not(.admin-workspace) :is(.text-btn,.filter-extras button,.active-shop-conditions button) { min-height:44px; font-size:13px; }
body.tailoring-shop:not(.admin-workspace) .active-shop-conditions { align-items:center; gap:10px; }
body.tailoring-shop:not(.admin-workspace) .active-shop-conditions span:not(.sr-only) { border-radius:2px; color:#4d564b; background:#eef0e9; font-size:12px; }
body.tailoring-shop:not(.admin-workspace) #productGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
body.tailoring-shop:not(.admin-workspace) .product-card { min-width:0; }
body.tailoring-shop:not(.admin-workspace) .product-media { aspect-ratio:3 / 4; border:1px solid #e9e9e2; border-radius:2px; background:#fff; }
body.tailoring-shop:not(.admin-workspace) .product-media > img.base-image { width:100%; height:100%; padding:4%; object-fit:contain; object-position:center; }
body.tailoring-shop:not(.admin-workspace) .product-card:hover .base-image { transform:none; }
body.tailoring-shop:not(.admin-workspace) .product-info { padding:12px 0 0; }
body.tailoring-shop:not(.admin-workspace) .product-brand { margin:0 0 5px; font-size:12px; color:var(--muted); line-height:1.5; }
body.tailoring-shop:not(.admin-workspace) .product-topline { display:block; }
body.tailoring-shop:not(.admin-workspace) .product-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; margin:0; white-space:normal; overflow:hidden; overflow-wrap:anywhere; font-size:14px; line-height:1.55; font-weight:500; color:var(--ink); }
body.tailoring-shop:not(.admin-workspace) .product-price { display:block; margin-top:7px; font-size:16px; line-height:1.4; font-weight:650; color:var(--ink); font-variant-numeric:tabular-nums; }
body.tailoring-shop:not(.admin-workspace) .product-sub { min-height:44px; margin-top:2px; gap:4px; font-size:12px; color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) .product-sub > span { min-width:0; overflow-wrap:anywhere; line-height:1.6; }
body.tailoring-shop:not(.admin-workspace) .wish-button { flex:0 0 44px; min-width:44px; min-height:44px; padding:11px; color:#676e62; }
body.tailoring-shop:not(.admin-workspace) .wish-button[aria-pressed="true"] { color:var(--accent); }
body.tailoring-shop:not(.admin-workspace) :is(.product-badge,.look-badge) { border-radius:2px; padding:4px 6px; background:#fff; color:#555d50; font-size:11px; box-shadow:none; backdrop-filter:none; }
body.tailoring-shop:not(.admin-workspace) .quick-actions button { min-height:44px; border-radius:2px; font-size:13px; background:#fff; backdrop-filter:none; }
body.tailoring-shop:not(.admin-workspace) .empty-state { padding:48px 16px; border:0; border-block:1px solid var(--line); border-radius:0; font-size:14px; line-height:1.8; }
body.tailoring-shop:not(.admin-workspace) .brand-directory { padding:18px 0; margin:0 0 24px; }
body.tailoring-shop:not(.admin-workspace) .brand-list { display:flex; flex-wrap:wrap; gap:10px; }
body.tailoring-shop:not(.admin-workspace) .brand-slot { flex:0 1 140px; min-height:80px; border-radius:2px; background:#fff; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .brand-slot.active { color:var(--accent); border-color:var(--accent); background:#f2f4ee; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .brand-slot strong { font-size:13px; }
body.tailoring-shop:not(.admin-workspace) .brand-slot-status { font-size:12px; }
body.tailoring-shop:not(.admin-workspace) .shop-service { background:#f1f1eb; border-color:var(--line); }
body.tailoring-shop:not(.admin-workspace) .site-footer { background:var(--bg); border-top:1px solid var(--line); font-size:13px; line-height:1.8; }
body.tailoring-shop:not(.admin-workspace) .site-footer strong { font-size:13px; }

/* Product detail retains the existing dialog and option handlers. */
body.tailoring-shop:not(.admin-workspace) #productModalBackdrop .modal { position:relative; width:min(1100px,100%); border-radius:4px; box-shadow:none; background:#fff; }
body.tailoring-shop:not(.admin-workspace) #productModalBackdrop .close-btn { width:44px; height:44px; min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:2px; }
body.tailoring-shop:not(.admin-workspace) .product-detail { grid-template-columns:1.05fr 1fr; min-height:0; }
body.tailoring-shop:not(.admin-workspace) .detail-gallery { padding:20px; min-width:0; align-self:start; background:#fff; }
body.tailoring-shop:not(.admin-workspace) .detail-main { height:auto; min-height:0; aspect-ratio:3 / 4; border-radius:2px; background:#fff; border:1px solid #ecece5; }
body.tailoring-shop:not(.admin-workspace) .detail-main > .base-image { width:100%; height:100%; object-fit:contain; object-position:center; padding:4%; }
body.tailoring-shop:not(.admin-workspace) .detail-thumbs { position:static; margin-top:12px; flex-wrap:nowrap; padding:3px; gap:10px; }
body.tailoring-shop:not(.admin-workspace) .detail-thumb { width:56px; height:74px; flex:0 0 56px; border:1px solid var(--line); border-radius:2px; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .detail-thumb img { object-fit:contain; }
body.tailoring-shop:not(.admin-workspace) .detail-copy { min-width:0; padding:40px 28px 20px; }
body.tailoring-shop:not(.admin-workspace) .detail-category { font-size:13px; color:var(--muted); letter-spacing:0; line-height:1.6; }
body.tailoring-shop:not(.admin-workspace) .detail-copy h2 { margin:9px 0 12px; font-family:inherit; font-size:26px; font-weight:550; line-height:1.45; letter-spacing:-.04em; overflow-wrap:anywhere; }
body.tailoring-shop:not(.admin-workspace) .detail-price { font-size:23px; font-weight:650; font-variant-numeric:tabular-nums; }
body.tailoring-shop:not(.admin-workspace) .detail-desc { margin:18px 0; font-size:14px; line-height:1.8; color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) .option-group { padding-top:18px; margin-top:0; }
body.tailoring-shop:not(.admin-workspace) .option-label { margin-bottom:10px; gap:10px; font-size:14px; line-height:1.6; font-weight:500; }
body.tailoring-shop:not(.admin-workspace) .option-label span:last-child { color:var(--muted); font-size:13px; }
body.tailoring-shop:not(.admin-workspace) .option-buttons { gap:8px; }
body.tailoring-shop:not(.admin-workspace) .option-btn { min-width:48px; min-height:44px; height:auto; padding:10px 14px; border-color:var(--line-strong); font-size:14px; }
body.tailoring-shop:not(.admin-workspace) .option-btn.active { background:var(--accent); border-color:var(--accent); color:#fff; }
body.tailoring-shop:not(.admin-workspace) .option-btn:disabled { opacity:1; color:#85897f; border-color:#dedfd7; background:#f5f5f1; }
body.tailoring-shop:not(.admin-workspace) .tailoring-detail-section { padding:22px 0 0; margin-top:22px; border-top:1px solid var(--line); font-size:14px; line-height:1.8; }
body.tailoring-shop:not(.admin-workspace) .tailoring-detail-section h3 { margin:0 0 10px; font-size:16px; font-weight:600; line-height:1.5; }
body.tailoring-shop:not(.admin-workspace) .tailoring-detail-section p { margin:8px 0; color:var(--muted); overflow-wrap:anywhere; }
body.tailoring-shop:not(.admin-workspace) .tailoring-detail-section ul { margin:8px 0; padding-left:20px; color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) .tailoring-product-facts dl { margin:0; }
body.tailoring-shop:not(.admin-workspace) .tailoring-product-facts dl > div { display:grid; grid-template-columns:72px minmax(0,1fr); padding:8px 0; gap:12px; border-bottom:1px solid #ecece6; }
body.tailoring-shop:not(.admin-workspace) .tailoring-product-facts dt { color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) .tailoring-product-facts dd { margin:0; overflow-wrap:anywhere; }
body.tailoring-shop:not(.admin-workspace) .tailoring-composition > strong { display:block; color:var(--ink); font-size:14px; font-weight:600; }
body.tailoring-shop:not(.admin-workspace) .tailoring-option-note { color:var(--muted); margin:14px 0 0; font-size:13px; line-height:1.7; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-list { display:grid; gap:0; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-product { display:grid; grid-template-columns:58px minmax(0,1fr) 20px; gap:12px; align-items:center; width:100%; min-height:90px; padding:12px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-product > img { display:block; width:58px; height:77px; object-fit:contain; background:#fff; border:1px solid #e9e9e2; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-product > span { min-width:0; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-product strong { display:block; font-size:14px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-product small { display:block; margin-top:6px; font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums; }
body.tailoring-shop:not(.admin-workspace) .tailoring-paired-arrow { color:var(--muted); text-align:right; }
body.tailoring-shop:not(.admin-workspace) .detail-facts { border-radius:2px; border-color:var(--line); background:var(--line); margin:16px 0; }
body.tailoring-shop:not(.admin-workspace) .detail-fact { padding:12px; background:#fff; }
body.tailoring-shop:not(.admin-workspace) .detail-fact span { font-size:12px; color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) .detail-fact strong { font-size:14px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
body.tailoring-shop:not(.admin-workspace) .size-guide-card { border-radius:2px; margin:18px 0; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .size-guide-card > summary { min-height:48px; padding:14px; }
body.tailoring-shop:not(.admin-workspace) .size-guide-card > summary strong { font-size:15px; }
body.tailoring-shop:not(.admin-workspace) .size-empty { border-radius:2px; background:#f4f4ef; }
body.tailoring-shop:not(.admin-workspace) .tailoring-ai-preparation { border:0; border-top:1px solid var(--line); background:transparent; margin-top:22px; padding:18px 0 4px; font-size:13px; line-height:1.7; }
body.tailoring-shop:not(.admin-workspace) .tailoring-ai-preparation strong { display:block; color:#485644; font-size:13px; font-weight:600; }
body.tailoring-shop:not(.admin-workspace) .tailoring-ai-preparation p { margin:6px 0 0; color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) #productModalBackdrop .detail-actions { display:none; }
body.tailoring-shop:not(.admin-workspace) .detail-purchase { display:grid; grid-template-columns:1fr 1fr; grid-column:1 / -1; gap:10px; padding:16px 20px; border-top:1px solid var(--line); background:#fff; }
body.tailoring-shop:not(.admin-workspace) .detail-purchase :is(button,.btn) { min-height:50px; width:100%; padding:12px 14px; font-size:14px; line-height:1.5; border-radius:2px; }
body.tailoring-shop:not(.admin-workspace) .detail-purchase-note { grid-column:1 / -1; margin:0; color:var(--muted); font-size:12px; line-height:1.7; text-align:center; }
body.tailoring-shop:not(.admin-workspace) .detail-purchase .tailoring-buy-btn:disabled { opacity:1; border:1px solid #d2d5cc; color:#777d72; background:#f4f5f0; cursor:not-allowed; font-weight:500; }
body.tailoring-shop:not(.admin-workspace) .product-guide { margin-top:20px; border-color:var(--line); font-size:14px; }
body.tailoring-shop:not(.admin-workspace) .product-guide summary { min-height:44px; }
body.tailoring-shop:not(.admin-workspace) :is(#menuModalBackdrop,#setModalBackdrop,#checkoutModalBackdrop,#ordersModalBackdrop) .modal { border-radius:4px; background:#fff; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) #mobileFilterDialog { border-radius:4px 4px 0 0; box-shadow:none; background:#fff; }
body.tailoring-shop:not(.admin-workspace) #mobileFilterDialog :is(.mobile-filter-head,.mobile-filter-actions) { background:#fff; border-color:var(--line); }
body.tailoring-shop:not(.admin-workspace) #mobileFilterDialog :is(#sizeFilter,#priceFilter,#colorFilter) { border-radius:3px; background:#fff; }
body.tailoring-shop:not(.admin-workspace) #mobileFilterOpenBtn { border-radius:3px; min-height:44px; background:#fff; border-color:var(--line); font-size:14px; }
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop .drawer { background:#fff; }
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop :is(.drawer-head,.drawer-foot) { background:#fff; border-color:var(--line); }
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop :is(button,select) { min-height:44px; }
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop .cart-item { grid-template-columns:70px minmax(0,1fr) 44px; }
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop .cart-item img { width:70px; height:94px; object-fit:contain; }
/* Shipping terms are not verified: show item subtotal, not demo delivery promises. */
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop .drawer-foot > .total-row:nth-of-type(n+2),
body.tailoring-shop:not(.admin-workspace) #cartDrawerBackdrop .drawer-foot > #shippingHint { display:none; }
body.tailoring-shop:not(.admin-workspace) #setModalBackdrop .outfit-row-info > .outfit-muted { display:none; }
body.tailoring-shop:not(.admin-workspace) .recent-list img { aspect-ratio:3 / 4; height:auto; border-radius:2px; background:#fff; }
body.tailoring-shop:not(.admin-workspace) .set-controls { flex-wrap:wrap; min-width:0; }
body.tailoring-shop:not(.admin-workspace) .budget-chips { min-width:0; max-width:100%; }
body.tailoring-shop:not(.admin-workspace) .set-showcase h3 { font-family:inherit; font-size:clamp(23px,2.5vw,30px); font-weight:550; line-height:1.4; }
body.tailoring-shop:not(.admin-workspace) :is(.set-garment-panel,.set-avatar-panel,.set-piece,.set-arrow,.today-suggestion,.today-main-product,.today-product-rail button,.today-personal-next,.style-reading) { border-radius:2px; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .set-garment-view { aspect-ratio:3 / 4; height:auto; min-height:0; background:#fff; }
body.tailoring-shop:not(.admin-workspace) .set-avatar-panel { display:none; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-info { min-width:0; padding:24px; border:1px solid var(--line); border-radius:2px; background:#fff; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-info h4 { margin:0 0 16px; font-size:18px; font-weight:600; line-height:1.5; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-info p { color:var(--muted); font-size:14px; line-height:1.8; margin:12px 0; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-item { display:grid; grid-template-columns:58px minmax(0,1fr) 20px; gap:12px; align-items:center; min-height:94px; padding:12px 0; width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-item img { width:58px; height:77px; object-fit:contain; background:#fff; border:1px solid #e9e9e2; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-item > span { min-width:0; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-item strong { display:block; font-size:14px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
body.tailoring-shop:not(.admin-workspace) .tailoring-set-item small { display:block; font-size:13px; margin-top:6px; font-variant-numeric:tabular-nums; }
body.tailoring-shop:not(.admin-workspace) .set-avatar-panel.has-look .set-panel-label { background:#fff; padding-bottom:18px; }
body.tailoring-shop:not(.admin-workspace) .set-product-caption { font-size:14px; }
body.tailoring-shop:not(.admin-workspace) .set-piece.is-selected { color:var(--accent); border-color:var(--accent); background:#f1f4ee; box-shadow:none; }
body.tailoring-shop:not(.admin-workspace) .set-piece img { aspect-ratio:3 / 4; height:auto; max-height:88px; object-fit:contain; }
body.tailoring-shop:not(.admin-workspace) .set-showcase-footer > p { font-size:14px; color:var(--muted); }
body.tailoring-shop:not(.admin-workspace) .today-suggestion { background:#fff; border-color:var(--line); }
body.tailoring-shop:not(.admin-workspace) .today-options button { border-radius:2px; border-color:var(--line-strong); }
body.tailoring-shop:not(.admin-workspace) .today-options button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); }
body.tailoring-shop:not(.admin-workspace) :is(button,a,input,select,summary):focus-visible { outline:2px solid #334c3f; outline-offset:3px; }

/* /M stays a mobile-width entry even when the viewport itself is wide. */
body.tailoring-shop.mobile-entry:not(.admin-workspace) { --header-h:60px; --mobile-nav-height:64px; max-width:480px; padding-bottom:calc(64px + var(--safe-bottom)); box-shadow:0 0 0 1px var(--line); }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .site-header { height:60px; min-height:60px; grid-template-columns:44px minmax(0,1fr) 44px; padding:0 12px; gap:0; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .site-header .logo { justify-self:center; margin-left:0; font-size:24px; letter-spacing:.15em; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .header-actions { gap:0; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .experience-nav { top:60px; padding:0 12px; gap:0; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .experience-tab { padding:11px 14px; font-size:14px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .mobile-search-slot { padding:10px 16px 6px; background:var(--bg); }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .mobile-search-slot .search-box input { height:46px; font-size:16px; background:#fff; border-radius:3px; border-color:var(--line); }
body.tailoring-shop.mobile-entry:not(.admin-workspace) :is(#tailoringHome,#shopSection) { padding:22px 16px 38px; scroll-margin-top:120px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .tailoring-intro { padding:2px 0 23px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .tailoring-intro h1 { font-size:29px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .tailoring-home-section { padding-top:25px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .tailoring-section-head h2 { font-size:20px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) :is(#productGrid,.tailoring-home-products) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 12px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .shop-toolbar { gap:14px; margin-bottom:20px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .toolbar-actions #sortSelect { min-height:44px; font-size:14px; border-radius:3px; background:#fff; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .product-detail { grid-template-columns:minmax(0,1fr); }
body.tailoring-shop.mobile-entry:not(.admin-workspace) #productModalBackdrop { padding:0; align-items:flex-end; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) #productModalBackdrop .modal { max-width:480px; width:100%; max-height:96dvh; margin:0 auto; border-radius:4px 4px 0 0; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .detail-gallery { padding:12px 16px 0; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .detail-copy { padding:22px 16px 20px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .detail-copy h2 { font-size:23px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .tailoring-set-info { padding:18px; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .set-showcase-visuals { grid-template-columns:minmax(0,1fr); }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .detail-purchase { position:sticky; bottom:0; z-index:12; padding:12px 16px calc(12px + var(--safe-bottom)); }
body.tailoring-shop.mobile-entry:not(.admin-workspace) #mobileFilterDialog { max-width:480px; background:#fff; }
body.tailoring-shop.mobile-entry:not(.admin-workspace) .mobile-bottom-nav { width:min(480px,100%); background:#fff; border-color:var(--line); box-shadow:none; }
/* Keep the shared tablet/mobile navigation consistent at legacy breakpoints. */
body.tailoring-shop:not(.admin-workspace) .mobile-bottom-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
body.tailoring-shop:not(.admin-workspace) .mobile-bottom-nav #mobileAdminBtn { display:none; }
body.tailoring-shop:not(.admin-workspace) .mobile-bottom-nav :is(#mobileSetsNavBtn,#mobileLookNavBtn,#mobileAccountNav) { display:grid; }
body.tailoring-shop:not(.admin-workspace) .mobile-bottom-nav > :is(button,a) { min-height:54px; border-radius:0; color:#62685e; font-size:12px; background:transparent; }
body.tailoring-shop:not(.admin-workspace) .mobile-bottom-nav > :is(.active,[aria-pressed="true"],[aria-current="page"]) { color:var(--accent); background:transparent; font-weight:700; }
body.tailoring-shop:not(.admin-workspace).locked .mobile-bottom-nav { visibility:hidden; }

@media (max-width:760px) {
  body.tailoring-shop:not(.admin-workspace) { --header-h:60px; --mobile-nav-height:64px; padding-bottom:calc(64px + var(--safe-bottom)); }
  body.tailoring-shop:not(.admin-workspace) .site-header { height:60px; min-height:60px; grid-template-columns:44px minmax(0,1fr) 44px; padding:0 12px; gap:0; }
  body.tailoring-shop:not(.admin-workspace) .site-header .logo { justify-self:center; margin-left:0; font-size:24px; letter-spacing:.15em; }
  body.tailoring-shop:not(.admin-workspace) .header-actions { gap:0; }
  body.tailoring-shop:not(.admin-workspace) .experience-nav { top:60px; padding:0 12px; gap:0; }
  body.tailoring-shop:not(.admin-workspace) .experience-tab { padding:11px 14px; font-size:14px; }
  body.tailoring-shop:not(.admin-workspace) .mobile-search-slot { padding:10px 16px 6px; background:var(--bg); }
  body.tailoring-shop:not(.admin-workspace) .mobile-search-slot .search-box input { height:46px; font-size:16px; background:#fff; border-radius:3px; border-color:var(--line); }
  body.tailoring-shop:not(.admin-workspace) :is(#tailoringHome,#shopSection) { padding:22px 16px 38px; scroll-margin-top:120px; }
  body.tailoring-shop:not(.admin-workspace) .tailoring-intro { padding:2px 0 23px; }
  body.tailoring-shop:not(.admin-workspace) .tailoring-intro h1 { font-size:29px; }
  body.tailoring-shop:not(.admin-workspace) .tailoring-home-section { padding-top:25px; }
  body.tailoring-shop:not(.admin-workspace) .tailoring-section-head h2 { font-size:20px; }
  body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,#tailoringCategoryLinks,.tailoring-situation-list) > button { flex:1 1 calc(50% - 8px); padding:11px; }
  body.tailoring-shop:not(.admin-workspace) :is(#tailoringOccasions,.tailoring-situation-list) > button { padding:15px 34px 15px 14px; min-height:94px; }
  body.tailoring-shop:not(.admin-workspace) .toolbar-actions #sortSelect { min-height:44px; font-size:14px; background:#fff; border-radius:3px; }
  body.tailoring-shop:not(.admin-workspace) .product-detail { grid-template-columns:minmax(0,1fr); }
  body.tailoring-shop:not(.admin-workspace) #productModalBackdrop { padding:0; align-items:flex-end; }
  body.tailoring-shop:not(.admin-workspace) #productModalBackdrop .modal { width:100%; max-height:96dvh; margin:0; border-radius:4px 4px 0 0; }
  body.tailoring-shop:not(.admin-workspace) .detail-gallery { padding:12px 16px 0; }
  body.tailoring-shop:not(.admin-workspace) .detail-copy { padding:22px 16px 20px; }
  body.tailoring-shop:not(.admin-workspace) .detail-copy h2 { font-size:23px; }
  body.tailoring-shop:not(.admin-workspace) .tailoring-set-info { padding:18px; }
  body.tailoring-shop:not(.admin-workspace) .set-showcase-visuals { grid-template-columns:minmax(0,1fr); }
  body.tailoring-shop:not(.admin-workspace) .detail-purchase { position:sticky; bottom:0; z-index:12; padding:12px 16px calc(12px + var(--safe-bottom)); }
  body.tailoring-shop:not(.admin-workspace) .mobile-bottom-nav { background:#fff; border-color:var(--line); box-shadow:none; }
  body.tailoring-shop:not(.admin-workspace) .site-footer { padding:26px 16px 32px; }
}
@media (min-width:761px) and (max-width:1023px) {
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) :is(#productGrid,.tailoring-home-products) { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 18px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .desktop-nav { gap:0; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .desktop-nav button { padding-inline:8px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .header-actions #adminOpenBtn { display:none; }
}
@media (min-width:1024px) {
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) :is(#productGrid,.tailoring-home-products) { grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 22px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) #tailoringHome { padding-top:34px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .tailoring-intro { position:relative; padding-right:220px; padding-bottom:28px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .tailoring-intro .btn { position:absolute; right:0; bottom:30px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .tailoring-home-section { padding-top:36px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .tailoring-section-head h2 { font-size:24px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .toolbar-actions { justify-content:flex-start; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .product-name { font-size:15px; }
  body.tailoring-shop:not(.admin-workspace):not(.mobile-entry) .product-price { font-size:17px; }
}
@media (max-width:360px) {
  body.tailoring-shop:not(.admin-workspace) :is(#tailoringHome,#shopSection) { padding-inline:12px; }
  body.tailoring-shop:not(.admin-workspace) .tailoring-intro h1 { font-size:27px; }
  body.tailoring-shop:not(.admin-workspace) :is(#productGrid,.tailoring-home-products) { gap:24px 10px; }
  body.tailoring-shop:not(.admin-workspace) #categoryChips .chip { padding-inline:12px; }
  body.tailoring-shop:not(.admin-workspace) .detail-purchase { gap:8px; padding-inline:12px; }
  body.tailoring-shop:not(.admin-workspace) .detail-purchase :is(button,.btn) { padding-inline:8px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  body.tailoring-shop:not(.admin-workspace) :is(.product-media > img.base-image,.quick-actions) { transition:none; }
}
