/* Elody — rezervační modul V4, skin F1 + override Gridbox šablony. Sestaveno 24.8.2026. NEEDITOVAT ručně. */
/* ═══ ELODY rezervační modul v4 (A/B/C) ═══ */
#rezmod{--rz-akc:#c41b53;--rz-akc2:#a2123f;--rz-ink:#241d18;--rz-mut:#6f645c;--rz-line:#e3d7c9;--rz-bg:#fff;--rz-ok:#1d8a4a;
  font-size:17px;line-height:1.45;color:var(--rz-ink);max-width:680px;margin:0 auto;text-align:left}
#rezmod *{box-sizing:border-box}
#rezmod .rz-karta{background:var(--rz-bg);border:1px solid var(--rz-line);border-radius:14px;padding:18px 16px;margin:0 0 14px;box-shadow:0 1px 2px rgba(36,29,24,.04)}
@media(min-width:640px){#rezmod .rz-karta{padding:24px 26px}}

/* pozdrav + progress */
#rezmod .rz-vitej{display:none;background:#f3ece3;border:1px solid var(--rz-line);border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:16px}
#rezmod .rz-vitej.on{display:block}
#rezmod .rz-vitej b{font-weight:700}
#rezmod .rz-pbar{height:7px;border-radius:99px;background:#e8ddcf;margin-top:9px;overflow:hidden}
#rezmod .rz-pbar i{display:block;height:100%;width:0;border-radius:99px;background:var(--rz-ok);transition:width .8s cubic-bezier(.22,1,.36,1)}
#rezmod .rz-pbar-t{font-size:13px;color:var(--rz-mut);margin-top:5px}

/* kroky */
#rezmod .rz-kroky{display:flex;gap:6px;align-items:center;margin:0 0 12px;font-size:13.5px;color:var(--rz-mut);flex-wrap:wrap}
#rezmod .rz-kroky b{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:#efe6da;font-weight:500;white-space:nowrap}
#rezmod .rz-kroky b.akt{background:var(--rz-akc);color:#fff;font-weight:700}
#rezmod .rz-kroky b.hot{background:#dff0e5;color:var(--rz-ok);font-weight:600}
#rezmod .rz-kroky svg{width:12px;height:12px;fill:currentColor}

/* nejbližší termíny (C) */
#rezmod .rz-chips{display:none;flex-wrap:wrap;gap:8px;margin:0 0 12px;align-items:center}
#rezmod .rz-chips.on{display:flex}
#rezmod .rz-chips .lbl{font-size:14px;color:var(--rz-mut);width:100%}
#rezmod .rz-chip{border:1.5px solid var(--rz-line);background:#fff;border-radius:99px;padding:9px 14px;font-size:15px;font-weight:600;cursor:pointer;min-height:44px}
#rezmod .rz-chip:hover{border-color:var(--rz-akc);color:var(--rz-akc)}
#rezmod .rz-badge{display:none;margin:0 0 12px;font-size:14.5px;color:#8a5a00;background:#fdf3df;border:1px solid #f0dfb7;border-radius:10px;padding:9px 12px}
#rezmod .rz-badge.on{display:block}

/* kalendář */
#rezmod .rz-h2{font-size:20px;font-weight:800;margin:0 0 4px}
#rezmod .rz-sub{font-size:14.5px;color:var(--rz-mut);margin:0 0 14px}
#rezmod .rz-dhead{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:0 0 5px;font-size:12px;color:var(--rz-mut);text-align:center;text-transform:uppercase;letter-spacing:.4px}
#rezmod .rz-dny{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
#rezmod .rz-den{appearance:none;border:1.5px solid var(--rz-line);background:#fff;border-radius:10px;min-height:52px;padding:5px 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit}
#rezmod .rz-den .c{font-size:16.5px;font-weight:700;line-height:1}
#rezmod .rz-den .m{font-size:10.5px;color:var(--rz-mut);line-height:1}
#rezmod .rz-den .n{font-size:10px;color:var(--rz-ok);font-weight:700;line-height:1}
#rezmod .rz-den[disabled]{opacity:.38;cursor:default;background:#f6f1ea;text-decoration:none}
#rezmod .rz-den.sel{border-color:var(--rz-akc);background:#fdf0f4;box-shadow:0 0 0 1.5px var(--rz-akc) inset}
#rezmod .rz-den.sel .c{color:var(--rz-akc)}
#rezmod .rz-casy{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 0}
@media(min-width:560px){#rezmod .rz-casy{grid-template-columns:repeat(3,1fr)}}
#rezmod .rz-cas{appearance:none;border:1.5px solid var(--rz-line);background:#fff;border-radius:10px;min-height:48px;padding:8px 6px;font:inherit;font-size:15.5px;font-weight:600;cursor:pointer}
#rezmod .rz-cas small{display:block;font-size:11.5px;color:var(--rz-mut);font-weight:400;margin-top:1px}
#rezmod .rz-cas.sel{border-color:var(--rz-akc);background:var(--rz-akc);color:#fff}
#rezmod .rz-cas.sel small{color:#ffd9e4}
#rezmod .rz-cas[disabled]{cursor:default;background:#f6f1ea;color:#b4a89c;text-decoration:line-through}
#rezmod .rz-prazdno{font-size:15px;color:var(--rz-mut);padding:14px 4px}

/* pole */
#rezmod .rz-pole{margin:0 0 13px}
#rezmod .rz-pole label{display:block;font-size:14.5px;font-weight:600;margin:0 0 5px}
#rezmod .rz-pole input{width:100%;border:1.5px solid var(--rz-line);border-radius:10px;padding:12px 13px;font:inherit;font-size:17px;background:#fff}
#rezmod .rz-pole input:focus{outline:none;border-color:var(--rz-akc)}
#rezmod .rz-pole input.err{border-color:#d33}
#rezmod .rz-pole .pozn{font-size:13px;color:var(--rz-mut);margin-top:5px}
#rezmod .rz-pole .chyba{display:none;font-size:13.5px;color:#c02;margin-top:5px}
#rezmod .rz-pole.err .chyba{display:block}
#rezmod .rz-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}

/* prefill souhrn */
#rezmod .rz-pref{border:1.5px solid var(--rz-line);border-radius:12px;padding:13px 14px;margin:0 0 13px;display:none}
#rezmod .rz-pref.on{display:block}
#rezmod .rz-pref .radek{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:16px}
#rezmod .rz-pref .radek b{font-weight:600;word-break:break-word}
#rezmod .rz-pref .radek span{color:var(--rz-mut);font-size:14px;flex:none}
#rezmod .rz-pref .uprav{margin-top:8px;background:none;border:none;color:var(--rz-akc);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;padding:4px 0;text-decoration:underline}

/* rekapitulace */
#rezmod .rz-rek{border-top:1px solid var(--rz-line)}
#rezmod .rz-rek .rd{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid var(--rz-line)}
#rezmod .rz-rek .rd .k{flex:0 0 88px;font-size:13.5px;color:var(--rz-mut)}
#rezmod .rz-rek .rd .v{flex:1;font-size:16.5px;font-weight:600;word-break:break-word}
#rezmod .rz-rek .rd .v small{display:block;font-weight:400;font-size:14px;color:var(--rz-mut)}
#rezmod .rz-rek .rd a{flex:none;font-size:14px;color:var(--rz-akc);font-weight:600;text-decoration:underline;cursor:pointer}
#rezmod .rz-nenivytvorena{font-size:14.5px;color:#8a5a00;background:#fdf3df;border-radius:9px;padding:8px 12px;margin:12px 0}
#rezmod .rz-zav{display:flex;gap:9px;align-items:flex-start;margin:13px 0;font-size:15px;cursor:pointer}
#rezmod .rz-zav input{width:20px;height:20px;margin-top:1px;accent-color:var(--rz-akc);flex:none}

/* tlačítka */
#rezmod .rz-btn{display:block;width:100%;appearance:none;border:none;border-radius:12px;background:var(--rz-akc);color:#fff;
  font:inherit;font-size:18.5px;font-weight:800;padding:16px 18px;cursor:pointer;text-align:center;letter-spacing:.2px}
#rezmod .rz-btn:hover{background:var(--rz-akc2)}
#rezmod .rz-btn[disabled]{background:#d9cfc3;cursor:default}
#rezmod .rz-btn.velke{font-size:20px;padding:18px}
#rezmod .rz-zpet{background:none;border:none;color:var(--rz-mut);font:inherit;font-size:14.5px;cursor:pointer;padding:10px 0 0;text-decoration:underline}
#rezmod .rz-podbtn{font-size:13.5px;color:var(--rz-mut);text-align:center;margin-top:9px}
#rezmod .rz-sticky{position:sticky;bottom:10px;z-index:5}
#rezmod .rz-toast{display:none;background:#c02;color:#fff;border-radius:10px;padding:11px 14px;font-size:15px;margin:0 0 12px}
#rezmod .rz-toast.on{display:block}

/* plán návštěvy */
#rezmod .rz-plan .rz-check{width:64px;height:64px;border-radius:50%;background:var(--rz-ok);display:flex;align-items:center;justify-content:center;margin:2px auto 12px}
#rezmod .rz-plan .rz-check svg{width:34px;height:34px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
#rezmod .rz-plan h3{font-size:23px;font-weight:800;text-align:center;margin:0 0 4px}
#rezmod .rz-plan .pod{font-size:15px;color:var(--rz-mut);text-align:center;margin:0 0 16px}
#rezmod .rz-terminbox{border:2px solid var(--rz-ok);background:#f2faf5;border-radius:13px;padding:15px 16px;text-align:center;margin:0 0 14px}
#rezmod .rz-terminbox .kdy{font-size:21px;font-weight:800}
#rezmod .rz-terminbox .kde{font-size:15.5px;margin-top:5px}
#rezmod .rz-terminbox .kde a{color:var(--rz-akc)}
#rezmod .rz-akce{display:flex;flex-direction:column;gap:9px;margin:0 0 15px}
#rezmod .rz-akce a{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:13px 14px;font-size:16.5px;font-weight:700;text-decoration:none;min-height:50px;text-align:center}
#rezmod .rz-akce .kal{background:var(--rz-akc);color:#fff}
#rezmod .rz-akce .gkal{background:#fff;border:1.5px solid var(--rz-line);color:var(--rz-ink)}
#rezmod .rz-akce .sdil{background:#fff;border:1.5px solid var(--rz-line);color:var(--rz-ink)}
#rezmod .rz-presun{text-align:center;font-size:14px;color:var(--rz-mut);margin:0 0 18px}
#rezmod .rz-presun a{color:var(--rz-akc)}
#rezmod .rz-prubeh{border-top:1px solid var(--rz-line);padding-top:14px}
#rezmod .rz-prubeh h4{font-size:16px;font-weight:700;margin:0 0 9px}
#rezmod .rz-prubeh ol{margin:0;padding:0 0 0 21px;font-size:15px}
#rezmod .rz-prubeh li{margin:0 0 7px}
#rezmod .rz-darek{margin-top:13px;background:#fdf3df;border-radius:10px;padding:10px 13px;font-size:14.5px}

/* B (one-page): zamčené karty */
#rezmod .rz-karta.zamceno{opacity:.5;pointer-events:none;position:relative}
#rezmod .rz-karta.zamceno::after{content:attr(data-zamek);position:absolute;inset:auto 12px 10px 12px;font-size:13px;color:var(--rz-mut);text-align:right}
#rezmod .rz-cislo{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--rz-akc);color:#fff;align-items:center;justify-content:center;font-size:14px;font-weight:800;margin-right:8px;vertical-align:-4px}

@media(max-width:420px){
  #rezmod{font-size:16px}
  #rezmod .rz-den{min-height:48px}
  #rezmod .rz-h2{font-size:18.5px}
}

/* skeleton loading (engine ho ukáže než dorazí sloty) */
#rezmod .rz-skelet{border:1px solid var(--rz-line);border-radius:14px;padding:20px 18px;background:#fff}
#rezmod .rz-skelet .sk{height:16px;border-radius:8px;margin:0 0 12px;background:linear-gradient(90deg,#efe7dc 25%,#f8f2ea 45%,#efe7dc 65%);background-size:200% 100%;animation:rzsk 1.2s infinite linear}
#rezmod .rz-skelet .sk.w40{width:40%}#rezmod .rz-skelet .sk.w70{width:70%}
#rezmod .rz-skelet .sk.grid{height:52px;margin-top:16px}
@keyframes rzsk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* touch-target fix (QA 12.8.): odkazy Změnit, zpět-tlačítka a checkbox závazku ≥44 px */
#rezmod .rz-rek .rd a{display:inline-flex;align-items:center;min-height:44px;padding:12px 6px;margin:-12px -6px}
#rezmod .rz-zpet{min-height:44px;padding:12px 0 8px;display:inline-flex;align-items:center}
#rezmod .rz-zav{min-height:44px;align-items:center;padding:4px 0}

.rezov{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(247,240,234,.72);backdrop-filter:blur(9px) saturate(.9);
  -webkit-backdrop-filter:blur(9px) saturate(.9);opacity:0;transition:opacity .22s ease}
.rezov.on{opacity:1}
.rezov-in{text-align:center;max-width:340px;background:var(--white);border:1px solid var(--line);
  border-radius:22px;padding:30px 26px 26px;box-shadow:var(--sh-l)}
.rezov-kolo{position:relative;display:block;width:64px;height:64px;margin:0 auto 18px}
.rezov-kolo svg{display:block;width:64px;height:64px;overflow:visible}
.rezov-trk{stroke:var(--line-2);stroke-width:4.5;fill:none}
.rezov-bar{stroke:var(--acc);stroke-width:4.5;fill:none;stroke-linecap:round;
  stroke-dasharray:182;stroke-dashoffset:182;transform:rotate(-90deg);transform-origin:50% 50%;
  animation:rezplni var(--rezdur,4000ms) linear forwards}
@keyframes rezplni{to{stroke-dashoffset:0}}
.rezov-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:900;color:var(--acc);font-variant-numeric:tabular-nums;
  transition:opacity .28s ease}
