/* Konfigurátor — titulní strana (F6, PLAN-2026-09-25 §4.1, §4.2; Q8–Q13): oddíl „Titulní strana“ v kroku 1 (.cvr,
   mřížky poloh a tlačítka posunu plní cfg-cover.js) a úchyty bloku s názvem a znaku v náhledu titulní strany (.pv-cv,
   vytváří cfg-cover.js). Bez buildu, druhá kopie ve www/themes/kalendar/assets/css. */

/* ---------- oddíl v kroku 1: .cvr--title pod polem názvu, .cvr--logo (znak titulky) pod Znakem obce ---------- */
.cvr .checks{margin-top:4px}
.cvr__part{padding-top:14px;border-top:1px solid var(--hair)}
.cvr__part+.cvr__part{margin-top:14px}
.cvr__t{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:0 0 8px}
.cvr__opts>.cvr__t{margin-top:14px}
.cvr__opts>.hint{margin-top:8px}
/* posuvník velikosti znaku (2026-10-11): rozměr znaku vpravo, na šířku obsahu */
.cvr__size{grid-template-columns:minmax(0,1fr) auto}
.cvr__size output{min-width:7.5em;text-align:right;color:var(--ink-2,var(--ink))}
.cvr--title>*+*{margin-top:8px}
/* Tři řádky titulky (2026-10-04): rok a doplňující řádek pod polem názvu */
.cvr--title>.cvr__line{margin-top:14px}
.cvr__line>*+*{margin-top:6px}
.cvr__line .fld__row .inp{flex:1 1 120px;max-width:260px}
.cvr__line .copybtn[hidden],.cvr__part[hidden]{display:none}
.cvr__part>.seg+.hint,.cvr__part>.hint+.cover-slot,.cvr__part>.seg+.cover-slot,
.cvr--logo>.seg+.hint,.cvr--logo>.hint+.cover-slot,.cvr--logo>.seg+.cover-slot{margin-top:10px}
.cvr__part>.cover-slot+.cvr__opts,.cvr--logo>.cover-slot+.cvr__opts{margin-top:4px}
.cvr__part>.hint--err,.cvr--logo>.hint--err{margin-top:10px}
.cvr__row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
/* Stránka v poměru formátu (rozměr nastaví JS) s mřížkou 3 × 3 předvoleb */
.cvr__page{position:relative;flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:2px;padding:4px;width:168px;height:78px;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 1px 3px rgba(23,24,26,.08)}
.cvr__page--spiral{border-top:3px double var(--muted-3)}
.cvr__p{display:flex;min-width:0;min-height:0;margin:0;padding:3px;border:0;border-radius:3px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cvr__p[data-x="0"]{justify-content:flex-start}
.cvr__p[data-x="0.5"]{justify-content:center}
.cvr__p[data-x="1"]{justify-content:flex-end}
.cvr__p[data-y="0"]{align-items:flex-start}
.cvr__p[data-y="0.5"]{align-items:center}
.cvr__p[data-y="1"]{align-items:flex-end}
.cvr__p i{display:block;width:80%;height:auto;aspect-ratio:2.6/1;max-height:62%;min-height:5px;border:1.5px solid rgba(23,24,26,.28);border-radius:2px;background:var(--paper-2);transition:background .15s,border-color .15s}
.cvr__page--logo .cvr__p i{width:auto;height:70%;max-height:14px;aspect-ratio:1}
@media (hover:hover){.cvr__p:hover i{border-color:var(--ink-2)}}
.cvr__p:focus-visible{outline:2px solid var(--red);outline-offset:0}
.cvr__p[aria-pressed="true"] i{background:var(--ink);border-color:var(--ink)}
.cvr__p[aria-disabled="true"]{cursor:not-allowed}
.cvr__p[aria-disabled="true"] i{border-style:dashed;background:repeating-linear-gradient(135deg,transparent 0 3px,rgba(23,24,26,.12) 3px 4px)}
.cvr__p:disabled{cursor:not-allowed;opacity:.5}
.cvr__side{flex:1 1 150px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.cvr__state{font-size:12.5px;color:var(--muted);line-height:1.4;min-height:1.4em}
.cvr__legacy{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:default}
.cvr__legacy:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cvr__legacy+.cvr__state:empty{display:none}
/* Posun o 1 mm: ↑ nahoře uprostřed, ← ↓ → pod ním */
.cvr__nudge{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,32px);gap:4px}
.cvr__nb{display:grid;place-items:center;margin:0;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s}
@media (hover:hover){.cvr__nb:hover:not(:disabled){border-color:var(--ink)}}
.cvr__nb:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.cvr__nb:disabled{opacity:.35;cursor:not-allowed}
.cvr__nb--up{grid-column:2;grid-row:1}
.cvr__nb--left{grid-column:1;grid-row:2}
.cvr__nb--down{grid-column:2;grid-row:2}
.cvr__nb--right{grid-column:3;grid-row:2}
.cvr [data-cover-drag-hint]{margin-top:12px}
/* Tlačítka ve slotu znaku (Nahrát / Vyměnit + Odebrat), i u znaku stran */
.cover-slot__acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:none}
.cover-slot__acts .copybtn[hidden]{display:none}
/* Pole souboru je skryté (.sr) — fokus z klávesnice (i po „Odebrat“, cfg-cover focusUpload) ukáže jeho tlačítko */
.cover-slot__acts .copybtn--file:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
@media (max-width:479px){
  .cover-slot__acts{flex-direction:column;align-items:stretch}
  .cvr__nudge{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,40px)}
}
@media (pointer:coarse){.cvr__p{padding:4px}}

