.form-response { border-radius: 16px; }
/* Custom styles for radio buttons and form elements */
.form-payment-method:has(input[type="radio"]:checked) {
    border-color: #1f8a3a;
    background: rgba(31, 138, 58, 0.08);
}
.auto-payment-option:has(input[type="radio"]:checked) {
    border-color: #1f8a3a;
    background: rgba(31, 138, 58, 0.08);
}

/* Стили для изображений в галерее */
.gallery-image { max-width: 100%; height: auto; display: block; }

/* Поворот стрелки в истории поступлений */
#donation-history-toggle:checked + label svg { transform: rotate(180deg); }
#donation-history-toggle + label svg { transition: transform 0.2s ease-in-out; }

/* Двухколоночная “синхронная прокрутка” как на Planeta */
@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; }
}
.scrollbar-hidden { -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-hidden::-webkit-scrollbar { display: none; }

/* HTMX indicator */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: block; }
.htmx-request.htmx-indicator { display: block; }