@font-face{font-family:Goia;src:url(/fonts/goia-regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Goia;src:url(/fonts/goia-medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Goia;src:url(/fonts/goia-bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Goia;src:url(/fonts/goia-extrabold.woff2) format('woff2');font-weight:800;font-display:swap}

:root{
  --chartreuse:#CFE35A;
  --chartreuse-svetla:#EEF5C8;
  --fialova:#2B1A63;
  --akcent:#6A4DFF;
  --linka:#D9D4E8;
  --pozadi:#F8F9F1;
  --bila:#fff;
  --chyba:#B3261E;
  --r:10px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pozadi);color:var(--fialova);font:400 16px/1.5 Goia,system-ui,sans-serif}
a{color:var(--akcent)}
:focus-visible{outline:2px solid var(--akcent);outline-offset:2px}

.lista{background:var(--chartreuse);padding:14px 16px}
.lista .in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:16px;justify-content:space-between}
.lista img{height:26px;display:block}
.lista nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-weight:500;font-size:14px}
.lista nav a{color:var(--fialova);text-decoration:none}
.lista nav a[aria-current]{text-decoration:underline;text-underline-offset:4px}
.lista form{margin:0}

main{max-width:1120px;margin:0 auto;padding:32px 16px 64px}
main.uzke{max-width:680px}
h1{font:800 clamp(28px,5vw,40px)/1.1 Goia;letter-spacing:-.02em;margin:0 0 10px}
h1 .tecka{color:var(--akcent)}
h2{font:700 20px/1.25 Goia;margin:36px 0 12px}
.uvod{font-size:18px;max-width:60ch;margin:0 0 28px;opacity:.85}
.pozn{font-size:14px;opacity:.7}
.stitek{font:500 12px Goia;letter-spacing:.14em;text-transform:uppercase;color:var(--akcent)}

.karta{background:var(--bila);border:1px solid var(--linka);border-radius:var(--r);padding:20px}
.karta+.karta{margin-top:14px}
.hlaska{padding:12px 16px;border-radius:var(--r);background:var(--chartreuse-svetla);margin:0 0 20px}
.hlaska.chyba{background:#FBE9E7;color:var(--chyba)}

/* formuláře */
.pole{margin:0 0 22px}
.pole>label,.pole>.otazka{display:block;font-weight:700;margin:0 0 4px}
.pole .cislo{color:var(--akcent);font-weight:800;margin-right:6px}
.pole .napoveda{display:block;font-size:14px;opacity:.7;margin:0 0 8px}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],select,textarea{
  width:100%;font:inherit;color:inherit;background:var(--bila);border:1px solid var(--linka);border-radius:8px;padding:10px 12px}
