/* Layout */
.contact-2col{
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap:16px;
    margin-top:12px;
}

.form-head{margin-bottom:10px}
.form-head .muted{margin:6px 0 0}

/* Form base */
.form{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:10px;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.field{display:flex;flex-direction:column;gap:8px}
.label{font-weight:900; letter-spacing:.2px}
.help{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.small{font-size:13px}

.input,
.textarea{
    width:100%;
    padding:12px 12px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: var(--text);
    outline: none;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.textarea{min-height:140px; resize:vertical}

.input::placeholder,
.textarea::placeholder{color:rgba(255,255,255,.45)}

.input:focus,
.textarea:focus{
    border-color: rgba(184,138,68,.35);
    background: rgba(255,255,255,.08);
    box-shadow: 0 0 0 4px rgba(184,138,68,.10);
}

.form-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.fineprint{margin:0;color:var(--muted);font-size:13px}
.fineprint a{text-decoration:underline;text-underline-offset:4px}

/* Radio choices */
.choice-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:2px;
}
.choice{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.05);
    cursor:pointer;
    user-select:none;
    color: rgba(255,255,255,.85);
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.choice input{accent-color: rgba(184,138,68,.85)}
@media (hover:hover){
    .choice:hover{
        transform: translateY(-2px);
        background: rgba(184,138,68,.08);
        border-color: rgba(184,138,68,.22);
        box-shadow: var(--shadow-hover);
    }
}

.recaptcha{margin:6px 0 0}

/* Right side */
.contact-side{display:flex;flex-direction:column;gap:12px}

.side-cards{
    display:grid;
    gap:10px;
    margin-top:6px;
}

.info-card{
    display:flex;
    gap:12px;
    align-items:center;
    padding:12px 12px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05);
    text-decoration:none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ic-ico{
    width:44px;height:44px;
    border-radius:16px;
    display:grid;place-items:center;
    border:1px solid rgba(255,255,255,.14);
    background: rgba(184,138,68,.10);
    color: rgba(255,255,255,.92);
    font-size:18px;
}
.ic-title{font-weight:900; letter-spacing:.2px}
.ic-value{color:var(--muted); margin-top:2px; font-size:14px}

@media (hover:hover){
    .info-card:hover{
        transform: translateY(-3px);
        background: rgba(184,138,68,.08);
        border-color: rgba(184,138,68,.22);
        box-shadow: var(--shadow-hover);
    }
}

/* Quick WhatsApp block */
.quick-wa{
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    flex-direction:column;
    gap:10px;
}
.quick-wa-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
}
.quick-wa-title{font-weight:900}
.wa-send{width:100%; justify-content:center}

/* Social */
.side-social{
    margin-top:6px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
}
.side-social-title{font-weight:900;margin-bottom:10px}

.side-note{
    margin-top:auto;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
}

/* Responsive */
@media (max-width: 980px){
    .contact-2col{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
}

@media (max-width: 520px){
    .page-head h1{ font-size: 34px; }
    .card{ padding: 14px; border-radius: 20px; }
    .choice-row{ gap:8px; }
    .choice{ width:100%; justify-content:space-between; }
    .btn{ width:100%; justify-content:center; }
    .info-card{ padding: 12px; }
}
