/* wrapper da página */
.contact-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 2.5rem 1rem 3.5rem;
    font-family: "Advent Pro", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* título da página */
.contact-page .page-title {
    text-transform: uppercase;
    letter-spacing: .5px;
    text-align: center;
    margin: 0 0 1.5rem 0;
    font-weight: 600;
}

/* cards */
.contact-card {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem 1.75rem;
    margin: 1rem auto;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    max-width: 900px;
}

.contact-card h2.section-title {
    margin: 0 0 .75rem 0;
    font-size: 1.25rem;
    font-weight: 600;
}

.contact-card p, .contact-card li {
    margin: .45rem 0;
    line-height: 1.65;
    opacity: .95;
}

/* grelha 2×2 desktop, 1×1 mobile */
.grid-contacts {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* desktop: 2 colunas */
    gap: 2rem;
    text-align: center;
    align-items: start;
}

.grid-contacts > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 720px) {
    .grid-contacts { grid-template-columns: 1fr; } /* mobile: 1 coluna */
}

.contact-icon {
    font-size: 48px;
    line-height: 1;
    margin-bottom: .75rem;
    color:black;
}

.contact-value a { text-decoration: none; }
.contact-value a:hover { text-decoration: underline; }

/* ratio 16:9 para o mapa */
.ratio {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.ratio-16x9 { padding-top: 56.25%; }
.ratio > iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.mt-2 { margin-top: .5rem; }

@media (max-width: 560px) {
    .contact-card { padding: 1.25rem 1rem; }
    .contact-page { padding: 2rem .75rem 3rem; }
}