/* === ICONS.CSS ===
   Дизайнерские иконки Lucide под палитру лендинга */

.icon,
[data-lucide] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    stroke: currentColor;
    transition: transform 0.3s ease, color 0.3s ease;
}

.icon-xs, [data-lucide].icon-xs { width: 16px; height: 16px; stroke-width: 2; }
.icon-sm, [data-lucide].icon-sm { width: 20px; height: 20px; stroke-width: 2; }
.icon-md, [data-lucide].icon-md { width: 24px; height: 24px; stroke-width: 2; }
.icon-lg, [data-lucide].icon-lg { width: 28px; height: 28px; stroke-width: 2; }
.icon-xl, [data-lucide].icon-xl { width: 36px; height: 36px; stroke-width: 1.75; }

.icon-accent { color: var(--color-accent-dark); }
.icon-light { color: #fff; }

.icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.icon-box--accent {
    background: linear-gradient(145deg, #fff 0%, var(--color-accent-light) 45%, rgba(200, 169, 110, 0.22) 100%);
    border: 1px solid rgba(200, 169, 110, 0.35);
    border-radius: 14px;
    color: var(--color-accent-dark);
    box-shadow: 0 6px 20px rgba(200, 169, 110, 0.18);
}

.for-whom-card:hover .icon-box--accent,
.format-card:hover .icon-box--format {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 10px 28px rgba(200, 169, 110, 0.28);
    color: var(--color-accent);
}

.icon-box--glass {
    background: rgba(255, 255, 255, 0.18);
    border: 1.5px solid rgba(255, 255, 255, 0.42);
    border-radius: 50%;
    color: #fff;
    backdrop-filter: blur(6px);
}

.what-item:hover .icon-box--glass {
    transform: scale(1.06);
    background: rgba(255, 255, 255, 0.28);
}

.icon-box--format {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    margin: 0 auto 20px;
    background: linear-gradient(160deg, #fff 0%, var(--color-accent-light) 55%, rgba(168, 137, 78, 0.2) 100%);
    border: 1px solid rgba(200, 169, 110, 0.45);
    color: var(--color-accent-dark);
    box-shadow: 0 10px 32px rgba(200, 169, 110, 0.22);
}

.for-whom-icon.icon-box { width: 52px; height: 52px; margin-bottom: 20px; }
.what-icon.icon-box { width: 64px; height: 64px; margin: 0 auto 20px; }
.location-item-icon.icon-box { width: 44px; height: 44px; border-radius: 12px; }

.photo-placeholder .icon { opacity: 0.55; color: var(--color-accent); margin-bottom: 8px; }
.photo-placeholder--cert {
    flex-direction: column;
    gap: 8px;
    font-size: 12px;
}

.format-features li::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: var(--color-accent);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.certs-prev .icon,
.certs-next .icon,
.results-prev .icon,
.results-next .icon {
    color: inherit;
}

.faq-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: var(--color-accent);
    transition: transform 0.3s ease, color 0.3s ease;
}

details.faq-item[open] .faq-icon {
    transform: rotate(45deg);
    color: var(--color-accent-dark);
}

.lightbox-close .icon {
    color: #fff;
}
