/*
 * TKDM objednávky — základní vzhled.
 *
 * Třídy s60-* jsou stejné jako u dřívějšího objednávkového pluginu a šablona
 * webu (kvantovaterapie.css) je přebíjí vlastním vzhledem. Tady je jen základ,
 * aby výpisy a formulář vypadaly rozumně i bez ní. Vlastní třídy mají prefix tkdm-.
 */

/* ── Termíny v panelu kurzu ─────────────────────────────────────────────── */
.kvt-course-sidebar { position: sticky; top: 80px; }
.brxe-shortcode:has(.kvt-course-sidebar) { align-self: start; }
.s60-sidebar-header { margin-bottom: 16px; }
.s60-sidebar-price { font-size: 28px; font-weight: 700; color: #1c1814; }
.s60-sidebar-no-terms { color: #999; font-style: italic; }

.s60-dates-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: 32px; }
.s60-date-card { background: #fff; border: 1px solid #e4ddd4; border-radius: 12px; padding: 20px 24px; display: flex; align-items: center; gap: 20px; transition: all 0.3s; }
.s60-date-card:hover { border-color: #0b6e80; box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.s60-date-badge { background: #0b6e80; color: #fff; border-radius: 10px; padding: 12px 16px; text-align: center; min-width: 60px; flex-shrink: 0; }
.s60-date-day { font-size: 24px; font-weight: 700; line-height: 1; }
.s60-date-month { font-size: 11px; text-transform: uppercase; font-weight: 600; letter-spacing: 0.05em; }
.s60-date-detail { flex: 1; }
.s60-date-location { font-size: 15px; font-weight: 600; color: #1c1814; }
.s60-date-bottom { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
.s60-date-range { font-size: 13px; color: #6b6058; flex: 1; }
.s60-date-card-closed { opacity: 0.5; }
.s60-date-closed-label { color: #999; font-size: 13px; }

/* Tlačítko je formulář s jedním tlačítkem — ať nerozbije řádek. */
.tkdm-prihlasit-form { display: inline-flex; margin: 0; padding: 0; }

/* Vzhled tlačítka v panelu kurzu: stejná „pilulka" jako dosud. Dřív ji šablona
   dávala třídě s60-register-btn, kterou tlačítko mít nesmí (viz class-tkdm-web.php). */
.s60-date-link.tkdm-prihlasit {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: var(--primary, #0b6e80);
    border: 1.5px solid var(--primary, #0b6e80);
    border-radius: 999px;
    padding: 7px 18px;
    font-family: var(--font-body, inherit);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease;
}
.s60-date-link.tkdm-prihlasit:hover,
.s60-date-link.tkdm-prihlasit:focus-visible {
    background: var(--primary, #0b6e80);
    color: #fff;
}

@media (max-width: 600px) {
    .s60-dates-grid { grid-template-columns: 1fr; }
    .s60-date-bottom { flex-wrap: wrap; }
    .s60-date-bottom .tkdm-prihlasit-form,
    .s60-date-bottom .tkdm-prihlasit { width: 100%; }
}

/* ── Nejbližší termíny ──────────────────────────────────────────────────── */
.s60-upcoming-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.s60-upcoming-card { display: flex; align-items: center; gap: 16px; padding: 16px; border: 1px solid #eee; border-radius: 8px; }
.s60-upcoming-date { text-align: center; min-width: 50px; }
.s60-upcoming-day { display: block; font-size: 24px; font-weight: 700; }
.s60-upcoming-month { display: block; font-size: 12px; color: #666; text-transform: uppercase; }
.s60-upcoming-body { flex: 1; }
.s60-upcoming-title { margin: 0 0 4px; font-size: 15px; }
.s60-upcoming-location { margin: 0; color: #666; font-size: 13px; }
.s60-upcoming-daterange { margin: 2px 0 0; color: #999; font-size: 12px; }

/* ── Tlačítka, chyby ────────────────────────────────────────────────────── */
.s60-btn { display: inline-block; padding: 10px 20px; border-radius: 6px; border: none; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none; text-align: center; }
.s60-btn-primary { background: #0b6e80; color: #fff; }
.s60-btn-primary:hover { background: #085a69; color: #fff; }
.s60-btn-large { padding: 12px 20px; font-size: 16px; }
.s60-btn[disabled] { opacity: 0.6; cursor: wait; }
.s60-error { color: #b32d2e; padding: 12px 16px; background: #fef0f0; border-radius: 6px; margin: 12px 0; font-size: 14px; }

/* ── Formulář přihlášky ─────────────────────────────────────────────────── */
.s60-checkout { max-width: 700px; margin: 0 auto; }
.s60-form { max-width: 700px; }
.s60-form-section { margin-bottom: 24px; }
.s60-form-section h3 { margin: 0 0 12px; }
.s60-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.s60-form-row.s60-full { grid-template-columns: 1fr; }
.s60-field { display: flex; flex-direction: column; gap: 6px; }
.s60-field label { font-size: 14px; font-weight: 600; }
.s60-field input, .s60-field textarea { width: 100%; padding: 10px 14px; border: 1px solid #d0d0d0; border-radius: 4px; font: inherit; box-sizing: border-box; }
.s60-checkbox { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 15px; }
.s60-checkbox input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }

@media (max-width: 700px) {
    .s60-form-row { grid-template-columns: 1fr; }
}

.tkdm-zaskrtavatko { margin: 0 0 14px; }
.tkdm-zaskrtavatko .s60-checkbox { text-transform: none; letter-spacing: normal; font-weight: 400; line-height: 1.45; }

/* Rozbalovací části: otevře je zaškrtnutí políčka, bez JavaScriptu. */
.tkdm-rozbal { display: none; margin: 4px 0 20px 28px; }
.tkdm-form:has(#tkdm-jiny-ucastnik:checked) .tkdm-rozbal-ucastnik,
.tkdm-form:has(#tkdm-na-firmu:checked) .tkdm-rozbal-firma { display: block; }

.tkdm-chyba { display: block; color: #b32d2e; font-size: 13px; margin-top: 2px; }
.tkdm-pole-chyba input { border-color: #b32d2e !important; }
.tkdm-chyby strong { display: block; margin-bottom: 2px; }

/* Past na roboty — člověk pole nevidí, robot ho vyplní. */
.tkdm-past { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.tkdm-odeslat { width: 100%; }
.tkdm-po-odeslani, .tkdm-pomoc { text-align: center; font-size: 14px; opacity: 0.8; margin: 12px 0 0; }
.tkdm-vyber-zprava { margin: 0 0 16px; }
.tkdm-jiny-termin { margin: 8px 0 0; font-size: 14px; }

/* ── Souhrn (formulář i poděkování) ─────────────────────────────────────── */
.s60-order-summary { margin: 0 0 24px; padding: 20px 24px; border: 1px solid #e4ddd4; border-radius: 8px; background: #fff; text-align: left; }
.s60-order-summary h3 { margin: 0 0 10px; }
.tkdm-souhrn { width: 100%; border-collapse: collapse; }
.tkdm-souhrn th { text-align: left; font-weight: normal; color: #6b6058; padding: 6px 16px 6px 0; white-space: nowrap; vertical-align: top; width: 1%; }
.tkdm-souhrn td { padding: 6px 0; vertical-align: top; }

/* ── Poděkování ─────────────────────────────────────────────────────────── */
.s60-thankyou { max-width: 640px; margin: 0 auto; }
.tkdm-dekujeme h3 { margin: 24px 0 8px; }
