/**
 * tidex6 Layout
 * =============
 * Page structure: app > header + main + footer
 */

.app {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.main {
    flex: 1;
    padding-top: var(--header-height);
}

.content {
    max-width: var(--content-max-width);
    margin: 0 auto;
    padding: 0 var(--space-6);
}

/* Section — reusable vertical block */
.section {
    padding: var(--space-20) 0;
}

.section + .section {
    border-top: 1px solid var(--color-border-subtle);
}

.section-title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--space-4);
}

.section-subtitle {
    font-size: var(--font-size-lg);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-12);
    max-width: 640px;
}

/* Grid helpers */
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
}

@media (max-width: 1024px) {
    .grid-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .grid-3, .grid-2 { grid-template-columns: 1fr; }

    .section { padding: var(--space-12) 0; }
    .section-title { font-size: var(--font-size-2xl); }
}