textarea{min-height:88px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--akcent);outline:none;box-shadow:0 0 0 3px #6A4DFF22}
.volby{display:flex;flex-wrap:wrap;gap:8px}
.volby label{display:flex;align-items:center;gap:8px;border:1px solid var(--linka);background:var(--bila);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:500}
.volby input{accent-color:var(--akcent);margin:0}
.dva{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:640px){.dva{grid-template-columns:1fr}}
.region-otazka{margin-top:10px}
.js .region-otazka[hidden]{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

button,.tlacitko{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:500 15px Goia;border-radius:999px;border:1px solid var(--fialova);background:var(--fialova);color:#fff;padding:10px 20px;cursor:pointer;text-decoration:none;min-height:44px}
button:hover,.tlacitko:hover{background:var(--akcent);border-color:var(--akcent)}
button.vedlejsi,.tlacitko.vedlejsi{background:transparent;color:var(--fialova)}
button.vedlejsi:hover{background:var(--chartreuse-svetla)}
button.male{padding:6px 12px;min-height:34px;font-size:13px}
.akce{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* poptávky */
.tabulka{width:100%;border-collapse:separate;border-spacing:0;background:var(--bila);border:1px solid var(--linka);border-radius:var(--r);overflow:hidden;font-size:14px}
.tabulka th{font:500 11px Goia;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:10px 12px;background:var(--fialova);color:#fff;white-space:nowrap}
.tabulka td{padding:12px;border-top:1px solid var(--linka);vertical-align:top}
.tabulka td.zprava{max-width:280px;white-space:pre-wrap;word-break:break-word}
.tabulka .gclid{font-size:12px;max-width:120px;overflow-wrap:anywhere;opacity:.75}
.stav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.stav button{background:var(--bila);color:var(--fialova);border-color:var(--linka)}
.stav button[aria-pressed=true]{background:var(--fialova);color:#fff;border-color:var(--fialova)}
.stav button.st-spam[aria-pressed=true]{background:#5d5670;border-color:#5d5670}
.stav button.st-zakazka[aria-pressed=true]{background:var(--akcent);border-color:var(--akcent)}
.oznaceni textarea{min-height:44px;font-size:14px}
.oznaceni .radek{display:flex;gap:8px;margin-top:6px;align-items:center}
.oznaceni input[type=number]{max-width:140px;font-size:14px;padding:6px 10px}
.znacka{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--chartreuse-svetla)}
@media (max-width:820px){
  .tabulka thead{display:none}
  .tabulka,.tabulka tbody,.tabulka tr,.tabulka td{display:block;width:100%}
  .tabulka tr{border-top:1px solid var(--linka);padding:8px 0}
  .tabulka tr:first-child{border-top:0}
  .tabulka td{border:0;padding:4px 14px}
  .tabulka td[data-l]::before{content:attr(data-l);display:block;font:500 10px Goia;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
  .tabulka td.zprava{max-width:none}
}

.prehled{border:1px solid var(--linka);padding:14px 18px;background:var(--bila);border-radius:var(--r);margin:0 0 12px}
.prehled .kdy{font:500 12px Goia;letter-spacing:.12em;text-transform:uppercase;color:var(--akcent);margin-bottom:6px}
.prehled p{margin:0;white-space:pre-wrap}
.koncept{border-style:dashed;background:transparent}

.mrizka{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.mrizka .karta{margin:0}
.mrizka .karta h3{margin:0 0 4px;font-size:18px}
details{margin:0 0 14px}
summary{cursor:pointer;font-weight:700}
code{background:var(--chartreuse-svetla);padding:1px 6px;border-radius:4px;font-size:13px;overflow-wrap:anywhere}
pre{background:var(--fialova);color:#fff;padding:14px;border-radius:8px;overflow:auto;font-size:13px}

/* mazání a úpravy */
details.smazat{margin:8px 0 0}
details.smazat>summary{font:500 13px Goia;color:var(--fialova);opacity:.7;list-style:none;cursor:pointer;display:inline-block}
details.smazat>summary::-webkit-details-marker{display:none}
details.smazat>summary:hover{opacity:1;text-decoration:underline}
details.smazat[open]>summary{opacity:1}
details.smazat form{margin-top:8px;display:grid;gap:6px}
details.smazat input[type=text],details.smazat input[type=email],details.smazat input[type=tel],details.smazat textarea{font-size:14px;padding:6px 10px}
.potvrdit{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.potvrdit input{accent-color:var(--chyba);margin-top:3px}
button.nebezpecne{background:var(--chyba);border-color:var(--chyba);justify-self:start}
button.nebezpecne:hover{background:#8c1d17;border-color:#8c1d17}

/* úvodní dotazník – podotázky a měsíce */
.podotazka{display:block;font-size:14px;font-weight:500;margin:14px 0 6px;opacity:.8}
.volby.mesice{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}
.volby.mesice label{border-radius:8px;padding:6px 10px;font-size:14px}
.volby label:has(input:checked){border-color:var(--akcent);background:#6A4DFF14}
.pole>label.podotazka{font-weight:500;margin:14px 0 6px}
.jine-text{margin-top:8px;max-width:420px}

/* křížky a potvrzovací okno */
.karta-s-x{position:relative;padding:0}
.karta-s-x .karta-odkaz{display:block;padding:20px 52px 20px 20px;text-decoration:none;color:inherit;border-radius:var(--r)}
.karta-s-x .karta-odkaz:hover h3{color:var(--akcent)}
.karta-s-x .x-smazat{position:absolute;top:10px;right:10px}
.x-smazat{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:0;padding:0;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--fialova);opacity:.45;cursor:pointer}
.x-smazat:hover,.x-smazat:focus-visible{opacity:1;background:#FBE9E7;color:var(--chyba);border-color:transparent}
.sloupec-x{width:44px;text-align:right}
.tabulka td.sloupec-x{padding:6px 8px}
.smazat-btn{background:transparent;border:0;color:var(--fialova);opacity:.7;font:500 13px Goia;padding:0;min-height:0;margin-top:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.smazat-btn:hover{opacity:1;color:var(--chyba);background:transparent}
dialog.potvrzeni{border:0;border-radius:14px;padding:24px;max-width:min(440px,calc(100vw - 32px));color:var(--fialova);box-shadow:0 20px 60px #2B1A6333}
dialog.potvrzeni::backdrop{background:#2B1A6355}
.potvrzeni-text{font:700 18px/1.35 Goia;margin:0 0 6px}
@media (max-width:820px){.tabulka td.sloupec-x{position:absolute;top:6px;right:6px;width:auto;padding:0}.tabulka tr{position:relative}}

/* škála ženy ↔ muži */
.skala{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 14px}
.skala-konec{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:500;color:var(--akcent);min-width:72px}
.skala-konec svg{width:32px;height:42px}
.skala input[type=range]{width:100%;min-width:0;accent-color:var(--akcent);margin:0;height:28px;cursor:pointer}
.skala.nedotceno input[type=range]{opacity:.45}
.skala .volby{grid-column:4;grid-row:1}
.skala-text{grid-column:2;grid-row:2;font-weight:700;text-align:center}
@media (max-width:560px){
  .skala{grid-template-columns:auto minmax(0,1fr) auto;gap:6px 10px}
  .skala-konec{min-width:0}
  .skala .volby{grid-column:1/-1;grid-row:3;justify-content:center}
}
.skala input[type=range]{-webkit-appearance:none;appearance:none;background:transparent}
.skala input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--linka)}
.skala input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--linka)}
.skala input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--akcent);border:3px solid var(--bila);box-shadow:0 1px 4px #2B1A6340}
.skala input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--akcent);border:3px solid var(--bila);box-shadow:0 1px 4px #2B1A6340}
