/* Shared mobile layout for the catalog and product management. */
@media (max-width:700px) {
  html { -webkit-text-size-adjust:100%; }
  body { min-width:0; }
  .site-header,.admin-header,main,section,article,fieldset { min-width:0; }
  .site-header { padding:10px 12px; gap:10px; grid-template-columns:34px minmax(0,1fr); }
  .site-header nav { grid-template-columns:repeat(3,minmax(0,1fr)); min-width:0; }
  .site-header nav a,.site-header .nav-request { min-height:44px; font-size:14px; padding:6px 4px; overflow-wrap:anywhere; }
  .site-header .brand-name { display:none; }
  .brand-intro { margin:18px 14px 0; padding:24px 18px; }
  .brand-intro-copy { padding:16px; }
  .collection-choice { margin:32px auto; padding:0 16px; }
  .collection-choice-card { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  .collection-choice-card img { min-height:190px; }
  .collection-choice-card div { min-width:0; padding:18px 14px; }
  .collection-choice-card h3 { font-size:26px; }
  .collection-choice-card p { font-size:16px; }
  .catalog-section { padding:32px 16px 48px; }
  .catalog-toolbar { gap:12px; }
  .catalog-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .filter-dropdown { min-width:0; }
  .filter-dropdown summary { min-height:48px; padding:9px 26px 9px 12px; font-size:14px; }
  .filter-dropdown summary::after { right:9px; top:12px; }
  .filter-chip { min-height:44px; font-size:14px; }
  .search-field { min-width:0; width:100%; }
  .search-field input { height:48px; font-size:16px; }
  .search-field svg { top:15px; }
  .service-strip { gap:10px; padding:18px; margin-bottom:20px; }
  .service-strip p { font-size:16px; }
  .product-grid,.choker-grid { gap:22px; grid-template-columns:minmax(0,1fr); }
  .product-art { height:auto; aspect-ratio:1; }
  .product-info,.choker-card .copy { padding:18px; }
  .product-button,.choker-view-product { min-height:48px; font-size:16px; }
  .product-size-price,.product-price-badge { font-size:16px; }
  .card-thumbnails,.gallery-thumbnails,.choker-thumbs { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; overscroll-behavior-x:contain; }
  .card-thumbnails button,.gallery-thumbnails button,.choker-thumbs button { flex:0 0 52px; width:52px; height:52px; }
  .request-dialog,.product-detail-dialog,#choker-dialog,#product-dialog {
    position:fixed; top:calc(var(--mobile-viewport-top,0px) + 8px); bottom:auto;
    margin:0 auto; width:calc(100% - 16px); max-width:calc(100% - 16px);
    max-height:calc(var(--mobile-viewport-height,100dvh) - 16px); border-radius:18px;
    overscroll-behavior-y:contain;
  }
  .request-dialog .dialog-shell,.product-detail-shell,#product-dialog .dialog-shell {
    max-height:calc(var(--mobile-viewport-height,100dvh) - 16px); border-radius:18px; overflow:auto;
    padding-bottom:max(18px,env(safe-area-inset-bottom));
  }
  .product-detail-shell { grid-template-columns:minmax(0,1fr); }
  .product-gallery { padding:12px; }
  .gallery-stage { min-height:0; height:clamp(180px,32dvh,280px); }
  .gallery-thumbnails { margin-top:10px; gap:8px; }
  .product-detail-info { min-width:0; padding:18px; display:flex; flex-direction:column; }
  .product-detail-info h2,#choker-detail h2 { font-size:clamp(28px,8vw,36px); line-height:1.15; overflow-wrap:anywhere; }
  .product-detail-description,#choker-detail p { font-size:16px; line-height:1.55; }
  .product-detail-info .matching-products { order:1; }
  .size-advisor { padding:16px; }
  .size-advisor-heading { flex-direction:column; }
  .size-guide-link,#product-detail-request { min-height:48px; font-size:16px; }
  .dialog-close { width:44px; height:44px; top:10px; right:10px; }
  .request-dialog .dialog-shell { padding:22px 16px 18px; }
  .request-dialog .dialog-intro { padding-right:36px; }
  .request-dialog .dialog-intro h2 { font-size:28px; }
  .request-dialog .dialog-intro > p:last-child { font-size:16px; margin:12px 0 16px; }
  .request-dialog .form-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .request-dialog form > label,.request-dialog .form-grid label { gap:6px; margin-bottom:12px; }
  .request-dialog input,.request-dialog select,.request-dialog textarea { font-size:16px; }
  .request-dialog input,.request-dialog select { height:48px; }
  .request-dialog textarea { min-height:80px; padding:12px; }
  .request-dialog #request-submit { min-height:48px; font-size:16px; }
  .request-product-preview div { min-width:0; overflow-wrap:anywhere; }
  .choker-main { padding:24px 16px 48px; }
  .choker-intro { padding:22px 18px; }
  .choker-intro h1 { font-size:36px; }
  .choker-intro p { font-size:16px; }
  .choker-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .choker-filters label { min-width:0; font-size:14px; margin:0; }
  .choker-filters label:last-child { grid-column:1/-1; }
  .choker-filters input,.choker-filters select { height:48px; padding:10px 12px; font-size:16px; }
  #choker-dialog,#choker-dialog.choker-request-mode { width:calc(100% - 16px); padding:20px 16px; }
  #choker-detail { grid-template-columns:minmax(0,1fr); gap:16px; }
  #choker-detail > div { min-width:0; }
  #choker-main-image { height:clamp(180px,32dvh,280px); }
  #choker-detail dl { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); font-size:16px; gap:8px 12px; }
  #choker-detail dd { overflow-wrap:anywhere; }
  #choker-request input,#choker-request textarea { font-size:16px; }
  #choker-request input { height:48px; }
  #choker-request form { grid-template-columns:minmax(0,1fr); gap:10px; }
  #choker-request label { margin:0; }
  .choker-primary { min-height:48px; font-size:16px; }
  #choker-length-help { margin:0 0 4px; font-size:14px; line-height:1.45; }
  .admin-header .header-actions { display:flex; flex-wrap:wrap; gap:8px; }
  .admin-header .header-actions a,.admin-header .header-actions button { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
  #product-dialog .dialog-shell { padding:22px 16px 18px; }
  #product-dialog h2 { padding-right:36px; font-size:30px; margin-bottom:18px; }
  #product-form > *,#product-form fieldset { min-width:0; max-width:100%; }
  #product-form input,#product-form select,#product-form textarea { font-size:16px; }
  #product-form label,#product-form legend { font-size:16px; }
  #product-form .image-item-actions button { min-height:44px; font-size:14px; }
  #product-form .image-upload { min-height:145px; padding:18px 12px; }
  #product-form .dialog-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #product-form .dialog-actions .button { min-width:0; min-height:48px; font-size:16px; padding:8px; }
}
