/*
 * Copyright (c) SupportSystem s.r.o. Všechna práva vyhrazena.
 * Autoři: Petr Marek, Jan Kučera
 *
 * @uses-design-tokens-v2
 * @fileoverview Modal resize v2 — size cycling pro v2 modaly (PPP_UKOL_199+).
 *
 * Cíl:
 *   - 3 stavy velikosti (normal / maxheight / fullscreen) — přepínané ModalResizeManager-v2
 *   - Resize button (.modal-resize-v2) je Button v2 (iconOnly), takže velikost,
 *     density, scheme a hover jsou už řešené v button-v2.css.
 *   - Tento soubor řeší POUZE: pozici v headeru + size class pravidla na content.
 *
 * Selektor scope:
 *   .modal-content-v2.modal-size-{maxheight,fullscreen}-v2
 *   .modal-overlay-v2:has(.modal-content-v2.modal-size-fullscreen-v2)
 *
 * Pouze --ui-* design tokens (žádný --modal-*, --barva-*).
 */

/* ─── RESIZE BUTTON (Button v2 modifikátor) ────────────────────────────── */

/* Button v2 řeší width/height (density-aware), barvy (theme-aware) i transition.
   Tady JEN explicitní pozice ve flex headeru — `align-self: flex-start` aby
   nezatáhl výšku headeru, `flex: 0 0 auto` aby nerostl. */
.modal-resize-v2 {
    flex: 0 0 auto;
    align-self: flex-start;
}

/* ─── SIZE STAVY ──────────────────────────────────────────────────────── */

/* Maxheight — roztažený na výšku celé viewport mínus overlay padding.
   Default overlay padding je --ui-spacing-xl (20px) na všech stranách, ale
   pro velký maxheight modal je 40px shora+zdola moc velká mezera (uživatel
   2026-05-26 reportoval „BaseForm v2 se neroztahuje k horní/spodní liště,
   je tam velká mezera"). Override overlay vertikálního padding na
   --ui-spacing-sm (8px) → modal blíž k okraji, zachová vizuální separaci.

   calc() přesně započítá overlay padding → 0 px overflow.
   Horizontální .modal-overlay-v2 padding zůstává --ui-spacing-xl pro vystředění
   (modal je centered s max-width, horizontální padding nemá vliv pokud
   viewport > max-width modálu). */
.modal-overlay-v2:has(.modal-content-v2.modal-size-maxheight-v2) {
    padding-top: var(--ui-spacing-sm);
    padding-bottom: var(--ui-spacing-sm);
}

.modal-content-v2.modal-size-maxheight-v2 {
    max-height: calc(100vh - var(--ui-spacing-sm) * 2) !important;
    height: calc(100vh - var(--ui-spacing-sm) * 2) !important;
}

/* Fullscreen — celá obrazovka (98vh aby nepřelézalo přes Windows taskbar). */
.modal-content-v2.modal-size-fullscreen-v2 {
    width: 100vw !important;
    height: 98vh !important;
    max-width: 100vw !important;
    max-height: 98vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

/* Ve fullscreen režimu vynulovat padding overlay — content má 100vw. */
.modal-overlay-v2:has(.modal-content-v2.modal-size-fullscreen-v2) {
    padding: 0;
}

/* ─── MOBILE / DOTYK ──────────────────────────────────────────────────── */

@media (max-width: 768px) {
    /* Na Android Chrome vh zahrnuje adresní lištu → modal přetéká.
       dvh (dynamic viewport height) = aktuálně viditelná oblast.
       Konzistence s desktop calc — spacing-sm pro maxheight mode. */
    .modal-content-v2.modal-size-maxheight-v2 {
        max-height: calc(100dvh - var(--ui-spacing-sm) * 2) !important;
        height: calc(100dvh - var(--ui-spacing-sm) * 2) !important;
    }

    .modal-content-v2.modal-size-fullscreen-v2 {
        height: 100dvh !important;
        max-height: 100dvh !important;
    }
}
