/* contact.css */
[data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .55s ease,transform .55s ease; }
[data-reveal].revealed { opacity:1; transform:translateY(0); }

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: var(--space-3xl);
    align-items: start;
}

.contact-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
}

.contact-info__title {
    font-family: var(--font-display);
    font-size: 1.4rem;
    margin-bottom: var(--space-xl);
}

.contact-detail {
    display: flex;
    gap: var(--space-md);
    align-items: flex-start;
    margin-bottom: var(--space-lg);
}

.contact-detail__icon {
    width: 36px; height: 36px;
    background: var(--color-safran-pale);
    border-radius: var(--radius-md);
    display: flex; align-items: center; justify-content: center;
    color: var(--color-safran);
    flex-shrink: 0;
}

.contact-detail__label {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-muted);
    margin-bottom: 2px;
}

.contact-detail__value { font-size:.95rem; color:var(--color-text); }
.contact-detail__value a { color:var(--color-text); }
.contact-detail__value a:hover { color:var(--color-safran); }

.contact-hours {
    background: var(--color-anthracite);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    margin: var(--space-xl) 0;
}

.contact-hours h4 {
    font-family: var(--font-body);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--color-safran);
    margin-bottom: var(--space-md);
}

.hours-row {
    display: flex;
    justify-content: space-between;
    gap: var(--space-md);
    font-size: .88rem;
    color: rgba(255,255,255,.7);
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.hours-row:last-child { border-bottom: none; }
.hours-row--closed { color: rgba(255,255,255,.35); }
.hours-row span:last-child { text-align: right; font-weight: 600; color: rgba(255,255,255,.9); }
.hours-row--closed span:last-child { color: rgba(255,255,255,.35); }

.contact-map {
    height: 240px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

@media (max-width:1024px) {
    .contact-layout { grid-template-columns: 1fr; }
    .contact-info { order: -1; }
}
@media (max-width:640px) {
    .contact-form .form-row { grid-template-columns: 1fr; }
}