.rezov-disc{position:absolute;inset:0;border-radius:50%;background:#128a4a;
  transform:scale(.2);opacity:0;transition:transform .30s cubic-bezier(.34,1.4,.5,1),opacity .22s ease}
.rezov-ck{position:absolute;inset:0;margin:auto;width:64px;height:64px}
.rezov-ck path{stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;fill:none;
  stroke-dasharray:40;stroke-dashoffset:40}
.rezov-kolo.hotovo .rezov-disc{transform:scale(1);opacity:1}
.rezov-kolo.hotovo .rezov-pct{opacity:0}
.rezov-kolo.hotovo svg.rezov-ring{opacity:0;transition:opacity .3s ease}
.rezov-kolo.hotovo .rezov-ck path{animation:rezfajfka .38s .08s cubic-bezier(.65,0,.35,1) forwards}
@keyframes rezfajfka{to{stroke-dashoffset:0}}
.rezov-h{margin:0;font-size:23px;font-weight:900;letter-spacing:-.015em;color:var(--ink);line-height:1.2}
.rezov-p{margin:8px 0 0;font-size:16px;line-height:1.5;color:var(--ink-2);font-weight:400}
  .rezov{transition:none}
  .rezov-kolo{animation-duration:2.4s}
/* ═══ SKIN F1 „Zelená dostupnost" (finální ladění dle Filipa 13. 8.) ═══
   PRAVIDLO: zelená JEN pro vybraný/volný TERMÍN (buňky dnů, časy, mini-souhrny,
   termín v rekapitulaci). Všechno ostatní zůstává brandově malinové
   (odkazy Změnit/Zpět, ✎ Upravit údaje, stepper vč. checků, progress bar,
   věta o držení termínu, checkbox závazku, CTA).
   Selektory #rezmod#rezmod: rezi.js injektuje <style> až za linkované CSS. */

