/* Двухколоночная "синхронная прокрутка" как на Planeta (как на donation_page.html) */
@media (min-width: 768px) {
    #twoColSync { position: relative; }
    #twoColGrid { height: 100%; align-items: start; }
    #leftCol, #rightCol { height: 100%; }
    .sync-viewport {
        position: sticky;
        top: var(--sync-top, calc(var(--sticky-header-h, 84px) + 16px));
        height: var(--sync-vh, calc(100vh - var(--sticky-header-h, 84px) - 32px));
        overflow: hidden;
    }
    .sync-inner { will-change: transform; }
}
@media (max-width: 767px) {
    #twoColSync { height: auto !important; }
    .sync-viewport { position: static; height: auto; overflow: visible; }
    .sync-inner { transform: none !important; }
}

/* Modern tab styles */
.tab-button {
    position: relative;
    z-index: 1;
    outline: none !important;
    border: none;
    background: transparent;
}
.tab-button:focus,
.tab-button:focus-visible,
.tab-button:active {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}
.tab-button.active {
    color: rgb(15 23 42); /* slate-900 */
}
.tab-button:not(.active) {
    color: rgb(71 85 105); /* slate-600 */
}
.tab-content {
    animation: fadeIn 0.2s ease-in-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Campaign card expand/collapse animation */
.campaign-details {
    transition: max-height 0.3s ease-out, opacity 0.2s ease-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}
.campaign-chevron {
    transition: transform 0.2s ease-out;
}


