/* Shared phone layout for public help, policy and information pages. */
@media (max-width:767px) {
  :is(.info-layout,.info-hero-inner,.contact-hub-container,.contact-hub-hero-inner,
      .policy-container,.policy-hero-grid,.payment-hero-grid,.about-vision-grid,
      .about-global-grid,.participate-hero-grid,.participate-path-grid,
      .participate-final-card,.preserve-hero-grid,.preserve-form-container,
      .bs-legal-wrap) {
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
    min-width:0;
    box-sizing:border-box;
  }
  :is(.info-card,.contact-form-card,.contact-side-card,.policy-status-card,
      .policy-intro-note,.policy-text-block,.cookie-control-card,.payment-free-card,
      .payment-contact-card,.about-vision-card,.about-cta-card,.participate-vision-card,
      .participate-principles-card,.participate-final-card,.preserve-flow-card,
      .preserve-form,.preserve-form-section,.bs-legal-highlight,.bs-legal-clause,
      .bs-legal-contact,.bs-legal-cookie) {
    padding:16px!important;
    min-width:0;
    box-sizing:border-box;
  }
  .info-layout>.info-card:has(>.faq-list) {
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .info-layout .faq-list {gap:12px;min-width:0;}
  .info-layout .faq-list details.faq-item {
    padding:0!important;
    border-radius:16px;
    min-width:0;
  }
  .info-layout .faq-list .faq-item>summary {
    position:relative;
    display:block;
    padding:16px 14px!important;
    padding-inline-end:42px!important;
    min-height:56px;
    box-sizing:border-box;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.5!important;
    list-style:none;
    white-space:normal;
    overflow-wrap:break-word;
    cursor:pointer;
  }
  .info-layout .faq-item>summary::-webkit-details-marker {display:none;}
  .info-layout .faq-item>summary::marker {content:'';}
  .info-layout .faq-item>summary::after {
    position:absolute;
    inset-inline-end:14px;
    top:50%;
    transform:translateY(-50%);
    float:none!important;
    width:20px;
    text-align:center;
    font-size:22px;
    line-height:1;
  }
  .info-layout .faq-item>summary:focus-visible {outline:2px solid currentColor;outline-offset:-4px;}
  .info-layout .faq-item>p {
    padding:0 14px 16px!important;
    margin:0!important;
    font-size:16px;
    line-height:1.8;
    overflow-wrap:break-word;
  }
  :is(.info-card,.contact-form-card,.policy-text-block,.bs-legal-clause) :is(p,li) {
    max-width:100%;
    overflow-wrap:break-word;
  }
}
