/* Страница «3D-печать на заказ» (template-print-service.php). База и токены — studio-home-v8.css (--dz-paper, --dz-ink, --dz-muted, --dz-line). */
.dz-svc{--svc-accent:#596d44;--svc-sage:#e7eadd;--svc-card:#fffefb}
.dz-svc [hidden]{display:none!important}
.dz-svc .dz-main h2{font-size:clamp(28px,3.2vw,40px);font-weight:500;letter-spacing:-.025em;line-height:1.1}
.dz-svc a:not(.dz-button){color:var(--dz-ink)}

/* первый экран */
.dz-svc .svc-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center;padding:40px 0 72px}
.dz-svc .svc-crumbs{font-size:12px;color:var(--dz-muted);margin-bottom:26px}
.dz-svc .svc-crumbs a{color:var(--dz-muted)!important;text-decoration:none}
.dz-svc .svc-hero h1{font-size:clamp(40px,5vw,66px);font-weight:600;letter-spacing:-.035em;line-height:1.02}
.dz-svc .svc-hero-copy>p{font-size:17px;line-height:1.65;color:var(--dz-muted);max-width:470px;margin-top:22px}
.dz-svc .svc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.dz-svc .svc-ghost{background:transparent;color:var(--dz-ink);border-color:#b9bcae}
.dz-svc .svc-ghost:hover{background:var(--svc-card);color:var(--dz-ink)}
.dz-svc .svc-min{font-size:13px!important;margin-top:16px!important}
.dz-svc .svc-hero-img img{width:100%;height:auto;display:block;border-radius:6px}
.dz-svc figcaption{font-size:11px;color:var(--dz-muted);margin-top:8px}

/* что печатаем */
.dz-svc .svc-what{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding:56px 0 88px;border-top:1px solid var(--dz-line)}
.dz-svc .svc-what img{width:100%;height:auto;display:block;border-radius:6px}
.dz-svc .svc-list{margin:26px 0 0}
.dz-svc .svc-list>div{padding:16px 0;border-bottom:1px solid var(--dz-line)}
.dz-svc .svc-list>div:first-child{border-top:1px solid var(--dz-line)}
.dz-svc .svc-list dt{font-size:17px;font-weight:500}
.dz-svc .svc-list dd{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--dz-muted)}
.dz-svc .svc-list dd a{border-bottom:1px solid #9aa08e;text-decoration:none}

/* калькулятор */
.dz-svc .svc-calc{background:var(--svc-sage);padding:72px 0 80px;scroll-margin-top:20px}
.dz-svc .svc-calc-head{max-width:640px;margin-bottom:36px}
.dz-svc .svc-calc-head p{font-size:15px;line-height:1.65;color:#4f5248;margin-top:14px}
.dz-svc .svc-calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.dz-svc .svc-calc-form{background:var(--svc-card);border:1px solid #d6d9cb;border-radius:8px;padding:26px 28px 30px;display:flex;flex-direction:column;gap:22px}
.dz-svc .svc-tabs{display:flex;gap:4px;padding:4px;background:#f0efe8;border-radius:6px;align-self:flex-start}
.dz-svc .svc-tabs button{font:inherit;font-size:14px;border:0;background:transparent;color:var(--dz-muted);padding:9px 16px;border-radius:4px;cursor:pointer}
.dz-svc .svc-tabs button[aria-selected=true]{background:#fff;color:var(--dz-ink);box-shadow:0 1px 2px rgba(36,38,32,.12)}
.dz-svc .svc-drop{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:28px 26px;border:1.5px dashed #b9bcae;border-radius:8px;cursor:pointer;transition:border-color .15s,background-color .15s}
.dz-svc .svc-drop:hover,.dz-svc .svc-drop.is-over{border-color:var(--svc-accent);background:#f6f7f0}
.dz-svc .svc-drop input{position:absolute;width:1px;height:1px;opacity:0}
.dz-svc .svc-drop:focus-within{outline:3px solid #596d4433;border-color:var(--svc-accent)}
.dz-svc .svc-drop strong{font-size:16px;font-weight:500}
.dz-svc .svc-drop span{font-size:13px;line-height:1.55;color:var(--dz-muted);max-width:520px}
.dz-svc .svc-model{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}
.dz-svc .svc-model canvas{width:100%;height:auto;aspect-ratio:3/2;background:#f3f2ec;border-radius:6px;display:block;cursor:grab;touch-action:none}
.dz-svc .svc-model-name{font-weight:500;word-break:break-all}
.dz-svc .svc-model-info dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 12px;font-size:14px}
.dz-svc .svc-model-info dt{color:var(--dz-muted)}
.dz-svc .svc-model-info dd{margin:0}
.dz-svc .svc-units{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--dz-muted);margin-bottom:10px}
.dz-svc select,.dz-svc .svc-calc input[type=number]{font:inherit;font-size:16px;color:var(--dz-ink);background:#fff;border:1px solid #cfd0c4;border-radius:4px;padding:9px 11px;margin:0;height:auto;box-shadow:none;width:100%}
.dz-svc .svc-calc input:focus,.dz-svc select:focus{outline:0;border-color:var(--svc-accent);box-shadow:0 0 0 3px #596d4426}
.dz-svc .svc-warn{font-size:13px;color:#8a5a12;background:#fbf3e3;border-radius:4px;padding:8px 10px;margin:0 0 10px}
.dz-svc .svc-error{font-size:14px;color:#9a3b22;margin:10px 0 0}
.dz-svc .svc-link{font:inherit;font-size:13px;background:none;border:0;padding:0;color:var(--dz-muted);border-bottom:1px solid #b9bcae;cursor:pointer}
.dz-svc .svc-dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dz-svc .svc-dims label,.dz-svc .svc-qty{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4a4d43}
.dz-svc .svc-qty{max-width:200px}
.dz-svc .svc-choice{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dz-svc .svc-choice legend{font-size:13px;color:#4a4d43;margin-bottom:8px;padding:0;width:100%}
.dz-svc .svc-choice label{position:relative;cursor:pointer;flex:1 1 150px;margin:0}
.dz-svc .svc-choice input{position:absolute;opacity:0;inset:0}
.dz-svc .svc-choice span{display:block;height:100%;border:1px solid #d6d9cb;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.45;color:var(--dz-muted);background:#fff;transition:border-color .15s,background-color .15s}
.dz-svc .svc-choice b{display:block;font-size:14px;font-weight:500;color:var(--dz-ink)}
.dz-svc .svc-choice input:checked+span{border-color:var(--dz-ink);box-shadow:inset 0 0 0 1px var(--dz-ink);background:#fbfbf7}
.dz-svc .svc-choice input:focus-visible+span{outline:3px solid #596d4455;outline-offset:2px}

.dz-svc .svc-result{position:sticky;top:24px;background:var(--dz-ink);color:#f4f3ee;border-radius:8px;padding:26px 24px}
.dz-svc .svc-res-label{font-size:12px;color:#b8bbaf}
.dz-svc .svc-res-price{font-size:34px;font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:6px 0 16px!important;font-variant-numeric:tabular-nums}
.dz-svc .svc-res-rows{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:0 0 16px;font-size:14px}
.dz-svc .svc-res-rows dt{color:#b8bbaf}
.dz-svc .svc-res-rows dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.dz-svc .svc-res-note{font-size:13px;line-height:1.55;color:#d9dbd2;margin-bottom:16px!important}
.dz-svc .svc-result .dz-button{width:100%;justify-content:center;background:#f4f3ee;color:var(--dz-ink);border-color:#f4f3ee}
.dz-svc .svc-result .dz-button:hover{background:#fff;color:var(--dz-ink)}
.dz-svc .svc-result .dz-button:disabled{opacity:.45;cursor:not-allowed}
.dz-svc .svc-res-small{font-size:12px;line-height:1.5;color:#9fa395;margin-top:14px!important}

/* материалы */
.dz-svc .svc-materials{padding:80px 0 20px}
.dz-svc .svc-table-wrap{overflow-x:auto;margin-top:26px}
.dz-svc .svc-table{width:100%;border-collapse:collapse;font-size:15px;min-width:620px}
.dz-svc .svc-table th,.dz-svc .svc-table td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--dz-line);vertical-align:top;background:none}
.dz-svc .svc-table thead th{font-size:12px;font-weight:400;color:var(--dz-muted)}
.dz-svc .svc-table tbody th{font-weight:500;font-size:16px}
.dz-svc .svc-table td:last-child{white-space:nowrap}
.dz-svc .svc-note{font-size:14px;line-height:1.65;color:var(--dz-muted);margin-top:18px;max-width:720px}
.dz-svc .svc-note a{border-bottom:1px solid #9aa08e;text-decoration:none}

/* шаги и вопросы */
.dz-svc .svc-steps{padding:64px 0 20px}
.dz-svc .svc-steps ol{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--dz-line)}
.dz-svc .svc-steps ol::before{content:none;display:none}
.dz-svc .svc-steps li{padding:20px 24px 0 0;font-size:14px;line-height:1.6;color:var(--dz-muted)}
.dz-svc .svc-steps li+li{padding-left:24px;border-left:1px solid var(--dz-line)}
.dz-svc .svc-steps b{display:block;font-size:17px;font-weight:500;color:var(--dz-ink);margin-bottom:6px}
.dz-svc .svc-faq{padding:72px 0 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px}
.dz-svc .svc-faq details{border-bottom:1px solid var(--dz-line)}
.dz-svc .svc-faq details:first-child{border-top:1px solid var(--dz-line)}
.dz-svc .svc-faq summary{cursor:pointer;list-style:none;padding:16px 32px 16px 0;font-size:16px;font-weight:500;position:relative}
.dz-svc .svc-faq summary::-webkit-details-marker{display:none}
.dz-svc .svc-faq summary::after{content:"";position:absolute;right:6px;top:22px;width:8px;height:8px;border-right:1.5px solid var(--dz-muted);border-bottom:1.5px solid var(--dz-muted);transform:rotate(45deg);transition:transform .2s}
.dz-svc .svc-faq details[open] summary::after{transform:rotate(225deg);top:26px}
.dz-svc .svc-faq details p{margin:0 0 18px;font-size:15px;line-height:1.65;color:#4a4d43;max-width:640px}
.dz-svc .svc-order{scroll-margin-top:20px}
.dz-svc .dz-lead-file input{font:inherit;font-size:14px;padding:10px;border:1px dashed #b9bcae;border-radius:4px;background:#fffefb;width:100%}
.dz-svc .dz-lead-file small{font-size:12px;color:var(--dz-muted)}

@media(max-width:1000px){
  .dz-svc .svc-hero,.dz-svc .svc-what{grid-template-columns:1fr;gap:32px}
  .dz-svc .svc-hero{padding-top:24px}
  .dz-svc .svc-calc-grid{grid-template-columns:1fr}
  .dz-svc .svc-result{position:static}
  .dz-svc .svc-steps ol{grid-template-columns:1fr 1fr;row-gap:24px}
  .dz-svc .svc-steps li:nth-child(3){padding-left:0;border-left:0}
  .dz-svc .svc-faq{grid-template-columns:1fr;gap:16px}
}
@media(max-width:640px){
  .dz-svc .svc-calc{padding:48px 0 56px}
  .dz-svc .svc-calc-form{padding:20px 16px 24px}
  .dz-svc .svc-model{grid-template-columns:1fr}
  .dz-svc .svc-dims{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .dz-svc .svc-steps ol{grid-template-columns:1fr}
  .dz-svc .svc-steps li,.dz-svc .svc-steps li+li{padding:16px 0 0;border-left:0}
  .dz-svc .svc-actions .dz-button{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.dz-svc *{transition:none!important}}
/* узкие экраны: fieldset и элементы сетки по умолчанию не сжимаются уже содержимого — вылезали за край */
.dz-svc .svc-calc-grid>*,.dz-svc .svc-choice,.dz-svc .svc-calc-form fieldset{min-width:0}
@media(max-width:640px){.dz-svc .svc-choice label{flex:1 1 calc(50% - 4px)}}
