/* Cuadro para compartir: mismas opciones que Norteño Grill, la página de LP y el Dr. Villalpando, en los colores de Latitud 365 */
.share-dialog {
  width: min(calc(100% - 28px), 560px);
  max-height: min(90vh, 760px);
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: #fff;
  color: #12263a;
  font-family: "Inter", system-ui, sans-serif;
  box-shadow: 0 28px 90px rgba(8, 42, 64, .45);
}
.share-dialog::backdrop { background: rgba(8, 30, 46, .62); }
.dialog-header { position: relative; display: flex; align-items: center; justify-content: center; min-height: 70px; padding: 18px 60px; text-align: center; }
.share-dialog h2 { margin: 0; font-size: 1.1rem; font-weight: 700; line-height: 1.3; }
.dialog-close { position: absolute; right: 16px; top: 15px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: #12263a; font-size: 1.7rem; font-weight: 300; line-height: 1; }
.dialog-close:hover, .dialog-close:focus-visible { background: #eef2f6; }
.share-identity { display: flex; flex-direction: column; align-items: center; padding: 6px 24px 32px; text-align: center; }
.share-identity img { width: 104px; height: 104px; margin-bottom: 20px; object-fit: cover; border: 3px solid #fff; border-radius: 50%; background: #0b3550; box-shadow: 0 0 0 2px #c9a44c; }
.share-identity strong { font-size: 1.35rem; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.share-identity span { margin-top: 6px; font-size: .95rem; line-height: 1.4; color: #5b6570; overflow-wrap: anywhere; }
.share-row { position: relative; border-bottom: 1px solid #e3e8ee; }
.share-track { display: flex; gap: 16px; overflow-x: auto; padding: 0 46px 24px; scroll-behavior: smooth; scrollbar-width: none; }
.share-track::-webkit-scrollbar { display: none; }
.share-option { flex: 0 0 70px; display: flex; flex-direction: column; align-items: center; gap: 8px; min-height: 92px; padding: 0; border: 0; background: none; color: #1a2230; font: inherit; font-size: .82rem; font-weight: 600; line-height: 1.1; white-space: nowrap; }
.share-badge { flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; transition: transform .15s, box-shadow .15s; }
.share-option:hover .share-badge, .share-option:focus-visible .share-badge { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0, 0, 0, .15); }
.share-badge img { width: 29px; height: 29px; filter: invert(1); }
.share-badge svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.badge-copy, .badge-more { background: #e4e9ef; color: #0b3550; }
.badge-x { background: #050505; }
.badge-facebook { background: #2174e8; }
.badge-whatsapp { background: #00d86f; }
.badge-linkedin { background: #0a66c2; color: #fff; }
.badge-linkedin b { padding-right: 5px; font-family: Arial, sans-serif; font-size: 2.1rem; letter-spacing: -.16em; line-height: 1; }
.badge-messenger { background: #f3f3f3; }
.badge-messenger img, .badge-snapchat img { filter: none; }
.badge-snapchat { background: #fffc00; }
.badge-email { background: #616b6e; color: #fff; }
.badge-telegram { background: #27a7e7; }
.scroll-share { position: absolute; z-index: 2; top: 18px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #e3e8ee; border-radius: 50%; background: #fff; color: #0b3550; font-size: 1.6rem; line-height: 1; box-shadow: 0 2px 6px rgba(0, 0, 0, .08); }
.scroll-share:hover, .scroll-share:focus-visible { background: #f1f4f8; }
.scroll-share[hidden] { display: none; }
.scroll-previous { left: 5px; }
.scroll-next { right: 5px; }
.share-bottom { padding: 20px 24px 22px; }
.share-bottom label { display: block; margin-bottom: 7px; font-size: .92rem; font-weight: 700; }
.copy-row { display: flex; gap: 7px; }
.copy-row input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #cfd8e2; border-radius: 10px; background: #f6f8fa; color: #2b3440; font: inherit; font-size: .82rem; }
.copy-row button { min-width: 84px; padding: 8px 14px; border: 0; border-radius: 10px; background: #0b3550; color: #fff; font-weight: 700; }
.copy-row button:hover, .copy-row button:focus-visible { background: #0e5c86; }
.copy-status { min-height: 1.3em; margin: 9px 0 0; font-size: .85rem; color: #3d4955; }
.share-dialog :focus-visible { outline: 3px solid #0e5c86; outline-offset: 2px; }

@media (max-width: 600px) {
  .share-dialog { max-height: calc(100dvh - 24px); }
  .dialog-header { min-height: 62px; }
  .dialog-close { right: 12px; top: 12px; }
  .share-identity { padding-bottom: 26px; }
  .share-identity img { width: 92px; height: 92px; margin-bottom: 16px; }
  .share-identity strong { font-size: 1.2rem; }
  .share-track { gap: 12px; padding-bottom: 18px; }
  .share-option { flex-basis: 66px; min-height: 85px; }
  .share-badge { width: 55px; height: 55px; }
  .share-bottom { padding: 18px 17px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .share-track { scroll-behavior: auto; }
  .share-badge { transition: none; }
}