/* ---------- volné dny: zelený okraj + světlý tint ---------- */
#rezmod#rezmod .rvi-den.vol{border-color:#1d8a4a;background:#f2faf5}
#rezmod#rezmod .rvi-den.vol:not(.sel):hover:not([disabled]){background:#d9f0e3;border-color:#15693a}
#rezmod#rezmod .rvi-den .dn{color:#146c38}

/* ---------- vybraný den: plná zelená, drží se i při hoveru/tapu ---------- */
#rezmod#rezmod .rvi-den.sel,
#rezmod#rezmod .rvi-den.vol.sel{border-color:#1c8343;background:#1c8343;
  box-shadow:0 0 0 1.5px #1c8343 inset,0 2px 8px rgba(28,131,67,.26)}
#rezmod#rezmod .rvi-den.sel:hover:not([disabled]),
#rezmod#rezmod .rvi-den.sel:active,
#rezmod#rezmod .rvi-den.vol.sel:hover:not([disabled]){background:#1c8343;border-color:#1c8343}
#rezmod#rezmod .rvi-den.sel .dc,
#rezmod#rezmod .rvi-den.sel .dm,
#rezmod#rezmod .rvi-den.sel .dn,
#rezmod#rezmod .rvi-den.sel:hover .dc,
#rezmod#rezmod .rvi-den.sel:hover .dm,
#rezmod#rezmod .rvi-den.sel:hover .dn,
#rezmod#rezmod .rvi-den.sel:active .dc,
#rezmod#rezmod .rvi-den.sel:active .dm,
#rezmod#rezmod .rvi-den.sel:active .dn{color:#fff}

