/* ==========================================================================
   Tlačidlá a odkazy v tvare tlačidla
   ========================================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: var(--btn-height, 52px);
    padding: 0 var(--btn-pad, 22px);
    border: 0;
    border-radius: var(--btn-radius, var(--radius-sm));
    background: var(--btn-bg, var(--color-ink));
    color: var(--btn-color, #fff);
    font-size: var(--btn-fs, 16px);
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    transition:
        background var(--duration-fast),
        background-position 0.45s ease,
        box-shadow var(--duration-fast),
        color var(--duration-fast),
        border-color var(--duration-fast);
}

.btn:hover {
    background: var(--btn-bg-hover, var(--btn-bg, var(--color-ink)));
    color: var(--btn-color-hover, var(--btn-color, #fff));
    box-shadow: var(--btn-shadow-hover, none);
}

.btn:active {
    transform: translateY(1px);
}

.btn--lg {
    --btn-height: 56px;
    --btn-fs: 16.5px;
    --btn-pad: 24px;
}

.btn--sm {
    --btn-height: 46px;
    --btn-fs: 15px;
    --btn-pad: 18px;
    --btn-radius: 11px;
}

.btn--block {
    display: flex;
    width: 100%;
}

/* Čierne tlačidlo na svetlom */
.btn--dark {
    --btn-bg: var(--color-ink);
    --btn-bg-hover: #2a2250;
}

/* Signature gradient – na hover sa prechod posunie k ružovej */
.btn--gradient {
    --btn-radius: var(--radius-lg);
    background: var(--gradient-brand);
    background-size: 180% 100%;
    background-position: 0% 50%;
}

.btn--gradient:hover {
    background: var(--gradient-brand);
    background-size: 180% 100%;
    background-position: 100% 50%;
    color: #fff;
}

/* Fialové primárne tlačidlo v tmavom páse */
.btn--violet {
    --btn-bg: var(--color-violet-strong);
    --btn-bg-hover: #7c62ff;
    --btn-shadow-hover: 0 12px 34px -8px rgba(124, 98, 255, 0.85);
}

/* Poloprehľadné tlačidlo na tmavom */
.btn--glass {
    --btn-bg: var(--color-glass-2);
    --btn-bg-hover: rgba(255, 255, 255, 0.16);
    font-weight: 500;
}

/* Biele tlačidlo na tmavom */
.btn--light {
    --btn-bg: #fff;
    --btn-bg-hover: #e9e4ff;
    --btn-color: var(--color-bg-dark);
    --btn-color-hover: var(--color-bg-dark);
}

/* Sekundárne tlačidlo na svetlom – jediný box s obrysom (výnimka zo zadania) */
.btn--outline {
    --btn-height: 44px;
    --btn-pad: 18px;
    --btn-radius: var(--radius-md);
    --btn-bg: transparent;
    --btn-bg-hover: var(--color-highlight-hover);
    --btn-color: var(--color-link);
    --btn-color-hover: var(--color-link-hover);
    --btn-fs: 15px;
    border: 1.5px solid currentColor;
    font-weight: 500;
}

.btn--outline:active {
    background: #ebe6ff;
}

/* Pill tlačidlo vo footri s gradientovým krúžkom */
.btn--pill {
    --btn-height: 56px;
    --btn-radius: var(--radius-pill);
    --btn-bg: #fff;
    --btn-bg-hover: #e9e4ff;
    --btn-color: var(--color-bg-dark);
    --btn-color-hover: var(--color-bg-dark);
    --btn-shadow-hover: 0 0 0 5px rgba(143, 123, 255, 0.3);
    gap: 14px;
    padding: 0 10px 0 24px;
}

.btn__orb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(120deg, #2f5cff, #6b4dff 50%, #e05bd8);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Ikonové tlačidlá (menu, lupa, kopírovanie)
   -------------------------------------------------------------------------- */

.icon-button {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: var(--ib-size, 44px);
    height: var(--ib-size, 44px);
    padding: 0;
    border: 0;
    border-radius: var(--ib-radius, var(--radius-md));
    background: var(--color-glass-3);
    color: #fff;
    transition: background var(--duration-fast);
}

.icon-button:hover,
.icon-button[aria-expanded='true'] {
    background: var(--color-glass-5);
}

.icon-button:active {
    transform: translateY(1px);
}

.icon-button__close {
    font-size: 22px;
    line-height: 1;
}

/* Hamburger – dve čiarky */
.burger {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.burger::before,
.burger::after {
    content: '';
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
}

/* Kopírovanie: stav „skopírované" prepína ikony a label */
.copy-button {
    --ib-size: 36px;
    --ib-radius: var(--radius-sm);
}

.copy-button__done,
.copy-button.is-copied .copy-button__idle {
    display: none;
}

.copy-button.is-copied .copy-button__done {
    display: inline;
}

.copy-button.is-copied {
    background: rgba(62, 224, 162, 0.18);
}

.copy-button__done {
    color: var(--color-success-soft);
}
