/* Shared layout helpers for all pages */
.page-header {
  padding: 9rem 0 5rem;
  background: var(--dark);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.page-header::before {
  content: '';
  position: absolute; inset: 0;
  background: url('../../assets/images/hero/accueil-avion-hero.jpg') center/cover;
  opacity: 0.18;
}
.page-header .container { position: relative; z-index: 2; }
.page-header h1 { font-size: clamp(2.2rem, 5vw, 4rem); color: #fff; margin-bottom: 1rem; }
.page-header p { color: rgba(255,255,255,0.65); font-size: 1.1rem; max-width: 600px; }

/* Service detail page layout */
.service-page { padding: 6rem 0; }
.service-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 4rem; align-items: start; }
.service-grid-img { border-radius: var(--r-md); overflow: hidden; height: 420px; }
.service-grid-img img { width: 100%; height: 100%; object-fit: cover; }
.service-book-card { background: var(--white); border-radius: var(--r-md); padding: 2.5rem; box-shadow: 0 8px 40px rgba(0,0,0,0.08); border: 1px solid var(--border); position: sticky; top: 100px; }
.service-book-card h3 { font-size: 1.6rem; margin-bottom: 0.5rem; }
.service-book-card p { color: var(--muted); margin-bottom: 2rem; }
@media (max-width: 900px) { .service-grid { grid-template-columns: 1fr; } }

/* Forms */
.form-label { display: block; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.5rem; }
.form-input { width: 100%; padding: 0.9rem 1.2rem; border: 1.5px solid var(--border); border-radius: var(--r-sm); font-family: var(--font-b); font-size: 1rem; background: var(--light); transition: border-color 0.3s; }
.form-input:focus { outline: none; border-color: var(--green); background: #fff; }
.form-group { margin-bottom: 1.4rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
@media (max-width: 640px) { .form-row { grid-template-columns: 1fr; } }