/* ---------- časy: hover zeleně, vybraný plná zelená i pod prstem ---------- */
#rezmod#rezmod button.rvi-cas:not(.sel):hover:not([disabled]){background:#eef8f2;border-color:#15693a}
#rezmod#rezmod button.rvi-cas.sel{border-color:#1c8343;background:#1c8343;color:#fff;
  box-shadow:0 3px 10px rgba(28,131,67,.30)}
#rezmod#rezmod button.rvi-cas.sel:hover:not([disabled]),
#rezmod#rezmod button.rvi-cas.sel:active{background:#1c8343;border-color:#1c8343;color:#fff}

/* ---------- vybraný termín (krok 1 i 2) zeleně, odkaz Změnit malinově ---------- */
#rezmod#rezmod .rvi-mini{background:#f2faf5;color:#146c38}
#rezmod#rezmod .rvi-mini b{color:#146c38}
#rezmod#rezmod .rvi-mini a{color:#c41b53}

/* ---------- rekapitulace: blok s termínem zeleně ---------- */
#rezmod#rezmod .rvi-tik-top{background:#f2faf5;color:#146c38}
#rezmod#rezmod .rvi-tik-top .d,
#rezmod#rezmod .rvi-tik-top .c{color:#146c38}

/* ---------- vše ostatní zůstává malinové (pojistka proti dědění) ---------- */
#rezmod#rezmod .rvi-step.akt .ic{background:#c41b53;border-color:#c41b53}
#rezmod#rezmod .rvi-step.hot .ic{background:#c41b53;border-color:#c41b53}
#rezmod#rezmod .rvi-step.hot:hover{color:#c41b53}
#rezmod#rezmod .rvi-prog i{background:#c41b53}
#rezmod#rezmod .rz-pref .uprav{color:#c41b53}
#rezmod#rezmod .rvi-edit{color:#c41b53;border-color:#c41b53}
#rezmod#rezmod .rz-rek .rd a,
#rezmod#rezmod .rvi-lnk{color:#c41b53}
#rezmod#rezmod .rz-zpet{color:#c41b53}
#rezmod#rezmod .rvi-filtr{background:#fdf0f4;border-left-color:#c41b53}
#rezmod#rezmod .rvi-filtr svg{fill:#c41b53}
#rezmod#rezmod .rz-zav input{accent-color:#c41b53}
#rezmod#rezmod .rz-btn{background:#c41b53}
#rezmod#rezmod .rz-btn:hover{background:#a2123f}
#rezmod#rezmod .rz-btn[disabled]{background:#d9cfc3}
/* hvězdy hodnocení původní zlatavou */
#rezmod#rezmod .rvi-stars .hv{color:#d9a326}


