/* ADE Fabrikas: public order page (2nd stage design, docs/2-etapas/prototipas.html).
   Light grey paper, white cards, ink text, steel secondary text; red is used
   ONLY for actions (buttons, selected state, focus) and prices, never as a
   section background. No external fonts (CSP self-only). */
:root{
  --paper:#ECEEF0; --card:#FFFFFF; --ink:#20252B; --steel:#5E6873; --line:#D3D8DC;
  --red:#E1222B; --red-dark:#B9161E; --red-soft:#FCE9EA; --ok:#1F7A4D;
  --mark:#A9B0B7;
  --font-sans:"Archivo","Helvetica Neue",Arial,system-ui,sans-serif;
  --font-condensed:"Archivo Narrow","Arial Narrow","Helvetica Neue",Arial,system-ui,sans-serif;
  --font-mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;letter-spacing:-.01em}
button,input,select,textarea{font:inherit;color:inherit}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.skip{position:absolute;left:8px;top:-60px;background:var(--card);padding:10px 14px;border-radius:4px;z-index:50}
.skip:focus{top:8px}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.small{font-size:13.5px;color:var(--steel)}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.top-in{max-width:1240px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand b{display:block;font-weight:800;font-size:19px;letter-spacing:-.01em;line-height:1.1}
.brand small{display:block;font-size:12px;color:var(--steel);line-height:1.2}
nav.main{margin-left:auto;display:flex;gap:20px;font-size:15px}
nav.main a{text-decoration:none;color:var(--steel)}
nav.main a:hover{color:var(--ink)}
.hd-right{display:flex;align-items:center;gap:10px}
.langs{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--card)}
.langs button{background:transparent;border:0;color:var(--steel);font-weight:700;font-size:13px;padding:8px 12px;cursor:pointer;min-height:36px}
.langs button[aria-pressed="true"]{background:var(--ink);color:#fff}
@media (max-width:980px){nav.main{display:none}.hd-right{margin-left:auto}}
@media (max-width:560px){.top-in{gap:8px;padding:8px 16px}.brand small{display:none}.langs button{padding:7px 9px;font-size:12px}}

/* ---------- hero ---------- */
.hero{padding-top:44px;padding-bottom:28px}
.hero h1{font-weight:800;font-size:clamp(32px,5.6vw,64px);line-height:1;letter-spacing:-.02em;max-width:15ch}
.hero p{max-width:62ch;color:var(--steel);font-size:18px;margin:18px 0 0}
.facts{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-size:15px}
.facts span::before{content:"";display:inline-block;width:8px;height:8px;background:var(--ink);margin-right:8px;vertical-align:1px}
@media (max-width:560px){.hero{padding-top:28px}.hero p{font-size:16px}.facts{flex-direction:column;gap:6px}}

/* ---------- configurator ---------- */
.config{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:28px;align-items:start;padding-bottom:56px}
@media (max-width:980px){.config{grid-template-columns:minmax(0,1fr)}}
.step{margin-bottom:34px}
.step>h2{display:flex;align-items:baseline;gap:12px;font-weight:800;font-size:24px;margin:0 0 4px}
.step>h2 b{color:var(--steel);font-size:14px;font-weight:700}
.hint{color:var(--steel);margin:0 0 14px;font-size:15px}
.group-title{font-weight:700;font-size:15px;margin:18px 0 10px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.group-title em{font-style:normal;font-weight:500;color:var(--steel);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
@media (max-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.p-card{position:relative;display:flex;flex-direction:column;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:0;cursor:pointer;color:var(--ink);overflow:hidden;min-height:100%}
.p-card:hover{border-color:var(--steel)}
.p-card[aria-pressed="true"]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.p-card .ph{aspect-ratio:3/2;background:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden}
.p-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.p-card .ph svg{width:34px;height:34px;stroke:var(--steel);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.p-card[aria-pressed="true"] .ph svg{stroke:var(--red)}
.p-card .tx{padding:11px 12px 12px}
.p-card .t{display:block;font-weight:700;font-size:16px;line-height:1.2}
.p-card small{display:block;font-size:13px;color:var(--steel);margin-top:3px;line-height:1.35}
.p-card .new{position:absolute;top:8px;left:8px;background:var(--card);color:var(--ink);font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:3px;border:1px solid var(--line)}
.p-card .from{display:block;font-size:13px;font-weight:700;color:var(--red);margin-top:6px}
@media (max-width:560px){.p-card .t{font-size:14.5px}.p-card small{font-size:12px}.p-card .tx{padding:9px 10px 10px}}

.panel{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:20px}
@media (max-width:560px){.panel{padding:16px}}
.prod-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.prod-head img{width:96px;height:64px;object-fit:cover;border-radius:4px;flex:none}
.prod-head b{display:block;font-size:18px}
.prod-head span{color:var(--steel);font-size:14px}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 18px}
.field{display:block;min-width:0}
.field.wide{grid-column:1/-1}
.lbl{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.lbl .sub,.sub{font-weight:400;color:var(--steel)}
input[type=number],input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:16px;min-height:44px}
textarea{min-height:84px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red);background:#fff}
input[type=file]{max-width:100%;font-size:14px}
fieldset.optgroup{border:0;padding:0;margin:16px 0 0;min-width:0}
fieldset.optgroup legend{padding:0;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 14px;cursor:pointer;min-height:40px;line-height:1.25}
.chip:hover{border-color:var(--steel)}
label.chip{position:relative}
label.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
label.chip:has(input:checked){background:var(--ink);color:#fff;border-color:var(--ink)}
label.chip:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}
label.chip.disabled{opacity:.45;cursor:not-allowed}
.chip .pr{font-size:12.5px;opacity:.85;font-weight:600}
#presets{margin-bottom:14px}
#presets .chip{font-family:var(--font-mono);font-size:13px;min-height:36px;padding:6px 12px}
.toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:15px;padding:10px 0;border-top:1px dashed var(--line);margin-top:12px}
.toggle input{width:20px;height:20px;margin-top:1px;accent-color:var(--ink);flex:none}
.toggle small{display:block;color:var(--steel);font-size:13.5px}
.toggle .pr{font-weight:700;font-size:14px;color:var(--steel)}
.note{margin:14px 0 0;padding:12px 14px;background:var(--paper);border-left:3px solid var(--ink);border-radius:4px;font-size:14px}
#opts .optgroup:first-child{margin-top:4px}

.size-grid{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:18px;align-items:start}
.size-main{min-width:0}
.size-grid:has(> .preview.hidden){grid-template-columns:minmax(0,1fr)}
@media (max-width:640px){.size-grid{grid-template-columns:minmax(0,1fr)}.preview{max-width:280px;width:100%;margin:0 auto}}
.size-grid .fields{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.preview{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px;display:flex;flex-direction:column;gap:6px}
.preview svg{width:100%;height:auto;display:block}
.preview .cap{font-size:12px;color:var(--steel);text-align:center}

.drop{border:2px dashed var(--line);border-radius:6px;padding:22px;text-align:center;color:var(--steel);cursor:pointer;margin-top:16px}
.drop.on{border-color:var(--red);color:var(--ink)}
.drop strong{color:var(--ink)}
.drop p{margin:0}
.drop .small{margin-top:4px}
.files{list-style:none;padding:0;margin:10px 0 0;font-size:14px}
.files li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);min-width:0}
.files li span:first-child{overflow-wrap:anywhere;min-width:0}
.files button{border:0;background:none;color:var(--red);cursor:pointer;font-weight:700;min-width:32px;min-height:32px}

/* ---------- ticket = cart ---------- */
.ticket{position:sticky;top:80px;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden}
@media (max-width:980px){.ticket{position:static}}
.ticket .band{background:var(--ink);color:#fff;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.ticket .band h2{font-size:15px;font-weight:700}
.ticket .band .mono{font-size:12px;color:#C9CED3}
.t-body{padding:18px;position:relative}
.reg-mark{position:absolute;width:14px;height:14px;top:8px}
.reg-mark::before,.reg-mark::after{content:"";position:absolute;background:var(--mark)}
.reg-mark::before{left:6px;top:0;width:1.5px;height:14px}
.reg-mark::after{top:6px;left:0;height:1.5px;width:14px}
.reg-mark.tl{left:8px}.reg-mark.tr{right:8px}
#tTitle{font-size:20px;font-weight:800;margin:6px 0 2px;padding-right:20px}
.spec{color:var(--steel);font-size:14px;margin:0 0 10px;overflow-wrap:anywhere}
.line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.line>span{min-width:0;overflow-wrap:anywhere}
.line .v{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;flex:none;max-width:55%;overflow:hidden;text-overflow:ellipsis}
.line.dim{color:var(--steel)}
.line.disc .v{color:var(--ok)}
.pos-total{display:flex;flex-direction:column;gap:2px;padding-top:12px}
.kind{font-size:13px;font-weight:700;color:var(--steel)}
.price{font-weight:800;font-size:34px;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--red)}
.vat{color:var(--steel);font-size:14px}
.btn{display:block;width:100%;font-weight:700;font-size:16px;background:var(--red);color:#fff;border:0;border-radius:4px;padding:13px 14px;cursor:pointer;margin-top:12px;min-height:48px;text-align:center}
.btn:hover{background:var(--red-dark)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--steel);background:var(--paper)}
.cart-add-row{display:flex;flex-direction:column}
.cut{border-top:2px dashed var(--line);margin:18px -18px 14px;position:relative}
.cut::before,.cut::after{content:"";position:absolute;top:-11px;width:20px;height:20px;background:var(--paper);border-radius:50%}
.cut::before{left:-11px}.cut::after{right:-11px}
.cart-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cart-head h3{font-size:16px;font-weight:800}
.cart-head .mono{font-size:12px;color:var(--steel)}
.cart-empty{margin:8px 0}
.cart-list{list-style:none;margin:8px 0 0;padding:0}
.cart-item{border:1px solid var(--line);border-radius:4px;padding:10px 12px;margin-bottom:8px}
.cart-item.editing{border-color:var(--red)}
.cart-item-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.cart-item-head b{min-width:0;overflow-wrap:anywhere}
.cart-item-head .price{font-size:15px;white-space:nowrap}
.cart-item-meta{font-size:13px;color:var(--steel);margin-top:3px;overflow-wrap:anywhere}
.cart-item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cart-item-actions button{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-size:13px;cursor:pointer;min-height:34px}
.cart-item-actions button:hover{border-color:var(--steel)}
#cartTotals .line{font-size:14px}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:10px}
.total span{font-weight:700}
.total b{font-size:26px;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap}
.fee-waived{color:var(--ok);font-weight:700}
.msg{font-size:14px;margin-top:10px;min-height:0}
.msg:empty{display:none}
.msg.ok{color:var(--ok);font-weight:600}
.msg.err{color:var(--red-dark);font-weight:600}

/* ---------- info sections ---------- */
section.info{padding:52px 0;border-top:1px solid var(--line)}
section.info h2{font-weight:800;font-size:clamp(26px,3.4vw,36px);letter-spacing:-.015em;margin:0 0 14px;max-width:24ch}
.lead{max-width:66ch;color:var(--steel)}
.scroll{overflow-x:auto;max-width:100%}
.rates{width:100%;max-width:560px;border-collapse:collapse;font-size:15px;margin-top:16px;background:var(--card);border-radius:6px;overflow:hidden}
.rates th,.rates td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
.rates th{font-size:14px;color:var(--steel);font-weight:600}
.rates th:last-child{text-align:right}
.rates td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:26px}
.cols h3{font-size:17px;margin:0 0 6px}
.cols p{margin:0;color:var(--steel);max-width:60ch}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:20px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.svc img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.svc .tx{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.svc h3{font-size:17px}
.svc p{margin:0;color:var(--steel);font-size:15px;flex:1}
.svc .btn{margin-top:8px}
.svc-form{margin-top:18px;max-width:820px}
.svc-form h3{font-size:18px;margin-bottom:12px}
.works{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:18px}
.work{margin:0;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.work img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.work figcaption{padding:10px 12px;font-size:14px;color:var(--steel)}
.banners{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:18px}
@media (min-width:760px){.banners{grid-template-columns:repeat(3,minmax(0,1fr))}}
.banner{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px;text-decoration:none;color:var(--ink);min-width:0}
.banner:hover{border-color:var(--steel)}
.banner img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;display:block}
.banner .tx{display:block;min-width:0;color:var(--ink)}
.banner .tx b{display:block;font-size:17px;overflow-wrap:anywhere}
.banner .tx span{display:block;color:var(--steel);font-size:14px;overflow-wrap:anywhere}
.banner .go{margin-top:auto;font-weight:700;color:var(--red)}

/* ---------- mobile sticky bar ---------- */
.mbar{display:none}
@media (max-width:980px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:12px;align-items:center;justify-content:space-between;background:var(--card);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(32,37,43,.08)}
  .mbar-sum{display:flex;flex-direction:column;min-width:0}
  .mbar-sum b{font-size:20px;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap}
  .mbar .btn{width:auto;margin:0;padding:11px 16px;min-height:44px;flex:none;font-size:15px}
  body{padding-bottom:78px}
}

/* ---------- footer ---------- */
.site-footer{background:var(--card);color:var(--steel);border-top:1px solid var(--line)}
.sf-in{max-width:1240px;margin:0 auto;padding:28px 20px 36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;font-size:14px;line-height:1.6}
@media(max-width:760px){.sf-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sf-in{grid-template-columns:minmax(0,1fr);text-align:left}}
.sf-col{display:flex;flex-direction:column;gap:2px;min-width:0;word-break:break-word}
.sf-col b{color:var(--ink);font-size:15px}
.sf-col a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.sf-links{flex-direction:row;gap:14px;align-items:flex-start;flex-wrap:wrap}
.contact-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.25rem;min-width:0}
.contact-label{white-space:nowrap}
.contact-value{min-width:0;word-break:break-word}
