/* Public F3DP branding. Layout and behavior are shared with the Tools app. */
body:not(.tools-app) .converter-page {
  --app-ink: var(--ztc-text-text-5,#142637);
  --app-muted: var(--ztc-text-text-3,#525455);
  --app-orange: var(--ztc-bg-bg-3,#ffd028);
  --app-line: var(--ztc-border-border-2,#dfdcdc);
  --app-soft: #fff8dc;
  --app-surface: #fff;
  --app-background: var(--ztc-bg-bg-1,#f3f5f7);
  border-radius: 4px;
  box-shadow: none;
  font-family: var(--ztc-family-font1,'Figtree'),Arial,sans-serif;
}
body:not(.tools-app) .converter-page .app-button { border-radius: 4px; }
body:not(.tools-app) .converter-page .converter-primary { background: #ffd028; border-color: #ffd028; color: #142637; }
body:not(.tools-app) .converter-page .converter-primary:hover:not(:disabled) { background: #142637; border-color: #142637; color: #fff; }
body:not(.tools-app) .converter-view { --app-surface:#1a2035; --app-background:#0b0f1a; --app-ink:#f2f5ff; --app-line:#2a2f45; --app-muted:#a8b4c8; --app-soft:#332e1a; border-radius:4px; color-scheme:dark; }
body:not(.tools-app) .converter-tabs [aria-pressed="true"] { background:#ffd028; border-color:#ffd028; color:#142637; }
.converter-public-header h1 { color: var(--ztc-text-text-5,#142637); font-family:var(--ztc-family-font1,'Figtree'),Arial,sans-serif; }

/* Approved public layout: model preview and conversion panel. */
body:not(.tools-app) .converter-page.converter-studio { max-width:1200px; display:grid; grid-template-columns:minmax(0,1fr) 350px; grid-template-rows:auto 1fr; background:#fff; border-color:#e1e6ec; }
.converter-studio .converter-upload { grid-column:2; grid-row:1; flex-direction:column; align-items:stretch; justify-content:flex-start; padding:24px; gap:16px; border-left:1px solid #e1e6ec; }
.converter-studio .converter-upload::before { content:'Исходный файл'; color:#62707c; text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:1px; }
.converter-studio .converter-upload-icon { display:none !important; }
.converter-studio .converter-upload-copy strong { font-size:16px; line-height:1.45; }
.converter-studio .converter-upload .app-button { width:100%; }
.converter-studio[data-has-model="false"] .converter-upload { flex-direction:column; min-height:0; text-align:left; background:#fff; gap:16px; }
.converter-studio[data-has-model="false"] .converter-upload-copy strong { font-size:17px; }
.converter-studio[data-has-model="false"] .converter-upload::after { content:'После загрузки выберите формат. Размер и ориентацию можно оставить как в исходнике.'; font-size:13px; line-height:1.7; color:#62707c; }
.converter-studio .converter-model,.converter-studio[data-has-model="false"] .converter-model { display:block; grid-column:1; grid-row:1 / 3; padding:0; min-width:0; align-self:start; }
body:not(.tools-app) .converter-studio .converter-view { border:0; border-radius:0; }
.converter-studio .converter-canvas { height:490px; }
.converter-studio .converter-view::before { content:'3D-ПРЕВЬЮ'; position:absolute; top:24px; left:24px; color:#8792a4; font-size:11px; letter-spacing:1.4px; pointer-events:none; }
.converter-studio[data-result-state="current"] .converter-view::before,.converter-studio[data-result-state="stale"] .converter-view::before { display:none; }
.converter-studio .converter-view-toolbar { padding:16px; }
.converter-studio[data-has-model="false"] .converter-empty-art { display:block; position:absolute; width:92px; height:104px; color:#ffd028; opacity:.7; top:130px; left:calc(50% - 46px); }
.converter-studio[data-has-model="false"] .converter-empty { top:265px; font-size:15px; color:#b7c1d1; }
.converter-studio .converter-view-help { bottom:18px; font-size:11px; }
.converter-studio .converter-facts { padding:10px 24px; background:#f7f8fa; min-height:62px; }
.converter-studio[data-has-model="false"] .converter-facts { display:none; }
.converter-studio .converter-settings { grid-column:2; grid-row:2; padding:0 24px 24px; border-top:0; border-left:1px solid #e1e6ec; }
.converter-studio[data-has-model="false"] .converter-settings { padding:0 24px 24px; }
.converter-studio .converter-main-controls { grid-template-columns:minmax(0,1fr); gap:10px; }
.converter-studio .converter-main-controls > label { font-size:13px; }
.converter-studio .converter-main-controls select { min-height:46px; }
.converter-studio .converter-primary-action { margin-top:6px; }
.converter-studio .converter-primary-action .app-button { min-height:48px; }
.converter-studio .converter-warning { font-size:12px; line-height:1.7; margin-top:14px; }
.converter-studio .converter-advanced { padding-top:16px; margin-top:18px; border-top:1px solid #e1e6ec; }
.converter-studio .converter-result { padding:14px 12px; }
.converter-studio .converter-result h2 { font-size:15px; }
.converter-studio .converter-actions { gap:4px; }
.converter-studio .converter-result-details { line-height:1.6; }
@media (max-width:850px) {
 body:not(.tools-app) .converter-page.converter-studio { display:flex; flex-direction:column; max-width:600px; }
 .converter-studio .converter-upload { order:0; border:0; padding:20px; flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; }
 .converter-studio .converter-upload::before { flex-basis:100%; }
 .converter-studio .converter-upload-copy { flex:1; }
 .converter-studio .converter-upload .app-button { width:auto; }
 .converter-studio .converter-model { order:1; width:100%; align-self:stretch; }
 .converter-studio .converter-settings { order:2; border:0; padding:20px; }
 .converter-studio .converter-canvas { height:310px; }
 .converter-studio[data-has-model="false"] .converter-model { display:none; }
 .converter-studio[data-has-model="false"] .converter-settings { padding:0 20px 20px; }
}

/* Shared visual language with the public printing-cost calculator. */
.converter-public-workspace { background:var(--ztc-bg-bg-1,#f3f5f7); padding-bottom:80px; }
body:not(.tools-app) .converter-public-header { padding-top:160px !important; padding-bottom:44px; }
body:not(.tools-app) .converter-public-header h1 { font-size:44px !important; line-height:54px !important; }
body:not(.tools-app) .converter-public-header .heading4 p { max-width:880px; margin:18px auto 0; font-size:18px; line-height:1.5; }
body:not(.tools-app) .converter-page.converter-studio {
  width:calc(100% - 24px); max-width:1296px; margin:0 auto; border:0; border-radius:0;
  background:transparent; overflow:visible; grid-template-columns:minmax(0,1.45fr) minmax(350px,.8fr); grid-template-rows:auto auto 1fr; column-gap:24px;
}
.converter-studio .converter-workspace-bar { grid-column:1 / -1; grid-row:1; order:-1; justify-content:flex-end; padding:0 0 12px; border:0; background:transparent; }
.converter-studio .converter-workspace-bar > strong { display:none; }
body:not(.tools-app) #converterApp .converter-workspace-bar:not(:has(#converterFullscreen)) { display:none; }
.converter-studio .converter-upload { grid-row:2; }
.converter-studio .converter-settings { grid-row:3; }
.converter-studio::before {
  content:''; grid-column:2; grid-row:2 / 4; background:#fff; border:1px solid var(--ztc-border-border-1,#f0f0f0);
  border-radius:4px; box-shadow:0 18px 40px rgba(20,38,55,.08); pointer-events:none;
}
.converter-studio .converter-model,.converter-studio[data-has-model="false"] .converter-model {
  grid-row:2 / 4;
  border:1px solid var(--ztc-border-border-1,#f0f0f0); border-radius:4px; overflow:hidden;
  box-shadow:0 18px 40px rgba(20,38,55,.08); background:#fff;
}
.converter-studio .converter-upload,.converter-studio .converter-settings { position:relative; z-index:1; border:0; background:transparent; }
.converter-studio .converter-upload,.converter-studio[data-has-model="false"] .converter-upload { padding:32px 32px 24px; background:transparent; }
.converter-studio .converter-upload::before {
  color:var(--app-ink); font-size:24px; line-height:1.25; font-weight:700; letter-spacing:0; text-transform:none;
  padding-bottom:18px; margin-bottom:8px; border-bottom:1px solid var(--ztc-border-border-1,#f0f0f0);
}
.converter-studio .converter-upload-copy strong { font-size:16px; font-weight:600; }
.converter-studio .converter-upload-copy p { font-size:13px; }
.converter-studio .converter-upload::after { color:var(--app-muted) !important; font-size:14px !important; }
.converter-studio .converter-settings,.converter-studio[data-has-model="false"] .converter-settings { padding:0 32px 32px; }
.converter-studio .converter-facts { background:#fff; padding:12px 24px; font-size:13px; }
.converter-studio .converter-settings label { font-size:14px; font-weight:700; gap:8px; }
.converter-studio .converter-settings :is(select,input[type="number"]) {
  background:var(--app-background); border:1px solid var(--app-line); border-radius:4px; min-height:48px;
  font-size:16px; font-weight:500; padding:12px; transition:border-color .2s,box-shadow .2s,background .2s;
}
.converter-studio .converter-settings .converter-main-controls select { min-height:62px; padding:16px; font-size:18px; }
.converter-studio .converter-settings :is(select,input[type="number"]):focus {
  outline:0; border-color:#ffd028; box-shadow:0 0 0 4px rgba(255,208,40,.24); background:#fff;
}
body:not(.tools-app) .converter-studio .app-button { font-size:14px; font-weight:700; min-height:44px; border-color:#dce1e6; border-radius:6px; }
body:not(.tools-app) .converter-studio .converter-primary { min-height:52px; font-size:16px; border-radius:4px; border-color:#ffd028; }
.converter-studio :is(button,a,summary):focus-visible { outline:2px solid #ffd028; outline-offset:3px; }
.converter-studio .converter-settings :is(.converter-adjust,.converter-turn,.converter-presets button) { min-height:42px; font-size:13px; font-weight:600; border-radius:4px; }
.converter-studio .converter-settings :is(.converter-adjust,.converter-turn,.converter-presets button):hover:not(:disabled) { background:#fff8dc; border-color:#ffd028; }
.converter-studio .converter-warning,.converter-studio .converter-hint { font-size:13px; line-height:1.6; }
.converter-studio .converter-advanced { border-color:var(--ztc-border-border-1,#f0f0f0); }
.converter-studio .converter-advanced-open {
  width:100%; min-height:44px; padding:10px 12px; border:1px solid #dce1e6; border-radius:6px;
  color:var(--app-ink); font-size:14px; font-weight:700; background:#fff;
}
.converter-studio .converter-advanced-open:hover { background:#fff8dc; border-color:#ffd028; }
.converter-studio #converterAdvancedMark { font-weight:400; font-size:12px; color:var(--app-muted); }
.converter-studio .converter-result { background:var(--app-background); border-color:var(--ztc-border-border-1,#f0f0f0); padding:18px 16px; }
.converter-studio .converter-result h2 { font-size:20px; line-height:1.3; }
.converter-studio .converter-result p { font-size:13px; line-height:1.6; }
.converter-studio .converter-actions .app-button { background:transparent; font-size:13px; padding:8px 0; }
body:not(.tools-app) .converter-reference { background:var(--ztc-bg-bg-1,#f3f5f7); padding-top:0; }
body:not(.tools-app) .converter-reference article {
  background:#fff; border:1px solid var(--ztc-border-border-1,#f0f0f0); border-radius:4px;
  box-shadow:0 18px 40px rgba(20,38,55,.08); padding:40px;
}
body:not(.tools-app) .converter-reference article h2 { color:var(--app-ink,#142637); font-size:24px; line-height:1.25; }
body:not(.tools-app) .converter-reference article h2:first-child { margin-top:0; }
@media (max-width:1399px) { body:not(.tools-app) .converter-page.converter-studio { max-width:1116px; } }
@media (max-width:1199px) { body:not(.tools-app) .converter-page.converter-studio { max-width:936px; grid-template-columns:minmax(0,1fr) 350px; } }
@media (max-width:991px) {
  body:not(.tools-app) .converter-page.converter-studio { max-width:696px; display:flex; flex-direction:column; gap:0; border:1px solid #f0f0f0; border-radius:4px; background:#fff; box-shadow:0 18px 40px rgba(20,38,55,.08); overflow:hidden; }
  .converter-studio::before { display:none; }
  .converter-studio .converter-workspace-bar { padding:12px 22px; border-bottom:1px solid #f0f0f0; }
  .converter-studio .converter-upload { order:0; flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; }
  .converter-studio .converter-upload::before { flex-basis:100%; }
  .converter-studio .converter-upload-copy { flex:1; }
  .converter-studio .converter-upload .app-button { width:auto; }
  .converter-studio .converter-model { order:1; width:100%; align-self:stretch; border:0; border-radius:0; box-shadow:none; }
  .converter-studio .converter-canvas { height:340px; }
  .converter-studio .converter-settings { order:2; padding-top:24px; }
  .converter-studio[data-has-model="false"] .converter-model { display:none; }
}
@media (max-width:767px) {
  body:not(.tools-app) .converter-page.converter-studio { max-width:516px; }
  body:not(.tools-app) .converter-public-header { padding-top:120px !important; padding-bottom:32px; }
  body:not(.tools-app) .converter-public-header h1 { font-size:32px !important; line-height:1.2 !important; }
  body:not(.tools-app) .converter-public-header .heading4 p { font-size:16px; }
  .converter-studio .converter-upload,.converter-studio[data-has-model="false"] .converter-upload { padding:22px; }
  .converter-studio .converter-upload::before { font-size:21px; }
  .converter-studio .converter-settings,.converter-studio[data-has-model="false"] .converter-settings { padding:0 22px 22px; }
  .converter-studio .converter-settings .converter-main-controls select { min-height:52px; font-size:16px; }
  .converter-studio .converter-facts { padding:10px 22px; }
  .converter-studio .converter-canvas { height:310px; }
  .converter-studio .converter-view-toolbar { padding:10px; }
  .converter-public-workspace { padding-bottom:40px; }
  body:not(.tools-app) .converter-reference article { padding:24px; }
}
@media (max-width:575px) { body:not(.tools-app) .converter-page.converter-studio { max-width:none; } }