/* ═══ Doladění 13. 8. (2. kolo feedbacku) ═══ */
/* hover na volném čase = zelený (nikdy malinový, ani z podkladového CSS) */
#rezmod#rezmod .rvi-cas:hover:not([disabled]):not(.sel),
#rezmod#rezmod .rz-cas:hover:not([disabled]):not(.sel){background:#eef8f2;border-color:#15693a;color:#146c38}
/* vybraný stav se pod prstem/kurzorem NEMĚNÍ — stejná zelená jako bez hoveru */
#rezmod#rezmod .rvi-den.sel:focus-visible,
#rezmod#rezmod .rvi-cas.sel:focus-visible{outline:2px solid #15693a;outline-offset:2px}
/* checkbox závazku: písmo o 1 px větší */
#rezmod#rezmod .rz-zav{font-size:16px}


/* ═══ Obsazené/nedostupné dny a časy: ŽÁDNÝ hover efekt ═══ */
#rezmod#rezmod .rvi-den[disabled],
#rezmod#rezmod .rvi-den[disabled]:hover,
#rezmod#rezmod .rvi-den[disabled]:active,
#rezmod#rezmod .rvi-den[disabled]:focus,
#rezmod#rezmod .rvi-cas[disabled],
#rezmod#rezmod .rvi-cas[disabled]:hover,
#rezmod#rezmod .rvi-cas[disabled]:active,
#rezmod#rezmod .rz-den[disabled],
#rezmod#rezmod .rz-den[disabled]:hover,
#rezmod#rezmod .rz-cas[disabled],
#rezmod#rezmod .rz-cas[disabled]:hover{
  border-color:#e3d7c9;background:#f6f1ea;box-shadow:none;transform:none;transition:none;cursor:default}


