/* FlexiCare V1168 — Service Detail Pages Mobile QA Polish
   Scoped only to body.fc-service-detail. Mobile/tablet refinements without content or route changes. */

@media (max-width: 979px) {
  body.fc-service-detail { overflow-x: clip; }

  body.fc-service-detail .fc-program-detail,
  body.fc-service-detail .fc-service-detail {
    padding-top: clamp(1rem, 4vw, 1.55rem);
  }

  body.fc-service-detail .container,
  body.fc-service-detail .fc-service-top,
  body.fc-service-detail .fc-service-layout,
  body.fc-service-detail .fc-service-content,
  body.fc-service-detail .fc-service-aside { min-width: 0; }

  body.fc-service-detail .fc-service-top {
    gap: 1rem;
    margin-bottom: 1.25rem;
  }

  body.fc-service-detail .fc-service-top-left,
  body.fc-service-detail .fc-service-cta-panel {
    padding: clamp(1rem, 4.8vw, 1.35rem);
  }

  body.fc-service-detail .fc-service-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .35rem;
    line-height: 1.45;
  }

  body.fc-service-detail .fc-service-h1,
  body.fc-service-detail .fc-service-block__head .fc-h2,
  body.fc-service-detail .fc-program-cta-title,
  body.fc-service-detail .fc-program-nav-title,
  body.fc-service-detail .fc-service-need-card__title {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  body.fc-service-detail .fc-service-lead,
  body.fc-service-detail .fc-service-copy-card p,
  body.fc-service-detail .fc-service-list li,
  body.fc-service-detail .fc-program-info-box__body,
  body.fc-service-detail .fc-service-legal-note,
  body.fc-service-detail .fc-service-rail-note,
  body.fc-service-detail .fc-service-next-step__desc { line-height: 1.68; }

  body.fc-service-detail .fc-service-chip-row,
  body.fc-service-detail .fc-program-meta,
  body.fc-service-detail .fc-service-related-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  body.fc-service-detail .fc-chip,
  body.fc-service-detail .fc-service-related-btn { max-width: 100%; }

  body.fc-service-detail .fc-service-grid,
  body.fc-service-detail .fc-program-grid { grid-template-columns: 1fr; }

  body.fc-service-detail .fc-service-tile,
  body.fc-service-detail .fc-program-tile { transform: none !important; }

  body.fc-service-detail .fc-service-tile:hover,
  body.fc-service-detail .fc-program-tile:hover { transform: none; }

  body.fc-service-detail .fc-service-tile,
  body.fc-service-detail .fc-service-summary-card,
  body.fc-service-detail .fc-service-copy-card,
  body.fc-service-detail .fc-service-list-card,
  body.fc-service-detail .fc-service-note-box,
  body.fc-service-detail .fc-service-support-card,
  body.fc-service-detail .fc-service-toc-card,
  body.fc-service-detail .fc-service-segment-card {
    box-shadow: 0 10px 28px rgba(18, 70, 74, .07);
  }

  body.fc-service-detail .fc-service-body-flow { gap: 1rem; }
  body.fc-service-detail .fc-service-block { scroll-margin-top: 82px; }

  body.fc-service-detail .fc-service-aside {
    position: static;
    max-height: none;
    overflow: visible;
    margin-top: 1.35rem;
    padding-right: 0;
  }

  body.fc-service-detail .fc-service-aside-head { margin-bottom: .75rem; }

  body.fc-service-detail .fc-service-toc-card ol {
    display: grid;
    gap: .28rem;
  }

  body.fc-service-detail .fc-service-toc-card a {
    display: block;
    padding: .55rem .62rem;
  }

  body.fc-service-detail .fc-segment {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
  }

  body.fc-service-detail .fc-seg {
    text-align: center;
    justify-content: center;
    min-width: 0;
  }

  body.fc-service-detail .fc-service-actions,
  body.fc-service-detail .fc-program-cta-row,
  body.fc-service-detail .fc-program-next-step__actions,
  body.fc-service-detail .fc-service-related-actions { gap: .55rem; }

  body.fc-service-detail .fc-service-actions .btn,
  body.fc-service-detail .fc-program-cta-row .btn,
  body.fc-service-detail .fc-program-next-step__actions .btn,
  body.fc-service-detail .fc-service-related-actions .btn,
  body.fc-service-detail .fc-program-cta-primary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding-inline: .95rem;
  }

  body.fc-service-detail .fc-backtop {
    right: 1rem;
    bottom: 1rem;
  }
}

