/* Food-specific bindings on the original studio geometry, after production.css. */
.food-studio-fidelity .studio-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-6);
}
.food-studio-fidelity .studio-heading p {
  font-size: var(--text-small);
  color: var(--color-muted);
}
.food-studio-fidelity .workspace.studio-workspace {
  --studio-preview-height: 430px;
  display: grid !important;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.2fr) !important;
  gap: var(--space-6) !important;
  align-items: start;
}
.food-studio-fidelity .studio-workspace .panel {
  padding: var(--space-8);
  margin-bottom: var(--space-5);
  border: 0;
  border-radius: var(--radius-card);
  background: var(--color-bg);
  box-shadow: var(--user-card-shadow);
}
.food-studio-fidelity .studio-workspace .paneltitle {
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.food-studio-fidelity .studio-workspace .paneltitle h2 {
  font-size: var(--text-section);
  line-height: 1.4;
  margin: 0;
  letter-spacing: normal;
}
.food-studio-fidelity .studio-workspace .note,
.food-studio-fidelity .studio-workspace .muted {
  font-size: var(--text-small);
  color: var(--color-muted);
}
.food-studio-fidelity .single-image-upload .gown-main-slot .upload {
  height: 360px;
  min-height: 280px;
  flex: auto;
  gap: var(--space-1);
  padding: var(--space-6);
  border-radius: var(--radius-control);
  background: var(--color-surface);
}
.food-studio-fidelity .upload strong { font-size: var(--text-small); }
.food-studio-fidelity .upload .ui-icon {
  width: 28px;
  height: 28px;
  margin: 0 0 var(--space-3);
  color: var(--color-primary);
}
.food-studio-fidelity .upload .note {
  line-height: 1.7;
  margin-top: var(--space-3);
}
.food-studio-fidelity .upload.has-image { padding: var(--space-2); }
.food-studio-fidelity .upload.has-image > img {
  position: absolute;
  inset: 7px;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  object-fit: contain;
}
.food-studio-fidelity .image-slot-meta { justify-content: flex-end; }
.food-studio-fidelity .studio-settings .subheading {
  margin: var(--space-5) 0 var(--space-3);
}
.food-studio-fidelity .studio-settings .subheading h3 {
  font-size: var(--text-body);
  line-height: 1.6;
  margin: 0;
}
.food-studio-fidelity .choices { gap: var(--space-3); }
.food-studio-fidelity .choices .choice {
  padding: 0;
  border: 0;
  border-radius: var(--radius-control);
  background: var(--color-surface);
  text-align: left;
}
.food-studio-fidelity .choice.selected { background: var(--color-primary-soft); }
.food-studio-fidelity .choice .caption {
  padding: var(--space-2);
  font-size: var(--text-small);
  line-height: 1.45;
}
.food-studio-fidelity .model-choices .choice img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center top;
  background: var(--color-surface);
}
.food-studio-fidelity .scene-choices .choice img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.food-studio-fidelity .angle-options { gap: 10px; }
.food-studio-fidelity .angle-options .pose-option {
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  background: var(--color-surface);
}
.food-studio-fidelity .angle-options .pose-option.selected {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
  color: var(--color-primary);
}
.food-studio-fidelity .ratio-options {
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: var(--space-2);
}
.food-studio-fidelity .ratio-option {
  display: flex;
  flex-direction: row;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-1);
  min-height: 44px;
}
.food-studio-fidelity .ratio-option strong { font-size: var(--text-small); font-weight: 500; }
.food-studio-fidelity .studio-preview-panel { padding: var(--space-8) !important; }
.food-studio-fidelity .studio-preview-panel .paneltitle { margin-bottom: var(--space-3); }
.food-studio-fidelity .preview-tools { justify-content: flex-end; margin-bottom: var(--space-3); }
.food-studio-fidelity .preview-tools button {
  padding: var(--space-2) var(--space-3);
  min-height: 44px;
  font-size: var(--text-small);
  line-height: 1.5;
  color: var(--color-primary-hover);
  border: 0;
}
.food-studio-fidelity .preview-tools button:first-child:not(:last-child) { margin-right: auto; }
.food-studio-fidelity .image-stage.full-view {
  height: var(--studio-preview-height);
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  padding: var(--space-3);
  border: 0;
  border-radius: var(--radius-control);
  background: var(--color-surface);
}
.food-studio-fidelity .image-stage.full-view > img {
  position: static;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.food-studio-fidelity .template-preview-empty { font-size: var(--text-body); }
.food-studio-fidelity .preview-note {
  font-size: var(--text-small);
  color: var(--color-muted);
  line-height: 1.6;
  margin: var(--space-3) 0 0;
}
.food-studio-fidelity .studio-generation {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0;
}
.food-studio-fidelity .studio-generation .generate {
  display: flex;
  justify-content: flex-end;
  gap: 0;
  margin: 0;
  padding: var(--space-3) 0 0;
  border: 0;
}
.food-studio-fidelity .studio-generation .generate > .primary {
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 48px;
  padding: var(--space-3) var(--space-6);
  margin: 0;
  font-size: var(--text-body);
}
.food-studio-fidelity .demo-options { border: 0; padding: 0; margin: var(--space-3) 0 0; }
.food-studio-fidelity .photo-result-actions { margin-top: var(--space-3); }
.food-studio-fidelity .photo-result-actions button { font-size: var(--text-small); }
.food-studio-fidelity .photo-comparison {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.food-studio-fidelity .photo-comparison figure { margin: 0; min-width: 0; }
.food-studio-fidelity .photo-comparison-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 240px;
  min-width: 0;
  padding: var(--space-2);
  border: 0;
  border-radius: var(--radius-control);
  background: var(--color-surface);
  cursor: zoom-in;
}
.food-studio-fidelity .photo-comparison-preview img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.food-studio-fidelity .photo-comparison figcaption { color: var(--color-muted); font-size: var(--text-small); line-height: 1.6; padding: var(--space-2) 0; }
.food-studio-fidelity .photo-comparison-preview:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.food-studio-fidelity .photo-progress {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  background: #F5F5F7F2;
  border-radius: inherit;
  text-align: center;
  font-size: var(--text-small);
}
.food-studio-fidelity .photo-progress .ui-icon { color: var(--color-primary); animation: photo-spin 1.2s linear infinite; }
.food-studio-fidelity .photo-error { margin-top: var(--space-3); padding: var(--space-4); background: #FFF4F4; border-radius: var(--radius-control); color: #B42318; font-size: var(--text-small); line-height: 1.7; overflow-wrap: anywhere; }
.food-studio-fidelity .photo-error button { margin-top: var(--space-2); }
@keyframes photo-spin { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .food-studio-fidelity .photo-progress .ui-icon { animation: none; } }
@media(min-width:1450px) {
  .food-studio-fidelity .workspace.studio-workspace {
    --studio-preview-height: 500px;
    grid-template-columns: minmax(0,1fr) minmax(0,1.22fr) !important;
    gap: var(--space-8) !important;
  }
  .food-studio-fidelity .studio-workspace .panel { padding: var(--space-6); }
  .food-studio-fidelity .studio-preview-panel { padding: var(--space-6) !important; }
}
@media(max-width:1150px) and (min-width:1024px) {
  .food-studio-fidelity .workspace.studio-workspace {
    grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) !important;
    gap: var(--space-4) !important;
  }
  .food-studio-fidelity .studio-workspace .panel { padding: var(--space-6); }
  .food-studio-fidelity .studio-preview-panel { padding: var(--space-6) !important; }
}
@media(min-width:1024px) and (max-width:1199px) {
  .food-studio-fidelity .choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .food-studio-fidelity .ratio-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:1023px) {
  .food-studio-fidelity .workspace.studio-workspace {
    --studio-preview-height: 560px;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0 !important;
  }
}
@media(max-width:767px) {
  .food-studio-fidelity .photo-comparison { grid-template-columns: minmax(0,1fr); }
  .food-studio-fidelity .photo-comparison-preview { height: 300px; }
  .food-studio-fidelity .workspace.studio-workspace { --studio-preview-height: 480px; }
  .food-studio-fidelity .studio-heading { margin-bottom: var(--space-5); gap: var(--space-3); }
  .food-studio-fidelity .studio-workspace .panel {
    padding: var(--space-6);
    margin-bottom: var(--space-4);
  }
  .food-studio-fidelity .studio-preview-panel { padding: var(--space-6) !important; }
  .food-studio-fidelity .single-image-upload .gown-main-slot .upload { height: 280px; min-height: 240px; }
  .food-studio-fidelity .choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .food-studio-fidelity .ratio-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .food-studio-fidelity .image-slot-meta > div { flex-direction: row; }
  .food-studio-fidelity .image-slot-meta button { width: auto; }
  .food-studio-fidelity .studio-generation .generate {
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 5;
    display: flex !important;
    margin: 0;
    padding: var(--space-4) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom)) !important;
    background: var(--color-bg);
    border-top: 1px solid var(--color-border) !important;
    box-shadow: 0 -4px 20px #1D1D1F0A;
    backdrop-filter: none;
  }
  .food-studio-fidelity .studio-generation .generate > .primary { padding: var(--space-3); white-space: normal; }
}
@media(max-width:380px) {
  .food-studio-fidelity .workspace.studio-workspace { --studio-preview-height: 420px; }
}