/* ═══════════════════════════════════════════════════════════════════
   OVERRIDE hostitelské šablony Gridbox (přidáno 24. 8. 2026)
   templates/gridbox/css/gridbox.css obsahuje:
       input:focus, select:focus, textarea:focus { border-color: transparent !important }
       input:focus, select:focus, textarea:focus { box-shadow: none !important }
   → po kliknutí do pole okraj ZMIZEL místo zvýraznění. Na standalone /f/
   stránkách se to neprojevilo, protože tam žádná Joomla šablona není.
   Řešení: zdvojené #rezmod#rezmod + !important, plus jemný prstenec.
   ═══════════════════════════════════════════════════════════════════ */
#rezmod#rezmod .rz-pole input,
#rezmod#rezmod select.rvi-cc{
  /* POZOR: NEPOUŽÍVAT zkratku `border: … var(--x)` — hodnota se zpracuje až
     za běhu (pending substitution) a pozdější `border-color` ji pak nepřebije
     ani při vyšší specificitě. Proto longhandy a bez !important. */
  border-width:1.5px; border-style:solid; border-color:var(--rz-line);
  transition:border-color .12s ease, box-shadow .12s ease;
}
#rezmod#rezmod .rz-pole input:focus,
#rezmod#rezmod select.rvi-cc:focus{
  outline:none!important;
  border-color:var(--rz-akc)!important;
  box-shadow:0 0 0 3px rgba(196,27,83,.16)!important;
}
#rezmod#rezmod .rz-pole input.err,
#rezmod#rezmod .rz-pole.err input{ border-color:#d33!important }
#rezmod#rezmod .rz-pole input.err:focus,
#rezmod#rezmod .rz-pole.err input:focus{
  border-color:#d33!important; box-shadow:0 0 0 3px rgba(211,51,51,.16)!important;
}
/* checkbox závazku a tlačítka ať taky nepřijdou o fokusový prstenec */
#rezmod#rezmod input[type="checkbox"]:focus-visible{
  outline:2px solid var(--rz-akc)!important; outline-offset:2px;
}

