/* FiveMRides FAQ hub — editorial support surface. */
body.fmr-faq-page {
    --faq-bg: #080c10;
    --faq-panel: #10161c;
    --faq-panel-2: #141b22;
    --faq-line: #29343e;
    --faq-text: #f3f1ed;
    --faq-muted: #9ca7b1;
    --faq-pink: #ee4e8b;
    --faq-pink-2: #ff6ba3;
    --faq-cyan: #41d9dc;
    background: var(--faq-bg) !important;
}

body.fmr-faq-page .site-content,
body.fmr-faq-page .ast-container,
body.fmr-faq-page #primary {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.fmr-faq-page .fmr-faq {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 14%, rgba(238,78,139,.06), transparent 30%),
        radial-gradient(circle at 94% 42%, rgba(65,217,220,.055), transparent 28%),
        var(--faq-bg);
    color: var(--faq-text);
    font-family: Inter, sans-serif;
}

.fmr-faq-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.fmr-faq-hero {
    position: relative;
    padding: 96px 0 76px;
    border-bottom: 1px solid var(--faq-line);
    background:
        linear-gradient(90deg, rgba(8,12,16,.98), rgba(8,12,16,.88)),
        repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.025) 80px),
        repeating-linear-gradient(0deg, transparent 0 79px, rgba(255,255,255,.02) 80px);
}

.fmr-faq-hero::after {
    content: "?";
    position: absolute;
    top: -95px;
    left: calc(50% + 240px);
    color: transparent;
    font-family: Rajdhani, sans-serif;
    font-size: 570px;
    font-weight: 700;
    line-height: 1;
    -webkit-text-stroke: 1px rgba(65,217,220,.075);
    pointer-events: none;
}

.fmr-faq-hero .fmr-faq-shell { position: relative; z-index: 1; }

.fmr-faq-eyebrow,
.fmr-faq-group__head p,
.fmr-faq-aside__label,
.fmr-faq-cta > .fmr-faq-shell > p {
    margin: 0 0 13px;
    color: var(--faq-pink);
    font-family: Rajdhani, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.fmr-faq-eyebrow::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 2px;
    margin: 0 12px 3px 0;
    background: var(--faq-pink);
}

.fmr-faq-hero h1 {
    max-width: 850px;
    margin: 0 !important;
    color: var(--faq-text) !important;
    font-family: Rajdhani, sans-serif !important;
    font-size: clamp(62px, 8vw, 104px) !important;
    font-weight: 700 !important;
    letter-spacing: -.045em !important;
    line-height: .82 !important;
    text-transform: uppercase;
}

.fmr-faq-hero h1 span { color: var(--faq-pink-2); }

.fmr-faq-lead {
    max-width: 680px;
    margin: 27px 0 31px !important;
    color: #b6c0c9 !important;
    font-size: 17px;
    line-height: 1.65;
}

.fmr-faq-search {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    width: min(680px, 100%);
    min-height: 62px;
    padding: 0 17px;
    border: 1px solid #3a4651;
    border-radius: 8px;
    background: #0d1217;
    color: #77828d;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.fmr-faq-search:focus-within {
    border-color: rgba(65,217,220,.7);
    box-shadow: 0 0 0 3px rgba(65,217,220,.08);
    color: var(--faq-cyan);
}

.fmr-faq-search input {
    width: 100%;
    height: 60px;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--faq-text) !important;
    font-size: 15px;
}

.fmr-faq-search input::placeholder { color: #6f7a84; }

.fmr-faq-search kbd {
    min-width: 25px;
    padding: 4px 7px;
    border: 1px solid #34404a;
    border-radius: 4px;
    background: #141a20;
    color: #89949e;
    font: 700 11px/1 Rajdhani, sans-serif;
    text-align: center;
}

.fmr-faq-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 22px;
    color: #89949e;
    font-size: 12px;
}

.fmr-faq-trust span { display: inline-flex; align-items: center; gap: 8px; }
.fmr-faq-trust i { width: 6px; height: 6px; border-radius: 50%; background: var(--faq-cyan); box-shadow: 0 0 8px rgba(65,217,220,.55); }

.fmr-faq-body { padding: 72px 0 105px; }

.fmr-faq-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    align-items: start;
    gap: 58px;
}

.fmr-faq-aside {
    position: sticky;
    top: 105px;
}

.fmr-faq-aside__label { margin-bottom: 12px; color: #73808b; }

.fmr-faq-topics {
    display: grid;
    gap: 4px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--faq-line);
}

