.sote-faq-page .page-wrapper {
  background: linear-gradient(180deg, #fffdf8 0%, #f7efe2 100%);
}

.sote-faq-page .page-header,
.sote-faq-page .faq-page-search,
.sote-faq-page .faq-page {
  display: none;
}

.sote-faq-main {
  position: relative;
}

.sote-faq-hero {
  padding: 92px 0 44px;
  background:
    linear-gradient(115deg, rgba(23, 18, 13, 0.9) 0%, rgba(23, 18, 13, 0.78) 48%, rgba(23, 18, 13, 0.38) 100%),
    url("../images/backgrounds/taxi-banner1.jpg") center/cover no-repeat;
}

.sote-faq-hero__content h1,
.sote-faq-section__head h2,
.sote-faq-help__copy h2 {
  margin: 18px 0 0;
  color: var(--cityride-white);
  font-family: var(--cityride-heading-font, "Lexend", serif);
  font-size: clamp(36px, 4.8vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.sote-faq-hero__content p {
  max-width: 620px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.85;
}

.sote-faq-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sote-faq-hero__chips span,
.sote-faq-panel__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--cityride-white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sote-faq-hero__panel {
  padding: 30px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 249, 240, 0.94);
  box-shadow: 0 26px 70px rgba(23, 18, 13, 0.24);
}

.sote-faq-hero__panel h2,
.sote-faq-category-card h2,
.sote-faq-panel h3 {
  margin: 0;
  color: var(--sote-ink);
  font-family: var(--cityride-heading-font, "Lexend", serif);
  line-height: 1.12;
}

.sote-faq-hero__panel h2 {
  font-size: 30px;
}

.sote-faq-hero__links {
  display: grid;
  gap: 16px;
  margin: 24px 0 0;
}

.sote-faq-hero__links li {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(23, 18, 13, 0.08);
}

.sote-faq-hero__links li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sote-faq-hero__links a {
  display: inline-block;
  margin-bottom: 6px;
  color: var(--sote-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}

.sote-faq-hero__links span {
  display: block;
  color: var(--sote-muted);
  font-size: 14px;
  line-height: 1.75;
}

.sote-faq-hero__actions,
.sote-faq-help__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.sote-faq-categories {
  margin-top: -18px;
  padding-bottom: 34px;
}

.sote-faq-category-card,
.sote-faq-panel,
.sote-faq-help__card {
  height: 100%;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid rgba(23, 18, 13, 0.08);
  box-shadow: 0 18px 48px rgba(23, 18, 13, 0.08);
}

.sote-faq-category-card {
  padding: 30px 26px;
}

.sote-faq-category-card__icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(244, 180, 0, 0.14);
  color: #8c6000;
  font-size: 22px;
}

.sote-faq-category-card h2 {
  margin-top: 18px;
  font-size: 24px;
}

.sote-faq-category-card p,
.sote-faq-section__head p,
.sote-faq-help__copy p,
.sote-faq-panel .accordion-content .inner p {
  margin: 14px 0 0;
  color: var(--sote-muted);
  font-size: 15px;
  line-height: 1.85;
}

.sote-faq-section {
  padding: 52px 0 84px;
}

.sote-faq-section__head {
  max-width: 760px;
  margin-bottom: 34px;
}

.sote-faq-section__head h2,
.sote-faq-help__copy h2 {
  color: var(--sote-ink);
  font-size: clamp(32px, 4vw, 46px);
}

.sote-faq-section__head p {
  margin-top: 16px;
}

.sote-faq-panel {
  padding: 30px;
}

.sote-faq-panel__tag {
  background: rgba(244, 180, 0, 0.16);
  color: #7c5200;
}

.sote-faq-panel h3 {
  margin-top: 18px;
  font-size: 28px;
}

.sote-faq-panel .faq-accordion {
  margin-top: 24px;
}

.sote-faq-panel .accordion {
  padding: 18px 0;
  border-top: 1px solid rgba(23, 18, 13, 0.08);
}

.sote-faq-panel .accordion:first-child {
  padding-top: 0;
  border-top: 0;
}

.sote-faq-panel .accordion-title h4 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  color: var(--sote-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
}

.sote-faq-panel .accordion-title__icon {
  flex: 0 0 auto;
}

.sote-faq-panel .accordion-content .inner {
  padding: 4px 0 0;
}

.sote-faq-panel .accordion.active {
  background: linear-gradient(180deg, rgba(246, 239, 228, 0.34) 0%, rgba(246, 239, 228, 0) 100%);
}

.sote-faq-help {
  padding: 0 0 88px;
}

.sote-faq-help__card {
  overflow: hidden;
  padding: 34px;
  background: linear-gradient(180deg, rgba(255, 249, 240, 0.98) 0%, rgba(246, 239, 228, 0.88) 100%);
}

.sote-faq-help__copy {
  max-width: 560px;
}

.sote-faq-help__checks {
  display: grid;
  gap: 14px;
  margin: 24px 0 0;
}

.sote-faq-help__checks li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--sote-ink);
  font-size: 15px;
  line-height: 1.7;
}

.sote-faq-help__checks i {
  margin-top: 4px;
  color: #c98d00;
}

.sote-faq-help__visual {
  overflow: hidden;
  height: 100%;
  min-height: 320px;
  border-radius: 28px;
}

.sote-faq-help__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991px) {
  .sote-faq-hero {
    padding: 82px 0 34px;
  }

  .sote-faq-categories {
    margin-top: 0;
  }

  .sote-faq-panel,
  .sote-faq-help__card {
    padding: 28px;
  }
}

@media (max-width: 767px) {
  .sote-faq-hero__content h1 {
    font-size: 34px;
  }

  .sote-faq-hero__panel,
  .sote-faq-category-card,
  .sote-faq-panel,
  .sote-faq-help__card {
    padding: 24px;
    border-radius: 24px;
  }

  .sote-faq-panel h3 {
    font-size: 24px;
  }

  .sote-faq-panel .accordion-title h4 {
    font-size: 17px;
  }

  .sote-faq-help__visual {
    min-height: 260px;
  }
}

.sote-faq-hero {
  display: flex;
  align-items: center;
  min-height: 620px;
  padding: 108px 0 82px;
}

.sote-faq-hero .row > .col-lg-7 {
  flex: 0 0 100%;
  max-width: 100%;
}

.sote-faq-hero .row > .col-lg-5,
.sote-faq-hero__panel {
  display: none;
}

.sote-faq-hero__content {
  max-width: 720px;
  padding: 34px 36px;
  border-radius: 30px;
  background: rgba(16, 13, 10, 0.34);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(4px);
}

@media (max-width: 767px) {
  .sote-faq-hero {
    min-height: 500px;
    padding: 76px 0 54px;
  }

  .sote-faq-hero__content {
    padding: 24px;
  }
}
