/*
 * Copyright (c) SupportSystem s.r.o. Všechna práva vyhrazena.
 * Autoři: Petr Marek, Jan Kučera
 *
 * @uses-design-tokens-v2
 * @fileoverview ScrollButtons v2 — sdílená ◀ ▶ tlačítka pro horizontální scroll.
 *
 * Komponenta vrací wrapper se 2 tlačítky. Volající si ho připne kam chce
 * (typicky na začátek a konec scrollovacího containeru přes flexbox layout).
 *
 * Designerova specifikace pro horizontal variantu (UKOL 197 skupina U):
 *   - Tvar: square 28×28 (border-radius medium = 6 px)
 *   - Reuse barev ze skupiny U (žlutá / sky / cyan podle schématu)
 *   - BEZ scale transform (scale 1.08 dělá v těsně spojené liště "skok"
 *     sousedů; scale 0.95 push-in efekt je na 28 px pod prahem čitelnosti)
 *   - SVG ikona 10×10 (centrované filled trojúhelníky ◀▶)
 *
 * Vertical varianta (kruh 40×40) má samostatný stylesheet scroll-button-v2.css
 * (přebije base 28×28 styl pro tlačítka s class .scroll-button-v2).
 *
 * Skryté když není co scrollovat (target.scrollWidth <= target.clientWidth)
 * nebo když je scroll na kraji (left/right .is-hidden).
 */

.scroll-buttons-v2 {
    display: contents;
}

/* Vertical varianta (board task columns scroll). Pokud rodič není flex, child
   tlačítka se zarovnají dle absolute pozice nastavené konzumentem. */
.scroll-buttons-v2--vertical {
    display: contents;
}

.scroll-buttons-v2__btn {
    appearance: none;
    -webkit-appearance: none;
    width: 28px;
    height: 28px;
    padding: 0;
    flex-shrink: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: var(--ui-scroll-button-default-bg, #ff0000);
    color: var(--ui-scroll-button-default-text, #ff0000);
    border: 1px solid var(--ui-scroll-button-default-border, #ff0000);
    border-radius: var(--ui-radius-medium, #ff0000);
    box-shadow: 0 2px 6px var(--ui-scroll-button-shadow, #ff0000);

    cursor: pointer;
    transition: background-color 0.12s ease,
                color 0.12s ease,
                border-color 0.12s ease,
                box-shadow 0.12s ease,
                opacity 0.12s ease;

    /* SVG ikona uvnitř */
    line-height: 0;
}

/* Horizontal varianta používá menší ikonu 10×10 (designer doporučení).
   Vertical varianta (class scroll-button-v2) přebije zpět na 14×14 v samostatném souboru. */
.scroll-buttons-v2__btn svg {
    width: 10px;
    height: 10px;
}

.scroll-buttons-v2__btn:hover:not(.is-disabled) {
    background: var(--ui-scroll-button-hover-bg, #ff0000);
    color: var(--ui-scroll-button-hover-text, #ff0000);
    border-color: var(--ui-scroll-button-hover-border, #ff0000);
    box-shadow: 0 4px 10px var(--ui-scroll-button-shadow, #ff0000);
}

.scroll-buttons-v2__btn:active:not(.is-disabled) {
    background: var(--ui-scroll-button-active-bg, #ff0000);
    color: var(--ui-scroll-button-active-text, #ff0000);
    border-color: var(--ui-scroll-button-active-border, #ff0000);
    box-shadow: 0 1px 3px var(--ui-scroll-button-shadow, #ff0000);
}

.scroll-buttons-v2__btn.is-hidden {
    display: none;
}

.scroll-buttons-v2__btn.is-disabled {
    background: var(--ui-scroll-button-disabled-bg, #ff0000);
    color: var(--ui-scroll-button-disabled-text, #ff0000);
    border-color: var(--ui-border-default, #ff0000);
    box-shadow: none;
    cursor: not-allowed;
}

/* Vertical varianta — tlačítka s class scroll-button-v2
   (samostatný stylesheet) přebije base 28×28 styl
   na kruh 40×40 + scale transform. */

/* ============================================
   BOARD QUICK NAV — horizontální scroll PPP boardu (ÚKOL 215)
   ============================================
   ScrollButtonsV2 horizontal instance přilepená na body, plovoucí
   uprostřed levého/pravého okraje viewportu. Designer komponenta
   (žluté --ui-scroll-button-* tokeny + SVG trojúhelníky), ale větší
   rozměr 40×60 (původní velikost legacy navigačních tlačítek pro PPP
   board) — boardová tlačítka jsou navigační hlavní akce, ne lehká
   nav dekorace jako v topbaru. ResponsiveDesignManager přidává
   class .board-quick-nav-v2 na obě tlačítka. */
.scroll-buttons-v2__btn.board-quick-nav-v2 {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 60px;
    z-index: 2000;
    /* UKOL 215: lepší touch responsiveness — disable 300ms double-tap delay
       + zabrání pointer-events tunelování přes SVG uvnitř tlačítka. */
    touch-action: manipulation;
    /* Větší box-shadow pro plovoucí akcentní tlačítko nad obsahem boardu. */
    box-shadow: 0 2px 8px var(--ui-scroll-button-shadow, #ff0000);
}

.scroll-buttons-v2__btn.board-quick-nav-v2:hover:not(.is-disabled) {
    box-shadow: 0 4px 12px var(--ui-scroll-button-shadow, #ff0000);
}

/* Větší ikona pro 40×60 plovoucí tlačítko (designer 14×14 SVG → 16×16 px). */
.scroll-buttons-v2__btn.board-quick-nav-v2 svg {
    width: 16px;
    height: 16px;
}

.scroll-buttons-v2__btn.board-quick-nav-v2.scroll-buttons-v2__btn--left {
    left: 8px;
    /* Zaoblení jen vpravo (přilehlé k okraji viewportu). */
    border-radius: 0 var(--ui-radius-large, 8px) var(--ui-radius-large, 8px) 0;
}

.scroll-buttons-v2__btn.board-quick-nav-v2.scroll-buttons-v2__btn--right {
    right: 8px;
    border-radius: var(--ui-radius-large, 8px) 0 0 var(--ui-radius-large, 8px);
}

/* Mobile (<768px) — menší tlačítka pro úzké obrazovky. */
@media (max-width: 767px) {
    .scroll-buttons-v2__btn.board-quick-nav-v2 {
        width: 35px;
        height: 50px;
    }
    .scroll-buttons-v2__btn.board-quick-nav-v2 svg {
        width: 14px;
        height: 14px;
    }
}