.fmr-faq-topics button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 45px;
    padding: 10px 12px;
    border: 1px solid transparent !important;
    border-radius: 6px;
    background: transparent !important;
    box-shadow: none !important;
    color: #919ca6 !important;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
}

.fmr-faq-topics button:hover { color: var(--faq-text) !important; }
.fmr-faq-topics button.is-active { border-color: rgba(238,78,139,.3) !important; background: rgba(238,78,139,.08) !important; color: var(--faq-text) !important; }
.fmr-faq-topics b { min-width: 25px; padding: 4px 6px; border-radius: 999px; background: rgba(255,255,255,.055); color: #84909a; font: 700 10px/1 Rajdhani, sans-serif; text-align: center; }
.fmr-faq-topics button.is-active b { background: rgba(238,78,139,.15); color: var(--faq-pink-2); }

.fmr-faq-help {
    margin-top: 25px;
    padding: 22px;
    border: 1px solid var(--faq-line);
    border-radius: 8px;
    background: var(--faq-panel);
}

.fmr-faq-help__icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 18px; border: 1px solid rgba(65,217,220,.35); border-radius: 50%; color: var(--faq-cyan); font-family: Rajdhani, sans-serif; font-weight: 700; }
.fmr-faq-help h2 { margin: 0 0 8px !important; color: var(--faq-text) !important; font-family: Rajdhani, sans-serif !important; font-size: 21px !important; text-transform: uppercase; }
.fmr-faq-help p { margin: 0 0 17px !important; color: var(--faq-muted) !important; font-size: 12px; line-height: 1.6; }
.fmr-faq-help a { display: flex; justify-content: space-between; color: var(--faq-pink-2) !important; font: 700 12px Rajdhani, sans-serif; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }

.fmr-faq-group { margin-bottom: 56px; }
.fmr-faq-group[hidden], .fmr-faq-item[hidden], .fmr-faq-empty[hidden] { display: none !important; }

