/* =================================================================
   PŘIHLÁŠKA NA KURZ
   Blok formuláře (.prihl), stav termínů (.beh-stav)
   a plovoucí lišta na mobilu (.prihl-lista).
   Psáno mobile first. Selektory začínají ".prihl", aby přebily
   obecná pravidla ".produkty h2 / p / button" ze style-kurzy.css.

   Barvy: tlačítka broskvová (--color1) s TMAVÝM textem (kontrast
   7 : 1; bílý text na broskvové má jen 1,9 : 1). Drobné texty a odkazy
   v teplé terakotě #a3654a (kontrast 4,6 : 1 na bílé).
   ================================================================= */

.prihl {
    --prihl-hneda: #a3654a;          /* texty, odkazy, štítky */
    --prihl-ramecek: #d4906c;        /* vybraný termín */
    --prihl-tlacitko: var(--color1); /* broskvová webu */
    --prihl-tlacitko-hover: #e79c77;
    --prihl-hneda-tmava: #7d4c37;
    --prihl-svetla: #fdf4ef;
    --prihl-linka: #e3d8ce;
    --prihl-text2: #5f574f;

    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .05);
    padding: 1.75rem 1.25rem 0;
    margin: 2.4em 0 0;
    scroll-margin-top: 16px;
    color: var(--color5);
}

/* ---------- hlavička ---------- */

.prihl .prihl-stitek {
    display: block;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: var(--prihl-hneda);
    margin: 0 0 .4rem;
}
.prihl .prihl-h2 {
    font-family: inherit;
    font-size: 1.4rem;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--color5);
    text-align: left;
    margin: 0;
    padding: 0;
}
.prihl .prihl-podtitul {
    font-size: .95rem;
    line-height: 1.5;
    color: var(--prihl-text2);
    margin: .4rem 0 0;
}
.prihl-hlavicka { margin-bottom: 1.5rem; }

/* ---------- rozvržení ---------- */

.prihl-mrizka {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
}

.prihl-form {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
}

/* ---------- pole ---------- */

