/* ============================================================
   features.css — стили страницы функций
   ============================================================ */

/* ---- Секция с карточками принтера ---- */
.card-modes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 2rem;
}

.card-mode {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 1.5rem;
}

.card-mode__icon {
    font-size: 2rem;
    line-height: 1;
}

.card-mode__name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.card-mode__desc {
    font-size: 0.875rem;
    color: var(--text-muted);
    max-width: none;
}

/* Список свойств карточки */
.card-info-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem 1.5rem;
    margin-top: 1.5rem;
}

.card-info-list .feature-list__item {
    font-size: 0.9rem;
}

/* ---- Вкладки управления ---- */
.tabs-section .section-header {
    text-align: left;
    margin-bottom: 2rem;
}

.tabs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.tab-card {
    padding: 1.5rem;
}

.tab-card__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.tab-card__badge {
    display: inline-block;
    padding: 0.2rem 0.625rem;
    font-size: 0.7rem;
    font-weight: 700;
    font-family: var(--font-mono);
    letter-spacing: 0.06em;
    background: rgba(102, 126, 234, 0.12);
    color: var(--accent-purple);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(102, 126, 234, 0.2);
}

.tab-card__title {
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--text-primary);
}

/* ---- Файловый менеджер ---- */
.files-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.files-preview {
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    font-family: var(--font-mono);
    font-size: 0.875rem;
}

.file-tree-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0;
    color: var(--text-secondary);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.file-tree-item:last-child {
    border-bottom: none;
}

.file-tree-item--folder { color: var(--accent-purple); }
.file-tree-item--gcode  { color: var(--accent-success); }

.file-preview-img {
    margin-top: 0.75rem;
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 0.875rem;
    border: 1px dashed var(--color-border);
}

/* ---- Настройки ---- */
.settings-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

/* ---- Блок «Группы принтеров» ---- */
.groups-section {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.06) 0%, rgba(118, 75, 162, 0.06) 100%);
    border-top: 1px solid rgba(102, 126, 234, 0.2);
    border-bottom: 1px solid rgba(102, 126, 234, 0.2);
}

.groups-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.groups-visual {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}

.printer-mini-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 0.875rem;
    font-size: 0.75rem;
}

.printer-mini-card__name {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.375rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.printer-mini-card__status {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--text-muted);
}

.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot--active  { background: #28c840; }
.status-dot--pause   { background: #ffbd2e; }
.status-dot--offline { background: #666; }

.groups-tagline {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 1.5rem;
}

/* ============================================================
   Адаптивность
   ============================================================ */
@media (max-width: 900px) {
    .card-modes-grid { grid-template-columns: repeat(3, 1fr); }
    .tabs-grid       { grid-template-columns: 1fr; }
    .files-grid      { grid-template-columns: 1fr; }
    .settings-grid   { grid-template-columns: 1fr; }
    .groups-inner    { grid-template-columns: 1fr; }
    .card-info-list  { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .card-modes-grid { grid-template-columns: 1fr; }
    .groups-visual   { grid-template-columns: repeat(2, 1fr); }
}
