/* ─── Page Hero ─── */
.page-hero { position:relative; height:50vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.page-hero__content { position:relative; z-index:1; text-align:center; padding-inline:var(--space-6); }
.page-hero__title { font-size:var(--font-size-5xl); font-weight:var(--font-weight-bold); color:var(--color-white); margin-block-end:var(--space-4); }
.page-hero__subtitle { font-size:var(--font-size-xl); color:rgba(255,255,255,0.90); }

/* ─── Contact Layout ─── */
.contact-section { padding-block:var(--space-20); }
.contact-grid { display:grid; grid-template-columns:1fr; gap:var(--space-16); }
@media (min-width:1024px) { .contact-grid { grid-template-columns:repeat(2,1fr); } }

/* ─── Contact Info ─── */
.contact-info__title { font-size:var(--font-size-3xl); font-weight:var(--font-weight-bold); color:var(--color-primary); margin-block-end:var(--space-8); }
.contact-items { display:flex; flex-direction:column; gap:var(--space-6); margin-block-end:var(--space-8); }
.contact-item { display:flex; align-items:flex-start; gap:var(--space-4); }
.contact-item__icon { width:3rem; height:3rem; background:rgba(201,169,97,0.10); border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-item__icon i { font-size:var(--font-size-xl); color:var(--color-accent); display:flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem; }
.contact-item__label { font-weight:var(--font-weight-bold); color:var(--color-primary); margin-block-end:var(--space-2); }
.contact-item__value { font-size:var(--font-size-base); color:var(--color-gray-600); }

.contact-social { margin-block-start:var(--space-8); }
.contact-social__title { font-weight:var(--font-weight-bold); color:var(--color-primary); margin-block-end:var(--space-4); }
.contact-social__links { display:flex; gap:var(--space-4); }
.contact-social__link { width:3rem; height:3rem; background:rgba(201,169,97,0.10); border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center; transition:background var(--transition-fast); }
.contact-social__link:hover { background:rgba(201,169,97,0.20); }
.contact-social__link i { font-size:var(--font-size-xl); color:var(--color-accent); display:flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem; }

/* ─── Contact Form Card ─── */
.contact-form-card { background:var(--color-white); border-radius:var(--radius-2xl); box-shadow:var(--shadow-xl); padding:var(--space-8); }
.contact-form__title { font-size:var(--font-size-3xl); font-weight:var(--font-weight-bold); color:var(--color-dark); margin-block-end:var(--space-8); }

/* ─── Form: native classes from HTML ─── */
.form-group { margin-block-end:var(--space-6); }
.form-label { display:block; font-size:var(--font-size-base); font-weight:var(--font-weight-medium); color:var(--color-dark); margin-block-end:var(--space-2); }

.form-input,
.form-select,
.form-textarea { width:100%; padding:0.75rem 1rem; border:1px solid var(--color-gray-300); border-radius:var(--radius-lg); font-size:var(--font-size-base); font-family:inherit; transition:border-color var(--transition-fast), box-shadow var(--transition-fast); outline:none; background:var(--color-white); color:var(--color-dark); display:block; }
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(15,76,92,0.10); }
.form-textarea { resize:none; }
.form-hint { font-size:var(--font-size-xs); color:rgba(26,26,46,0.50); margin-block-start:var(--space-1); }

.form-submit { width:100%; background:var(--color-primary); color:var(--color-white); font-family:inherit; font-size:var(--font-size-md); font-weight:var(--font-weight-medium); padding:1rem; border-radius:var(--radius-lg); border:none; cursor:pointer; transition:background var(--transition-fast); }
.form-submit:hover { background:var(--color-primary-dark); }

/* ─── Contact Form 7 — Override to match our design ─── */
.contact-form-card .wpcf7-form { margin:0; }
.contact-form-card .wpcf7-form p { margin-block-end:var(--space-6); }
.contact-form-card .wpcf7-form label { display:block; font-size:var(--font-size-base); font-weight:var(--font-weight-medium); color:var(--color-dark); margin-block-end:var(--space-2); }

/* All CF7 inputs/selects/textareas get the same look as .form-input */
.contact-form-card .wpcf7-form input[type="text"],
.contact-form-card .wpcf7-form input[type="email"],
.contact-form-card .wpcf7-form input[type="tel"],
.contact-form-card .wpcf7-form input[type="url"],
.contact-form-card .wpcf7-form input[type="number"],
.contact-form-card .wpcf7-form select,
.contact-form-card .wpcf7-form textarea {
  width:100%;
  padding:0.75rem 1rem;
  border:1px solid var(--color-gray-300);
  border-radius:var(--radius-lg);
  font-size:var(--font-size-base);
  font-family:inherit;
  background:var(--color-white);
  color:var(--color-dark);
  outline:none;
  display:block;
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.contact-form-card .wpcf7-form input:focus,
.contact-form-card .wpcf7-form select:focus,
.contact-form-card .wpcf7-form textarea:focus {
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(15,76,92,0.10);
}
.contact-form-card .wpcf7-form textarea { resize:none; }

/* CF7 submit button */
.contact-form-card .wpcf7-form input[type="submit"],
.contact-form-card .wpcf7-submit {
  width:100%;
  background:var(--color-primary);
  color:var(--color-white);
  font-family:inherit;
  font-size:var(--font-size-md);
  font-weight:var(--font-weight-medium);
  padding:1rem;
  border-radius:var(--radius-lg);
  border:none;
  cursor:pointer;
  transition:background var(--transition-fast);
  margin-block-start:var(--space-2);
}
.contact-form-card .wpcf7-form input[type="submit"]:hover,
.contact-form-card .wpcf7-submit:hover { background:var(--color-primary-dark); }

/* CF7 validation messages */
.contact-form-card .wpcf7-not-valid-tip { font-size:var(--font-size-xs); color:#ef4444; margin-block-start:var(--space-1); display:block; }
.contact-form-card .wpcf7-response-output {
  margin-block-start:var(--space-4);
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  font-weight:var(--font-weight-medium);
  text-align:center;
  border:1px solid transparent;
}
.contact-form-card .wpcf7-mail-sent-ok { background:rgba(16,185,129,0.10); border-color:rgba(16,185,129,0.30); color:#065f46; }
.contact-form-card .wpcf7-mail-sent-ng,
.contact-form-card .wpcf7-aborted { background:rgba(239,68,68,0.10); border-color:rgba(239,68,68,0.30); color:#991b1b; }
.contact-form-card .wpcf7-spam-blocked { background:rgba(245,158,11,0.10); border-color:rgba(245,158,11,0.30); color:#92400e; }
.contact-form-card .wpcf7-validation-errors { background:rgba(245,158,11,0.10); border-color:rgba(245,158,11,0.30); color:#92400e; }

/* CF7 — hide the default spinner that floats in odd positions */
.wpcf7-spinner { display:none !important; }

/* ─── Map ─── */
.map-section { padding-block:var(--space-20); background:var(--color-white); }
.map-embed { border-radius:var(--radius-2xl); overflow:hidden; box-shadow:var(--shadow-xl); height:450px; position:relative; }
.map-embed iframe { width:100%; height:100%; border:0; display:block; }

/* ─── Form success (native HTML version) ─── */
.form-success { display:none; background:rgba(16,185,129,0.10); border:1px solid rgba(16,185,129,0.30); border-radius:var(--radius-lg); padding:var(--space-4); color:#065f46; font-weight:var(--font-weight-medium); text-align:center; margin-block-start:var(--space-4); }
