/* Konfigurátor – farby a tvary preberá z webu (--fg, --mut, --line, --soft, --gold) */
.cfg{--r:18px;color:var(--fg)}
.cfg-load{display:grid;place-items:center;min-height:420px}
.cfg-spin{width:42px;height:42px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:cfgspin 1s linear infinite}
@keyframes cfgspin{to{transform:rotate(1turn)}}
.cfg-head h2{margin-bottom:6px}.cfg-head p{margin:0 0 22px}
.cfg-steps{list-style:none;display:flex;gap:6px;padding:4px 2px 12px;margin:0 0 18px;overflow-x:auto;scrollbar-width:thin;counter-reset:none}
.cfg-steps li{flex:0 0 auto}
.cfg-steps button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 14px 6px 6px;font:inherit;font-size:.9rem;font-weight:600;color:var(--fg);cursor:pointer;transition:border-color .2s,background .2s}
.cfg-steps button:hover:not(:disabled){border-color:var(--fg)}
.cfg-steps button:disabled{color:#a3a09a;cursor:default}
.cfg-steps .n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);font-size:.8rem}
.cfg-steps .done .n{background:var(--gold);color:#fff}
.cfg-steps [aria-current] {background:var(--fg);color:#fff;border-color:var(--fg)}
.cfg-steps [aria-current] .n{background:#fff;color:var(--fg)}
.cfg-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"panel stage";gap:26px;align-items:start}
.cfg-panel{grid-area:panel;background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 26px 22px;outline:none;min-height:540px;display:flex;flex-direction:column}
.cfg-stage{grid-area:stage;position:sticky;top:92px;height:min(76vh,700px);min-height:420px;border-radius:24px;overflow:hidden;background:#f1eee8;box-shadow:0 24px 60px rgba(0,0,0,.12)}
.cfg-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;touch-action:none;cursor:grab}
.cfg-canvas:active{cursor:grabbing}
.cfg-nogl{position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;color:var(--mut)}
.cfg-tools{position:absolute;left:12px;right:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px;z-index:2;pointer-events:none}
.cfg-tools>*{pointer-events:auto}
.tb{border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);border-radius:99px;padding:7px 13px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--fg)}
.tb:hover{background:#fff;border-color:var(--fg)}.tb[aria-pressed="true"]{background:var(--fg);color:#fff}
.tsep{width:1px;background:rgba(0,0,0,.12);margin:4px 2px}
.cfg-price{position:absolute;left:12px;bottom:12px;z-index:2;background:#fff;border:2px solid var(--gold);border-radius:18px;padding:9px 16px;box-shadow:0 10px 28px rgba(0,0,0,.14);display:grid;line-height:1.25;transition:opacity .2s}
.cfg-price span{font-size:.78rem;color:var(--mut);font-weight:600}
.cfg-price b{font-size:1.25rem}.cfg-price small{font-size:.8rem;font-weight:500;color:var(--mut)}
.cfg-price.busy{opacity:.7}
.cfg-kicker{margin:0 0 2px;font-size:.85rem;color:var(--gold);font-weight:700}
.cfg-panel h3{font-size:1.45rem;margin:0 0 6px}
.cfg-panel h4{margin:20px 0 8px;font-size:1rem}
.cfg-desc{margin:0 0 18px}
.cfg-hint{font-size:.92rem;margin:14px 0 0}
.cfg-notes{margin:14px 0 0;padding:12px 14px 12px 32px;background:#fbf6ee;border:1px solid #ecdcc0;border-radius:14px;font-size:.92rem;color:#5e4a2b}
.cfg-notes li+li{margin-top:4px}
.cfg-nav{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:24px}
.btn.acc{background:var(--gold);border-color:var(--gold)}
/* karty volieb */
.opts{display:grid;gap:10px}
.opts.six{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.opts.four{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.opts.three{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.opt{display:grid;justify-items:start;gap:4px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:14px;font:inherit;color:var(--fg);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.opt svg{width:44px;height:44px;color:var(--fg);margin-bottom:4px}
.opt b{font-size:1rem}.opt small{color:var(--mut);font-size:.84rem;line-height:1.35}
.opt:hover:not(:disabled){border-color:var(--fg);transform:translateY(-2px)}
.opt.on{border:2px solid var(--fg);padding:13px;background:var(--soft)}
.opt.on svg{color:var(--gold)}
.opt:disabled{opacity:.5;cursor:not-allowed}
.opt.h small{font-size:.8rem}
/* rozmery */
.dims{display:grid;gap:18px}
.dim{display:grid;grid-template-columns:72px 1fr 112px;grid-template-rows:auto auto;column-gap:14px;align-items:center}
.dim label{font-weight:700}.dim small{grid-column:2;color:var(--mut);font-size:.8rem}
.dim input[type=range]{width:100%;accent-color:var(--gold);height:28px}
.num{display:flex;align-items:center;border:1px solid #9b9b9b;border-radius:12px;padding:0 10px 0 0;background:#fff}
.num input{border:0;padding:10px 4px 10px 12px;width:100%;font:inherit;font-weight:700;border-radius:12px;-moz-appearance:textfield}
.num input::-webkit-inner-spin-button{opacity:1}
.num i{font-style:normal;color:var(--mut);font-size:.9rem}
/* dekory */
.seg{display:flex;background:var(--soft);border-radius:99px;padding:4px;gap:4px;margin-bottom:12px}
.seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;border-radius:99px;padding:9px 10px;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;color:var(--mut)}
.seg [aria-selected="true"]{background:#fff;color:var(--fg);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.seg .dot{width:20px;height:20px;border-radius:50%;background-size:cover;border:1px solid rgba(0,0,0,.15)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 13px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;color:var(--fg)}
.chip:hover:not(:disabled){border-color:var(--fg)}
.chip.on{background:var(--fg);color:#fff;border-color:var(--fg)}
.chip:disabled{opacity:.42;cursor:not-allowed;text-decoration:line-through}
.chips.big .chip{padding:9px 16px;font-size:.92rem}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;max-height:420px;overflow:auto;padding:4px 4px 6px 2px}
.swatches.dim{opacity:.45}
.sw{border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:var(--fg)}
.sw img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.08);transition:transform .2s}
.sw:hover img{transform:scale(1.04)}
.sw.on img{outline:3px solid var(--gold);outline-offset:2px}
.sw b{display:block;font-size:.8rem;margin-top:5px}.sw small{display:block;font-size:.74rem;color:var(--mut);line-height:1.25}
.cfg-sel{font-size:.9rem;margin:12px 0 0;font-weight:600;color:var(--fg)}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.92rem;margin:4px 0 6px}
.chk input{width:auto;margin-top:5px;accent-color:var(--gold)}
/* sekcie */
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0}
.row>span{font-weight:600;min-width:120px}.row small{color:var(--mut)}
.cnt{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:99px;padding:3px}
.cnt button{width:32px;height:32px;border-radius:50%;border:0;background:var(--soft);font-size:1.1rem;font-weight:700;cursor:pointer;color:var(--fg)}
.cnt button:hover:not(:disabled){background:var(--fg);color:#fff}.cnt button:disabled{opacity:.35;cursor:not-allowed}
.cnt output{min-width:28px;text-align:center;font-weight:700}
.secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:12px}
.sec{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff}
.sec .chips{margin:6px 0 4px}.sec .chip{font-size:.8rem;padding:5px 10px}
.sec .row>span{min-width:70px;font-size:.9rem}
.why{display:block;color:var(--mut);font-size:.78rem;margin-top:6px}
/* 3D krok a súhrn */
.big-tools{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.sum{display:grid;gap:0;margin:14px 0 0;border-top:1px solid var(--line)}
.sum>div{display:grid;grid-template-columns:120px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:baseline}
.sum dt{color:var(--mut);font-size:.88rem}.sum dd{margin:0;font-weight:600;font-size:.93rem}
.sum.compact>div{grid-template-columns:110px 1fr}
.link{border:0;background:none;color:var(--gold);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}
.bigprice{font-size:clamp(1.55rem,3vw,2.15rem);font-weight:700;letter-spacing:-.01em;margin:6px 0 12px;padding:18px 20px;border-radius:18px;background:var(--soft);border-left:5px solid var(--gold)}
.bigprice.sm{font-size:1.15rem;padding:12px 16px;margin:4px 0}
.bigprice.sm:empty{display:none}
.incl{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:6px}
.incl li{padding-left:26px;position:relative;font-size:.95rem}
.incl li:before{content:"";position:absolute;left:4px;top:.45em;width:11px;height:6px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
/* formulár */
.cfg-form{display:grid;gap:12px}
.cfg-form label{display:grid;gap:4px;font-weight:600;font-size:.93rem}
.cfg-form .chk{display:flex}
.cfg-form input,.cfg-form textarea{font:inherit;padding:11px 13px;border:1px solid #9b9b9b;border-radius:12px;width:100%}
.cfg-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fstat{margin:0;font-weight:600}
.okbox{padding:22px;border-radius:18px;background:#f3f8ef;border:1px solid #cfe2c0}
.okbox p{color:#2d4a1f;font-weight:600;margin:0 0 14px}
.hp{position:absolute;left:-9999px}
@media(max-width:960px){
  .cfg-body{grid-template-columns:1fr;grid-template-areas:"stage" "panel";gap:14px}
  .cfg-stage{top:calc(var(--hh,70px) + 6px);height:40vh;min-height:260px;z-index:5}
  .cfg[data-step="9"] .cfg-stage,.cfg-stage.static{position:relative;top:0}
  .cfg-panel{padding:20px 16px;min-height:0}
  .dim{grid-template-columns:62px 1fr 100px}
  .cfg-form .two{grid-template-columns:1fr}
  .tsep{display:none}
}
@media(max-width:480px){.tb{padding:6px 10px;font-size:.8rem}.cfg-price b{font-size:1.05rem}.sum>div{grid-template-columns:96px 1fr auto}}
/* ---- verzia 3: nápoveda 3D, príplatky, reálne dekory, mapa dvierok, sklo ---- */
.cfg-hint3d{position:absolute;left:50%;transform:translateX(-50%);top:58px;z-index:2;margin:0;max-width:min(92%,460px);text-align:center;background:rgba(22,22,22,.78);color:#fff;font-size:.84rem;font-weight:600;padding:8px 14px;border-radius:99px;pointer-events:none;transition:opacity .6s}
.cfg-stage.touched .cfg-hint3d{opacity:.0}
.cfg-price small{font-size:.72rem;color:var(--mut);font-weight:500}
.cfg-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:30;max-width:min(92vw,560px);background:#fff;border:2px solid var(--gold);border-radius:16px;padding:12px 16px;box-shadow:0 18px 50px rgba(0,0,0,.22);font-size:.92rem;line-height:1.4}
.cfg-toast[hidden]{display:none}
.delta{display:block;font-style:normal;font-size:.78rem;font-weight:700;color:var(--mut);margin-top:2px}
.delta.up{color:#8a5a14}.delta.down{color:#2d6a2d}
.chip .delta{display:inline;margin-left:4px}
.opts.two{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.opt.led b{font-size:.95rem}
.fld{display:grid;gap:4px;font-weight:600;font-size:.9rem;margin:10px 0}.fld input{font:inherit;padding:10px 12px;border:1px solid #9b9b9b;border-radius:12px}
.sw .ph{font-style:normal;color:var(--gold);font-size:.7rem}
.realbox{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}
.realbox h4{margin:0 0 10px}
.reals{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:8px}
.real{margin:0}.real img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.real img[data-big]{cursor:zoom-in}
.real figcaption{font-size:.82rem;font-weight:600;margin-top:6px;line-height:1.3}.real figcaption small{display:block;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.real i{display:block;font-style:normal;font-weight:400;color:var(--mut)}
.fmaps{display:grid;gap:12px;margin:4px 0 10px}
.fmap{margin:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fbfaf8}
.fmap figcaption{font-size:.8rem;font-weight:700;color:var(--mut);margin-bottom:4px}
.fmap svg{width:100%;max-height:300px;display:block}
.fmap .carc{fill:#efebe4;stroke:#c9c1b4;stroke-width:6}
.fm{cursor:pointer;outline:none}
.fm rect:first-child{stroke:rgba(0,0,0,.25);stroke-width:3}
.fm .ring{fill:none;stroke:transparent;stroke-width:10}
.fm:hover .ring,.fm:focus-visible .ring{stroke:rgba(168,132,77,.55)}
.fm.on .ring{stroke:var(--gold);stroke-width:16}
.fm .mir{fill:#dfe7ea;stroke:#a9b6bb;stroke-width:3}
.row.wrap{flex-wrap:wrap;gap:8px}
.gsws{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:6px 0}
.gsw{display:grid;gap:4px;justify-items:start;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px;font:inherit;color:var(--fg);cursor:pointer}
.gsw img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.gsw b{font-size:.88rem}.gsw small{font-size:.76rem;color:var(--mut)}
.gsw.on{border:2px solid var(--fg);padding:9px;background:var(--soft)}
.gsw:disabled{opacity:.45;cursor:not-allowed}
.two-num{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.two-num label{display:grid;gap:4px;font-weight:600;font-size:.9rem}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.saved{font-size:.88rem;margin:6px 0 0;word-break:break-all}.saved a{color:var(--fg)}
.incl1{margin:-4px 0 10px;font-weight:600;color:var(--fg);font-size:.95rem}
.navprice{display:none;font-size:.95rem;text-align:center;line-height:1.15}.navprice small{display:block;color:var(--mut);font-size:.72rem}
.cfg-nav{align-items:center}
@media(max-width:960px){
  .navprice{display:block}
  .cfg-nav{position:sticky;bottom:0;background:#fff;margin:auto -16px -20px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);z-index:4;border-radius:0 0 24px 24px}
  .cfg-nav .btn{padding:11px 16px}
  .cfg-hint3d{top:52px;font-size:.76rem;padding:6px 12px}
  .cfg-stage .cfg-price small{display:none}
}
@media(prefers-reduced-motion:reduce){.cfg-hint3d{transition:none}}
/* priblíženie 3D – ručný posuvník (rýchlejší než trackpad) */
.cfg-zoom{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 6px;background:rgba(255,255,255,.92);border-radius:99px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.cfg-zoom .zb{width:32px;height:32px;border-radius:50%;border:1px solid var(--line,#e5e0d8);background:#fff;font-size:1.2rem;line-height:1;cursor:pointer;color:#161616}
.cfg-zoom .zb:hover{border-color:#161616}
.cfg-zoom input[type=range]{writing-mode:vertical-lr;direction:rtl;width:22px;height:150px;margin:0;accent-color:#a8844d;cursor:ns-resize}
@media(max-width:700px){.cfg-zoom input[type=range]{height:96px}.cfg-zoom{right:8px}}

.opt .hph{width:100%;height:auto;aspect-ratio:14/9;object-fit:contain;background:#fff;border-radius:8px;margin-bottom:4px}