.prihl .prihl-label {
    display: block;
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .2px;
    margin: 0 0 .4rem;
    padding: 0;
    color: var(--color5);
}
.prihl-pole-mrizka {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem 1.1rem;
}
.prihl .prihl-input {
    box-sizing: border-box;
    width: 100%;
    height: 3rem;
    padding: 0 .9rem;
    border: 1px solid #d6c7ba;
    border-radius: 4px;
    background: #fff;
    font-family: inherit;
    font-size: 1rem;           /* 16 px – iOS pak při psaní nezvětšuje stránku */
    font-weight: 400;
    color: var(--color5);
}
.prihl .prihl-input::placeholder { color: #9a8f86; font-weight: 300; }
.prihl .prihl-input:focus {
    outline: 2px solid var(--color1);
    outline-offset: 1px;
    border-color: var(--prihl-hneda);
}
.prihl .prihl-input[aria-invalid="true"] { border-color: #b3261e; }

.prihl .prihl-chyba {
    font-size: .82rem;
    line-height: 1.4;
    color: #b3261e;
    margin: .35rem 0 0;
}
.prihl .prihl-chyba-souhrn {
    background: #fdecea;
    color: #8c1d18;
    padding: .8rem 1rem;
    font-size: .9rem;
    line-height: 1.5;
}

/* ---------- výběr termínu ---------- */

.prihl-terminy { border: 0; margin: 0; padding: 0; min-width: 0; }
.prihl-terminy-volby {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.prihl .prihl-termin {
    flex: 1 1 0;
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .85rem 1rem;
    border: 1px solid var(--prihl-linka);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.prihl .prihl-termin:hover { border-color: var(--color1); }
.prihl .prihl-termin:has(input:checked) {
    border-color: var(--prihl-ramecek);
    box-shadow: inset 0 0 0 1px var(--prihl-ramecek);
    background: var(--prihl-svetla);
}
.prihl .prihl-termin:has(input:focus-visible) {
    outline: 2px solid var(--color1);
    outline-offset: 2px;
}
.prihl .prihl-termin input {
    accent-color: var(--prihl-ramecek);
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex-shrink: 0;
}
.prihl-termin-text { display: flex; flex-direction: column; gap: 1px; }
.prihl-termin-nazev { font-size: .78rem; letter-spacing: .4px; color: var(--color6); }
.prihl-termin-od    { font-size: 1rem; font-weight: 500; color: var(--color5); }
.prihl-termin-pozn  { font-size: .8rem; font-weight: 500; color: var(--prihl-hneda); }

/* ---------- odeslání ---------- */

.prihl-odeslani { display: flex; flex-direction: column; gap: .75rem; }

.prihl .prihl-tlacitko {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    width: 100%;
    min-height: 3.25rem;
    margin: 0;
    padding: 0 1.6rem;
    background: var(--prihl-tlacitko);
    border: 1px solid var(--prihl-tlacitko);
    border-radius: 4px;
    color: var(--color5);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .4px;
    text-transform: none;
    cursor: pointer;
    transition: background .2s;
}
.prihl .prihl-tlacitko:hover,
.prihl .prihl-tlacitko:focus-visible {
    background: var(--prihl-tlacitko-hover);
    border-color: var(--prihl-tlacitko-hover);
    color: var(--color5);
}
.prihl .prihl-tlacitko:focus-visible { outline: 2px solid var(--prihl-ramecek); outline-offset: 2px; }
.prihl .prihl-tlacitko[disabled] { opacity: .7; cursor: progress; }

.prihl .prihl-pozn {
    font-size: .88rem;
    line-height: 1.5;
    color: var(--prihl-text2);
    margin: 0;
}
.prihl .prihl-gdpr {
    font-size: .8rem;
    line-height: 1.5;
    color: var(--color6);
    margin: 0;
}
.prihl a { color: var(--prihl-hneda); text-decoration: underline; text-underline-offset: 2px; }
.prihl a:hover { color: var(--color5); }

.prihl-past {
    position: absolute !important;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ---------- boční panel ---------- */

.prihl-bok {
    background: var(--prihl-svetla);
    margin: 0 -1.25rem;
    padding: 1.6rem 1.25rem 1.8rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.prihl-bok-cast + .prihl-bok-cast {
    padding-top: 1.5rem;
    border-top: 1px solid #ead9cb;
}
.prihl .prihl-kroky {
    list-style: none;
    margin: .3rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.prihl .prihl-kroky li {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    font-size: .88rem;
    line-height: 1.45;
    color: var(--prihl-text2);
}
.prihl .prihl-kroky b {
    display: block;
    font-size: .95rem;
    font-weight: 500;
    color: var(--color5);
}
.prihl-krok-cislo {
    flex: 0 0 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--color1);
    color: var(--prihl-hneda);
    font-size: .8rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prihl-kontakt { display: flex; flex-direction: column; gap: .7rem; }
.prihl .prihl-tlacitko-svetle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 3rem;
    padding: 0 1.2rem;
    background: #fff;
    border: 1px solid var(--color1);
    border-radius: 4px;
    color: var(--prihl-hneda-tmava);
    font-weight: 500;
    text-decoration: none;
}
.prihl .prihl-tlacitko-svetle:hover { background: #fff8f3; color: var(--color5); }
.prihl .prihl-kontakt p {
    font-size: .85rem;
    line-height: 1.5;
    color: var(--prihl-text2);
    margin: 0;
}

.prihl-zadny-termin p { font-size: .95rem; line-height: 1.6; margin: 0 0 .6rem; }

/* ---------- potvrzení ---------- */

.prihl-hotovo {
    padding-bottom: 2rem;
    outline: none;
}
.prihl-hotovo-ikona {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: var(--prihl-svetla);
    border: 1px solid var(--color1);
    color: var(--prihl-hneda);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
}
.prihl .prihl-hotovo-text,
.prihl .prihl-hotovo-dotaz {
    font-size: .95rem;
    line-height: 1.55;
    color: var(--prihl-text2);
    margin: .6rem 0 0;
}
.prihl-souhrn {
    background: var(--prihl-svetla);
    margin: 1.4rem 0 0;
    padding: .4rem 1.1rem .6rem;
}
.prihl-souhrn div {
    display: flex;
    gap: .9rem;
    padding: .6rem 0;
    border-bottom: 1px solid #ead9cb;
}
.prihl-souhrn div:last-child { border-bottom: 0; }
.prihl-souhrn dt { flex: 0 0 4rem; font-size: .82rem; color: var(--color6); }
.prihl-souhrn dd { margin: 0; font-size: .95rem; font-weight: 500; }

/* ---------- větší displeje ---------- */

@media (min-width: 560px) {
    .prihl { padding: 2.25rem 2rem 0; }
    .prihl-bok { margin: 0 -2rem; padding: 1.8rem 2rem 2rem; }
    .prihl-pole-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .prihl-terminy-volby { flex-direction: row; }
    .prihl .prihl-h2 { font-size: 1.6rem; }
}

@media (min-width: 900px) {
    .prihl { padding: 2.75rem 3rem; }
    .prihl-mrizka {
        grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
        gap: 2.5rem;
        align-items: start;
    }
    .prihl-bok { margin: 0; padding: 1.75rem 1.6rem; }
    .prihl .prihl-tlacitko { width: auto; align-self: flex-start; padding: 0 2.2rem; }
    .prihl-hotovo { padding-bottom: 0; }
}


/* =================================================================
   STAV TERMÍNU (karta .beh ve „Výukových dnech“)
   ================================================================= */

.beh .beh-stav {
    display: inline-block;
    margin: 1rem 0 0;
    font-size: .85rem;
    font-weight: 500;
    color: #7d4c37;
}
.beh--obsazeno .beh-dny { opacity: .6; }


/* =================================================================
   LIŠTA „PŘIHLÁSIT SE“ (jen mobil)
   Je na konci úseku .prihl-usek (Výukové dny … lektoři). position: sticky
   ji drží u spodního okraje obrazovky, dokud je člověk v tomto úseku.
   Na konci úseku lišta zmizí (neusadí se nad FAQ / formulářem):
   skript pozná, že už není přichycená dole, a odebere body.ma-listu.
   Záporný horní okraj = lišta v klidové poloze nezabírá místo.
   Bez position: fixed – Firefox pro Android ji proto neroztahuje.
   ================================================================= */

.prihl-lista {
    position: sticky;
    bottom: 0;
    z-index: 50;
    margin: 2rem -25px 0;          /* přes celou šířku (.produkty 10 px + .container 15 px) */
}
/* Se skriptem: viditelná jen když je přichycená dole */
.lista-js .prihl-lista {
    margin-top: -4.4rem;           /* výška lišty (3rem tlačítko + 2 × .7rem) */
    visibility: hidden;
    opacity: 0;
    transition: opacity .2s ease, visibility 0s linear .2s;
}
.lista-js body.ma-listu .prihl-lista {
    visibility: visible;
    opacity: 1;
    transition: opacity .2s ease;
}
.prihl-lista-obsah {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem 1rem;
    background: #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
}

.prihl-lista-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.prihl-lista-cena { font-size: .95rem; font-weight: 500; color: var(--color5); }
.prihl-lista-termin { font-size: .78rem; color: #5f574f; }

.prihl-lista-tlacitko {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0 1.25rem;
    background: var(--color1);
    border-radius: 4px;
    color: var(--color5);
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}
.prihl-lista-tlacitko:hover { background: #e79c77; color: var(--color5); }
.prihl-lista-tel {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--color1);
    border-radius: 4px;
    color: #7d4c37;
    text-decoration: none;
}
.prihl-lista-tel .fa { padding: 0; }

/* tlačítko „nahoru“ nad lištou – jen když je lišta přichycená dole
   (třídu body.ma-listu nastavuje /js/prihlaska.js) */
.scroll-to-top { transition: bottom .2s ease, opacity .3s ease, transform .3s ease; }
@media (max-width: 759px) {
    body.ma-listu .scroll-to-top { bottom: 5.5rem; }
}
@media (min-width: 760px) {
    .prihl-lista { display: none; }
}


@media (min-width: 900px) {
    .prihl-hotovo { max-width: 760px; }
}

/* blok přihlášky samostatně za FAQ – bez horního odsazení (FAQ má vlastní) */
.produkty--prihlaska .prihl { margin-top: 0; }

/* Odstupy kolem FAQ a pod přihláškou (stránky kurzů s přihláškou za FAQ) */
.produkty:has(+ .faq-section) { padding-bottom: 1rem; }
.produkty ~ .faq-section { padding-top: 1rem; padding-bottom: 2rem; }
.produkty--prihlaska { padding-bottom: 3rem; }
@media (min-width: 769px) {
    .produkty ~ .faq-section { padding-top: 1.5rem; padding-bottom: 2.5rem; }
    .produkty--prihlaska { padding-bottom: 5rem; }
}


/* =================================================================
   Přihláška pro pár
   ================================================================= */
.prihl-ucast { margin-top: 1.25rem; }
.prihl-partner { margin-top: .9rem; }
.prihl-partner[hidden] { display: none; }
