/* css/responsive.css */
@media (max-width: 1024px) {
    .calc-layout { grid-template-columns: 1fr; }
    .calc-sidebar { position: static; }
}

@media (max-width: 768px) {
    section[id] { scroll-margin-top: 92px; }

    .container { padding: 0 10px; }
    .header-container {
        flex-wrap: wrap;
        height: auto;
        padding-top: 8px;
        padding-bottom: 6px;
        row-gap: 6px;
    }
    .main-nav {
        order: 3;
        width: 100%;
        min-width: 0;
        overflow-x: auto;
        scrollbar-width: none;
        border-top: 1px solid var(--color-gray-100);
        padding-top: 6px;
    }
    .main-nav::-webkit-scrollbar { display: none; }
    .main-nav ul { gap: 16px; font-size: 0.85rem; }
    .language-selector select { padding: 6px 8px; font-size: 0.85rem; }

    .lang-suggest { width: calc(100% - 20px); margin-top: 8px; }

    .main-content { padding-top: 8px; padding-bottom: 12px; gap: 10px; }
    .calc-layout { gap: 10px; }
    .grid-2-col { grid-template-columns: 1fr 1fr; gap: 8px; }   /* mantém 2 colunas: campos curtos */
    .grid-3-col, .feature-grid { grid-template-columns: 1fr; gap: 10px; }   /* texto corrido: 1 coluna */
    .geo-grid { grid-template-columns: 1fr; }

    .card { padding: 12px; overflow-x: clip; }
    .form-section { padding: 8px 10px; margin-bottom: 8px; }
    .form-group { margin-bottom: 8px; }
    .subtitle { margin-bottom: 10px; font-size: 0.9rem; }
    h1 { font-size: 1.35rem; line-height: 1.25; }
    .article-layout h2 { font-size: 1.4rem; }
    .result-time .time-val { font-size: 2.75rem; }

    /* Reserva de anúncio (anti-CLS) sem cortar altura responsiva do AdSense */
    .ad-slot:has(ins) { min-height: 50px; }

    .footer-content { flex-direction: column; text-align: center; gap: 8px; }
    .footer-langs { justify-content: center; }
    .main-footer { padding: 14px 0; }
}
