.faqs-main { padding-bottom: 45px; }
.faqs-main > .services-container { max-width: 1240px; }
.faqs-heading { padding-block: 35px 30px; text-align: center; }
.faqs-heading .service-lead { max-width: 720px; margin-inline: auto; }
.faqs-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: start; }
.faqs-image { display: block; width: 100%; height: auto; border-radius: 10px; position: sticky; top: 110px; }
.faqs-list { border-top: 1px solid #dde5d9; }
.faqs-list summary { padding-block: 22px; font-size: 18px; }
.faqs-list summary::after { top: 22px; }
.faqs-list details > div { padding-right: 30px; }
.faqs-list details p { margin: 0 0 22px; line-height: 1.7; color: #4c5849; }
.faqs-contact { display: flex; align-items: center; gap: 22px; padding-top: 30px; }
.faqs-contact p { font-size: 17px; }
@media (max-width:760px) {
  .faqs-layout { grid-template-columns: 1fr; gap: 28px; }
  .faqs-image { position: static; max-height: 480px; object-fit: cover; }
}
@media (max-width:600px) {
  .faqs-heading { padding-block: 28px; }
  .faqs-main h1 { font-size: 32px; }
  .faqs-list summary { font-size: 16px; }
  .faqs-list details > div { padding-right: 12px; }
  .faqs-contact { flex-wrap: wrap; gap: 16px; }
}
.faqs-booking { margin-top: 34px; padding: 28px; border: 1px solid #dde5d9; border-radius: 12px; background: #edf3e9; }
.faqs-booking h2 { font-size: 26px; line-height: 1.3; margin-bottom: 18px; }
.faqs-booking p { margin-bottom: 16px; }
.faqs-booking p:last-child { margin-bottom: 0; display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width:600px) { .faqs-booking { padding: 22px; } }