/* ── Validace telefonu (24. 8. 2026) ──────────────────────────────
   rezi.js dává třídu .err na OBAL .rz-pole a v jeho CSS je jediné
   pravidlo `#rezmod .rz-pole.err select.rvi-cc{border-color:#d33}`.
   Zčervenala tedy PŘEDVOLBA (+420), ne prázdné pole s číslem.
   Předvolba je předvyplněná a nemůže být špatně → vracíme jí klidný
   okraj a červeně značíme pole, které uživatel musí opravit. */
#rezmod#rezmod .rz-pole.err select.rvi-cc{
  border-color:var(--rz-line)!important; box-shadow:none!important;
}
#rezmod#rezmod .rz-pole.err select.rvi-cc:focus{
  border-color:var(--rz-akc)!important; box-shadow:0 0 0 3px rgba(196,27,83,.16)!important;
}
#rezmod#rezmod .rz-pole.err .rvi-tel input{
  border-color:#d33!important; box-shadow:0 0 0 3px rgba(211,51,51,.14)!important;
}

/* ── Overlay „Blokujeme váš termín" v Gridboxu (24. 8. 2026) ──────────
   DVĚ VADY, obě se projeví JEN mimo standalone /f/ stránku:

   1) gal-rezov.css používá var(--white/--line/--line-2/--acc/--ink/--ink-2/--sh-l).
      Ty jsou definované v :root standalone stránky. V Joomle neexistují →
      neplatná hodnota → stroke prstence i pozadí karty se NEVYKRESLÍ.
      Projev: „není to vycentrovaný a nevidím progress bar" (karta bez pozadí
      splyne se stránkou a kolečko je průhledné).
      Hodnoty níž jsou 1:1 opsané z :root živé finálky /f/rez4final/.

   2) V gal-rezov.css je USEKNUTÝ @media (prefers-reduced-motion: reduce) —
      chybí otevírací řádek, takže `.rezov{transition:none}` platí VŽDY
      a overlay se neroztmívá. Vracíme přechod a guard dáváme správně.   */