.fmr-faq-group__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.fmr-faq-group__head p { margin-bottom: 4px; color: #71808b; font-size: 10px; }
.fmr-faq-group__head h2 { margin: 0 !important; color: var(--faq-text) !important; font-family: Rajdhani, sans-serif !important; font-size: clamp(31px, 4vw, 42px) !important; font-weight: 700 !important; letter-spacing: -.02em; line-height: 1; text-transform: uppercase; }
.fmr-faq-group__head > span { color: #45515c; font: 700 32px/1 Rajdhani, sans-serif; }

.fmr-faq-list { border-top: 1px solid var(--faq-line); }

.fmr-faq-item {
    border-bottom: 1px solid var(--faq-line);
    background: transparent;
    transition: background .2s ease;
}

.fmr-faq-item:hover,
.fmr-faq-item.is-open { background: rgba(255,255,255,.018); }
.fmr-faq-item.is-open { box-shadow: inset 3px 0 0 var(--faq-pink); }
.fmr-faq-item h3 { margin: 0 !important; }

.fmr-faq-item h3 button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 78px;
    padding: 19px 20px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #dce1e5 !important;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
    text-align: left;
}

.fmr-faq-item h3 button:hover { color: #fff !important; }
.fmr-faq-item h3 button i { position: relative; width: 32px; height: 32px; border: 1px solid #34404a; border-radius: 50%; }
.fmr-faq-item h3 button i::before,
.fmr-faq-item h3 button i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 1px; background: var(--faq-cyan); transform: translate(-50%, -50%); transition: transform .2s ease; }
.fmr-faq-item h3 button i::after { transform: translate(-50%, -50%) rotate(90deg); }
.fmr-faq-item.is-open h3 button i { border-color: rgba(238,78,139,.45); }
.fmr-faq-item.is-open h3 button i::before,
.fmr-faq-item.is-open h3 button i::after { background: var(--faq-pink-2); }
.fmr-faq-item.is-open h3 button i::after { transform: translate(-50%, -50%) rotate(0); }

.fmr-faq-answer { overflow: hidden; }
.fmr-faq-answer > div { max-width: 760px; padding: 0 70px 25px 20px; }
.fmr-faq-answer p { margin: 0 !important; color: var(--faq-muted) !important; font-size: 14px; line-height: 1.75; }
.fmr-faq-answer a { color: var(--faq-cyan) !important; text-decoration-color: rgba(65,217,220,.4); }
.fmr-faq-answer code { padding: 2px 5px; border: 1px solid #303b45; border-radius: 3px; background: #090d11; color: #d5dbe0; font-size: .92em; }

.fmr-faq-empty { padding: 65px 30px; border: 1px dashed var(--faq-line); border-radius: 8px; text-align: center; }
.fmr-faq-empty span { color: var(--faq-pink); font: 700 11px Rajdhani, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.fmr-faq-empty h2 { margin: 10px 0 7px !important; color: var(--faq-text) !important; font-family: Rajdhani, sans-serif !important; font-size: 34px !important; text-transform: uppercase; }
.fmr-faq-empty p { margin: 0 !important; color: var(--faq-muted) !important; }

.fmr-faq-cta {
    padding: 85px 0 92px;
    border-top: 1px solid var(--faq-line);
    background: linear-gradient(110deg, #10141a, #0a0e12 66%);
}

.fmr-faq-cta .fmr-faq-shell { position: relative; }
.fmr-faq-cta .fmr-faq-shell::after { content: "SUPPORT"; position: absolute; right: 0; bottom: -25px; color: rgba(255,255,255,.018); font: 700 130px/.8 Rajdhani, sans-serif; letter-spacing: -.04em; pointer-events: none; }
.fmr-faq-cta h2 { position: relative; z-index: 1; max-width: 780px; margin: 0 0 28px !important; color: var(--faq-text) !important; font-family: Rajdhani, sans-serif !important; font-size: clamp(42px, 6vw, 68px) !important; font-weight: 700 !important; letter-spacing: -.03em; line-height: .95; text-transform: uppercase; }
.fmr-faq-cta .fmr-faq-shell > div { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; }

.fmr-faq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 50px; padding: 12px 20px; border: 1px solid #3a4550; border-radius: 5px; color: #c6cdd3 !important; font: 700 12px Rajdhani, sans-serif; letter-spacing: .1em; text-decoration: none !important; text-transform: uppercase; }
.fmr-faq-btn:hover { border-color: var(--faq-cyan); color: var(--faq-text) !important; }
.fmr-faq-btn--primary { border-color: var(--faq-pink); background: var(--faq-pink); color: #140a0e !important; }
.fmr-faq-btn--primary:hover { border-color: var(--faq-pink-2); background: var(--faq-pink-2); color: #140a0e !important; }

@media (max-width: 900px) {
    .fmr-faq-hero { padding-top: 75px; }
    .fmr-faq-layout { grid-template-columns: 1fr; gap: 38px; }
    .fmr-faq-aside { position: static; }
    .fmr-faq-aside__label { display: none; }
    .fmr-faq-topics { display: flex; overflow-x: auto; padding: 0 0 12px; border: 0; scrollbar-width: thin; }
    .fmr-faq-topics button { flex: 0 0 auto; width: auto; white-space: nowrap; }
    .fmr-faq-help { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-top: 10px; padding: 16px 18px; }
    .fmr-faq-help__icon { margin: 0; }
    .fmr-faq-help h2 { margin: 0 !important; }
    .fmr-faq-help p { display: none; }
    .fmr-faq-help a { gap: 15px; }
}

@media (max-width: 600px) {
    .fmr-faq-shell { width: min(100% - 28px, 1180px); }
    .fmr-faq-hero { padding: 68px 0 55px; }
    .fmr-faq-hero::after { left: 45%; font-size: 390px; }
    .fmr-faq-hero h1 { font-size: clamp(51px, 16vw, 68px) !important; }
    .fmr-faq-lead { margin-top: 22px !important; font-size: 15px; }
    .fmr-faq-search { min-height: 56px; padding-inline: 14px; }
    .fmr-faq-search input { height: 54px; font-size: 14px; }
    .fmr-faq-search kbd { display: none; }
    .fmr-faq-trust { gap: 11px 17px; }
    .fmr-faq-body { padding: 42px 0 72px; }
    .fmr-faq-help { grid-template-columns: auto 1fr; }
    .fmr-faq-help a { grid-column: 1 / -1; justify-content: flex-start; }
    .fmr-faq-group { margin-bottom: 43px; }
    .fmr-faq-group__head > span { font-size: 25px; }
    .fmr-faq-item h3 button { min-height: 72px; padding: 17px 12px; font-size: 14px; }
    .fmr-faq-answer > div { padding: 0 12px 22px; }
    .fmr-faq-cta { padding: 64px 0 70px; }
    .fmr-faq-cta .fmr-faq-shell::after { display: none; }
    .fmr-faq-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .fmr-faq * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
