/* Compact Medicare FAQ placed in the right-hand column. */
  .medicare-faq {
    width: 100%;
    max-width: none;
    margin: 20px 0 8px;
    padding: 0 8px;
    box-sizing: border-box;
    text-align: left;
  }

  .medicare-faq * {
    box-sizing: border-box;
  }

  .medicare-faq h2 {
    margin: 0 0 8px;
    color: #263f7f;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
  }

  .medicare-faq .medicare-faq-intro {
    margin: 0 0 14px;
    color: #444;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
  }

  .medicare-faq details {
    margin: 0 0 8px;
    border: 1px solid #d6dbe7;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
  }

  .medicare-faq summary {
    position: relative;
    padding: 10px 30px 10px 10px;
    color: #263f7f;
    background: #f5f7fb;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.35;
    list-style: none;
    text-align: left;
  }

  .medicare-faq summary::-webkit-details-marker {
    display: none;
  }

  .medicare-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    color: #263f7f;
    font-size: 19px;
    font-weight: 400;
  }

  .medicare-faq details[open] summary::after {
    content: "−";
  }

  .medicare-faq details[open] summary {
    border-bottom: 1px solid #d6dbe7;
  }

  .medicare-faq .medicare-faq-answer {
    padding: 10px;
    color: #333;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
    overflow-wrap: anywhere;
  }

  .medicare-faq .medicare-faq-answer p {
    margin: 0 0 9px;
  }

  .medicare-faq .medicare-faq-answer p:last-child {
    margin-bottom: 0;
  }

  .medicare-faq .medicare-faq-answer ul {
    margin: 7px 0 9px 17px;
    padding: 0;
  }

  .medicare-faq .medicare-faq-answer li {
    margin: 0 0 5px;
  }

  .medicare-faq .medicare-sources {
    margin-top: 14px;
    padding: 12px;
    border-left: 4px solid #3d5899;
    background: #f5f7fb;
    text-align: left;
    overflow-wrap: anywhere;
  }

  .medicare-faq .medicare-sources h3 {
    margin: 0 0 8px;
    color: #263f7f;
    font-size: 15px;
  }

  .medicare-faq .medicare-sources ul {
    margin: 0 0 10px 17px;
    padding: 0;
    font-size: 11.5px;
    line-height: 1.45;
  }

  .medicare-faq .medicare-sources li {
    margin-bottom: 7px;
  }

  .medicare-faq .medicare-sources a {
    color: #263f7f;
    text-decoration: underline;
  }

  .medicare-faq .medicare-review-date {
    margin: 10px 0 0;
    font-size: 11.5px;
    font-weight: 700;
  }

  .medicare-faq .medicare-faq-disclaimer {
    margin-top: 12px;
    padding: 11px;
    border: 1px solid #d6dbe7;
    border-radius: 5px;
    background: #fff;
    color: #555;
    font-size: 11px;
    line-height: 1.45;
    text-align: left;
  }

  /*
   * Use one FAQ position on desktop and another on tablets/phones.
   * The desktop copy stays in the right sidebar.
   * The mobile copy appears below the payment and state-fee disclaimer.
   */
  .medicare-faq-mobile {
    display: none;
  }

  .medicare-faq-desktop {
    display: block;
  }

  /* Medicare startup left-sidebar contact and trust cards. */
  .medicare-sidebar-card {
    margin: 0 0 14px;
    padding: 13px 11px;
    border: 1px solid rgba(61, 88, 153, 0.28);
    border-radius: 8px;
    background: transparent;
    box-sizing: border-box;
    text-align: center;
  }

  .medicare-sidebar-card h2 {
    margin: 0 0 10px;
    color: #263f7f;
    font-size: 16px;
    line-height: 1.3;
  }

  .medicare-sidebar-actions {
    display: grid;
    gap: 8px;
  }

  .medicare-sidebar-button {
    display: block;
    width: 100%;
    padding: 9px 8px;
    border: 2px solid #3d5899;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
  }

  .medicare-sidebar-button-call {
    color: #fff;
    background: #3d5899;
  }

  .medicare-sidebar-button-call:hover,
  .medicare-sidebar-button-call:focus {
    color: #fff;
    background: #263f7f;
    text-decoration: none;
  }

  .medicare-sidebar-button-email {
    color: #3d5899;
    background: #fff;
  }

  .medicare-sidebar-button-email:hover,
  .medicare-sidebar-button-email:focus {
    color: #fff;
    background: #3d5899;
    text-decoration: none;
  }

  .medicare-sidebar-benefits {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
  }

  .medicare-sidebar-benefits li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 20px;
    color: #333;
    font-size: 13px;
    line-height: 1.35;
  }

  .medicare-sidebar-benefits li:last-child {
    margin-bottom: 0;
  }

  .medicare-sidebar-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #287a3d;
    font-weight: 700;
  }

  /* Prominent contact and agency-information panel below checkout. */
  .medicare-contact-panel {
    width: 100%;
    margin: 0 0 14px;
    padding: 16px 18px;
    border: 2px solid #3d5899;
    border-radius: 8px;
    background: #f7f8fc;
    box-sizing: border-box;
    color: #222;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
  }

  .medicare-contact-panel * {
    box-sizing: border-box;
  }

  .medicare-contact-panel h2 {
    margin: 0 0 4px;
    color: #263f7f;
    font-size: 19px;
    line-height: 1.2;
  }

  .medicare-contact-panel .medicare-contact-intro {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
  }

  .medicare-contact-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 14px;
  }

  .medicare-contact-action {
    display: flex;
    min-height: 44px;
    padding: 6px 10px;
    border: 2px solid #3d5899;
    border-radius: 7px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }

  .medicare-contact-action-call {
    color: #fff !important;
    background: #3d5899;
  }

  .medicare-contact-action-call .medicare-contact-action-label,
  .medicare-contact-action-call .medicare-contact-action-detail {
    color: #fff !important;
  }

  .medicare-contact-action-call:hover,
  .medicare-contact-action-call:focus {
    color: #fff !important;
    background: #263f7f;
    text-decoration: none;
  }

  .medicare-contact-action-call:hover .medicare-contact-action-label,
  .medicare-contact-action-call:hover .medicare-contact-action-detail,
  .medicare-contact-action-call:focus .medicare-contact-action-label,
  .medicare-contact-action-call:focus .medicare-contact-action-detail {
    color: #fff !important;
  }

  .medicare-contact-action-email {
    color: #3d5899 !important;
    background: #fff;
  }

  .medicare-contact-action-email .medicare-contact-action-label,
  .medicare-contact-action-email .medicare-contact-action-detail {
    color: #3d5899 !important;
  }

  .medicare-contact-action-label {
    font-size: 13px;
    line-height: 1.1;
  }

  .medicare-contact-action-detail {
    font-size: 14px;
    line-height: 1.2;
  }

  .medicare-contact-action-email .medicare-contact-action-detail {
    font-size: 13px;
    overflow-wrap: normal;
    white-space: nowrap;
  }

  .medicare-contact-action-email:hover,
  .medicare-contact-action-email:focus {
    color: #fff !important;
    background: #3d5899;
    text-decoration: none;
  }

  .medicare-contact-action-email:hover .medicare-contact-action-label,
  .medicare-contact-action-email:hover .medicare-contact-action-detail,
  .medicare-contact-action-email:focus .medicare-contact-action-label,
  .medicare-contact-action-email:focus .medicare-contact-action-detail {
    color: #fff !important;
  }

  .medicare-contact-copy {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
  }

  .medicare-contact-copy p {
    margin: 0 0 10px;
  }

  .medicare-contact-copy p:last-child {
    margin-bottom: 0;
  }

  .medicare-contact-free {
    color: #d40000;
    font-weight: 700;
  }

  .medicare-contact-mailing {
    margin-top: 14px !important;
    padding-top: 12px;
    border-top: 1px solid #b8c4df;
  }

  @media (max-width: 991.98px) {
    .medicare-faq-desktop {
      display: none;
    }

    .medicare-faq-mobile {
      display: block;
    }


    .medicare-faq {
      max-width: 760px;
      margin: 22px auto 8px;
      padding: 0 12px;
    }

    .medicare-faq h2 {
      font-size: 22px;
    }

    .medicare-faq .medicare-faq-intro,
    .medicare-faq summary,
    .medicare-faq .medicare-faq-answer {
      font-size: 14px;
    }
  }

  @media (max-width: 575.98px) {
    .medicare-contact-panel {
      padding: 14px 12px;
      font-size: 14px;
      line-height: 1.4;
    }

    .medicare-contact-panel h2 {
      font-size: 18px;
    }

    .medicare-contact-panel .medicare-contact-intro {
      font-size: 14px;
    }

    .medicare-contact-action {
      min-height: 42px;
      padding: 5px 6px;
    }

    .medicare-contact-action-label {
      font-size: 12px;
    }

    .medicare-contact-action-detail {
      font-size: 12px;
    }

    .medicare-contact-action-email .medicare-contact-action-detail {
      font-size: 11px;
    }
  }