/* ---------- úchyty v náhledu titulní strany ---------- */
/* Vrstva leží přesně přes stranu v náhledu (poloha v px z cfg-cover.js), úchyty a vodítka v procentech strany. */
.pv-cv{position:absolute;z-index:3;pointer-events:none}
.pv-cv[hidden],.pv-cv [hidden]{display:none}
.pv-cv__h{position:absolute;pointer-events:auto;touch-action:none;cursor:grab;border-radius:2px;outline:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s}
@media (hover:hover){.pv-cv__h:hover{box-shadow:0 0 0 1.5px #fff,0 0 0 3px rgba(23,24,26,.55)}}
/* Dotykový tablet: bez najetí myší by nebylo poznat, co jde táhnout — trvalý jemný obrys (jen v krocích 1–3 na titulce, jinak je vrstva skrytá) */
@media (hover:none) and (pointer:coarse){.pv-cv__h{box-shadow:0 0 0 1px rgba(255,255,255,.8),0 0 0 2px rgba(23,24,26,.4)}}
.pv-cv__h:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--red)}
.pv-cv__h.is-dragging{cursor:grabbing;box-shadow:0 0 0 1.5px #fff,0 0 0 3px var(--red);transition:none}
/* Štítek nad úchytem při najetí myší, na fokusu z klávesnice nápověda ke klávesám */
.pv-cv__h::before{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:4px 10px;border-radius:999px;background:rgba(23,24,26,.8);color:#fff;font-size:11.5px;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;z-index:1}
@media (hover:hover) and (pointer:fine){.pv-cv__h:hover::before{content:attr(data-tip)}}
.pv-cv__h:focus-visible::before{content:attr(data-tip-keys)}
.pv-cv__h.is-dragging::before{content:none}
/* Během tažení: bezpečná oblast a vodítko kotvy, ke které prvek přichytil */
.pv-cv__safe{position:absolute;display:none;border:1px dashed rgba(23,24,26,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);pointer-events:none}
.pv-cv.is-dragging .pv-cv__safe{display:block}
.pv-cv__g{position:absolute;display:block;pointer-events:none}
.pv-cv__g--v{border-left:1.5px solid var(--red);transform:translateX(-.75px)}
.pv-cv__g--h{border-top:1.5px solid var(--red);transform:translateY(-.75px)}
@media (prefers-reduced-motion:reduce){.pv-cv__h,.cvr__p i{transition:none}}
