/* Contact layout */
.contact-layout { display: grid; grid-template-columns: 2fr 3fr; gap: var(--space-12); align-items: start; }
@media (max-width: 1024px) { .contact-layout { grid-template-columns: 1fr; } }

/* Left panel */
.contact-details__heading { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 800; color: var(--color-blue); margin: var(--space-2) 0 var(--space-1); }
.contact-details__subheading { color: var(--color-mid-grey); font-size: var(--text-sm); margin-bottom: var(--space-8); }
.contact-info-list { display: flex; flex-direction: column; gap: var(--space-5); margin-bottom: var(--space-8); }
.contact-info-item { display: flex; align-items: flex-start; gap: var(--space-4); }
.contact-info-item__icon { width: 40px; height: 40px; background: var(--color-blue-light); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--color-blue); flex-shrink: 0; }
.contact-info-item__label { font-family: var(--font-heading); font-size: var(--text-xs); font-weight: 700; color: var(--color-mid-grey); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 2px; }
.contact-info-item__value { font-size: var(--text-base); color: var(--color-blue); font-weight: 500; text-decoration: none; }
.contact-info-item__value:hover { color: var(--color-yellow-dark); }

.contact-map { border-radius: var(--card-radius); overflow: hidden; box-shadow: var(--card-shadow); }

/* Form card */
.contact-form-card { background: var(--color-white); border-radius: var(--card-radius); box-shadow: 0 4px 32px rgba(0,0,0,0.1); padding: var(--space-10); }
@media (max-width: 600px) { .contact-form-card { padding: var(--space-6); } }
.contact-form-card__title { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 800; color: var(--color-blue); margin-bottom: var(--space-2); }
.contact-form-card__sub { color: var(--color-mid-grey); font-size: var(--text-sm); margin-bottom: var(--space-8); }

/* Form elements */
.form-row { display: grid; gap: var(--space-5); margin-bottom: var(--space-5); }
.form-row--2col { grid-template-columns: 1fr 1fr; }
@media (max-width: 600px) { .form-row--2col { grid-template-columns: 1fr; } }
.form-group { display: flex; flex-direction: column; margin-bottom: var(--space-5); }
.form-row .form-group { margin-bottom: 0; }
.form-label { font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 700; color: var(--color-blue); margin-bottom: var(--space-2); }
.form-required { color: var(--color-red); }
.form-control { width: 100%; padding: var(--space-3) var(--space-4); border: 1.5px solid var(--color-border); border-radius: 6px; font-family: var(--font-body); font-size: var(--text-base); color: var(--color-black); background: var(--color-white); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); outline: none; }
.form-control:focus { border-color: var(--color-blue); box-shadow: 0 0 0 3px rgba(27,58,107,0.12); }
.form-control.is-invalid { border-color: var(--color-red); }
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%231B3A6B' viewBox='0 0 256 256'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; cursor: pointer; }
.form-textarea { resize: vertical; min-height: 120px; }
.form-error { display: none; font-size: var(--text-xs); color: var(--color-red); margin-top: var(--space-1); font-weight: 600; }
.form-error.visible { display: block; }
.form-note { font-size: var(--text-xs); color: var(--color-mid-grey); text-align: center; margin-top: var(--space-4); line-height: 1.6; }
.btn--full { width: 100%; justify-content: center; }

/* Success state */
.form-success { text-align: center; padding: var(--space-10) var(--space-6); }
.form-success__icon { width: 72px; height: 72px; background: #e6f9ef; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #1a7a40; margin: 0 auto var(--space-5); }
.form-success h3 { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 800; color: var(--color-blue); margin-bottom: var(--space-4); }
.form-success p { color: var(--color-dark-grey); line-height: 1.7; font-size: var(--text-base); }
.form-success a { color: var(--color-blue); font-weight: 600; }

/* Alternative contact cards */
.alt-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
@media (max-width: 768px) { .alt-contact-grid { grid-template-columns: 1fr; } }
.alt-contact-card { background: var(--color-white); border-radius: var(--card-radius); box-shadow: var(--card-shadow); padding: var(--space-8); text-align: center; }
.alt-contact-card__icon { width: 64px; height: 64px; background: var(--color-blue-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-blue); margin: 0 auto var(--space-5); }
.alt-contact-card__title { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; color: var(--color-blue); margin-bottom: var(--space-3); }
.alt-contact-card__text { font-size: var(--text-sm); color: var(--color-dark-grey); line-height: 1.65; margin-bottom: var(--space-5); }
