/* v58: phone-only refinements. The desktop layout is unchanged. */
.footer-social-icons { display: contents; }

@media (max-width: 760px) {
  #network.locator-section { padding: 40px 0 42px; }
  #network .locator-heading { gap: 12px; margin-bottom: 20px; }
  #network .locator-intro p { font-size: calc(14px * var(--a11y-scale, 1)); line-height: 1.65; margin-bottom: 8px; }
  #network .locator-map-top { padding: 14px 14px 0; gap: 10px; }
  #network .locator-overline { display: none; }
  #network .locator-map-top strong { font-size: calc(17px * var(--a11y-scale, 1)); line-height: 1.4; }
  #network .locator-next { min-height: 44px; padding: 8px 10px; flex-shrink: 0; }
  #network .locator-canvas { height: clamp(270px, 72vw, 304px); min-height: 0; flex: none; }
  #network .locator-pin-core { width: 22px; height: 22px; }
  #network .locator-pin-number { font-size: calc(9px * var(--a11y-scale, 1)); }
  #network .locator-tools { left: 10px; bottom: 10px; flex-direction: row; border-radius: 8px; }
  #network .locator-tools button { width: 44px; height: 44px; }
  #network .locator-tools button + button { border-top: 0; border-left: 1px solid rgba(211,224,242,.1); }
  #network .locator-compass { top: 8px; right: 12px; }
  #network .locator-map-selection { margin: 0 14px 8px; padding: 9px 0 0; gap: 8px; flex-wrap: nowrap; }
  #network .locator-selected-caption { display: none; }
  #network .locator-selected-text { flex: 1 1 auto; }
  #network .locator-selected-text strong { font-size: calc(14px * var(--a11y-scale, 1)); line-height: 1.45; overflow-wrap: anywhere; }
  #network .locator-selected-directions { min-height: 44px; padding: 7px 9px; font-size: calc(11px * var(--a11y-scale, 1)); }
  #network .locator-map-bottom { padding: 5px 14px 12px; gap: 5px 10px; }
  #network .locator-directory { padding: 16px 14px; }
  #network .locator-search-wrap > label { margin-bottom: 8px; }
  #network .locator-search-box { min-height: 44px; }
  #network .locator-search-box input { font-size: 16px; padding: 10px 0; }
  #network .locator-filter-row { margin: 7px 0; }
  #network .locator-filter-row select { min-height: 44px; font-size: 16px; max-width: 72%; }
  #network .locator-results { height: 120px; min-height: 120px; }
  #network .locator-result { min-height: 52px; padding: 7px 8px; gap: 9px; }
  #network .locator-detail { margin-top: 12px; padding-top: 12px; min-height: 0; flex: none; }
  #network .locator-detail h3 { font-size: calc(19px * var(--a11y-scale, 1)); margin-bottom: 6px; }
  #network .locator-detail p { font-size: calc(13px * var(--a11y-scale, 1)); line-height: 1.6; margin-bottom: 8px; overflow-wrap: anywhere; }
  #network .locator-contact-label { font-size: calc(11px * var(--a11y-scale, 1)); margin-bottom: 3px; }
  #network .locator-detail-phone { font-size: calc(15px * var(--a11y-scale, 1)); margin-bottom: 9px; }
  #network .locator-detail-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #network .locator-detail-actions a { min-width: 0; min-height: 44px; padding: 8px; font-size: calc(11px * var(--a11y-scale, 1)); line-height: 1.5; text-align: center; }
  html[lang="ar"] #network .locator-map-top strong { font-size: calc(19px * var(--a11y-scale, 1)); }
  html[lang="ar"] #network .locator-selected-text strong { font-size: calc(16px * var(--a11y-scale, 1)); }
  html[lang="ar"] #network .locator-selected-directions { font-size: calc(13px * var(--a11y-scale, 1)); }
  html[lang="ar"] #network .locator-detail h3 { font-size: calc(21px * var(--a11y-scale, 1)); }
  html[lang="ar"] #network .locator-detail p { font-size: calc(15px * var(--a11y-scale, 1)); }
  html[lang="ar"] #network .locator-contact-label { font-size: calc(13px * var(--a11y-scale, 1)); }
  html[lang="ar"] #network .locator-detail-actions a { font-size: calc(13px * var(--a11y-scale, 1)); }
  html.a11y-large-text #network .locator-map-selection { flex-wrap: wrap; }
  html.a11y-large-text #network .locator-detail-actions { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  #contact .footer-company { gap: 10px; width: 100%; min-width: 0; }
  #contact .footer-company h4 { margin-bottom: 4px; }
  #contact .footer-company-link[data-profile-action],
  #contact .footer-company-link[data-vat-action] {
    width: 100%; max-width: none; min-width: 0; min-height: 64px;
    padding: 10px 14px; gap: 12px; border: 1px solid rgba(49,67,111,.14);
    border-radius: 10px; background: rgba(255,255,255,.94);
    box-shadow: 0 3px 12px rgba(49,67,111,.035);
    align-items: center; white-space: normal;
  }
  #contact .footer-company-link[data-profile-action] > span:first-child,
  #contact .footer-company-link[data-vat-action] > span:first-child {
    min-width: 0; flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; line-height: 1.5;
  }
  #contact .footer-company-link .footer-doc-icon-click {
    width: 40px; height: 40px; flex: 0 0 40px; margin-inline-start: auto;
    display: grid; place-items: center;
  }
  #contact .footer-company-link.footer-profile-link .footer-doc-icon img { height: 24px; width: auto; max-width: 32px; object-fit: contain; }
  #contact .footer-company-link.footer-vat-link .footer-doc-icon img { height: 28px; width: auto; max-width: 32px; object-fit: contain; }
  #contact .footer-company-link:focus-visible { outline: 2px solid var(--gold, #f4a300); outline-offset: 3px; }
  html[lang="ar"] #contact .footer-company-link[data-profile-action],
  html[lang="ar"] #contact .footer-company-link[data-vat-action] { font-size: calc(16px * var(--a11y-scale,1)) !important; }
  #contact .footer-social-band { display: block; width: 100%; padding-top: 18px; }
  #contact .footer-social-band h4 { margin: 0 0 12px; white-space: normal; line-height: 1.6; }
  #contact .footer-social-links { display: block; width: 100%; min-width: 0; }
  #contact .footer-social-icons {
    display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center;
    gap: 10px; direction: ltr; width: 100%; padding-right: 60px; box-sizing: border-box;
  }
  #contact .footer-social-icons .footer-social-link {
    display: grid; place-items: center; flex: 0 0 44px; width: 44px; min-width: 44px;
    height: 44px; min-height: 44px; padding: 0; margin: 0;
  }
  #contact .footer-social-icons .footer-social-badge { width: 40px; height: 40px; flex-basis: 40px; }
  #contact .footer-social-band .footer-inline-legal {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 12px;
    width: 100%; margin: 16px 0 0; padding: 12px 0 0; border-inline-start: 0;
    border-top: 1px solid rgba(49,67,111,.12); white-space: normal;
  }
  #contact .footer-inline-legal a, #contact .footer-inline-legal .cookie-settings-link {
    display: flex; align-items: center; justify-content: flex-start; min-height: 44px;
    min-width: 0; padding: 6px 0; margin: 0; white-space: normal; overflow-wrap: anywhere;
    text-align: start; line-height: 1.5;
  }
  #contact .footer-contact-copy { white-space: normal; min-width: 0; }
  #contact .footer-contact-copy > span, #contact .footer-contact-copy bdi { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 760px) {
  /* Keep zoom controls outside the map artwork, clear of every location marker. */
  #network .locator-map-bottom { flex-wrap: nowrap; align-items: center; gap: 8px; padding-bottom: 12px; }
  #network .locator-map-bottom > [data-map-i18n="scaleNote"] { display: none; }
  #network .locator-map-bottom .locator-legend { flex: 1 1 auto; min-width: 0; line-height: 1.5; }
  #network .locator-map-bottom .locator-tools { position: static; inset: auto; margin: 0; flex: 0 0 auto; background: rgba(20,36,55,.7); }
}

@media (max-width: 760px) {
  /* Branch details already appear below the search list; avoid a duplicate phone panel. */
  #network .locator-map-selection { display: none; }
  #network .locator-detail { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: center; }
  #network .locator-detail h3, #network .locator-detail p,
  #network .locator-detail .locator-detail-actions { grid-column: 1 / -1; }
  #network .locator-detail .locator-contact-label { margin: 0 0 9px; }
  #network .locator-detail .locator-detail-phone { margin: 0 0 9px; text-align: end; }
  html.a11y-large-text #network .locator-detail { grid-template-columns: 1fr; }
  html.a11y-large-text #network .locator-detail .locator-detail-phone { text-align: start; }
}