/* The shared site styles supply the reference page's three-column widths. */
.medicare-template,
.medicare-template > .section_overlay,
.medicare-template > .section_overlay > .container,
.medicare-template .mainContentMid { padding-top: 0; }
.medicare-template .medicare-main-spacing { padding-top: 12px; padding-bottom: 16px; }
.medicare-template .medicare-product { font-family: Arial, Helvetica, sans-serif; max-width: 760px; margin: 0 auto; line-height: 1.3; padding-top: 0; text-align: center; }
.medicare-template .medicare-heading { margin: 0 0 12px; padding: 0 0 4px; }
.medicare-template .medicare-heading h1 { margin: 0; padding: 0; font-size: 22px; line-height: 1.2; color: #3d5899; }
.medicare-template .medicare-heading p { margin: 4px 0 0; font-size: 16px; font-weight: 700; }
.medicare-template .medicare-panel { border: 2px solid #3d5899; border-radius: 8px; padding: 14px; margin-bottom: 12px; }
.medicare-template .medicare-panel h2 { margin: 0 0 6px; font-size: 18px; }
.medicare-template .medicare-panel p { margin: 0 0 8px; }
.medicare-template .medicare-included { padding: 22px 28px; text-align: left; }
.medicare-template .medicare-included h2 { margin-bottom: 12px; text-align: center; }
.medicare-template .medicare-package-list { margin: 0; padding-left: 24px; line-height: 1.6; text-align: left; }
.medicare-template .medicare-package-list a { color: #3d5899; text-decoration: underline; }
.medicare-template .medicare-customize { margin-top: 32px; padding: 4px 16px; border: 2px solid #3d5899; border-radius: 8px; background: #f7f8fc; text-align: center; }
.medicare-template .medicare-customize h3 { margin: 0 0 6px; font-size: 17px; font-weight: 700; line-height: 1.2; color: #3d5899; }
.medicare-template .medicare-customize p { margin: 0; font-size: 13px; line-height: 1.5; }
.medicare-template .medicare-summary { margin: 0 0 12px; }
.medicare-template .medicare-summary iframe { display: block; width: 100%; border: 0; overflow: hidden; }
.medicare-template .medicare-checkout { text-align: center; }
.medicare-template .medicare-checkout > h2 { margin-bottom: 12px; }
.medicare-template .medicare-checkout > h3 { margin: 0 0 8px; font-size: 18px; }
.medicare-template .medicare-checkout > hr { width: 94%; margin: 18px auto 12px; border: 0; border-top: 2px solid #3d5899; opacity: 1; }
.medicare-template .medicare-back { margin: 10px 0; text-align: center; }
.medicare-template .medicare-back a { font-size: 13px; }
.medicare-template a:focus-visible,
.medicare-template summary:focus-visible { outline: 3px solid #263f7f; outline-offset: 3px; }
.medicare-template .medicare-faq-answer ol { margin: 7px 0 9px 17px; padding: 0; }
.medicare-template .medicare-faq-answer * { font-size: inherit; line-height: inherit; }
.medicare-template .medicare-sources li,
.medicare-template .medicare-sources a,
.medicare-template .medicare-sources p { font-size: 11.5px; line-height: 1.45; }

@media (max-width: 575.98px) {
  .medicare-template .medicare-included { padding: 18px 16px; }
  .medicare-template .medicare-contact-actions { grid-template-columns: minmax(0, 1fr); }
  .medicare-template .medicare-contact-action-email .medicare-contact-action-detail { white-space: normal; overflow-wrap: anywhere; }
}

/* Preserve the existing shared thank-you page appearance. */
.medicare-thank-you { max-width: 820px; margin: 36px auto; padding: 0 12px; text-align: center; }
.medicare-thank-you h1 { font-size: 27px; color: #263f7f; margin-bottom: 16px; }
.medicare-thank-you .medicare-panel { margin: 0 0 14px; padding: 18px 20px; border: 2px solid #3d5899; border-radius: 8px; background: #fff; }
.medicare-thank-you .medicare-panel h2 { margin: 0 0 12px; font-size: 20px; font-weight: 700; line-height: 1.3; color: #263f7f; text-align: center; }
.medicare-thank-you .medicare-panel p, .medicare-thank-you .medicare-panel a { font-size: 14px; line-height: 1.6; }
.medicare-thank-you .medicare-panel p { margin: 0 0 10px; }
.medicare-thank-you .medicare-panel p:last-child { margin-bottom: 0; }
.medicare-thank-you .medicare-panel a { color: #263f7f; text-decoration: underline; }
.medicare-thank-you a.medicare-button { display: inline-block; background: #3d5899; color: #fff; border-radius: 5px; padding: 10px 16px; font-size: 14px; font-weight: 700; text-decoration: none; }
.medicare-thank-you a.medicare-button:hover { background: #263f7f; }
.medicare-thank-you a:focus-visible { outline: 3px solid #263f7f; outline-offset: 3px; }
@media (max-width: 575.98px) {
  .medicare-thank-you .medicare-panel { padding: 16px 13px; }
  .medicare-thank-you .medicare-panel h2 { font-size: 19px; }
}
