/* Konfigurátor — schvalování stran (E6, PLAN-2026-09-13 D9, kontrakt §3.7): stav v pásu stran a mřížce kroku 4,
   překryv schválené strany v náhledu, upozornění v krocích 1–3, brána košíku v kroku 5 a velký náhled .cfg-review
   (vrstva 'review'). Obsluhují cfg-approval.js, cfg-photos.js a cfg-finish.js; načítá Product/detail.latte. */

:root{--cfg-ok-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%233E5442'/%3E%3Ccircle cx='12' cy='12' r='11' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath d='M6.8 12.4l3.4 3.4 7-7.6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* ---------- upozornění v krocích 1–3 ---------- */
.panel-inquired[data-approval-notice]{background:rgba(201,138,43,.12);border-color:rgba(201,138,43,.45);color:var(--ochre-dark)}

/* ---------- pás stran pod náhledem ---------- */
.thumb{position:relative}
.thumb.is-approved .tp{filter:grayscale(1);opacity:.45}
.thumb.is-approved::after{content:'';position:absolute;left:0;top:0;width:74px;height:36px;background:var(--cfg-ok-icon) center/20px 20px no-repeat;pointer-events:none}

/* ---------- mřížka stran v kroku 4 (včetně obálky) ---------- */
.pslot .pslot__n{position:relative;z-index:0}
.pslot--cover:not(.filled) .pslot__n{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase}
.pslot__tag{position:absolute;left:4px;bottom:4px;z-index:2;background:rgba(23,24,26,.72);color:#fff;font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:999px;line-height:1.3}
.pslot--nophoto{border-style:solid;background:#fff}
.pslot__ok{display:none}
.pslot.is-approved::before{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;background:rgba(246,241,232,.55);-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1)}
/* F4 (Q6): schválená dlaždice výrazněji — zelený rámeček přes celou dlaždici, ať je zámek vidět i v rychle proklikané mřížce */
.pslot.is-approved .pslot__ok{display:block;position:absolute;inset:0;z-index:3;border-radius:inherit;background:var(--cfg-ok-icon) center/24px 24px no-repeat;box-shadow:inset 0 0 0 2px var(--sage-dark);pointer-events:none}
.pslot--cover.filled.is-approved .pslot__ok{background-position:right 4px center;background-size:20px 20px}
/* schválení zrušené úpravou tisku (approvals.reprinted, dávka --render-rev, PLAN-2026-09-25 F5): okrový rámeček a tečka —
   stejná tečka je v pásu stran; vysvětlení dává upozornění [data-approval-notice] nad kroky */
.pslot.is-reprinted::after{content:'';position:absolute;inset:0;z-index:2;border-radius:5px;box-shadow:inset 0 0 0 2px var(--ochre);pointer-events:none}
.pslot.is-reprinted::before{content:'';position:absolute;right:4px;top:4px;z-index:3;width:10px;height:10px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 2px #fff;pointer-events:none}
.thumb.is-reprinted::after{content:'';position:absolute;right:3px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 1.5px #fff;pointer-events:none}
/* přetažení souboru (cfg-photos dropState): přijme = .is-over (style.css), odmítne = .is-denied + bublina s důvodem */
.pslot.is-denied{border-style:dashed;border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background-color:rgba(215,20,26,.08)}
.pslot.is-over{box-shadow:inset 0 0 0 1px var(--sage)}
.pslot-host{position:relative}
.pslot-tip{position:absolute;z-index:8;transform:translate(-50%,-100%);max-width:min(300px,calc(100% - 8px));padding:6px 11px;border-radius:10px;background:rgba(23,24,26,.9);color:#fff;font-size:12.5px;font-weight:600;line-height:1.3;text-align:center;pointer-events:none;box-shadow:0 4px 14px rgba(23,24,26,.25)}
.pslot-tip.is-denied{background:var(--red-dark)}
.pslot-tip.is-replace{background:var(--ochre-dark)}
@supports not ((backdrop-filter:grayscale(1)) or (-webkit-backdrop-filter:grayscale(1))){.pslot.is-approved.filled{filter:grayscale(1)}}

/* mřížka sbalená na dvě řady kolem aktuální strany (cfg-photos.js, bod 11 C) */

/* karta „Aktuální strana“ nahoře v panelu kroku 4 (bod 11 C) */
.pcur{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}
.pcur__main{display:flex;align-items:center;gap:12px;min-width:0}
.pcur__thumb{flex:none;width:72px;height:36px;display:grid;place-items:center;border-radius:4px;border:1px dashed var(--line);background:#fff center/cover no-repeat;color:var(--muted-2);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.pcur__thumb.has-photo{border:0;box-shadow:0 1px 3px rgba(23,24,26,.2)}
.pcur__txt{min-width:0;display:grid;gap:2px}
.pcur__t{font-size:14px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcur__s{font-size:12.5px;line-height:1.4;color:var(--muted)}
.pcur__s.is-ok{color:var(--sage-dark);font-weight:600}
/* rozlišení fotky pro tisk (cfg-photos renderMeta) — na telefonu; na počítači ho má blok u náhledu (níže skryté) */
.pcur__q{font-size:12.5px;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}
.pcur__q[data-level="ok"]{color:var(--sage-dark)}
.pcur__q[data-level="warn"]{color:var(--ochre-dark)}
.pcur__q[data-level="bad"]{color:var(--red-dark);font-weight:600}
.pcur .upload-progress{width:100%;flex:none}

.approvalbar{margin-top:8px}
.approvalbar .pbar i{background:var(--ochre)}
.approvalbar.is-complete .pbar i{background:var(--sage)}
.approvalbar.is-complete b{color:var(--sage-dark)}

/* kontrola aktuální strany + zámek schválené strany */
.approval-cur{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.approval-cur__ok{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;padding:10px 12px;border-radius:9px;background:rgba(94,122,98,.12);border:1px solid rgba(94,122,98,.4);color:var(--sage-dark);font-size:13px;line-height:1.45}
/* delší vysvětlení zámku (co je zamčené, co jde vyměnit) — na telefonu tlačítko pod textem, ne úzký sloupec vedle něj */
.approval-cur__ok>span{flex:1 1 28ch}
#cfg-panel-4 label.is-disabled{opacity:.45;cursor:not-allowed}
#cfg-panel-4 label.is-disabled input{pointer-events:none}
#cfg-panel-4 .inp:disabled{background:var(--paper-2);color:var(--muted);cursor:not-allowed}
#cfg-panel-4 input[type=range]:disabled{opacity:.45;cursor:not-allowed}
/* „Upravit“ u strany bez fotky ve velkém náhledu: zabliká tlačítko nahrání aktuální strany (cfg-approval attention()) */
[data-upload-attn].is-attention{animation:cfgAttention 1.6s ease-out}
@keyframes cfgAttention{0%,45%{box-shadow:0 0 0 3px rgba(215,20,26,.4)}100%{box-shadow:0 0 0 0 rgba(215,20,26,0)}}

/* překryv schválené strany v hlavním náhledu (jen krok 4); F4 (Q6): silnější rámeček a štítek s důvodem zámku */
/* Schválená strana v hlavním náhledu: jen štítek a „Upravit stranu“, BEZ rámečku kolem strany — zákazník (2026-10-06): zelený
   rámeček by zákazníci mohli považovat za tištěný; schválení ukazuje blok pod náhledem a dlaždice v mřížce stran. */
.pv-approved{position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit}
.pv-approved__row{position:absolute;left:8px;top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 16px)}
.pv-approved__badge{display:inline-flex;align-items:center;gap:6px;background:var(--sage-dark);color:#fff;font-size:12.5px;font-weight:700;line-height:1.2;padding:6px 11px 6px 9px;border-radius:999px;box-shadow:0 2px 8px rgba(23,24,26,.22)}
.pv-approved__lock{flex:none}
.pv-approved__btn{pointer-events:auto;min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(23,24,26,.12)}
.pv-approved__btn:hover,.pv-approved__btn:focus-visible{border-color:var(--ink);outline:none}
.pv-approved__btn:disabled{opacity:.6;cursor:progress}
@media (max-width:639px){.pv-approved__row{left:4px;top:4px}.pv-approved__badge,.pv-approved__btn{font-size:11.5px;padding:4px 9px;min-height:28px}}

/* ---------- krok 5: brána košíku ---------- */
.cfg-gate{display:grid;gap:10px;justify-items:start;margin-bottom:var(--s2);padding:12px 14px;border-radius:10px;background:rgba(201,138,43,.1);border:1px solid rgba(201,138,43,.4)}
.cfg-gate__txt{font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.cfg-gate__bar{width:100%;flex:none}
.cfg-gate__bar i{background:var(--ochre)}
.cfg-cart-actions [data-cfg-add-cart]:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

/* ---------- velký náhled (vrstva 'review') ---------- */
html.cfg-review-open{overflow:hidden}
.cfg-review{position:fixed;inset:0;z-index:630;display:flex;flex-direction:column;background:#161719;color:#F6F1E8;padding-bottom:var(--cc-h,0px);overscroll-behavior:contain;animation:cfgReviewIn .18s ease-out}
.cfg-review:focus{outline:none}
@keyframes cfgReviewIn{from{opacity:0}to{opacity:1}}
.cfg-review__top{flex:none;display:flex;align-items:center;gap:10px;min-height:60px;padding:max(8px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px))}
.cfg-review__head{flex:1;min-width:0;display:flex;flex-direction:column}
.cfg-review__title{margin:0;font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.2;color:#F6F1E8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfg-review__sub{font-size:12.5px;color:rgba(246,241,232,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfg-review__count{flex:none;max-width:12em;font-size:12px;line-height:1.35;color:rgba(246,241,232,.78);text-align:right}
.cfg-review__icon{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(246,241,232,.28);background:transparent;color:#F6F1E8;cursor:pointer}
.cfg-review__icon:hover,.cfg-review__icon:focus-visible{background:rgba(246,241,232,.12);outline:none}
.cfg-review__icon[aria-pressed="true"]{background:#F6F1E8;color:var(--ink)}
.cfg-review__viewport{flex:1 1 auto;min-height:0;position:relative;overflow:hidden}
.cfg-review__stage{position:absolute;inset:0;touch-action:none;cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cfg-review.is-zoomed .cfg-review__stage{cursor:grab}
.cfg-review.is-rotated .cfg-review__stage{inset:auto;left:50%;top:50%;width:var(--rv-h,100vh);height:var(--rv-w,100vw);transform:translate(-50%,-50%) rotate(90deg)}
/* will-change jen během gesta (.is-live, cfg-approval.js) — stálé by v Chromiu nechalo přiblížení rozmazané */
.cfg-review__canvas{position:absolute;left:0;top:0;transform-origin:0 0;background:#fff;border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cfg-review__canvas.is-live{will-change:transform}
.cfg-review__canvas.is-animating{transition:transform .22s cubic-bezier(.2,.7,.3,1)}
.cfg-review__host{width:100%;height:100%;transition:opacity .2s}
.cfg-review__canvas.is-loading .cfg-review__host{opacity:.45}
.cfg-review__host svg{display:block;width:100%;height:100%;pointer-events:none}
/* Jen strany render_rev 1–3; od render_rev 4 (data-numerals) určuje číslice SVG — viz .pv-host v style.css. */
.cfg-review__host svg:not([data-numerals]) text{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}
.cfg-review__nav{position:absolute;top:50%;z-index:2;width:48px;height:48px;margin-top:-24px;display:none;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(246,241,232,.3);background:rgba(22,23,25,.62);color:#F6F1E8;cursor:pointer}
.cfg-review__nav:hover:not(:disabled),.cfg-review__nav:focus-visible{background:rgba(22,23,25,.9);outline:none;border-color:#F6F1E8}
.cfg-review__nav:disabled{opacity:.3;cursor:default}
.cfg-review__nav--prev{left:12px}
.cfg-review__nav--next{right:12px}
@media (min-width:760px) and (pointer:fine){.cfg-review__nav{display:grid}}
.cfg-review__hint{position:absolute;left:12px;top:8px;z-index:2;margin:0;padding:4px 10px;border-radius:999px;background:rgba(22,23,25,.62);color:rgba(246,241,232,.82);font-size:12px;line-height:1.35;white-space:nowrap;pointer-events:none}
@media (max-width:759px){.cfg-review__hint{display:none}}
/* lišta přiblížení: − procenta + | Celá strana | Skutečná velikost (na úzkém displeji Celá / 1:1) */
.cfg-review__zoom{position:absolute;left:50%;bottom:12px;z-index:3;transform:translateX(-50%);display:flex;align-items:center;gap:2px;max-width:calc(100% - 16px);padding:4px;border-radius:999px;background:rgba(22,23,25,.88);border:1px solid rgba(246,241,232,.2);box-shadow:0 6px 20px rgba(0,0,0,.35);color:#F6F1E8}
.cfg-review__zbtn{flex:none;min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}
.cfg-review__zbtn:hover:not(:disabled),.cfg-review__zbtn:focus-visible{background:rgba(246,241,232,.15);outline:none}
.cfg-review__zbtn:focus-visible{box-shadow:0 0 0 2px #F6F1E8}
.cfg-review__zbtn:disabled{opacity:.35;cursor:default}
.cfg-review__zbtn[aria-pressed="true"]{background:#F6F1E8;color:var(--ink)}
.cfg-review__zbtn small{font-size:11.5px;font-weight:500;opacity:.8}
.cfg-review__zpct{flex:none;min-width:56px;padding:0 2px;font-size:13px;font-weight:700;text-align:center}
.cfg-review__zs{display:none}
@media (max-width:759px){.cfg-review__zl{display:none}.cfg-review__zs{display:inline}.cfg-review__zbtn{min-width:36px;height:36px;padding:0 8px}.cfg-review__zpct{min-width:50px}}
/* přetažená fotka nad velkým náhledem (cfg-approval.js, pravidlo M.photos.dropState) */
.cfg-review__drop{position:absolute;inset:10px;z-index:4;display:flex;align-items:center;justify-content:center;padding:16px;border:2px dashed #8FB394;border-radius:12px;background:rgba(94,122,98,.22);pointer-events:none;text-align:center}
.cfg-review__drop.is-denied{border-color:#F08A8C;background:rgba(215,20,26,.16)}
.cfg-review__drop.is-replace{border-color:#E0B064;background:rgba(201,138,43,.2)}
.cfg-review__drop.is-busy{border-style:solid}
.cfg-review__drop-t{max-width:min(440px,100%);padding:9px 16px;border-radius:14px;background:rgba(23,24,26,.88);color:#fff;font-size:14px;font-weight:600;line-height:1.35}
.cfg-review__drop.is-busy .cfg-review__drop-t::before{content:'';display:inline-block;width:11px;height:11px;margin-right:9px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;vertical-align:-1px;animation:pv-drop-spin .8s linear infinite}
.cfg-review__msg{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);margin:0;padding:10px 16px;max-width:calc(100% - 32px);border-radius:12px;background:rgba(22,23,25,.88);color:#F6F1E8;font-size:14px;text-align:center}
.cfg-review__msg .tlink{color:#F6F1E8;border-bottom-color:rgba(246,241,232,.5);font-size:14px}
.cfg-review__bar{flex:none;display:grid;gap:10px 16px;background:var(--paper);color:var(--ink);padding:12px max(14px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));border-radius:16px 16px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.25)}
.cfg-review__info{display:grid;gap:2px;min-width:0}
.cfg-review__status{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
.cfg-review__status:empty{display:none}
.cfg-review__status.is-ok{font-size:14px;font-weight:700;color:var(--sage-dark)}
.cfg-review__warn{margin:0;font-size:13.5px;font-weight:700;color:var(--red-dark)}
.cfg-review__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cfg-review__actions .btn{width:100%;min-height:46px;padding:10px 12px;white-space:normal;line-height:1.2;text-align:center}
.cfg-review__actions [data-review-approve]{grid-column:1/-1;order:9}
.cfg-review__actions .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
@media (min-width:760px){
  .cfg-review__bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
  .cfg-review__actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
  .cfg-review__actions .btn{width:auto;min-height:44px;padding:10px 18px}
  .cfg-review__actions [data-review-approve]{order:0}
}
/* toast nad lištou vrstvy (výška z ResizeObserveru v cfg-approval.js) */
html.cfg-review-open body .toast{bottom:calc(var(--cfg-review-bar-h,150px) + var(--cc-h,0px) + 12px)}

@media (prefers-reduced-motion:reduce){
  .cfg-review{animation:none}
  .cfg-review__canvas.is-animating{transition:none}
  .cfg-review__drop.is-busy .cfg-review__drop-t::before{animation:none}
  [data-upload-attn].is-attention{animation:none}
}

/* Na počítači je „Zvětšit / Zkontrolovat a schválit stranu“ pod náhledem („Zvětšit“ s .is-review z cfg-approval.js, úkol 180)
   a zámek schválené strany s „Upravit stranu“ v bloku „Fotografie této strany“ a v překryvu náhledu (F4) — v kartě panelu
   kroku 4 by byly podruhé. Pod 1040 px má „Zvětšit“ jen krátký text a blok je skrytý (cfg-sheet.css (max-width:1039px)),
   tlačítka v kartě tam zůstávají. Dotaz je přesný doplněk toho mobilního (i pro zlomkové šířky 1039–1040 px při zoomu),
   takže je vidět vždy právě jedno místo. */
.pv-zoom__more{display:none}
.approval-cur__open svg{flex:none}
@media not all and (max-width:1039px){
  .cfg.is-sheet .approval-cur,.cfg.is-sheet .pcur__q{display:none}
  .cfg.is-sheet .pv-zoom.is-review{background:var(--ink);border-color:var(--ink);color:#fff}
  .cfg.is-sheet .pv-zoom.is-review .pv-zoom__more{display:inline}
}
