/* Pages SEO « visa omra passeport X ». */
.sp-page { max-width: 860px; margin: 0 auto; padding: 46px 20px 70px; }
.sp-hero { text-align: center; padding-bottom: 26px; }
.sp-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f07c1a; }
.sp-hero h1 { font-size: clamp(30px, 5vw, 44px); margin: 12px 0 16px; color: #131316; }
.sp-lead { font-size: 17px; line-height: 1.65; color: #3d4f48; max-width: 640px; margin: 0 auto 24px; }
.sp-note { font-size: 12.5px; color: #687b75; margin-top: 10px; }
.sp-panel { background: #fff; border: 1px solid #e7e1d2; border-radius: 18px; padding: 30px 34px; margin: 22px 0; }
.sp-panel h2 { font-size: 22px; color: #131316; margin: 0 0 16px; }
.sp-steps { margin: 0; padding-left: 20px; display: grid; gap: 12px; font-size: 15px; line-height: 1.6; color: #3d4f48; }
.sp-offers { display: flex; gap: 16px; flex-wrap: wrap; }
.sp-offer { flex: 1 1 260px; border: 1px solid #e7e1d2; border-radius: 14px; padding: 22px; position: relative; }
.sp-offer.is-reco { border-color: #f07c1a; box-shadow: 0 6px 18px rgba(240,124,26,.14); }
.sp-offer--seule { flex-basis: 100%; }
.sp-offer__badge { position: absolute; top: -11px; left: 18px; background: #f07c1a; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; }
.sp-offer h3 { margin: 6px 0 4px; font-size: 17px; color: #131316; }
.sp-offer__price { font-size: 26px; font-weight: 800; color: #131316; margin: 0 0 8px; }
.sp-offer p { font-size: 14px; line-height: 1.6; color: #3d4f48; margin: 0; }
.sp-residence { flex-basis: 100%; background: #f6f3ea; border-radius: 12px; padding: 16px 18px; font-size: 14px; line-height: 1.6; color: #3d4f48; margin: 4px 0 0; }
.sp-panel details { border-bottom: 1px solid #efe9dc; padding: 12px 0; }
.sp-panel details:last-of-type { border-bottom: 0; }
.sp-panel summary { font-weight: 700; color: #131316; cursor: pointer; font-size: 15px; }
.sp-panel details p { font-size: 14px; line-height: 1.65; color: #3d4f48; margin: 10px 0 0; }
.sp-cta { text-align: center; background: #131316; border-color: #131316; }
.sp-cta h2, .sp-cta p { color: #fff; }
.sp-cta p { margin-bottom: 18px; }
.sp-autres { margin-top: 26px; }
.sp-autres h2 { font-size: 15px; color: #687b75; }
.sp-autres p { font-size: 13.5px; line-height: 2; }
.sp-autres a { color: #131316; }
@media (max-width: 640px) { .sp-panel { padding: 22px 18px; } }
