/* Component-only semantic upgrades. This file is linked only when the generated page contains
   an FAQ disclosure, numbered steps, fleet cards, or a responsive pricing table. */

.steps-grid:is(ol) {
  list-style: none;
  padding-left: 0;
}

[data-faq-disclosure] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border-bottom: 2px solid var(--rule);
}

[data-faq-disclosure] > .fqt {
  grid-area: 1 / 1 / 2 / 3;
  margin: 0;
  color: var(--black);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 25px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  line-height: 1.2;
  text-transform: uppercase;
}

[data-faq-disclosure] > .fic {
  grid-area: 1 / 2 / 2 / 3;
  align-self: center;
  justify-self: end;
  pointer-events: none;
  width: 28px;
  height: 28px;
  border: 2px solid var(--rule);
  background: var(--bg-off);
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 'Barlow Condensed', sans-serif;
}

.faq-group {
  list-style: none;
  margin: 0;
  padding: 0;
}

#faq .faq-list {
  margin-top: 44px;
}

.faq-group > .faq-group-item {
  margin: 0;
  padding: 0;
}

[data-faq-disclosure] > .fqt > .fq {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  min-height: 72px;
  padding: 22px 3rem 22px 0;
  cursor: pointer;
  text-align: inherit;
  text-transform: inherit;
}

[data-faq-disclosure] > .fa {
  grid-area: 2 / 1 / 3 / 3;
}

[data-faq-disclosure].open > .fqt {
  color: var(--red);
}

[data-faq-disclosure].open > .fic {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
  transform: rotate(45deg);
}

[data-faq-disclosure] > .fa[hidden] {
  display: none;
}

[data-faq-disclosure] > .fa.open {
  max-height: 1000px;
  padding-bottom: 22px;
}

.table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.table-scroll > .ptable {
  display: table;
  overflow: visible;
}

/* Text panels enter the tab order only when runtime measurement confirms clipping. The inset
   edge and thin scrollbar are the visual affordance; un-clipped panels receive neither. */
[data-scroll-label][data-overflowing="true"] {
  scrollbar-width: thin;
  box-shadow: inset 0 -12px 10px -12px currentColor;
}

[data-scroll-label][data-overflowing="true"]:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

@media (max-width: 768px) {
  [data-faq-disclosure] > .fqt {
    font-size: 18px !important;
  }

  .table-scroll > .ptable {
    min-width: 760px;
  }
}
/* A semantic hero image replaces the legacy template background. Keeping both paints the
   same asset twice and can defeat preload reuse. Preserve the component's background color. */
#intro-layout[data-hero-media="html"] {
  background-image: none !important;
}
