/* =========================================================
   Mr Ribs — Contact page
   ========================================================= */

.contact-container { max-width: var(--maxw); margin: 3.5rem auto 5rem; padding: 0 1.5rem; }
.contact-content { display: grid; grid-template-columns: .9fr 1.1fr; gap: 3rem; align-items: start; }

.contact-info-section h2, .contact-form-section h2 { font-size: 1.9rem; color: var(--gold-soft); margin-bottom: 1.8rem; }

.info-box {
    background: var(--ink-card); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 1.4rem 1.6rem; margin-bottom: 1rem; transition: all .3s;
}
.info-box:hover { border-color: var(--gold); }
.info-box h3 { font-family: var(--f-sans); font-size: .76rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
.info-box p, .info-box a { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; }
.info-box a:hover { color: var(--gold-soft); }

/* Form */
.contact-form {
    background: var(--ink-card); border: 1px solid var(--line); border-radius: var(--radius); padding: 2.2rem;
}
.form-group { margin-bottom: 1.3rem; }
.form-group label { display: block; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
.form-group input, .form-group select, .form-group textarea {
    width: 100%; padding: .85rem 1rem; background: var(--ink-soft); color: var(--cream);
    border: 1px solid var(--line); border-radius: 8px; font-family: var(--f-sans); font-size: .95rem;
    transition: border-color .3s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--gold); }
.form-group textarea { min-height: 130px; resize: vertical; }
.btn-submit {
    width: 100%; padding: 1rem; background: var(--gold); color: var(--ink); border: none; border-radius: 50px;
    font-family: var(--f-sans); font-size: .85rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
    cursor: pointer; transition: all .3s;
}
.btn-submit:hover { background: var(--gold-soft); transform: translateY(-2px); }

.success-message, .error-message {
    padding: 1rem 1.3rem; border-radius: 8px; margin-bottom: 1.4rem; font-size: .95rem;
}
.success-message { background: rgba(80,160,90,.12); border: 1px solid rgba(120,200,130,.4); color: #bfe6c4; }
.error-message { background: rgba(180,70,60,.12); border: 1px solid rgba(220,110,100,.4); color: #f0c3bd; }

.map-embed { margin-top: 1.5rem; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); }
.map-embed iframe { width: 100%; height: 240px; border: 0; filter: grayscale(.3) brightness(.85); }

@media (max-width: 820px) { .contact-content { grid-template-columns: 1fr; gap: 2rem; } }
