/* W-Craft Konfigurátor – styly (vše pod .wcfg, aby je šablona nerozbíjela) */
.wcfg{--bg:#f4f1ec;--card:#fff;--ink:#1f1d1a;--muted:#6b665e;--line:#e2ddd4;--accent:#b4581c;--radius:12px;
  color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;box-sizing:border-box}
.wcfg *,.wcfg *::before,.wcfg *::after{box-sizing:border-box}
.wcfg .wcfg-native{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wcfg .hidden{display:none!important}

/* ===== tlačítko na stránce produktu ===== */
.wcfg .wcfg-launch{display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:16px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px}
.wcfg .wcfg-launch-img{aspect-ratio:1;border-radius:10px;background-size:cover;background-position:center}
.wcfg .wcfg-launch-txt b{display:block;font-size:17px;margin-bottom:4px}
.wcfg .wcfg-launch-txt p{margin:0 0 10px;color:var(--muted);font-size:14px}
.wcfg .wcfg-from{font-size:22px;font-weight:700;margin:0 0 10px}
.wcfg .wcfg-from small{font-size:12px;font-weight:400;color:var(--muted)}
.wcfg .wcfg-open{width:100%;font-size:16px;padding:14px 18px}
@media(max-width:520px){.wcfg .wcfg-launch{grid-template-columns:1fr}.wcfg .wcfg-launch-img{aspect-ratio:16/9}}

/* ===== okno přes celou obrazovku ===== */
html.wcfg-lock{overflow:hidden}
.wcfg.wcfg-modal{position:fixed;inset:0;z-index:2147483000;background:rgba(20,18,16,.66);display:flex;padding:2vh 2vw;--wcfg-vh:78vh}
.wcfg.wcfg-modal[hidden]{display:none!important}
.wcfg .wcfg-dialog{position:relative;background:var(--bg);border-radius:16px;width:100%;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.wcfg .wcfg-dhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 18px;background:#1f1d1a;color:#fff;flex:none}
.wcfg .wcfg-dhead b{font-size:15px;font-weight:600;letter-spacing:.02em}
.wcfg .wcfg-close{border:1px solid #5a554d;background:transparent;color:#fff;border-radius:999px;padding:8px 16px;font:inherit;cursor:pointer;min-height:40px;margin:0;text-transform:none;letter-spacing:0}
.wcfg .wcfg-close:hover{background:#3a362f}
.wcfg .wcfg-dbody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,540px)}
.wcfg .wcfg-stagewrap{padding:14px 16px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.wcfg .stage{background:#d9d4ca;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center}
.wcfg .stage>svg{display:block;width:100%;height:auto;max-height:var(--wcfg-vh)}
.wcfg .wcfg-loading{padding:80px 20px;text-align:center;color:var(--muted)}
.wcfg .stagebar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.wcfg .panel{background:var(--card);padding:18px 20px 0;overflow:auto;min-height:0;border-left:1px solid var(--line);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.wcfg .panel>h2:first-child{margin-top:0}

/* cena a tlačítko jsou stále vidět dole */
.wcfg .wcfg-buy{position:sticky;bottom:0;background:var(--card);margin:16px -20px 0;padding:6px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -6px 14px rgba(0,0,0,.06)}
.wcfg .wcfg-buy .price{margin-top:6px;padding-top:6px;border-top:0}
.wcfg .wcfg-buyrow{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:end;margin-top:8px}
.wcfg .wcfg-buyrow .btn{height:46px;font-size:16px}

/* ===== ovládací prvky ===== */
.wcfg h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 10px;font-weight:600;line-height:1.3}
.wcfg label.f{display:block;margin:0 0 12px}
.wcfg label.f>span{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.wcfg input[type=text],.wcfg input[type=number],.wcfg select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink);height:auto;min-height:0;box-shadow:none;margin:0}
.wcfg input[type=text]:focus,.wcfg select:focus{outline:2px solid var(--accent);outline-offset:-1px}
.wcfg input[type=range]{width:100%;accent-color:var(--accent);margin:0;touch-action:pan-y}
.wcfg .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wcfg .seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.wcfg .seg button{flex:1;border:0;background:#fff;padding:8px 6px;font:inherit;cursor:pointer;color:var(--ink);border-radius:0;margin:0;text-transform:none;letter-spacing:0;min-height:38px}
.wcfg .seg button+button{border-left:1px solid var(--line)}
.wcfg .seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.wcfg .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}
.wcfg .card{border:1px solid var(--line);border-radius:10px;padding:9px 8px;background:#fff;cursor:pointer;text-align:center;font:inherit;color:var(--ink);margin:0;text-transform:none;letter-spacing:0;min-height:0;line-height:1.3}
.wcfg .card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}
.wcfg .card[disabled]{opacity:.4;cursor:not-allowed}
.wcfg .card small{display:block;color:var(--muted);font-size:12px}
.wcfg .card svg{width:100%;height:34px;display:block;margin-bottom:2px}
.wcfg .swatches{display:flex;gap:10px;flex-wrap:wrap}
.wcfg .sw{width:42px;height:42px;min-height:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0;margin:0}
.wcfg .sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--accent)}
.wcfg .sw[disabled]{opacity:.35;cursor:not-allowed}
.wcfg .hint{font-size:12.5px;color:var(--muted);margin:0 0 12px}
.wcfg .check{display:flex;gap:8px;align-items:center;margin:0 0 12px}
.wcfg .msgs{margin:14px 0 0;display:grid;gap:6px}
.wcfg .msg{font-size:13px;padding:8px 10px;border-radius:8px;background:#fff4e0;color:#6b4300;border:1px solid #f0d9a8}
.wcfg .msg.bad{background:#fde8e6;color:#7a1a14;border-color:#f3b9b4}
.wcfg .msg.ok{background:#e6f4ec;color:#1f5a38;border-color:#b7dcc5}
.wcfg .price{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.wcfg .price>div{min-width:0;flex:1}
.wcfg .price b{font-size:26px;white-space:nowrap;flex:none}
.wcfg .price small{color:var(--muted)}
.wcfg .breakdown{font-size:12.5px;color:var(--muted);margin:4px 0 0;padding:0;list-style:none;max-height:76px;overflow:auto}
.wcfg .breakdown li{display:flex;justify-content:space-between;gap:16px;margin:0}
.wcfg .breakdown li span:last-child{white-space:nowrap}
.wcfg .btn{border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:10px;padding:11px 14px;font:inherit;font-weight:600;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;text-align:center;text-decoration:none;display:inline-block}
.wcfg .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.wcfg .btn:disabled{opacity:.5;cursor:not-allowed}
.wcfg .note{font-size:12px;color:var(--muted);margin-top:14px}

/* ===== fotomockup ===== */
.wcfg .mock{position:relative;overflow:hidden;margin:0 auto;background:#222}
.wcfg .mock-in{position:absolute;left:0;top:0;transform-origin:0 0}
.wcfg .mock .layer{position:absolute;left:0;top:0;max-width:none}
.wcfg .mock img{display:block;user-select:none;-webkit-user-drag:none;max-width:none}
.wcfg .p3d{position:absolute;left:0;top:0;transform-origin:0 0}
.wcfg .p3d svg{display:block;overflow:visible;max-width:none}
.wcfg .p3d .lite{position:absolute;inset:0;mix-blend-mode:soft-light;pointer-events:none}
.wcfg .scenebar{margin-top:10px}
.wcfg .scenebar .card{padding:5px}
.wcfg .scenebar .card img{width:100%;height:50px;object-fit:cover;border-radius:6px;display:block;margin-bottom:3px}
.wcfg .scenebar .card small{font-size:12px}
.wcfg .wcfg-next{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font:inherit;min-height:44px;cursor:pointer;margin:0;color:var(--ink);text-transform:none;letter-spacing:0}
.wcfg .stage.edit{cursor:grab;touch-action:none}
.wcfg .stage.edit:active{cursor:grabbing}

/* ===== shrnutí po přidání do košíku ===== */
.wcfg .wcfg-done{position:absolute;inset:48px 0 0 0;background:var(--bg);overflow:auto;z-index:5}
.wcfg .wcfg-done-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:24px;padding:24px;max-width:1300px;margin:0 auto;align-items:start}
.wcfg .wcfg-done-img img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.wcfg .wcfg-ok{display:inline-block;background:#e6f4ec;color:#1f5a38;border:1px solid #b7dcc5;border-radius:999px;padding:5px 14px;font-weight:600;margin-bottom:10px}
.wcfg .wcfg-done h3{margin:0 0 10px;font-size:22px}
.wcfg .wcfg-sum{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:14px;background:#fff;border-radius:10px;overflow:hidden}
.wcfg .wcfg-sum th{text-align:left;font-weight:600;color:var(--muted);padding:7px 12px;width:38%;border-bottom:1px solid var(--line);vertical-align:top}
.wcfg .wcfg-sum td{padding:7px 12px;border-bottom:1px solid var(--line)}
.wcfg .wcfg-done-price{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 14px}
.wcfg .wcfg-done-price b{font-size:28px}
.wcfg .wcfg-done-btns{display:grid;gap:8px}

/* ===== mobil a tablet: okno = celá obrazovka, náhled nahoře, ovládání dole ===== */
@media(max-width:900px){
  .wcfg.wcfg-modal{padding:0;height:100vh;height:100dvh}
  .wcfg .wcfg-dialog{border-radius:0;max-width:none;height:100%}
  .wcfg .wcfg-dhead{padding:8px 10px 8px 14px}
  .wcfg .wcfg-dhead b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wcfg .wcfg-dbody{grid-template-columns:1fr;grid-template-rows:minmax(0,40fr) minmax(0,60fr)}
  .wcfg .wcfg-stagewrap{padding:8px 10px}
  .wcfg .stagebar{margin-top:6px}
  .wcfg .panel{border-left:0;border-top:1px solid var(--line);padding:14px 14px 0}
  .wcfg .wcfg-buy{margin:12px -14px 0;padding:6px 14px calc(10px + env(safe-area-inset-bottom))}
  /* cena, množství a tlačítko v jedné řádce */
  .wcfg .wcfg-buy{display:grid;grid-template-columns:auto 62px 1fr;gap:8px;align-items:center}
  .wcfg .wcfg-buy .price{margin:0;padding:0;display:block}
  .wcfg .wcfg-buy .price>div{display:none}
  .wcfg .wcfg-buy .price b{font-size:19px}
  .wcfg .wcfg-buyrow{display:contents}
  .wcfg .wcfg-buyrow label.f{margin:0}
  .wcfg .wcfg-buyrow label.f>span{display:none}
  .wcfg .wcfg-buyrow input{padding:10px 6px;text-align:center}
  .wcfg .wcfg-buyrow .btn{height:46px;font-size:15px;padding:0 10px}
  /* výběr scény = tlačítko místo řady náhledů (víc místa pro náhled) */
  .wcfg .scenebar{display:none!important}
  .wcfg .wcfg-next{display:inline-block}
  .wcfg .stagebar{flex-wrap:nowrap}
  .wcfg .stagebar #dims{display:none}
  .wcfg .stagebar .seg{flex:1;min-width:0!important}
  .wcfg .wcfg-done{inset:44px 0 0 0}
  .wcfg .wcfg-done-in{grid-template-columns:1fr;padding:14px;gap:14px}
  /* větší cíle pro prst; 16 px v polích brání přibližování na iOS */
  .wcfg input[type=text],.wcfg input[type=number],.wcfg select{font-size:16px;padding:11px 12px}
  .wcfg .card,.wcfg .seg button{min-height:44px}
  .wcfg .sw{width:46px;height:46px}
  .wcfg .cards{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}
  .wcfg .row2{gap:10px}
}
@media(max-width:480px){.wcfg .cards{grid-template-columns:repeat(2,1fr)}.wcfg .scenebar.cards{grid-template-columns:none}}
/* telefon na šířku: náhled vlevo, ovládání vpravo */
@media(max-height:520px) and (orientation:landscape){
  .wcfg .wcfg-dbody{grid-template-columns:minmax(0,1fr) minmax(300px,46%);grid-template-rows:none}
  .wcfg .wcfg-dhead{padding:4px 10px}
  .wcfg .scenebar{display:none}
  .wcfg .wcfg-next{display:inline-block}
}

/* na stránce produktu se původní formulář košíku nezobrazuje (skrytý formulář uvnitř .wcfg používá WooCommerce) */
body:has(.wcfg) form.cart{display:none!important}
.wcfg .wcfg-editbanner{background:#fff4e0;color:#6b4300;padding:8px 18px;font-size:13px;border-bottom:1px solid #f0d9a8;flex:none}
.wcfg .wcfg-draft{margin:0 0 10px;font-size:14px;color:var(--ink);word-break:break-word}
.wcfg-edit-link{font-size:13px}

.wcfg .wcfg-hbtns{display:flex;gap:8px;align-items:center}
.wcfg .wcfg-newhead{border:1px solid #5a554d;background:transparent;color:#fff;border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer;min-height:40px;margin:0;text-transform:none;letter-spacing:0}
.wcfg .wcfg-newhead:hover{background:#3a362f}
.wcfg .wcfg-another{width:100%;margin-top:8px}
@media(max-width:900px){.wcfg .wcfg-newhead,.wcfg .wcfg-close{padding:8px 10px;font-size:13px}}
