/* ═══════════════════════════════════════════════════
   SBV — Contact Page (contact.html)
   ═══════════════════════════════════════════════════ */

/* ── Contact Layout ── */
.contact-section { padding: 5rem 0; }
@media (min-width: 768px) { .contact-section { padding: 6rem 0; } }
.contact-grid { display: grid; gap: 4rem; max-width: 72rem; margin: 0 auto; }
@media (min-width: 1024px) { .contact-grid { grid-template-columns: 1fr 1.2fr; gap: 5rem; } }

.contact-info h1 { font-size: 2.25rem; color: hsl(var(--foreground)); margin-bottom: 1rem; line-height: 1.2; }
@media (min-width: 768px) { .contact-info h1 { font-size: 2.75rem; } }
.contact-info .lead { font-size: 1.125rem; font-family: var(--font-body); color: hsl(var(--muted-foreground)); line-height: 1.625; margin-bottom: 2.5rem; }

.contact-detail { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.5rem; }
.contact-detail .ic { flex-shrink: 0; width: 2.5rem; height: 2.5rem; border-radius: var(--radius); background: hsl(var(--accent) / 0.1); display: flex; align-items: center; justify-content: center; }
.contact-detail .ic svg { width: 1.25rem; height: 1.25rem; color: hsl(var(--accent)); }
.contact-detail .label { font-size: 0.6875rem; font-family: var(--font-body); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: hsl(var(--muted-foreground)); margin-bottom: 0.25rem; }
.contact-detail .value { font-size: 1rem; font-family: var(--font-body); color: hsl(var(--foreground)); }
.contact-detail .value a { color: hsl(var(--accent)); transition: opacity 0.15s; }
.contact-detail .value a:hover { opacity: 0.8; }

/* ── Book a Call Card ── */
.book-card { background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius); padding: 2.5rem; text-align: center; }
.book-card h2 { font-size: 1.5rem; color: hsl(var(--foreground)); margin-bottom: 0.75rem; }
.book-card > p { font-size: 0.9375rem; font-family: var(--font-body); color: hsl(var(--muted-foreground)); line-height: 1.625; margin-bottom: 2rem; max-width: 28rem; margin-left: auto; margin-right: auto; }
.book-card .sub { font-size: 11px; font-family: var(--font-body); letter-spacing: 0.15em; text-transform: uppercase; color: hsl(var(--muted-foreground)); margin-top: 0.75rem; }
.expect-list { display: flex; flex-direction: column; gap: 0.75rem; text-align: left; max-width: 22rem; margin: 0 auto 2rem; }
.expect-list li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; font-family: var(--font-body); color: hsl(var(--foreground) / 0.85); line-height: 1.4; }
.expect-list li svg { width: 1rem; height: 1rem; color: hsl(var(--accent)); flex-shrink: 0; margin-top: 2px; }

/* ── Contact Form ── */
.form-section { padding: 5rem 0; background: hsl(var(--card)); border-top: 1px solid hsl(var(--border)); }
@media (min-width: 768px) { .form-section { padding: 6rem 0; } }
.form-wrapper { max-width: 40rem; margin: 0 auto; }
.form-header { text-align: center; margin-bottom: 2.5rem; }
.form-header h2 { font-size: 1.875rem; color: hsl(var(--foreground)); margin-bottom: 0.75rem; }
@media (min-width: 768px) { .form-header h2 { font-size: 2.25rem; } }
.form-header p { font-size: 1rem; font-family: var(--font-body); color: hsl(var(--muted-foreground)); line-height: 1.625; }

.contact-form { display: flex; flex-direction: column; gap: 1.25rem; }
.form-row { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .form-row.two-col { grid-template-columns: 1fr 1fr; } }
.form-group { display: flex; flex-direction: column; gap: 0.375rem; }
.form-group label { font-size: 0.8125rem; font-family: var(--font-body); font-weight: 600; color: hsl(var(--foreground)); }
.form-group label .req { color: hsl(var(--accent)); margin-left: 2px; }
.form-group input,
.form-group select,
.form-group textarea {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  color: hsl(var(--foreground));
  background: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: calc(var(--radius) - 2px);
  padding: 0.75rem 1rem;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
  width: 100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: hsl(var(--accent));
  box-shadow: 0 0 0 3px hsl(var(--accent) / 0.1);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: hsl(var(--muted-foreground) / 0.5); }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.form-submit { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; margin-top: 0.5rem; }
.form-submit .btn-ember { width: 100%; max-width: 20rem; height: 3rem; font-size: 1rem; cursor: pointer; border: none; }
.form-submit .note { font-size: 0.75rem; font-family: var(--font-body); color: hsl(var(--muted-foreground)); }
.form-success { display: none; text-align: center; padding: 3rem 1rem; }
.form-success.show { display: block; }
.form-success h3 { font-size: 1.5rem; color: hsl(var(--foreground)); margin-bottom: 0.75rem; }
.form-success p { font-size: 1rem; font-family: var(--font-body); color: hsl(var(--muted-foreground)); line-height: 1.625; }

/* ── Trust Band ── */
.trust-band { padding: 3rem 0; background: hsl(var(--card)); border-top: 1px solid hsl(var(--border)); }
.trust-items { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; }
.trust-items .item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; font-family: var(--font-body); color: hsl(var(--muted-foreground)); }
.trust-items svg { width: 1rem; height: 1rem; color: hsl(var(--accent)); flex-shrink: 0; }
