    /* Стили кнопки в шапке */
    .sm-trigger-btn {
        padding: 8px 20px;
        border-radius: 12px;
        border: none;
        background: #002A3A;
        color: #fff;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        font-family: inherit;
        transition: opacity 0.2s;
        line-height: 1.4;
        white-space: nowrap;
    }
    .sm-trigger-btn:hover { opacity: 0.85; }

    /* Базовые стили модалки */
    .sm-overlay {
        position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); z-index: 99999;
        display: flex; justify-content: center; align-items: flex-start;
        padding: 40px 16px; opacity: 0; visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        font-family: 'YS Text', -apple-system, BlinkMacSystemFont, sans-serif;
    }
    .sm-modal {
        background: #fff; border-radius: 24px; width: 100%; max-width: 1000px;
        max-height: calc(100vh - 80px); display: flex; flex-direction: column;
        overflow: hidden; transform: translateY(-20px); transition: transform 0.3s ease;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    }
    body.sm-open .sm-overlay { opacity: 1; visibility: visible; }
    body.sm-open .sm-modal { transform: translateY(0); }

    .sm-header { padding: 32px 32px 0; flex-shrink: 0; position: relative; }
    .sm-title { margin: 0; font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1.2; padding-right: 40px; }
.sm-close {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: none !important;
    background: #002A3A !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
}
.sm-close svg {
    width: 20px !important;
    height: 20px !important;
    pointer-events: none !important;
    fill: #fff !important;
}

    .sm-body { padding: 24px 32px 32px; overflow-y: auto; flex: 1; -webkit-overflow-scrolling: touch; }
    .sm-section { margin-bottom: 32px; }
    .sm-section:last-child { margin-bottom: 0; }
    .sm-section-title { font-size: 18px; font-weight: 700; color: #1a1a1a; margin: 0 0 16px; line-height: 1.3; }
    .sm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }

    .sm-link {
        display: flex; align-items: center; gap: 12px; padding: 12px;
        border-radius: 12px; text-decoration: none; color: #333; transition: background 0.2s;
    }
    .sm-link:hover { background: #f5f5f5; }
    
    /* Иконки: по умолчанию черные через currentColor */
    .sm-icon { 
        width: 28px; height: 28px; flex-shrink: 0; 
        color: #000; /* Черный цвет для всех иконок по запросу */
        display: flex; align-items: center; justify-content: center; 
    }
    .sm-icon svg { width: 28px; height: 28px; }
    .sm-link-text { font-size: 14px; font-weight: 500; line-height: 1.3; }

    @media (max-width: 768px) {
        .sm-overlay { padding: 0; align-items: stretch; }
        .sm-modal { border-radius: 0; max-height: 100dvh; height: 100dvh; max-width: 100%; }
        .sm-header { padding: 16px 16px 0; }
        .sm-title { font-size: 20px; padding-right: 48px; }
        .sm-close { top: 12px; right: 12px; width: 36px; height: 36px; }
        .sm-body { padding: 16px 16px 24px; }
        .sm-section { margin-bottom: 24px; }
        .sm-section-title { font-size: 16px; margin-bottom: 12px; }
        .sm-grid { grid-template-columns: 1fr; gap: 4px; }
        .sm-link { padding: 10px 12px; gap: 10px; }
        .sm-icon { width: 24px; height: 24px; }
        .sm-icon svg { width: 24px; height: 24px; }
        .sm-link-text { font-size: 13px; }
        
    }
    body.sm-open { overflow: hidden; }
    /* Стили для img-иконок в модальном окне */
.sm-modal .sm-icon img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
    display: block;
    color: brightness(0) saturate(100%) !important;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .sm-modal .sm-icon img {
        width: 24px !important;
        height: 24px !important;
    }
}