@media (max-width: 640px) {
  body.fc-service-detail .fc-service-top-left,
  body.fc-service-detail .fc-service-cta-panel,
  body.fc-service-detail .fc-service-summary-card,
  body.fc-service-detail .fc-service-copy-card,
  body.fc-service-detail .fc-service-list-card,
  body.fc-service-detail .fc-service-note-box,
  body.fc-service-detail .fc-service-support-card,
  body.fc-service-detail .fc-service-toc-card,
  body.fc-service-detail .fc-service-segment-card { padding: 1rem; }

  body.fc-service-detail .fc-service-h1 {
    font-size: clamp(1.75rem, 8.8vw, 2.2rem);
    line-height: 1.08;
    letter-spacing: -.035em;
  }

  body.fc-service-detail .fc-service-lead { font-size: .98rem; }

  body.fc-service-detail .fc-service-block__eyebrow,
  body.fc-service-detail .fc-service-kicker,
  body.fc-service-detail .fc-program-cta-eyebrow,
  body.fc-service-detail .fc-service-rail-eyebrow { letter-spacing: .035em; }

  body.fc-service-detail .fc-service-list { padding-left: 1.1rem; }
  body.fc-service-detail .fc-service-list li + li { margin-top: .45rem; }
  body.fc-service-detail .fc-service-legal-note { font-size: .9rem; }
  body.fc-service-detail .fc-segment { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  body.fc-service-detail .fc-service-top-left,
  body.fc-service-detail .fc-service-cta-panel,
  body.fc-service-detail .fc-service-summary-card,
  body.fc-service-detail .fc-service-copy-card,
  body.fc-service-detail .fc-service-list-card,
  body.fc-service-detail .fc-service-note-box,
  body.fc-service-detail .fc-service-support-card,
  body.fc-service-detail .fc-service-toc-card,
  body.fc-service-detail .fc-service-segment-card { border-radius: 16px; }

  body.fc-service-detail .fc-service-h1 { font-size: clamp(1.62rem, 9.5vw, 2.02rem); }

  body.fc-service-detail .fc-service-chip-row .fc-chip,
  body.fc-service-detail .fc-chip {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* FlexiCare V1361 — Service Detail Pages Mobile Control */
@media (max-width: 979px) {
  body.fc-service-detail {
    overflow-x: clip;
  }

  body.fc-service-detail .fc-service-top {
    gap: 1.05rem;
    margin-bottom: 1.35rem;
  }

  body.fc-service-detail .fc-service-top-left,
  body.fc-service-detail .fc-service-cta-panel {
    border-radius: 22px;
  }

  body.fc-service-detail .fc-service-h1 {
    max-width: 100%;
    text-wrap: balance;
  }

  body.fc-service-detail .fc-service-chip-row,
  body.fc-service-detail .fc-service-meta,
  body.fc-service-detail .fc-program-meta {
    max-width: 100%;
  }

  body.fc-service-detail .fc-chip,
  body.fc-service-detail .fc-service-chip-row .fc-chip,
  body.fc-service-detail .fc-service-meta .fc-chip {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.fc-service-detail .fc-service-toc-mobile {
    margin: 1rem 0 1.25rem;
  }

  body.fc-service-detail .fc-service-toc-mobile select {
    appearance: auto;
    max-width: 100%;
  }

  body.fc-service-detail .fc-service-rail-sticky,
  body.fc-service-detail .fc-service-aside {
    position: static;
    max-height: none;
    overflow: visible;
  }

  body.fc-service-detail .fc-service-aside-head {
    display: none;
  }

  body.fc-service-detail .fc-service-actions,
  body.fc-service-detail .fc-program-cta-row,
  body.fc-service-detail .fc-program-next-step__actions,
  body.fc-service-detail .fc-service-related-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .6rem;
  }

  body.fc-service-detail .fc-service-related-btn,
  body.fc-service-detail .fc-service-actions .btn,
  body.fc-service-detail .fc-program-cta-row .btn,
  body.fc-service-detail .fc-program-next-step__actions .btn {
    width: 100%;
    min-width: 0;
  }

  body.fc-service-detail .fc-service-block {
    scroll-margin-top: calc(92px + var(--fc-cookie-offset, 0px));
  }
}

@media (max-width: 640px) {
  body.fc-service-detail .fc-service-note-box::before {
    top: .9rem;
    bottom: .9rem;
  }

  body.fc-service-detail .fc-service-summary-card,
  body.fc-service-detail .fc-service-copy-card,
  body.fc-service-detail .fc-service-list-card,
  body.fc-service-detail .fc-service-note-box,
  body.fc-service-detail .fc-service-support-card,
  body.fc-service-detail .fc-service-toc-card,
  body.fc-service-detail .fc-service-segment-card {
    border-radius: 18px;
  }
}


/* FlexiCare V1362 — Service Detail Pages Mobile CTA, FAQ & Overflow Control */
@media (max-width: 979px) {
  body.fc-service-detail .fc-service-breadcrumb {
    font-size: .9rem;
  }

  body.fc-service-detail .fc-program-h1-ico {
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 15px;
  }

  body.fc-service-detail .fc-service-cta-panel .fc-program-cta-primary,
  body.fc-service-detail .fc-service-cta-panel .fc-program-cta-row .btn {
    width: 100%;
    min-width: 0;
  }

  body.fc-service-detail .fc-program-note {
    font-size: .92rem;
    line-height: 1.6;
  }

  body.fc-service-detail .fc-service-toc-mobile {
    position: relative;
    z-index: 1;
  }

  body.fc-service-detail .fc-service-toc-mobile select {
    line-height: 1.25;
  }

  body.fc-service-detail .fc-service-block__eyebrow::before {
    width: .38rem;
    height: .38rem;
  }

  body.fc-service-detail .fc-service-list li + li {
    padding-top: .58rem;
  }

  body.fc-service-detail .fc-service-faq-wrap .fc-faq {
    border-radius: 20px;
  }

  body.fc-service-detail .fc-service-faq-wrap .fc-faq-head {
    padding-bottom: .8rem;
  }

  body.fc-service-detail .fc-service-faq-wrap .fc-faq-item {
    border-radius: 16px;
  }

  body.fc-service-detail .fc-service-faq-wrap .fc-faq-item summary {
    padding: .86rem .92rem;
  }

  body.fc-service-detail .fc-service-faq-wrap .fc-faq-answer {
    padding: .86rem .92rem .95rem;
  }

  body.fc-service-detail .fc-service-aside {
    margin-top: 1.15rem;
  }

  body.fc-service-detail .fc-service-segment-card,
  body.fc-service-detail .fc-service-support-card,
  body.fc-service-detail .fc-service-toc-card {
    box-shadow: 0 10px 24px rgba(18,70,74,.055);
  }

  body.fc-service-detail .fc-service-toc-card {
    display: none;
  }

  body.fc-service-detail .fc-service-actions {
    margin-top: .15rem;
    padding-top: .9rem;
  }

  body.fc-service-detail .fc-service-legal-note {
    font-size: .9rem;
  }
}

@media (max-width: 640px) {
  body.fc-service-detail .fc-service-top-left,
  body.fc-service-detail .fc-service-cta-panel {
    padding: 1.05rem;
  }

  body.fc-service-detail .fc-service-chip-row .fc-chip,
  body.fc-service-detail .fc-service-meta .fc-chip {
    min-height: 32px;
    padding-block: .42rem;
  }

  body.fc-service-detail .fc-service-summary-card,
  body.fc-service-detail .fc-service-copy-card,
  body.fc-service-detail .fc-service-list-card,
  body.fc-service-detail .fc-service-note-box {
    padding: 1.05rem;
  }

  body.fc-service-detail .fc-service-faq-wrap .fc-faq-title {
    font-size: 1.08rem;
  }

  body.fc-service-detail .fc-backtop {
    right: .85rem;
    bottom: .85rem;
  }
}

@media (max-width: 420px) {
  body.fc-service-detail .fc-service-breadcrumb {
    font-size: .86rem;
  }

  body.fc-service-detail .fc-service-cta-panel .fc-program-cta-title,
  body.fc-service-detail .fc-service-block__head .fc-h2,
  body.fc-service-detail .fc-program-tile-title,
  body.fc-service-detail .fc-service-need-card__title {
    overflow-wrap: anywhere;
  }
}