.rezov{
  --white:#fffdfb; --line:#e3d5c6; --line-2:#d6c4b1; --acc:#c41b53;
  --ink:#2a2320; --ink-2:#5f544d; --sh-l:0 22px 60px rgba(84,60,42,.16);
  transition:opacity .22s ease!important;
  position:fixed!important; inset:0!important; z-index:2147483000!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
}
.rezov-in{
  background:#fffdfb!important; border:1px solid #e3d5c6!important;
  border-radius:22px!important; box-shadow:0 22px 60px rgba(84,60,42,.16)!important;
  text-align:center!important; max-width:340px!important; width:100%;
  padding:30px 26px 26px!important; margin:0!important;
}
.rezov-kolo{display:block!important;width:64px!important;height:64px!important;margin:0 auto 18px!important}
.rezov-kolo svg{display:block!important;width:64px!important;height:64px!important;max-width:none!important}
.rezov-trk{stroke:#d6c4b1!important;fill:none!important}
.rezov-bar{stroke:#c41b53!important;fill:none!important}
.rezov-pct{color:#c41b53!important}
.rezov-ck path{stroke:#fff!important;fill:none!important}
.rezov-h{color:#2a2320!important;margin:0!important}
.rezov-p{color:#5f544d!important;margin:8px 0 0!important}
@media (prefers-reduced-motion: reduce){
  .rezov{transition:none!important}
  .rezov-bar{animation:none!important;stroke-dashoffset:0!important}
}

/* ── Hlavička kalendáře: adresa + hvězdy na jednom řádku, štítky pod tím ──
   Zadání Filipa (24. 8. 2026, podle screenshotu):
     řádek 1:  adresa ................................. ★★★★★ 4,9
     řádek 2:  [V.I.P péče] [60 min] [zdarma]
   `.rvi-store` (adresa + hvězdy) tedy rozhodíme na kraje, `.rvi-meta`
   zůstává vlastním řádkem pod ním, zarovnaný vlevo.                      */
#rezmod#rezmod .rvi-store{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:6px 14px;
  /* dělicí čáru z .rvi-store sundáváme a dáváme ji až pod badges (níž) */
  border-bottom:0!important; padding-bottom:0!important; margin:0 0 10px!important;
}
#rezmod#rezmod .rvi-store .a{ flex:1 1 auto; min-width:0 }
#rezmod#rezmod .rvi-store .rvi-stars{ flex:0 0 auto; margin-left:auto }
#rezmod#rezmod .rvi-meta{
  display:flex; flex-wrap:wrap; gap:8px;
  justify-content:flex-start;
  /* dělicí čára patří AŽ SEM — pod „V.I.P péče / 60 min / zdarma" */
  border-bottom:1px solid var(--rz-line)!important;
  padding-bottom:13px!important; margin:0 0 14px!important;
}
@media(max-width:560px){
  #rezmod#rezmod .rvi-store{ gap:4px 10px }
  #rezmod#rezmod .rvi-store .a{ flex:1 1 100% }
  #rezmod#rezmod .rvi-store .rvi-stars{ margin-left:0 }
}

/* ── Obsah overlay popupu na střed (24. 8. 2026) ──────────────────────
   Joomla/Gridbox šablona dává h/p vlastní text-align a margin, takže
   nadpis i podtext v kartě „Blokujeme váš termín" seděly vlevo, zatímco
   kolečko bylo uprostřed. Centrujeme celý obsah karty explicitně. */
.rezov .rezov-in,
.rezov .rezov-in *{ text-align:center!important }
.rezov .rezov-in{
  display:flex!important; flex-direction:column!important;
  align-items:center!important; justify-content:center!important;
}
.rezov .rezov-h{ width:100%; margin:0!important; text-wrap:balance }
.rezov .rezov-p{ width:100%; margin:8px 0 0!important }
.rezov .rezov-kolo{ margin:0 auto 18px!important }
.rezov .rezov-pct{ text-align:center!important }
/* ═══ 4. 9. 2026 — stepper: malé pilulky R3 (tmavě šedá): aktuální obrys, hotové výplň, budoucí šedé; bez progress linky (Filip) ═══ */

#rezmod#rezmod#rezmod .rvi-lin,#rezmod#rezmod#rezmod .rvi-prog{display:none} #rezmod#rezmod#rezmod .rvi-stepper{gap:8px;margin-bottom:14px;flex-wrap:wrap}
#rezmod#rezmod#rezmod .rvi-step{border-radius:999px;padding:6px 12px 6px 6px;gap:8px;font-size:13.5px}
#rezmod#rezmod#rezmod .rvi-step .ic{width:22px;height:22px;font-size:12px;border:none}

#rezmod#rezmod#rezmod .rvi-prog{display:none} #rezmod#rezmod#rezmod .rvi-stepper{gap:6px;margin-bottom:12px}
#rezmod#rezmod#rezmod .rvi-step{border:1.5px solid var(--rz-line);background:#fff;color:var(--rz-mut);padding:4px 10px 4px 4px;gap:6px;font-size:12.5px} #rezmod#rezmod#rezmod .rvi-step .ic{width:19px;height:19px;font-size:11px;background:#f1e9e0;color:var(--rz-mut)}
#rezmod#rezmod#rezmod .rvi-step.akt{background:#fff;border:2px solid #5f544d;color:#2a2320;padding:3.5px 9.5px 3.5px 3.5px} #rezmod#rezmod#rezmod .rvi-step.akt .ic{background:#5f544d;color:#fff}
#rezmod#rezmod#rezmod .rvi-step.hot{background:#5f544d;border-color:#5f544d;color:#fff} #rezmod#rezmod#rezmod .rvi-step.hot .ic{background:#fff} #rezmod#rezmod#rezmod .rvi-step.hot .ic svg{stroke:#5f544d;width:11px;height:11px}
#rezmod#rezmod#rezmod .rvi-step.hot:hover{background:#2a2320;border-color:#2a2320;color:#fff} #rezmod#rezmod#rezmod .rvi-step.hot:hover .ic svg{stroke:#2a2320} #rezmod#rezmod#rezmod .rvi-step.hot:focus-visible{outline-color:#2a2320}
