{"id":20319,"date":"2026-07-03T16:34:21","date_gmt":"2026-07-03T16:34:21","guid":{"rendered":"https:\/\/luggagestorageba.com\/?page_id=20319"},"modified":"2026-07-03T18:23:09","modified_gmt":"2026-07-03T18:23:09","slug":"guarda-equipaje-san-telmo","status":"publish","type":"page","link":"https:\/\/luggagestorageba.com\/en\/guarda-equipaje-san-telmo\/","title":{"rendered":"Guarda Equipaje en San Telmo"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"20319\" class=\"elementor elementor-20319\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-93ca05c elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"93ca05c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9aefd00\" data-id=\"9aefd00\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f989949 elementor-widget elementor-widget-html\" data-id=\"f989949\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\n<html lang=\"es\">\n<head>\n  <meta charset=\"utf-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <title>Guarda equipaje en San Telmo | Luggage Storage BA<\/title>\n  <meta name=\"description\" content=\"Guard\u00e1 tu equipaje en San Telmo, Buenos Aires. Reserv\u00e1 online un punto verificado cerca del Mercado de San Telmo, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico.\">\n  <link rel=\"preconnect\" href=\"https:\/\/cdnjs.cloudflare.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/cdn.jsdelivr.net\">\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.0\/css\/all.min.css\">\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/leaflet@1.9.4\/dist\/leaflet.css\">\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/flatpickr.min.css\">\n\n  <style>\n    :root {\n      --brand: #FFDE59;\n      --ink: #2F2E2E;\n      --text: #232323;\n      --muted: #6D685E;\n      --soft: #F8F6EF;\n      --soft-2: #FFF8D7;\n      --line: rgba(47,46,46,.12);\n      --white: #fff;\n      --radius-xl: 30px;\n      --radius-lg: 22px;\n      --shadow: 0 18px 45px rgba(47,46,46,.10);\n      --shadow-soft: 0 10px 26px rgba(47,46,46,.07);\n    }\n\n    * { box-sizing: border-box; }\n\n    html { scroll-behavior: smooth; }\n\n    body {\n      margin: 0;\n      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n      background: #fff;\n      color: var(--text);\n    }\n\n    a { color: inherit; }\n\n    .lsba-page {\n      overflow: hidden;\n      background:\n        radial-gradient(circle at 82% -8%, rgba(255,222,89,.34), transparent 28%),\n        linear-gradient(180deg, #fff 0%, #fff 48%, #faf9f4 100%);\n    }\n\n    .lsba-container {\n      width: min(1160px, calc(100% - 32px));\n      margin: 0 auto;\n    }\n\n    .lsba-topbar {\n      border-bottom: 1px solid var(--line);\n      background: rgba(255,255,255,.88);\n      backdrop-filter: blur(16px);\n      position: sticky;\n      top: 0;\n      z-index: 50;\n    }\n\n    .lsba-topbar-inner {\n      min-height: 74px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 18px;\n    }\n\n    .lsba-logo {\n      width: 210px;\n      max-width: 52vw;\n      display: block;\n    }\n\n    .lsba-nav {\n      display: flex;\n      align-items: center;\n      gap: 18px;\n      font-size: 14px;\n      font-weight: 800;\n      color: var(--ink);\n    }\n\n    .lsba-nav a {\n      text-decoration: none;\n      opacity: .78;\n    }\n\n    .lsba-nav a:hover { opacity: 1; }\n\n    .lsba-btn {\n      appearance: none;\n      border: 0;\n      cursor: pointer;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 9px;\n      min-height: 48px;\n      padding: 14px 20px;\n      border-radius: 999px;\n      text-decoration: none;\n      font-weight: 950;\n      font-size: 15px;\n      letter-spacing: -.015em;\n      transition: transform .18s ease, box-shadow .18s ease, background .18s ease;\n    }\n\n    .lsba-btn:hover { transform: translateY(-1px); }\n\n    .lsba-btn-primary {\n      background: var(--ink);\n      color: var(--brand);\n      box-shadow: 0 12px 24px rgba(47,46,46,.18);\n    }\n\n    .lsba-btn-yellow {\n      background: var(--brand);\n      color: var(--ink);\n      box-shadow: 0 12px 24px rgba(47,46,46,.12);\n    }\n\n    .lsba-btn-soft {\n      background: #fff;\n      color: var(--ink);\n      border: 1px solid var(--line);\n      box-shadow: 0 8px 18px rgba(47,46,46,.06);\n    }\n\n    .lsba-breadcrumb {\n      padding: 26px 0 0;\n      color: var(--muted);\n      font-size: 13px;\n      font-weight: 750;\n    }\n\n    .lsba-breadcrumb a {\n      color: var(--muted);\n      text-decoration: none;\n    }\n\n    .lsba-breadcrumb span { color: var(--ink); }\n\n    .lsba-intro {\n      padding: 34px 0 38px;\n    }\n\n    .lsba-intro-grid {\n      display: grid;\n      grid-template-columns: minmax(0, 1.02fr) 360px;\n      gap: 34px;\n      align-items: end;\n    }\n\n    .lsba-kicker {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      padding: 8px 12px;\n      border-radius: 999px;\n      background: var(--soft-2);\n      color: var(--ink);\n      font-size: 12px;\n      font-weight: 950;\n      letter-spacing: .04em;\n      text-transform: uppercase;\n      margin-bottom: 14px;\n    }\n\n    .lsba-h1 {\n      margin: 0;\n      max-width: 860px;\n      color: var(--ink);\n      font-size: clamp(38px, 5.2vw, 55px);\n      line-height: .96;\n      letter-spacing: -.06em;\n      font-weight: 950;\n    }\n\n    .lsba-h1 .mark {\n      background: linear-gradient(180deg, transparent 60%, var(--brand) 60%);\n      padding: 0 4px;\n    }\n\n    .lsba-lead {\n      margin: 18px 0 0;\n      max-width: 760px;\n      color: #4f4a44;\n      font-size: clamp(17px, 1.8vw, 18px);\n      line-height: 1.62;\n    }\n\n    .lsba-intro-card {\n      background: var(--ink);\n      color: #fff;\n      border-radius: var(--radius-xl);\n      padding: 24px;\n      box-shadow: var(--shadow);\n    }\n\n    .lsba-intro-card strong {\n      display: block;\n      font-size: 28px;\n      line-height: 1;\n      color: var(--brand);\n      letter-spacing: -.04em;\n      margin-bottom: 8px;\n    }\n\n    .lsba-intro-card p {\n      margin: 0;\n      color: rgba(255,255,255,.78);\n      font-size: 14px;\n      line-height: 1.55;\n    }\n\n    .lsba-section {\n      padding: 58px 0;\n    }\n\n    .lsba-section.soft {\n      background: var(--soft);\n    }\n\n    .lsba-section-head {\n      max-width: 780px;\n      margin-bottom: 26px;\n    }\n\n    .lsba-eyebrow {\n      margin: 0 0 8px;\n      color: #9A8534;\n      font-size: 12px;\n      text-transform: uppercase;\n      letter-spacing: .1em;\n      font-weight: 950;\n    }\n\n    .lsba-h2 {\n      margin: 0;\n      color: var(--ink);\n      font-size: clamp(28px, 4vw, 44px);\n      line-height: 1.05;\n      letter-spacing: -.05em;\n      font-weight: 950;\n    }\n\n    .lsba-copy {\n      margin: 14px 0 0;\n      color: var(--muted);\n      font-size: 16px;\n      line-height: 1.7;\n    }\n\n    .lsba-two-col {\n      display: grid;\n      grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);\n      gap: 26px;\n      align-items: stretch;\n    }\n\n    .lsba-info-card {\n      background: #fff;\n      border: 1px solid var(--line);\n      border-radius: var(--radius-xl);\n      padding: 24px;\n      box-shadow: var(--shadow-soft);\n    }\n\n    .lsba-info-card h3 {\n      margin: 0 0 10px;\n      color: var(--ink);\n      font-size: 26px;\n      line-height: 1.04;\n      letter-spacing: -.04em;\n      font-weight: 950;\n    }\n\n    .lsba-info-card p {\n      margin: 0;\n      color: var(--muted);\n      line-height: 1.7;\n      font-size: 15px;\n    }\n\n    .lsba-pills {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 9px;\n      margin-top: 18px;\n    }\n\n    .lsba-pill {\n      display: inline-flex;\n      align-items: center;\n      gap: 7px;\n      padding: 9px 11px;\n      border-radius: 999px;\n      background: #f4f3ef;\n      color: var(--ink);\n      font-size: 13px;\n      font-weight: 850;\n    }\n\n    .lsba-map-shell {\n      position: relative;\n      min-height: 480px;\n      border-radius: var(--radius-xl);\n      overflow: hidden;\n      border: 1px solid rgba(47,46,46,.12);\n      box-shadow: var(--shadow);\n      background: #e8e1ce;\n    }\n\n    #sanTelmoFunctionalMap {\n      width: 100%;\n      height: 100%;\n      min-height: 480px;\n      z-index: 1;\n    }\n\n    .leaflet-popup-content-wrapper {\n      border-radius: 18px;\n      box-shadow: 0 12px 32px rgba(47,46,46,.18);\n    }\n\n    .lsba-popup {\n      min-width: 205px;\n    }\n\n    .lsba-popup strong {\n      display: block;\n      color: var(--ink);\n      font-size: 14px;\n      margin-bottom: 6px;\n    }\n\n    .lsba-popup span {\n      display: block;\n      color: var(--muted);\n      font-size: 12px;\n      line-height: 1.45;\n    }\n\n    .lsba-map-legend {\n      position: absolute;\n      left: 16px;\n      bottom: 16px;\n      right: 16px;\n      z-index: 2;\n      display: flex;\n      flex-wrap: wrap;\n      gap: 8px;\n      pointer-events: none;\n    }\n\n    .lsba-legend-item {\n      display: inline-flex;\n      align-items: center;\n      gap: 7px;\n      padding: 8px 10px;\n      border-radius: 999px;\n      background: rgba(255,255,255,.92);\n      color: var(--ink);\n      box-shadow: 0 8px 18px rgba(47,46,46,.10);\n      font-size: 12px;\n      font-weight: 850;\n    }\n\n    .lsba-dot {\n      width: 10px;\n      height: 10px;\n      border-radius: 999px;\n      display: inline-block;\n    }\n\n    .lsba-dot.point { background: var(--brand); border: 2px solid var(--ink); }\n    .lsba-dot.place { background: var(--ink); }\n    .lsba-dot.route { background: #79a8ff; }\n\n    .lsba-points {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-top: 22px;\n    }\n\n    .lsba-point-card {\n      background: #fff;\n      border: 1px solid var(--line);\n      border-radius: var(--radius-xl);\n      padding: 22px;\n      box-shadow: var(--shadow-soft);\n    }\n\n    .lsba-point-top {\n      display: flex;\n      align-items: flex-start;\n      justify-content: space-between;\n      gap: 18px;\n    }\n\n    .lsba-point-card h3 {\n      margin: 0;\n      color: var(--ink);\n      font-size: 24px;\n      line-height: 1.05;\n      letter-spacing: -.04em;\n      font-weight: 950;\n    }\n\n    .lsba-point-card p {\n      color: var(--muted);\n      margin: 9px 0 0;\n      font-size: 15px;\n      line-height: 1.65;\n    }\n\n    .lsba-point-icon {\n      display: grid;\n      place-items: center;\n      width: 46px;\n      min-width: 46px;\n      height: 46px;\n      border-radius: 16px;\n      background: var(--brand);\n      color: var(--ink);\n      font-size: 18px;\n    }\n\n    .lsba-interest-grid {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 18px;\n    }\n\n    .lsba-interest-card {\n      background: #fff;\n      border: 1px solid var(--line);\n      border-radius: 26px;\n      overflow: hidden;\n      box-shadow: var(--shadow-soft);\n    }\n\n    .lsba-interest-img {\n      height: 190px;\n      position: relative;\n      background: #ddd;\n      overflow: hidden;\n    }\n\n    .lsba-interest-img img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      display: block;\n      filter: saturate(1.02) contrast(1.02);\n      transition: transform .35s ease;\n    }\n\n    .lsba-interest-card:hover .lsba-interest-img img {\n      transform: scale(1.035);\n    }\n\n    .lsba-interest-badge {\n      position: absolute;\n      left: 14px;\n      bottom: 14px;\n      padding: 8px 10px;\n      border-radius: 999px;\n      background: var(--brand);\n      color: var(--ink);\n      font-size: 12px;\n      font-weight: 950;\n      box-shadow: 0 8px 18px rgba(0,0,0,.12);\n    }\n\n    .lsba-interest-copy {\n      padding: 19px;\n    }\n\n    .lsba-interest-copy h3 {\n      margin: 0 0 8px;\n      color: var(--ink);\n      font-size: 22px;\n      line-height: 1.05;\n      letter-spacing: -.04em;\n      font-weight: 950;\n    }\n\n    .lsba-interest-copy p {\n      margin: 0;\n      color: var(--muted);\n      font-size: 14px;\n      line-height: 1.62;\n    }\n\n    .lsba-note {\n      margin-top: 16px;\n      font-size: 12px;\n      color: #817a70;\n      line-height: 1.5;\n    }\n\n    .lsba-itinerary {\n      display: grid;\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 14px;\n    }\n\n    .lsba-step {\n      background: #fff;\n      border: 1px solid var(--line);\n      border-radius: 24px;\n      padding: 18px;\n      box-shadow: var(--shadow-soft);\n    }\n\n    .lsba-step-num {\n      display: inline-grid;\n      place-items: center;\n      width: 34px;\n      height: 34px;\n      border-radius: 12px;\n      background: var(--brand);\n      color: var(--ink);\n      font-weight: 950;\n      margin-bottom: 12px;\n    }\n\n    .lsba-step strong {\n      display: block;\n      color: var(--ink);\n      font-size: 16px;\n      font-weight: 950;\n      margin-bottom: 6px;\n    }\n\n    .lsba-step span {\n      color: var(--muted);\n      font-size: 14px;\n      line-height: 1.5;\n    }\n\n    .lsba-booking-zone {\n      padding: 58px 0 70px;\n      background:\n        radial-gradient(circle at 15% 15%, rgba(255,255,255,.2), transparent 24%),\n        var(--ink);\n      color: #fff;\n    }\n\n    .lsba-booking-grid {\n      display: grid;\n      grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);\n      gap: 28px;\n      align-items: start;\n    }\n\n    .lsba-booking-copy h2 {\n      margin: 0;\n      font-size: clamp(30px, 4vw, 48px);\n      line-height: 1.04;\n      letter-spacing: -.05em;\n      font-weight: 950;\n    }\n\n    .lsba-booking-copy p {\n      margin: 14px 0 0;\n      color: rgba(255,255,255,.76);\n      line-height: 1.7;\n      font-size: 16px;\n    }\n\n    .lsba-mini-list {\n      display: grid;\n      gap: 10px;\n      margin-top: 22px;\n    }\n\n    .lsba-mini-row {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      color: rgba(255,255,255,.82);\n      font-size: 14px;\n      line-height: 1.45;\n    }\n\n    .lsba-mini-row i {\n      color: var(--brand);\n      margin-top: 2px;\n    }\n\n    .booking-card {\n      background: #fff;\n      color: var(--ink);\n      border-radius: 30px;\n      padding: 18px;\n      box-shadow: 0 20px 60px rgba(0,0,0,.25);\n    }\n\n    .lp-home { width: 100%; }\n\n    .lp-dates-form {\n      display: grid;\n      gap: 12px;\n    }\n\n    .lp-location-control,\n    .lp-summary-card {\n      min-height: 58px;\n      border: 1px solid rgba(47,46,46,.12);\n      background: #fbfaf7;\n      border-radius: 18px;\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      padding: 0 14px;\n      width: 100%;\n    }\n\n    .lp-location-icon,\n    .lp-summary-icon {\n      width: 36px;\n      height: 36px;\n      min-width: 36px;\n      border-radius: 13px;\n      display: grid;\n      place-items: center;\n      background: var(--brand);\n      color: var(--ink);\n    }\n\n    .lp-location-icon svg,\n    .lp-summary-icon svg {\n      width: 19px;\n      height: 19px;\n      fill: currentColor;\n    }\n\n    #lpLocationInput {\n      border: 0;\n      background: transparent;\n      outline: none;\n      color: var(--ink);\n      font-size: 15px;\n      font-weight: 850;\n      width: 100%;\n    }\n\n    .lp-location-detect { display: none; }\n\n    .lp-compact-row {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n    }\n\n    .lp-summary-card {\n      cursor: pointer;\n      text-align: left;\n    }\n\n    .lp-summary-copy {\n      min-width: 0;\n      display: grid;\n      gap: 4px;\n      flex: 1;\n    }\n\n    .lp-summary-label {\n      color: #8a8478;\n      font-size: 11px;\n      font-weight: 950;\n      text-transform: uppercase;\n      letter-spacing: .08em;\n    }\n\n    .lp-summary-value {\n      color: var(--ink);\n      font-size: 14px;\n      font-weight: 900;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    .lp-field-check {\n      display: none;\n      width: 24px;\n      height: 24px;\n      border-radius: 999px;\n      background: #16a34a;\n      color: #fff;\n      place-items: center;\n      font-size: 13px;\n      font-weight: 950;\n    }\n\n    .lp-field-check.is-visible { display: grid; }\n\n    .lp-continue {\n      width: 100%;\n      min-height: 54px;\n      border: 0;\n      border-radius: 999px;\n      background: var(--ink);\n      color: var(--brand);\n      font-weight: 950;\n      font-size: 15px;\n      cursor: pointer;\n      box-shadow: 0 12px 24px rgba(47,46,46,.18);\n    }\n\n    .lp-helper {\n      margin: 2px 2px 0;\n      color: #847d72;\n      font-size: 12px;\n      line-height: 1.45;\n      text-align: center;\n    }\n\n    .lp-modal {\n      position: fixed;\n      inset: 0;\n      display: none;\n      align-items: center;\n      justify-content: center;\n      padding: 20px;\n      background: rgba(17,17,17,.52);\n      z-index: 999;\n    }\n\n    .lp-modal.is-open { display: flex; }\n\n    .lp-modal-panel {\n      width: min(620px, 100%);\n      max-height: min(92vh, 780px);\n      overflow: auto;\n      border-radius: 30px;\n      background: #fff;\n      color: var(--ink);\n      box-shadow: 0 24px 80px rgba(0,0,0,.34);\n    }\n\n    .lp-modal-header {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 14px;\n      padding: 18px 20px;\n      border-bottom: 1px solid var(--line);\n    }\n\n    .lp-modal-title {\n      font-size: 18px;\n      font-weight: 950;\n      letter-spacing: -.03em;\n    }\n\n    .lp-close-btn {\n      border: 0;\n      background: #f3f2ee;\n      color: var(--ink);\n      border-radius: 999px;\n      padding: 9px 12px;\n      font-weight: 850;\n      cursor: pointer;\n    }\n\n    .lp-modal-body {\n      padding: 20px;\n    }\n\n    #lpCalendar {\n      margin: 0 auto 18px;\n    }\n\n    .lp-date-buttons {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 8px;\n      margin-bottom: 14px;\n    }\n\n    .lp-date-quick {\n      border: 1px solid var(--line);\n      background: #fff;\n      border-radius: 999px;\n      padding: 9px 12px;\n      cursor: pointer;\n      font-weight: 850;\n    }\n\n    .lp-time-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n    }\n\n    .lp-time-field label {\n      display: block;\n      color: var(--muted);\n      font-size: 12px;\n      font-weight: 900;\n      margin-bottom: 6px;\n    }\n\n    .lp-time-field select {\n      width: 100%;\n      min-height: 46px;\n      border: 1px solid var(--line);\n      border-radius: 14px;\n      padding: 0 12px;\n      color: var(--ink);\n      font-weight: 850;\n      background: #fff;\n    }\n\n    .lp-modal-actions {\n      display: flex;\n      gap: 10px;\n      justify-content: flex-end;\n      padding: 16px 20px 20px;\n      border-top: 1px solid var(--line);\n    }\n\n    .lp-modal-actions button {\n      border: 0;\n      border-radius: 999px;\n      padding: 12px 16px;\n      cursor: pointer;\n      font-weight: 950;\n    }\n\n    .lp-modal-confirm {\n      background: var(--ink);\n      color: var(--brand);\n    }\n\n    .lp-modal-cancel {\n      background: #f4f3ef;\n      color: var(--ink);\n    }\n\n    .lp-baggage-options {\n      display: grid;\n      gap: 12px;\n    }\n\n    .lp-baggage-row {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 16px;\n      border: 1px solid var(--line);\n      border-radius: 20px;\n      padding: 15px;\n      background: #fbfaf7;\n    }\n\n    .lp-baggage-row strong {\n      display: block;\n      color: var(--ink);\n      font-size: 16px;\n      margin-bottom: 3px;\n    }\n\n    .lp-baggage-row span {\n      display: block;\n      color: var(--muted);\n      font-size: 13px;\n      line-height: 1.35;\n    }\n\n    .lp-qty {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      flex: 0 0 auto;\n    }\n\n    .lp-qty button {\n      width: 36px;\n      height: 36px;\n      border: 1px solid var(--line);\n      background: #fff;\n      border-radius: 13px;\n      cursor: pointer;\n      font-size: 18px;\n      font-weight: 950;\n      color: var(--ink);\n    }\n\n    .lp-qty b {\n      min-width: 22px;\n      text-align: center;\n      font-size: 18px;\n    }\n\n    .lsba-faq {\n      display: grid;\n      gap: 10px;\n      margin-top: 24px;\n    }\n\n    .lsba-faq details {\n      background: #fff;\n      border: 1px solid var(--line);\n      border-radius: 20px;\n      box-shadow: var(--shadow-soft);\n      overflow: hidden;\n    }\n\n    .lsba-faq summary {\n      cursor: pointer;\n      list-style: none;\n      padding: 18px 20px;\n      color: var(--ink);\n      font-weight: 950;\n      display: flex;\n      justify-content: space-between;\n      gap: 16px;\n    }\n\n    .lsba-faq summary::-webkit-details-marker { display: none; }\n\n    .lsba-faq summary::after {\n      content: \"+\";\n      width: 28px;\n      height: 28px;\n      border-radius: 999px;\n      display: grid;\n      place-items: center;\n      background: var(--brand);\n      color: var(--ink);\n      flex: 0 0 auto;\n    }\n\n    .lsba-faq details[open] summary::after { content: \"\u2212\"; }\n\n    .lsba-faq p {\n      margin: 0;\n      padding: 0 20px 18px;\n      color: var(--muted);\n      line-height: 1.7;\n      font-size: 15px;\n    }\n\n    .lsba-final-cta {\n      padding: 44px 0 64px;\n      background: #fff;\n    }\n\n    .lsba-final-box {\n      background:\n        radial-gradient(circle at 78% 18%, rgba(255,222,89,.36), transparent 28%),\n        var(--ink);\n      color: #fff;\n      border-radius: 34px;\n      padding: 32px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 22px;\n      box-shadow: var(--shadow);\n    }\n\n    .lsba-final-box h2 {\n      margin: 0;\n      font-size: clamp(26px, 3vw, 38px);\n      line-height: 1.05;\n      letter-spacing: -.045em;\n    }\n\n    .lsba-final-box p {\n      margin: 10px 0 0;\n      color: rgba(255,255,255,.76);\n      line-height: 1.55;\n    }\n\n    @media (max-width: 960px) {\n      .lsba-nav { display: none; }\n      .lsba-intro-grid,\n      .lsba-two-col,\n      .lsba-booking-grid {\n        grid-template-columns: 1fr;\n      }\n      .lsba-interest-grid,\n      .lsba-itinerary {\n        grid-template-columns: 1fr 1fr;\n      }\n    }\n\n    @media (max-width: 640px) {\n      .lsba-container { width: min(100% - 22px, 1160px); }\n      .lsba-topbar-inner { min-height: 66px; }\n      .lsba-logo { width: 180px; }\n      .lsba-intro { padding-top: 26px; }\n      .lsba-section { padding: 44px 0; }\n      .lsba-interest-grid,\n      .lsba-itinerary,\n      .lsba-points,\n      .lp-compact-row,\n      .lp-time-grid {\n        grid-template-columns: 1fr;\n      }\n      .lsba-map-shell,\n      #sanTelmoFunctionalMap {\n        min-height: 410px;\n      }\n      .lsba-final-box {\n        align-items: flex-start;\n        flex-direction: column;\n        padding: 24px;\n      }\n      .lsba-btn { width: 100%; }\n    }\n    \/* =========================================================\n       NAVBAR LSBA \u2014 extra\u00edda\/adaptada del Home\n       ========================================================= *\/\n\n    .container {\n      width: min(1160px, calc(100% - 32px));\n      margin: 0 auto;\n    }\n\n    .site-header {\n      position: sticky;\n      top: 0;\n      z-index: 100;\n      background: rgba(255, 255, 255, .86);\n      backdrop-filter: blur(18px);\n      -webkit-backdrop-filter: blur(18px);\n      border-bottom: 1px solid rgba(47, 46, 46, .08);\n      transition: box-shadow .22s ease, background .22s ease, border-color .22s ease;\n    }\n\n    .site-header.is-scrolled {\n      background: rgba(255, 255, 255, .94);\n      border-color: rgba(47, 46, 46, .12);\n      box-shadow: 0 10px 28px rgba(47, 46, 46, .08);\n    }\n\n    .nav-shell {\n      min-height: 76px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 22px;\n      position: relative;\n    }\n\n    .logo {\n      display: block;\n      width: 214px;\n      max-width: 52vw;\n      height: auto;\n    }\n\n    .nav-links {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      gap: 22px;\n      flex: 1;\n    }\n\n    .nav-links a {\n      color: var(--ink);\n      text-decoration: none;\n      font-size: 14px;\n      line-height: 1;\n      font-weight: 850;\n      opacity: .72;\n      transition: opacity .18s ease, color .18s ease;\n      white-space: nowrap;\n    }\n\n    .nav-links a:hover {\n      opacity: 1;\n      color: #111;\n    }\n\n    .header-actions {\n      display: flex;\n      align-items: center;\n      gap: 10px;\n      flex: 0 0 auto;\n    }\n\n    .btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 9px;\n      min-height: 44px;\n      padding: 12px 16px;\n      border-radius: 999px;\n      border: 1px solid transparent;\n      text-decoration: none;\n      cursor: pointer;\n      font-size: 14px;\n      font-weight: 950;\n      line-height: 1;\n      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;\n    }\n\n    .btn:hover {\n      transform: translateY(-1px);\n    }\n\n    .btn svg {\n      width: 18px;\n      height: 18px;\n      flex: 0 0 auto;\n    }\n\n    .btn-ghost {\n      color: var(--ink);\n      background: #fff;\n      border-color: rgba(47, 46, 46, .12);\n      box-shadow: 0 8px 18px rgba(47, 46, 46, .05);\n    }\n\n    .btn-dark {\n      color: var(--brand);\n      background: var(--ink);\n      border-color: var(--ink);\n      box-shadow: 0 12px 24px rgba(47, 46, 46, .16);\n    }\n\n    .language-switcher {\n      position: relative;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .language-button {\n      appearance: none;\n      -webkit-appearance: none;\n      width: 44px;\n      height: 44px;\n      padding: 0;\n      border: 1px solid rgba(47,46,46,.12);\n      border-radius: 999px;\n      background: #fff;\n      display: grid;\n      place-items: center;\n      cursor: pointer;\n      box-shadow: 0 8px 18px rgba(47,46,46,.05);\n      transition: transform .18s ease, box-shadow .18s ease;\n    }\n\n    .language-button:hover {\n      transform: translateY(-1px);\n      box-shadow: 0 10px 22px rgba(47,46,46,.08);\n    }\n\n    .language-button img {\n      width: 24px;\n      height: 24px;\n      object-fit: contain;\n      display: block;\n    }\n\n    #language-dropdown {\n      position: absolute;\n      top: calc(100% + 10px);\n      right: 0;\n      z-index: 120;\n      min-width: 62px;\n      margin: 0;\n      padding: 8px;\n      list-style: none;\n      border: 1px solid rgba(47,46,46,.10);\n      border-radius: 16px;\n      background: #fff;\n      box-shadow: 0 16px 36px rgba(47,46,46,.14);\n      display: none;\n    }\n\n    #language-dropdown.show {\n      display: grid;\n      gap: 6px;\n    }\n\n    #language-dropdown li {\n      width: 44px;\n      height: 38px;\n      display: grid;\n      place-items: center;\n      border-radius: 12px;\n      cursor: pointer;\n      transition: background .18s ease;\n    }\n\n    #language-dropdown li:hover {\n      background: #fff8d7;\n    }\n\n    #language-dropdown img {\n      width: 25px;\n      height: 25px;\n      object-fit: contain;\n      display: block;\n    }\n\n    .mobile-top-actions {\n      display: none;\n      align-items: center;\n      gap: 8px;\n      margin-left: auto;\n    }\n\n    .mobile-language-inline-btn,\n    .menu-toggle {\n      appearance: none;\n      -webkit-appearance: none;\n      width: 44px;\n      height: 44px;\n      border-radius: 999px;\n      border: 1px solid rgba(47,46,46,.12);\n      background: #fff;\n      color: var(--ink);\n      display: grid;\n      place-items: center;\n      cursor: pointer;\n      box-shadow: 0 8px 18px rgba(47,46,46,.05);\n    }\n\n    .mobile-language-inline-btn img {\n      width: 24px;\n      height: 24px;\n      object-fit: contain;\n      display: block;\n    }\n\n    .menu-toggle svg {\n      width: 21px;\n      height: 21px;\n    }\n\n    .js-scroll-booking {\n      scroll-margin-top: 92px;\n    }\n\n    @media (max-width: 960px) {\n      .site-header .container {\n        width: min(100% - 22px, 1160px);\n      }\n\n      .nav-shell {\n        min-height: 68px;\n      }\n\n      .logo {\n        width: 184px;\n      }\n\n      .header-actions {\n        display: none;\n      }\n\n      .mobile-top-actions {\n        display: flex;\n      }\n\n      .nav-links {\n        position: absolute;\n        left: 0;\n        right: 0;\n        top: calc(100% + 8px);\n        z-index: 110;\n        display: none;\n        flex-direction: column;\n        align-items: stretch;\n        gap: 0;\n        padding: 10px;\n        border: 1px solid rgba(47,46,46,.10);\n        border-radius: 22px;\n        background: rgba(255,255,255,.98);\n        box-shadow: 0 18px 40px rgba(47,46,46,.14);\n      }\n\n      .nav-links.open {\n        display: flex;\n      }\n\n      .nav-links a {\n        width: 100%;\n        padding: 15px 14px;\n        border-radius: 16px;\n        opacity: 1;\n        font-size: 15px;\n      }\n\n      .nav-links a:hover {\n        background: #fff8d7;\n      }\n    }\n\n    \/* =========================================================\n       AJUSTES V2.1 \u2014 FULL WIDTH + NOTEBOOK + HERO CARD\n       ========================================================= *\/\n\n    .lsba-page {\n      width: 100vw;\n      max-width: 100vw;\n      margin-left: calc(50% - 50vw);\n      margin-right: calc(50% - 50vw);\n    }\n\n    .site-header {\n      width: 100vw;\n      max-width: 100vw;\n      margin-left: calc(50% - 50vw);\n      margin-right: calc(50% - 50vw);\n    }\n\n    .lsba-intro-grid {\n      align-items: center;\n    }\n\n    .lsba-intro-card {\n      align-self: center;\n      display: grid;\n      grid-template-columns: 54px minmax(0, 1fr);\n      grid-template-areas:\n        \"icon copy\"\n        \"button button\";\n      gap: 16px;\n      padding: 24px;\n    }\n\n    .lsba-intro-card-icon {\n      grid-area: icon;\n      width: 54px;\n      height: 54px;\n      border-radius: 18px;\n      display: grid;\n      place-items: center;\n      background: var(--brand);\n      color: var(--ink);\n      font-size: 22px;\n      box-shadow: 0 10px 20px rgba(0,0,0,.14);\n    }\n\n    .lsba-intro-card-copy {\n      grid-area: copy;\n      min-width: 0;\n    }\n\n    .lsba-intro-card-label {\n      display: block;\n      margin-bottom: 6px;\n      color: rgba(255,255,255,.66);\n      font-size: 11px;\n      line-height: 1;\n      font-weight: 950;\n      letter-spacing: .09em;\n      text-transform: uppercase;\n    }\n\n    .lsba-intro-card strong {\n      margin-bottom: 8px;\n      font-size: 26px;\n      line-height: 1.02;\n    }\n\n    .lsba-intro-card p {\n      max-width: 310px;\n      font-size: 13px;\n      line-height: 1.55;\n    }\n\n    .lsba-intro-card-link {\n      grid-area: button;\n      appearance: none;\n      -webkit-appearance: none;\n      border: 0;\n      width: 100%;\n      min-height: 46px;\n      border-radius: 999px;\n      padding: 12px 16px;\n      background: var(--brand);\n      color: var(--ink);\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 9px;\n      font-size: 14px;\n      font-weight: 950;\n      cursor: pointer;\n      box-shadow: 0 12px 24px rgba(0,0,0,.18);\n      transition: transform .18s ease, box-shadow .18s ease;\n    }\n\n    .lsba-intro-card-link:hover {\n      transform: translateY(-1px);\n      box-shadow: 0 14px 28px rgba(0,0,0,.22);\n    }\n\n    @media (min-width: 961px) and (max-width: 1440px) {\n      .container,\n      .lsba-container {\n        width: min(1010px, calc(100% - 44px));\n      }\n\n      .nav-shell {\n        min-height: 70px;\n      }\n\n      .logo {\n        width: 178px;\n      }\n\n      .nav-links {\n        gap: 17px;\n      }\n\n      .nav-links a {\n        font-size: 12px;\n      }\n\n      .header-actions .btn {\n        min-height: 40px;\n        padding: 10px 14px;\n        font-size: 12px;\n      }\n\n      .language-button {\n        width: 40px;\n        height: 40px;\n      }\n\n      .lsba-intro {\n        padding: 28px 0 34px;\n      }\n\n      .lsba-intro-grid {\n        grid-template-columns: minmax(0, 1fr) 305px;\n        gap: 28px;\n      }\n\n      .lsba-h1 {\n        font-size: clamp(40px, 4.1vw, 54px);\n        letter-spacing: -.055em;\n      }\n\n      .lsba-lead {\n        max-width: 690px;\n        font-size: 17px;\n        line-height: 1.55;\n      }\n\n      .lsba-section {\n        padding: 50px 0;\n      }\n\n      .lsba-h2 {\n        font-size: clamp(28px, 3.2vw, 38px);\n      }\n\n      .lsba-copy {\n        font-size: 14px;\n        line-height: 1.62;\n      }\n\n      .lsba-info-card h3 {\n        font-size: 22px;\n      }\n\n      .lsba-info-card p,\n      .lsba-point-card p,\n      .lsba-interest-copy p,\n      .lsba-faq p {\n        font-size: 13px;\n      }\n\n      .lsba-point-card h3,\n      .lsba-interest-copy h3 {\n        font-size: 20px;\n      }\n\n      .lsba-map-shell,\n      #sanTelmoFunctionalMap {\n        min-height: 382px;\n      }\n\n      .lsba-interest-img {\n        height: 158px;\n      }\n\n      .lsba-booking-copy h2 {\n        font-size: clamp(28px, 3.1vw, 40px);\n      }\n\n      .lsba-final-box h2 {\n        font-size: clamp(26px, 2.7vw, 34px);\n      }\n    }\n\n    @media (max-width: 960px) {\n      .lsba-page,\n      .site-header {\n        width: 100vw;\n        max-width: 100vw;\n        margin-left: calc(50% - 50vw);\n        margin-right: calc(50% - 50vw);\n      }\n\n      .lsba-intro-card {\n        max-width: 100%;\n      }\n    }\n\n    @media (max-width: 560px) {\n      .lsba-intro-card {\n        grid-template-columns: 1fr;\n        grid-template-areas:\n          \"icon\"\n          \"copy\"\n          \"button\";\n      }\n\n      .lsba-intro-card p {\n        max-width: none;\n      }\n    }\n\n    \/* =========================================================\n       AJUSTES V2.2 \u2014 CTAS, LOGO Y FORMULARIO\n       ========================================================= *\/\n\n    .lsba-page button,\n    .lsba-page a,\n    .site-header button,\n    .site-header a {\n      -webkit-tap-highlight-color: transparent;\n    }\n\n    .lsba-page .lsba-btn,\n    .lsba-page .btn,\n    .lsba-page .lp-continue,\n    .lsba-page .lp-modal-confirm,\n    .lsba-page .lp-modal-cancel,\n    .lsba-page .lsba-intro-card-link,\n    .site-header .btn,\n    .site-header .language-button,\n    .site-header .mobile-language-inline-btn,\n    .site-header .menu-toggle {\n      border-radius: 999px !important;\n      text-decoration: none !important;\n      outline: none;\n    }\n\n    .lsba-page .lsba-btn:hover,\n    .lsba-page .lsba-btn:focus,\n    .lsba-page .btn:hover,\n    .lsba-page .btn:focus,\n    .lsba-page .lp-continue:hover,\n    .lsba-page .lp-continue:focus,\n    .lsba-page .lsba-intro-card-link:hover,\n    .lsba-page .lsba-intro-card-link:focus,\n    .site-header .btn:hover,\n    .site-header .btn:focus {\n      border-radius: 999px !important;\n      text-decoration: none !important;\n    }\n\n    .lsba-page .lsba-btn-primary,\n    .lsba-page .lp-continue,\n    .site-header .btn-dark {\n      background: var(--ink) !important;\n      color: var(--brand) !important;\n      border: 1px solid var(--ink) !important;\n      box-shadow: 0 12px 24px rgba(47,46,46,.18) !important;\n    }\n\n    .lsba-page .lsba-btn-primary:hover,\n    .lsba-page .lp-continue:hover,\n    .site-header .btn-dark:hover {\n      background: #1f1f1f !important;\n      color: var(--brand) !important;\n      border-color: #1f1f1f !important;\n      box-shadow: 0 14px 28px rgba(47,46,46,.22) !important;\n    }\n\n    .lsba-page .lsba-btn-yellow,\n    .lsba-page .lsba-intro-card-link,\n    .site-header .btn-ghost {\n      border-radius: 999px !important;\n    }\n\n    .lsba-page .lsba-btn-yellow,\n    .lsba-page .lsba-intro-card-link {\n      background: var(--brand) !important;\n      color: var(--ink) !important;\n      border: 1px solid #e8cf59 !important;\n    }\n\n    .lsba-page .lsba-btn-soft,\n    .site-header .btn-ghost {\n      background: #fff !important;\n      color: var(--ink) !important;\n      border: 1px solid rgba(47,46,46,.12) !important;\n    }\n\n    .logo {\n      width: 232px;\n    }\n\n    @media (min-width: 961px) and (max-width: 1440px) {\n      .logo {\n        width: 206px;\n      }\n    }\n\n    @media (max-width: 960px) {\n      .logo {\n        width: 196px;\n      }\n    }\n\n    .booking-card {\n      scroll-margin-top: calc(var(--header-offset, 78px) + 24px);\n      transition: box-shadow .28s ease, transform .28s ease, border-color .28s ease;\n    }\n\n    .booking-card.is-highlighted {\n      transform: translateY(-2px);\n      box-shadow: 0 24px 70px rgba(255,222,89,.26), 0 20px 60px rgba(0,0,0,.25);\n      border: 1px solid rgba(255,222,89,.65);\n    }\n\n    #reserva {\n      scroll-margin-top: calc(var(--header-offset, 78px) + 24px);\n    }\n\n\n    \/* =========================================================\n       RESERVA EN MODAL \u2014 integraci\u00f3n V4 funcional\n       ========================================================= *\/\n    body.lsba-modal-open { overflow: hidden; }\n\n    .lsba-reservation-modal {\n      position: fixed;\n      inset: 0;\n      z-index: 1000;\n      display: none;\n    }\n\n    .lsba-reservation-modal.is-open { display: block; }\n\n    .lsba-reservation-backdrop {\n      position: absolute;\n      inset: 0;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding: 22px;\n      background: rgba(17,17,17,.58);\n      backdrop-filter: blur(8px);\n      -webkit-backdrop-filter: blur(8px);\n    }\n\n    .lsba-reservation-panel {\n      width: min(560px, 100%);\n      max-height: min(92vh, 760px);\n      overflow: auto;\n      border-radius: 30px;\n      background: #fff;\n      color: var(--ink);\n      box-shadow: 0 28px 90px rgba(0,0,0,.34);\n      border: 1px solid rgba(255,255,255,.28);\n    }\n\n    .lsba-reservation-header {\n      display: flex;\n      align-items: flex-start;\n      justify-content: space-between;\n      gap: 16px;\n      padding: 20px 22px 16px;\n      border-bottom: 1px solid var(--line);\n      background: linear-gradient(180deg,#fffdf5,#fff);\n    }\n\n    .lsba-reservation-header h3 {\n      margin: 0;\n      color: var(--ink);\n      font-size: 24px;\n      line-height: 1.05;\n      letter-spacing: -.04em;\n      font-weight: 950;\n    }\n\n    .lsba-reservation-header p {\n      margin: 7px 0 0;\n      color: var(--muted);\n      font-size: 13px;\n      line-height: 1.45;\n    }\n\n    .lsba-reservation-close {\n      width: 42px;\n      height: 42px;\n      min-width: 42px;\n      border: 0;\n      border-radius: 999px;\n      background: #f3f2ee;\n      color: var(--ink);\n      cursor: pointer;\n      font-size: 26px;\n      font-weight: 700;\n      line-height: 1;\n    }\n\n    .lsba-reservation-body { padding: 18px; }\n\n    .lsba-booking-open-card {\n      background: #fff;\n      color: var(--ink);\n      border-radius: 30px;\n      padding: 24px;\n      box-shadow: 0 20px 60px rgba(0,0,0,.25);\n      border: 1px solid rgba(255,255,255,.24);\n    }\n\n    .lsba-booking-open-card h3 {\n      margin: 0 0 10px;\n      color: var(--ink);\n      font-size: 28px;\n      line-height: 1.04;\n      letter-spacing: -.04em;\n      font-weight: 950;\n    }\n\n    .lsba-booking-open-card p {\n      margin: 0 0 18px;\n      color: var(--muted);\n      line-height: 1.6;\n      font-size: 15px;\n    }\n\n    .lsba-booking-open-card .lsba-btn { width: 100%; }\n\n    .lp-modal {\n      position: fixed;\n      inset: 0;\n      z-index: 1010;\n      display: none;\n      background: transparent;\n      padding: 0;\n    }\n\n    .lp-modal.is-open { display: block; }\n\n    .lp-modal-backdrop {\n      position: absolute;\n      inset: 0;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding: 22px;\n      background: rgba(17,17,17,.56);\n      backdrop-filter: blur(8px);\n      -webkit-backdrop-filter: blur(8px);\n    }\n\n    .lp-modal-panel {\n      width: min(620px, 100%);\n      max-height: min(92vh, 780px);\n      overflow: auto;\n      border-radius: 28px;\n      background: #fff;\n      color: var(--ink);\n      box-shadow: 0 24px 80px rgba(0,0,0,.34);\n    }\n\n    .lp-modal-footer {\n      padding: 0 20px 20px;\n      display: flex;\n      justify-content: flex-end;\n      border-top: 1px solid var(--line);\n      padding-top: 16px;\n    }\n\n    .lp-confirm-btn:disabled,\n    .lp-baggage-count-btn:disabled {\n      opacity: .44;\n      cursor: not-allowed;\n      pointer-events: none;\n    }\n\n    .lp-flatpickr-wrap { display: grid; gap: 12px; justify-items: center; }\n    .fp-quick-btns { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }\n    .lp-quick-btn {\n      border: 1px solid var(--line);\n      background: #fff;\n      border-radius: 999px;\n      padding: 9px 12px;\n      cursor: pointer;\n      font-weight: 850;\n      color: var(--ink);\n    }\n\n    .lp-baggage-modal-intro {\n      color: var(--muted);\n      font-size: 14px;\n      line-height: 1.45;\n      margin-bottom: 12px;\n    }\n\n    .lp-baggage-option {\n      position: relative;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 14px;\n      padding: 14px;\n      border: 1px solid var(--line);\n      border-radius: 18px;\n      background: #fbfaf7;\n    }\n\n    .lp-baggage-option-main {\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      min-width: 0;\n      flex: 1;\n    }\n\n    .lp-baggage-option-image {\n      width: 48px;\n      height: 48px;\n      min-width: 48px;\n      border-radius: 16px;\n      background: rgba(255,222,89,.28);\n      display: grid;\n      place-items: center;\n      overflow: hidden;\n    }\n\n    .lp-baggage-option-image img {\n      width: 100%;\n      height: 100%;\n      object-fit: contain;\n    }\n\n    .lp-baggage-option-copy strong {\n      display: block;\n      color: var(--ink);\n      font-size: 16px;\n      font-weight: 950;\n      line-height: 1.1;\n    }\n\n    .lp-baggage-option-copy span {\n      display: block;\n      margin-top: 4px;\n      color: var(--muted);\n      font-size: 13px;\n      line-height: 1.35;\n    }\n\n    .lp-baggage-price-pill {\n      position: absolute;\n      top: 10px;\n      right: 12px;\n      padding: 5px 8px;\n      border-radius: 999px;\n      background: var(--brand);\n      color: var(--ink);\n      font-size: 10px;\n      font-weight: 950;\n    }\n\n    .lp-baggage-counter {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      flex: 0 0 auto;\n      padding-top: 24px;\n    }\n\n    .lp-baggage-count-btn {\n      width: 36px;\n      height: 36px;\n      border: 1px solid var(--line);\n      background: #fff;\n      border-radius: 13px;\n      cursor: pointer;\n      font-size: 18px;\n      font-weight: 950;\n      color: var(--ink);\n    }\n\n    .lp-baggage-count {\n      min-width: 22px;\n      text-align: center;\n      font-size: 18px;\n      font-weight: 950;\n      color: var(--ink);\n    }\n\n    @media (max-width: 640px) {\n      .lsba-reservation-backdrop,\n      .lp-modal-backdrop { padding: 12px; }\n      .lsba-reservation-panel,\n      .lp-modal-panel { border-radius: 22px; }\n      .lsba-reservation-body { padding: 14px; }\n      .lp-baggage-option { align-items: flex-start; flex-direction: column; }\n      .lp-baggage-counter { padding-top: 0; width: 100%; justify-content: flex-end; }\n      .lp-baggage-price-pill { position: static; width: max-content; order: -1; }\n    }\n\n\n\n    \/* =========================================================\n       FIX V2 \u2014 Modales secundarios full viewport + CSS encapsulado\n       ========================================================= *\/\n\n    body.lsba-modal-open {\n      overflow: hidden !important;\n      touch-action: none !important;\n    }\n\n    #lsbaReservationModal,\n    #lpModal,\n    #lpBaggageModal {\n      position: fixed !important;\n      inset: 0 !important;\n      top: 0 !important;\n      right: 0 !important;\n      bottom: 0 !important;\n      left: 0 !important;\n      width: 100vw !important;\n      max-width: 100vw !important;\n      height: 100vh !important;\n      height: 100dvh !important;\n      max-height: 100dvh !important;\n      margin: 0 !important;\n      padding: 0 !important;\n      transform: none !important;\n      overflow: hidden !important;\n      box-sizing: border-box !important;\n      pointer-events: none !important;\n    }\n\n    #lsbaReservationModal {\n      z-index: 999990 !important;\n    }\n\n    #lpModal,\n    #lpBaggageModal {\n      z-index: 999999 !important;\n    }\n\n    #lsbaReservationModal.is-open,\n    #lpModal.is-open,\n    #lpBaggageModal.is-open {\n      display: block !important;\n      opacity: 1 !important;\n      visibility: visible !important;\n      pointer-events: auto !important;\n    }\n\n    #lsbaReservationModal .lsba-reservation-backdrop,\n    #lpModal .lp-modal-backdrop,\n    #lpBaggageModal .lp-modal-backdrop {\n      position: fixed !important;\n      inset: 0 !important;\n      width: 100vw !important;\n      max-width: 100vw !important;\n      height: 100vh !important;\n      height: 100dvh !important;\n      min-height: 100dvh !important;\n      margin: 0 !important;\n      padding: 22px !important;\n      display: flex !important;\n      align-items: center !important;\n      justify-content: center !important;\n      background: rgba(17,17,17,.58) !important;\n      backdrop-filter: blur(9px) !important;\n      -webkit-backdrop-filter: blur(9px) !important;\n      box-sizing: border-box !important;\n      overflow: hidden !important;\n    }\n\n    #lpModal .lp-modal-panel,\n    #lpBaggageModal .lp-modal-panel,\n    #lsbaReservationModal .lsba-reservation-panel {\n      position: relative !important;\n      left: auto !important;\n      right: auto !important;\n      top: auto !important;\n      bottom: auto !important;\n      transform: none !important;\n      margin: auto !important;\n      background: #fff !important;\n      color: var(--ink) !important;\n      border: 1px solid rgba(255,255,255,.38) !important;\n      box-shadow: 0 28px 90px rgba(0,0,0,.34) !important;\n      box-sizing: border-box !important;\n      overflow: auto !important;\n      overscroll-behavior: contain !important;\n      -webkit-overflow-scrolling: touch !important;\n    }\n\n    #lsbaReservationModal .lsba-reservation-panel {\n      width: min(560px, calc(100vw - 44px)) !important;\n      max-height: min(92dvh, 760px) !important;\n      border-radius: 30px !important;\n    }\n\n    #lpModal .lp-modal-panel {\n      width: min(620px, calc(100vw - 44px)) !important;\n      max-height: min(92dvh, 780px) !important;\n      border-radius: 28px !important;\n    }\n\n    #lpBaggageModal .lp-baggage-modal-panel {\n      width: min(430px, calc(100vw - 44px)) !important;\n      max-height: min(92dvh, 760px) !important;\n      border-radius: 24px !important;\n    }\n\n    #lsbaReservationModal button,\n    #lsbaReservationModal input,\n    #lsbaReservationModal select,\n    #lpModal button,\n    #lpModal input,\n    #lpModal select,\n    #lpBaggageModal button,\n    #lpBaggageModal input,\n    #lpBaggageModal select {\n      font-family: inherit !important;\n      -webkit-tap-highlight-color: transparent !important;\n      outline: none !important;\n      box-sizing: border-box !important;\n    }\n\n    #lsbaReservationModal .lp-location-control,\n    #lsbaReservationModal .lp-summary-card {\n      border-radius: 18px !important;\n      border: 1px solid rgba(47,46,46,.13) !important;\n      background: #fbfaf7 !important;\n      box-shadow: none !important;\n      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;\n    }\n\n    #lsbaReservationModal .lp-location-control:hover,\n    #lsbaReservationModal .lp-summary-card:hover {\n      border-color: rgba(47,46,46,.25) !important;\n      background: #fffdf6 !important;\n      transform: translateY(-1px) !important;\n      box-shadow: 0 10px 24px rgba(47,46,46,.07) !important;\n    }\n\n    #lsbaReservationModal .lp-location-control:focus-within,\n    #lsbaReservationModal .lp-summary-card:focus-visible {\n      border-color: rgba(255,222,89,.95) !important;\n      box-shadow: 0 0 0 4px rgba(255,222,89,.24), 0 10px 24px rgba(47,46,46,.08) !important;\n    }\n\n    #lsbaReservationModal .lp-summary-card:active,\n    #lsbaReservationModal .lp-continue:active,\n    #lpModal .lp-confirm-btn:active,\n    #lpBaggageModal .lp-confirm-btn:active,\n    #lpBaggageModal .lp-baggage-count-btn:active,\n    #lpModal .lp-quick-btn:active,\n    #lsbaReservationModal .lsba-reservation-close:active,\n    #lpModal .lp-close-btn:active,\n    #lpBaggageModal .lp-close-btn:active {\n      transform: translateY(0) scale(.985) !important;\n    }\n\n    #lsbaReservationModal #lpLocationInput {\n      width: 100% !important;\n      border: 0 !important;\n      background: transparent !important;\n      color: var(--ink) !important;\n      font-size: 15px !important;\n      font-weight: 900 !important;\n      cursor: default !important;\n      box-shadow: none !important;\n      opacity: 1 !important;\n    }\n\n    #lsbaReservationModal .lp-continue,\n    #lpModal .lp-confirm-btn,\n    #lpBaggageModal .lp-confirm-btn {\n      border: 1px solid var(--ink) !important;\n      border-radius: 999px !important;\n      background: var(--ink) !important;\n      color: var(--brand) !important;\n      cursor: pointer !important;\n      box-shadow: 0 12px 24px rgba(47,46,46,.18) !important;\n      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease !important;\n    }\n\n    #lsbaReservationModal .lp-continue:hover,\n    #lpModal .lp-confirm-btn:hover,\n    #lpBaggageModal .lp-confirm-btn:hover {\n      background: #1f1f1f !important;\n      border-color: #1f1f1f !important;\n      box-shadow: 0 14px 30px rgba(47,46,46,.24) !important;\n      transform: translateY(-1px) !important;\n    }\n\n    #lsbaReservationModal .lp-continue:focus-visible,\n    #lpModal .lp-confirm-btn:focus-visible,\n    #lpBaggageModal .lp-confirm-btn:focus-visible,\n    #lpModal .lp-quick-btn:focus-visible,\n    #lpBaggageModal .lp-baggage-count-btn:focus-visible,\n    #lsbaReservationModal .lsba-reservation-close:focus-visible,\n    #lpModal .lp-close-btn:focus-visible,\n    #lpBaggageModal .lp-close-btn:focus-visible,\n    #lpModal select:focus-visible {\n      box-shadow: 0 0 0 4px rgba(255,222,89,.28), 0 10px 24px rgba(47,46,46,.12) !important;\n    }\n\n    #lpModal .lp-quick-btn,\n    #lpBaggageModal .lp-baggage-count-btn,\n    #lsbaReservationModal .lsba-reservation-close,\n    #lpModal .lp-close-btn,\n    #lpBaggageModal .lp-close-btn {\n      border-radius: 999px !important;\n      border: 1px solid rgba(47,46,46,.12) !important;\n      background: #fff !important;\n      color: var(--ink) !important;\n      cursor: pointer !important;\n      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;\n    }\n\n    #lpModal .lp-quick-btn:hover,\n    #lpBaggageModal .lp-baggage-count-btn:hover,\n    #lsbaReservationModal .lsba-reservation-close:hover,\n    #lpModal .lp-close-btn:hover,\n    #lpBaggageModal .lp-close-btn:hover {\n      background: #fff8d7 !important;\n      border-color: rgba(255,222,89,.8) !important;\n      transform: translateY(-1px) !important;\n      box-shadow: 0 8px 20px rgba(47,46,46,.08) !important;\n    }\n\n    #lpModal select {\n      border-radius: 14px !important;\n      border: 1px solid rgba(47,46,46,.13) !important;\n      background: #fff !important;\n      color: var(--ink) !important;\n      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;\n    }\n\n    #lpModal select:hover,\n    #lpModal select:focus {\n      border-color: rgba(255,222,89,.95) !important;\n      background: #fffdf6 !important;\n      box-shadow: 0 0 0 4px rgba(255,222,89,.20) !important;\n    }\n\n    #lpBaggageModal .lp-baggage-option {\n      border-radius: 16px !important;\n      border: 1px solid rgba(47,46,46,.10) !important;\n      background: #fff !important;\n      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;\n    }\n\n    #lpBaggageModal .lp-baggage-option:hover {\n      transform: translateY(-1px) !important;\n      border-color: rgba(255,222,89,.78) !important;\n      background: #fffdf6 !important;\n      box-shadow: 0 10px 24px rgba(47,46,46,.08) !important;\n    }\n\n    #lpModal button:disabled,\n    #lpBaggageModal button:disabled,\n    #lsbaReservationModal button:disabled {\n      opacity: .45 !important;\n      cursor: not-allowed !important;\n      pointer-events: none !important;\n      transform: none !important;\n      box-shadow: none !important;\n    }\n\n    #lpBaggageModal .lp-modal-footer,\n    #lpModal .lp-modal-footer {\n      background: #fff !important;\n      border-top: 1px solid rgba(47,46,46,.10) !important;\n    }\n\n    @media (max-width: 640px) {\n      #lsbaReservationModal .lsba-reservation-backdrop,\n      #lpModal .lp-modal-backdrop,\n      #lpBaggageModal .lp-modal-backdrop {\n        padding: 12px !important;\n      }\n\n      #lsbaReservationModal .lsba-reservation-panel,\n      #lpModal .lp-modal-panel,\n      #lpBaggageModal .lp-baggage-modal-panel {\n        width: calc(100vw - 24px) !important;\n        max-height: calc(100dvh - 24px) !important;\n        border-radius: 22px !important;\n      }\n    }\n\n\n    \/* =========================================================\n       UPDATE FINAL \u2014 modales compactos, mobile y textos finales\n       ========================================================= *\/\n\n    #lpModal .lp-modal-panel {\n      width: min(382px, calc(100vw - 28px)) !important;\n      max-width: 382px !important;\n      max-height: min(90dvh, 680px) !important;\n      border-radius: 24px !important;\n      overflow: hidden !important;\n    }\n\n    #lpModal .lp-modal-body {\n      padding: 18px !important;\n      overflow-y: auto !important;\n      max-height: calc(90dvh - 132px) !important;\n    }\n\n    #lpModal .flatpickr-calendar.inline,\n    #lpModal .flatpickr-calendar {\n      width: 307px !important;\n      max-width: 100% !important;\n      box-shadow: 0 10px 28px rgba(47,46,46,.10) !important;\n      border-radius: 14px !important;\n      overflow: hidden !important;\n    }\n\n    #lpModal .lp-modal-grid {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 10px !important;\n      width: 100% !important;\n    }\n\n    #lpModal .lp-modal-field label {\n      display: block !important;\n      margin: 0 0 6px !important;\n      color: var(--ink) !important;\n      font-size: 12px !important;\n      font-weight: 800 !important;\n    }\n\n    #lpModal .lp-modal-field select {\n      min-height: 44px !important;\n      width: 100% !important;\n      padding: 0 12px !important;\n    }\n\n    #lpModal .lp-modal-footer {\n      padding: 14px 18px 18px !important;\n      justify-content: stretch !important;\n    }\n\n    #lpModal .lp-confirm-btn {\n      width: 100% !important;\n      min-height: 48px !important;\n    }\n\n    #lpBaggageModal .lp-baggage-option,\n    #lpBaggageModal .lp-baggage-option:hover,\n    #lpBaggageModal .lp-baggage-option:focus,\n    #lpBaggageModal .lp-baggage-option:active {\n      display: flex !important;\n      flex-direction: row !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      gap: 12px !important;\n    }\n\n    #lpBaggageModal .lp-baggage-counter {\n      padding-top: 0 !important;\n      width: auto !important;\n      justify-content: flex-end !important;\n      align-items: center !important;\n    }\n\n    #lpBaggageModal .lp-baggage-option-main {\n      display: flex !important;\n      align-items: center !important;\n      gap: 11px !important;\n      min-width: 0 !important;\n      flex: 1 1 auto !important;\n    }\n\n    #lpBaggageModal .lp-baggage-option-copy {\n      min-width: 0 !important;\n    }\n\n    #lpBaggageModal .lp-baggage-option-copy strong,\n    #lpBaggageModal .lp-baggage-option-copy span {\n      overflow-wrap: anywhere !important;\n    }\n\n    @media (max-width: 640px) {\n      #lsbaReservationModal .lsba-reservation-panel {\n        width: calc(100vw - 24px) !important;\n        max-height: calc(100dvh - 24px) !important;\n        border-radius: 24px !important;\n      }\n\n      #lsbaReservationModal .lsba-reservation-header {\n        padding: 16px 16px 14px !important;\n      }\n\n      #lsbaReservationModal .lsba-reservation-header h3 {\n        font-size: 21px !important;\n      }\n\n      #lsbaReservationModal .lsba-reservation-header p {\n        font-size: 12px !important;\n        line-height: 1.35 !important;\n      }\n\n      #lsbaReservationModal .lsba-reservation-body {\n        padding: 14px !important;\n      }\n\n      #lsbaReservationModal .lp-compact-row {\n        grid-template-columns: 1fr !important;\n        gap: 10px !important;\n      }\n\n      #lsbaReservationModal .lp-location-control,\n      #lsbaReservationModal .lp-summary-card {\n        min-height: 58px !important;\n        padding: 10px 12px !important;\n        gap: 10px !important;\n      }\n\n      #lsbaReservationModal .lp-summary-value,\n      #lsbaReservationModal #lpLocationInput {\n        font-size: 13px !important;\n        line-height: 1.18 !important;\n      }\n\n      #lpModal .lp-modal-panel {\n        width: calc(100vw - 24px) !important;\n        max-width: 382px !important;\n        max-height: calc(100dvh - 24px) !important;\n        border-radius: 22px !important;\n      }\n\n      #lpModal .lp-modal-header,\n      #lpBaggageModal .lp-modal-header {\n        padding: 16px !important;\n      }\n\n      #lpModal .lp-modal-body {\n        padding: 16px !important;\n        max-height: calc(100dvh - 156px) !important;\n      }\n\n      #lpModal .flatpickr-calendar.inline,\n      #lpModal .flatpickr-calendar {\n        transform-origin: top center !important;\n      }\n\n      #lpBaggageModal .lp-baggage-modal-panel {\n        width: calc(100vw - 28px) !important;\n        max-width: 390px !important;\n        border-radius: 22px !important;\n      }\n\n      #lpBaggageModal .lp-modal-body {\n        padding: 16px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-modal-intro {\n        font-size: 12.5px !important;\n        margin-bottom: 12px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-price-pill {\n        display: none !important;\n      }\n\n      #lpBaggageModal .lp-baggage-option {\n        min-height: 72px !important;\n        padding: 12px !important;\n        border-radius: 16px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-option-image {\n        width: 42px !important;\n        height: 42px !important;\n        min-width: 42px !important;\n        border-radius: 14px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-option-copy strong {\n        font-size: 14px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-option-copy span {\n        font-size: 12px !important;\n        line-height: 1.25 !important;\n      }\n\n      #lpBaggageModal .lp-baggage-count-btn {\n        width: 32px !important;\n        height: 32px !important;\n        min-width: 32px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-count {\n        min-width: 18px !important;\n        font-size: 16px !important;\n      }\n\n      #lpBaggageModal .lp-modal-footer {\n        padding: 14px 16px 16px !important;\n      }\n\n      #lpBaggageModal .lp-confirm-btn {\n        width: 100% !important;\n        min-height: 48px !important;\n      }\n    }\n\n    @media (max-width: 380px) {\n      #lpModal .flatpickr-calendar.inline,\n      #lpModal .flatpickr-calendar {\n        transform: scale(.94) !important;\n        margin: -8px auto -12px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-option {\n        gap: 8px !important;\n        padding: 10px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-option-image {\n        width: 38px !important;\n        height: 38px !important;\n        min-width: 38px !important;\n      }\n\n      #lpBaggageModal .lp-baggage-count-btn {\n        width: 30px !important;\n        height: 30px !important;\n        min-width: 30px !important;\n      }\n    }\n\/* ACTUALIZACI\u00d3N 1 \u2014 Ocultar pill de precio en modal de equipaje desktop *\/\n#lpBaggageModal .lp-baggage-price-pill {\n  display: none !important;\n}\n\/* ACTUALIZACI\u00d3N 2 \u2014 Navbar full width + logo m\u00e1s grande *\/\n\n\/* Hace que el fondo\/borde de la navbar complete toda la pantalla *\/\n.site-header {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n}\n\n\/* Mantiene el contenido interno alineado con la landing *\/\n.site-header .container {\n  width: min(1160px, calc(100% - 32px)) !important;\n  max-width: 1160px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n\/* Logo desktop m\u00e1s grande *\/\n.site-header .logo {\n  width: 280px !important;\n  max-width: 58vw !important;\n  height: auto !important;\n}\n\n\/* Notebook \/ pantallas medianas *\/\n@media (min-width: 961px) and (max-width: 1440px) {\n  .site-header .container {\n    width: min(1080px, calc(100% - 44px)) !important;\n    max-width: 1080px !important;\n  }\n\n  .site-header .logo {\n    width: 250px !important;\n  }\n}\n\n\/* Mobile *\/\n@media (max-width: 960px) {\n  .site-header .container {\n    width: min(100% - 22px, 1160px) !important;\n  }\n\n  .site-header .logo {\n    width: 215px !important;\n    max-width: 62vw !important;\n  }\n}\n\n@media (max-width: 420px) {\n  .site-header .logo {\n    width: 198px !important;\n    max-width: 60vw !important;\n  }\n}\n\/* ACTUALIZACI\u00d3N 3 \u2014 Modal de fecha m\u00e1s compacto + horas 50\/50 *\/\n\n\/* Compacta un poco el panel general *\/\n#lpModal .lp-modal-panel {\n  max-height: min(88dvh, 640px) !important;\n}\n\n\/* Reduce espacios internos sin apretar demasiado *\/\n#lpModal .lp-modal-header {\n  padding: 14px 18px !important;\n}\n\n#lpModal .lp-modal-body {\n  padding: 14px 16px !important;\n  max-height: calc(88dvh - 122px) !important;\n}\n\n#lpModal .lp-flatpickr-wrap {\n  gap: 8px !important;\n}\n\n#lpModal .fp-quick-btns {\n  gap: 6px !important;\n  margin-top: -2px !important;\n}\n\n#lpModal .lp-quick-btn {\n  padding: 8px 11px !important;\n  font-size: 12px !important;\n}\n\n\/* Horarios en una misma fila: 50% \/ 50% *\/\n#lpModal .lp-modal-grid {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr !important;\n  gap: 10px !important;\n  align-items: end !important;\n  margin-top: 10px !important;\n}\n\n#lpModal .lp-modal-field {\n  min-width: 0 !important;\n}\n\n#lpModal .lp-modal-field label {\n  font-size: 11.5px !important;\n  margin-bottom: 5px !important;\n}\n\n#lpModal .lp-modal-field select {\n  min-height: 42px !important;\n  height: 42px !important;\n  font-size: 13px !important;\n  padding: 0 10px !important;\n}\n\n\/* Footer m\u00e1s compacto *\/\n#lpModal .lp-modal-footer {\n  padding: 12px 16px 16px !important;\n}\n\n#lpModal .lp-confirm-btn {\n  min-height: 46px !important;\n}\n\n\/* En pantallas muy angostas, vuelve a una columna para que no se rompa *\/\n@media (max-width: 360px) {\n  #lpModal .lp-modal-grid {\n    grid-template-columns: 1fr !important;\n  }\n}\n\/* =========================================================\n   SUPER OVERRIDE MOBILE \u2014 LSBA LANDING V2\n   Corrige navbar, espaciados, tama\u00f1os, pills y overflow mobile\n   ========================================================= *\/\n\n@media (max-width: 768px) {\n\n  \/* ------------------------------\n     1. Base general mobile\n     ------------------------------ *\/\n\n  html,\n  body {\n    width: 100% !important;\n    max-width: 100% !important;\n    overflow-x: hidden !important;\n  }\n\n  body {\n    font-size: 14px !important;\n  }\n\n  .lsba-page {\n    width: 100% !important;\n    max-width: 100% !important;\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n    overflow-x: hidden !important;\n  }\n\n  .lsba-page *,\n  .site-header * {\n    box-sizing: border-box !important;\n  }\n\n  \/* Clave para que grids\/flex no empujen el viewport *\/\n  .lsba-container,\n  .container,\n  .site-header .container,\n  .lsba-intro-grid,\n  .lsba-two-col,\n  .lsba-points,\n  .lsba-interest-grid,\n  .lsba-itinerary,\n  .lsba-booking-grid,\n  .lsba-info-card,\n  .lsba-point-card,\n  .lsba-interest-card,\n  .lsba-step,\n  .lsba-booking-open-card,\n  .booking-card,\n  .lsba-final-box,\n  .lsba-section-head,\n  .lsba-intro-card,\n  .lsba-intro-card-copy,\n  .lsba-point-top,\n  .lsba-interest-copy,\n  .lsba-booking-copy,\n  .lsba-mini-list,\n  .lsba-faq,\n  .lsba-map-shell {\n    min-width: 0 !important;\n    max-width: 100% !important;\n  }\n\n  \/* Padding lateral global real *\/\n  .lsba-container,\n  .site-header .container,\n  .container {\n    width: 100% !important;\n    max-width: 100% !important;\n    padding-left: 18px !important;\n    padding-right: 18px !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  \/* Evita que cards\/mapa\/forms queden pegados al borde *\/\n  .lsba-section,\n  .lsba-intro,\n  .lsba-booking-zone,\n  .lsba-final-cta {\n    padding-left: 0 !important;\n    padding-right: 0 !important;\n  }\n\n  \/* ------------------------------\n     2. Navbar mobile m\u00e1s baja\n     ------------------------------ *\/\n\n  .site-header {\n    width: 100% !important;\n    max-width: 100% !important;\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n  }\n\n  .nav-shell {\n    min-height: 56px !important;\n    height: 56px !important;\n    gap: 8px !important;\n    min-width: 0 !important;\n  }\n\n  .logo {\n    width: 145px !important;\n    max-width: 46vw !important;\n    height: auto !important;\n  }\n\n  .mobile-top-actions {\n    display: flex !important;\n    gap: 7px !important;\n    align-items: center !important;\n    flex: 0 0 auto !important;\n  }\n\n  .mobile-language-inline-btn,\n  .menu-toggle,\n  .language-button {\n    width: 38px !important;\n    height: 38px !important;\n    min-width: 38px !important;\n    padding: 0 !important;\n  }\n\n  .menu-toggle svg {\n    width: 18px !important;\n    height: 18px !important;\n  }\n\n  \/* Bandera m\u00e1s visible *\/\n  .mobile-language-inline-btn img,\n  .language-button img,\n  #current-flag,\n  #mobileLanguageToggleFlag {\n    width: 24px !important;\n    height: 24px !important;\n    min-width: 24px !important;\n    min-height: 24px !important;\n    object-fit: contain !important;\n    display: block !important;\n  }\n\n  \/* ------------------------------\n     3. Men\u00fa desplegable mobile\n     ------------------------------ *\/\n\n  .nav-links {\n    position: absolute !important;\n    top: calc(100% + 8px) !important;\n    left: 18px !important;\n    right: 18px !important;\n    z-index: 9999 !important;\n    display: none !important;\n    flex-direction: column !important;\n    align-items: stretch !important;\n    gap: 2px !important;\n    padding: 8px !important;\n    border-radius: 18px !important;\n    background: rgba(255, 255, 255, .98) !important;\n    border: 1px solid rgba(47,46,46,.10) !important;\n    box-shadow: 0 18px 42px rgba(47,46,46,.16) !important;\n    min-width: 0 !important;\n    max-width: calc(100vw - 36px) !important;\n  }\n\n  .nav-links.open {\n    display: flex !important;\n  }\n\n  .nav-links a {\n    width: 100% !important;\n    padding: 12px 13px !important;\n    border-radius: 13px !important;\n    font-size: 14px !important;\n    line-height: 1.1 !important;\n    opacity: 1 !important;\n  }\n\n  .nav-links a:hover {\n    background: #fff8d7 !important;\n  }\n\n  \/* ------------------------------\n     4. Hero mobile m\u00e1s compacto\n     ------------------------------ *\/\n\n  .lsba-breadcrumb {\n    padding-top: 18px !important;\n    font-size: 11px !important;\n    line-height: 1.35 !important;\n  }\n\n  .lsba-intro {\n    padding-top: 24px !important;\n    padding-bottom: 34px !important;\n  }\n\n  .lsba-intro-grid {\n    grid-template-columns: minmax(0, 1fr) !important;\n    gap: 22px !important;\n  }\n\n  .lsba-kicker {\n    font-size: 10px !important;\n    padding: 6px 9px !important;\n    gap: 6px !important;\n    margin-bottom: 12px !important;\n  }\n\n  .lsba-h1 {\n    font-size: clamp(31px, 9.3vw, 38px) !important;\n    line-height: 1.02 !important;\n    letter-spacing: -.055em !important;\n    max-width: 100% !important;\n  }\n\n  .lsba-lead {\n    margin-top: 13px !important;\n    font-size: 14px !important;\n    line-height: 1.58 !important;\n    max-width: 100% !important;\n  }\n\n  .lsba-intro-card {\n    grid-template-columns: 46px minmax(0, 1fr) !important;\n    grid-template-areas:\n      \"icon copy\"\n      \"button button\" !important;\n    gap: 12px !important;\n    padding: 18px !important;\n    border-radius: 24px !important;\n  }\n\n  .lsba-intro-card-icon {\n    width: 46px !important;\n    height: 46px !important;\n    border-radius: 16px !important;\n    font-size: 18px !important;\n  }\n\n  .lsba-intro-card-label {\n    font-size: 10px !important;\n    margin-bottom: 5px !important;\n  }\n\n  .lsba-intro-card strong {\n    font-size: 22px !important;\n    line-height: 1.03 !important;\n  }\n\n  .lsba-intro-card p {\n    font-size: 12px !important;\n    line-height: 1.45 !important;\n  }\n\n  .lsba-intro-card-link {\n    min-height: 42px !important;\n    font-size: 13px !important;\n    padding: 11px 14px !important;\n  }\n\n  \/* ------------------------------\n     5. Secciones y t\u00edtulos compactos\n     ------------------------------ *\/\n\n  .lsba-section {\n    padding-top: 40px !important;\n    padding-bottom: 40px !important;\n  }\n\n  .lsba-section-head {\n    margin-bottom: 18px !important;\n    max-width: 100% !important;\n  }\n\n  .lsba-eyebrow {\n    font-size: 10px !important;\n    letter-spacing: .09em !important;\n    margin-bottom: 7px !important;\n  }\n\n  .lsba-h2,\n  .lsba-booking-copy h2,\n  .lsba-final-box h2 {\n    font-size: clamp(24px, 7.2vw, 31px) !important;\n    line-height: 1.08 !important;\n    letter-spacing: -.045em !important;\n  }\n\n  .lsba-copy,\n  .lsba-booking-copy p,\n  .lsba-final-box p {\n    font-size: 13.5px !important;\n    line-height: 1.62 !important;\n    margin-top: 10px !important;\n  }\n\n  \/* ------------------------------\n     6. Cards m\u00e1s chicas y respiradas\n     ------------------------------ *\/\n\n  .lsba-two-col,\n  .lsba-points,\n  .lsba-interest-grid,\n  .lsba-itinerary,\n  .lsba-booking-grid {\n    grid-template-columns: minmax(0, 1fr) !important;\n    gap: 14px !important;\n  }\n\n  .lsba-info-card,\n  .lsba-point-card,\n  .lsba-interest-card,\n  .lsba-step,\n  .lsba-booking-open-card,\n  .booking-card {\n    border-radius: 20px !important;\n  }\n\n  .lsba-info-card,\n  .lsba-point-card,\n  .lsba-booking-open-card,\n  .booking-card {\n    padding: 17px !important;\n  }\n\n  .lsba-info-card h3,\n  .lsba-point-card h3,\n  .lsba-interest-copy h3,\n  .lsba-booking-open-card h3 {\n    font-size: 20px !important;\n    line-height: 1.08 !important;\n    letter-spacing: -.035em !important;\n  }\n\n  .lsba-info-card p,\n  .lsba-point-card p,\n  .lsba-interest-copy p,\n  .lsba-booking-open-card p,\n  .lsba-faq p {\n    font-size: 12.8px !important;\n    line-height: 1.55 !important;\n  }\n\n  .lsba-point-top {\n    gap: 12px !important;\n  }\n\n  .lsba-point-icon {\n    width: 38px !important;\n    min-width: 38px !important;\n    height: 38px !important;\n    border-radius: 14px !important;\n    font-size: 15px !important;\n    flex: 0 0 auto !important;\n  }\n\n  \/* ------------------------------\n     7. Pills compactas SIN romper viewport\n     ------------------------------ *\/\n\n  .lsba-pills {\n    display: flex !important;\n    flex-wrap: nowrap !important;\n    gap: 7px !important;\n    margin-top: 13px !important;\n    padding-bottom: 2px !important;\n\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n\n    overflow-x: auto !important;\n    overflow-y: hidden !important;\n    -webkit-overflow-scrolling: touch !important;\n    scrollbar-width: none !important;\n\n    overscroll-behavior-x: contain !important;\n    contain: layout paint !important;\n  }\n\n  .lsba-pills::-webkit-scrollbar {\n    display: none !important;\n  }\n\n  .lsba-pill {\n    flex: 0 0 auto !important;\n    width: auto !important;\n    max-width: max-content !important;\n    min-width: 0 !important;\n\n    white-space: nowrap !important;\n    padding: 7px 9px !important;\n    gap: 5px !important;\n    font-size: 11px !important;\n    line-height: 1 !important;\n    border-radius: 999px !important;\n  }\n\n  .lsba-pill i {\n    font-size: 10px !important;\n    flex: 0 0 auto !important;\n  }\n\n  \/* Evita que las pills hagan crecer cards o columnas *\/\n  .lsba-info-card .lsba-pills,\n  .lsba-point-card .lsba-pills,\n  .lsba-intro .lsba-pills,\n  .lsba-final-box .lsba-pills {\n    max-width: 100% !important;\n    width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  \/* Fallback extra: cualquier hijo largo se corta dentro de la card *\/\n  .lsba-info-card,\n  .lsba-point-card,\n  .lsba-intro-card,\n  .lsba-booking-open-card,\n  .booking-card {\n    overflow: hidden !important;\n  }\n\n  \/* ------------------------------\n     8. Botones m\u00e1s bajos\n     ------------------------------ *\/\n\n  .lsba-btn,\n  .btn,\n  .lp-continue,\n  .lsba-intro-card-link {\n    min-height: 42px !important;\n    padding: 11px 15px !important;\n    font-size: 12.5px !important;\n  }\n\n  .lsba-info-card [style*=\"margin-top\"],\n  .lsba-point-card [style*=\"margin-top\"] {\n    margin-top: 14px !important;\n  }\n\n  \/* ------------------------------\n     9. Lugares de inter\u00e9s\n     ------------------------------ *\/\n\n  .lsba-interest-img {\n    height: 160px !important;\n  }\n\n  .lsba-interest-copy {\n    padding: 15px !important;\n  }\n\n  .lsba-interest-badge {\n    left: 10px !important;\n    bottom: 10px !important;\n    padding: 7px 9px !important;\n    font-size: 10.5px !important;\n  }\n\n  \/* ------------------------------\n     10. Recorrido \/ pasos\n     ------------------------------ *\/\n\n  .lsba-step {\n    padding: 15px !important;\n  }\n\n  .lsba-step-num {\n    width: 30px !important;\n    height: 30px !important;\n    border-radius: 10px !important;\n    margin-bottom: 9px !important;\n    font-size: 13px !important;\n  }\n\n  .lsba-step strong {\n    font-size: 14px !important;\n    margin-bottom: 4px !important;\n  }\n\n  .lsba-step span {\n    font-size: 12.5px !important;\n    line-height: 1.45 !important;\n  }\n\n  \/* ------------------------------\n     11. Reserva y CTA final\n     ------------------------------ *\/\n\n  .lsba-booking-zone {\n    padding-top: 42px !important;\n    padding-bottom: 46px !important;\n  }\n\n  .lsba-mini-list {\n    gap: 8px !important;\n    margin-top: 16px !important;\n  }\n\n  .lsba-mini-row {\n    font-size: 12.5px !important;\n    line-height: 1.4 !important;\n  }\n\n  .lsba-final-cta {\n    padding-top: 34px !important;\n    padding-bottom: 42px !important;\n  }\n\n  .lsba-final-box {\n    flex-direction: column !important;\n    align-items: flex-start !important;\n    gap: 17px !important;\n    padding: 20px !important;\n    border-radius: 24px !important;\n    overflow: hidden !important;\n  }\n\n  .lsba-final-box .lsba-btn {\n    width: 100% !important;\n  }\n\n  \/* ------------------------------\n     12. FAQ m\u00e1s compacta\n     ------------------------------ *\/\n\n  .lsba-faq {\n    gap: 8px !important;\n    margin-top: 18px !important;\n  }\n\n  .lsba-faq details {\n    border-radius: 16px !important;\n  }\n\n  .lsba-faq summary {\n    padding: 14px 15px !important;\n    font-size: 13.5px !important;\n    line-height: 1.3 !important;\n  }\n\n  .lsba-faq summary::after {\n    width: 24px !important;\n    height: 24px !important;\n    min-width: 24px !important;\n  }\n\n  .lsba-faq p {\n    padding: 0 15px 14px !important;\n  }\n\n  \/* ------------------------------\n     13. Modales mobile m\u00e1s prolijos\n     ------------------------------ *\/\n\n  .lsba-reservation-backdrop,\n  .lp-modal-backdrop {\n    padding: 12px !important;\n  }\n\n  .lsba-reservation-panel,\n  .lp-modal-panel {\n    width: 100% !important;\n    max-width: 100% !important;\n    max-height: 88dvh !important;\n    border-radius: 22px !important;\n  }\n\n  .lsba-reservation-header,\n  .lp-modal-header {\n    padding: 14px 15px !important;\n  }\n\n  .lsba-reservation-header h3,\n  .lp-modal-title {\n    font-size: 18px !important;\n  }\n\n  .lsba-reservation-header p {\n    font-size: 12px !important;\n  }\n\n  .lsba-reservation-body,\n  .lp-modal-body {\n    padding: 14px !important;\n  }\n\n  .lp-compact-row {\n    grid-template-columns: minmax(0, 1fr) !important;\n    gap: 10px !important;\n  }\n\n  .lp-location-control,\n  .lp-summary-card {\n    min-height: 52px !important;\n    border-radius: 16px !important;\n    min-width: 0 !important;\n  }\n\n  .lp-summary-copy,\n  .lp-baggage-copy {\n    min-width: 0 !important;\n  }\n}\n\n\/* Extra compacto para pantallas muy chicas *\/\n@media (max-width: 390px) {\n\n  .lsba-container,\n  .site-header .container,\n  .container {\n    padding-left: 16px !important;\n    padding-right: 16px !important;\n  }\n\n  .nav-links {\n    left: 16px !important;\n    right: 16px !important;\n    max-width: calc(100vw - 32px) !important;\n  }\n\n  .logo {\n    width: 132px !important;\n    max-width: 44vw !important;\n  }\n\n  .lsba-h1 {\n    font-size: clamp(29px, 9vw, 35px) !important;\n  }\n\n  .lsba-h2,\n  .lsba-booking-copy h2,\n  .lsba-final-box h2 {\n    font-size: clamp(22px, 7vw, 29px) !important;\n  }\n\n  .lsba-lead,\n  .lsba-copy {\n    font-size: 13px !important;\n  }\n\n  .lsba-info-card,\n  .lsba-point-card,\n  .lsba-booking-open-card,\n  .booking-card {\n    padding: 15px !important;\n  }\n\n  .lsba-pill {\n    font-size: 10.5px !important;\n    padding: 7px 8px !important;\n  }\n}\n\n\n@media (max-width: 768px) {\n  .lsba-map-shell {\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n    height: 360px !important;\n    min-height: 360px !important;\n    border-radius: 20px !important;\n    overflow: hidden !important;\n    position: relative !important;\n    background: #e8e1ce !important;\n  }\n\n  #sanTelmoFunctionalMap {\n    width: 100% !important;\n    height: 360px !important;\n    min-height: 360px !important;\n    display: block !important;\n    position: relative !important;\n    z-index: 1 !important;\n    background: #e8e1ce !important;\n  }\n\n  #sanTelmoFunctionalMap.leaflet-container {\n    width: 100% !important;\n    height: 360px !important;\n  }\n\n  \/* Clave para WordPress\/themes: no dejar que img globales rompan tiles *\/\n  #sanTelmoFunctionalMap .leaflet-tile {\n    max-width: none !important;\n    max-height: none !important;\n  }\n\n  #sanTelmoFunctionalMap .leaflet-control-container {\n    z-index: 20 !important;\n  }\n\n  .lsba-map-legend {\n    left: 10px !important;\n    right: 10px !important;\n    bottom: 10px !important;\n    gap: 6px !important;\n    z-index: 25 !important;\n  }\n\n  .lsba-legend-item {\n    padding: 6px 8px !important;\n    font-size: 10.5px !important;\n  }\n}\n\n@media (max-width: 390px) {\n  .lsba-map-shell,\n  #sanTelmoFunctionalMap,\n  #sanTelmoFunctionalMap.leaflet-container {\n    height: 330px !important;\n    min-height: 330px !important;\n  }\n}\n  <\/style>\n<\/head>\n\n<body>\n  <div class=\"lsba-page\">\n    <header class=\"site-header\" id=\"siteHeader\">\n      <div class=\"container\">\n        <div class=\"nav-shell\">\n          <a href=\"https:\/\/luggagestorageba.com\/en\/\" aria-label=\"Luggage Storage BA\">\n            <img decoding=\"async\" class=\"logo\" src=\"http:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/05\/luggage-png-2048x375-1-1-1.png\" alt=\"Guarda equipaje en Buenos Aires - Luggage Storage BA\">\n          <\/a>\n\n          <nav class=\"nav-links\" id=\"mobileNav\" aria-label=\"Navegaci\u00f3n principal\">\n            <a href=\"https:\/\/luggagestorageba.com\/en\/#ubicaciones\">Locations<\/a>\n            <a href=\"https:\/\/luggagestorageba.com\/en\/#como-funciona\">How it works<\/a>\n            <a href=\"https:\/\/luggagestorageba.com\/en\/#servicios\">Services<\/a>\n            <a href=\"https:\/\/luggagestorageba.com\/en\/#opiniones\">Reviews<\/a>\n            <a href=\"https:\/\/luggagestorageba.com\/en\/#footer\">Contact<\/a>\n          <\/nav>\n\n          <div class=\"mobile-top-actions\">\n            <div class=\"mobile-language-switcher-inline\">\n              <button\n                type=\"button\"\n                class=\"mobile-language-inline-btn single-language-toggle\"\n                id=\"mobileLanguageToggle\"\n                aria-label=\"Switch language\"\n              >\n                <img decoding=\"async\"\n                  id=\"mobileLanguageToggleFlag\"\n                  src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2024\/10\/banderas.png\"\n                  alt=\"English\"\n                \/>\n              <\/button>\n            <\/div>\n\n            <button class=\"menu-toggle\" id=\"menuToggle\" aria-label=\"Abrir men\u00fa\" type=\"button\">\n              <svg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                <path d=\"M4 7h16M4 12h16M4 17h16\"\/>\n              <\/svg>\n            <\/button>\n          <\/div>\n\n          <div class=\"header-actions\">\n            <a href=\"#mapa\" class=\"btn btn-ghost\">\n              <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                <path d=\"M12 21s-6-5.686-6-11a6 6 0 0 1 12 0c0 5.314-6 11-6 11Z\"\/>\n                <circle cx=\"12\" cy=\"10\" r=\"2.5\"\/>\n              <\/svg>\n              View locations\n            <\/a>\n\n            <a href=\"#reserva\" class=\"btn btn-dark js-scroll-booking\" data-open-reservation>Book now<\/a>\n\n            <div class=\"language-switcher\">\n              <button class=\"language-button\" id=\"languageButton\" type=\"button\" aria-label=\"Cambiar idioma\" aria-expanded=\"false\">\n                <img decoding=\"async\" id=\"current-flag\" src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2024\/10\/mundo.png\" alt=\"\" \/>\n              <\/button>\n\n              <ul id=\"language-dropdown\">\n                <li data-lang=\"es\" onclick=\"changeLanguage('es')\">\n                  <img decoding=\"async\" src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2024\/10\/mundo.png\" alt=\"\" \/>\n                <\/li>\n                <li data-lang=\"en\" onclick=\"changeLanguage('en')\">\n                  <img decoding=\"async\" src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2024\/10\/banderas.png\" alt=\"\" \/>\n                <\/li>\n              <\/ul>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/header>\n\n    <div class=\"lsba-container\">\n      <div class=\"lsba-breadcrumb\">\n        <a href=\"https:\/\/luggagestorageba.com\/en\/\">Home<\/a> \/ <a href=\"https:\/\/luggagestorageba.com\/en\/#ubicaciones\">Locations<\/a> \/ <span>San Telmo<\/span>\n      <\/div>\n    <\/div>\n\n   <main>\n  <section class=\"lsba-intro\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-intro-grid\">\n        <div>\n          <div class=\"lsba-kicker\">\n            <i class=\"fa-solid fa-location-dot\" aria-hidden=\"true\"><\/i>\n            Gu\u00eda local para viajeros\n          <\/div>\n\n          <h1 class=\"lsba-h1\">Guarda equipaje en <span class=\"mark\">San Telmo<\/span><\/h1>\n\n          <p class=\"lsba-lead\">\n            Una gu\u00eda pr\u00e1ctica para organizar unas horas libres entre check-out, paseos, caf\u00e9s, mercados y el pr\u00f3ximo tramo de tu viaje por Buenos Aires.\n          <\/p>\n\n          <div class=\"lsba-pills\">\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-circle-check\"><\/i> Verified locations<\/span>\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-map-location-dot\"><\/i> Referencias cercanas<\/span>\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-clock\"><\/i> Para unas horas libres<\/span>\n          <\/div>\n        <\/div>\n\n        <aside class=\"lsba-intro-card\">\n          <div class=\"lsba-intro-card-icon\" aria-hidden=\"true\">\n            <i class=\"fa-solid fa-map-location-dot\"><\/i>\n          <\/div>\n\n          <div class=\"lsba-intro-card-copy\">\n            <span class=\"lsba-intro-card-label\">Disponibilidad en la zona<\/span>\n            <strong>2 puntos verificados<\/strong>\n            <p>\n              Eleg\u00ed fecha, horario y tipo de equipaje para ver opciones cercanas antes de acercarte.\n            <\/p>\n          <\/div>\n\n          <button type=\"button\" class=\"lsba-intro-card-link js-open-booking\" data-open-reservation>\n            Buscar punto cercano\n            <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"><\/i>\n          <\/button>\n        <\/aside>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-section soft\" id=\"mapa\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-section-head\">\n        <p class=\"lsba-eyebrow\">Mapa de la zona<\/p>\n        <h2 class=\"lsba-h2\">Ubicate antes de empezar el paseo<\/h2>\n        <p class=\"lsba-copy\">\n          Tom\u00e1 como referencia el Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico para elegir un punto que te quede c\u00f3modo seg\u00fan tu recorrido.\n        <\/p>\n      <\/div>\n\n      <div class=\"lsba-two-col\">\n        <div class=\"lsba-info-card\">\n          <h3>Una parada pr\u00e1ctica antes de seguir<\/h3>\n          <p>\n            La b\u00fasqueda ya est\u00e1 enfocada en esta zona de Buenos Aires. Solo ten\u00e9s que indicar equipaje, fecha y horario para consultar opciones disponibles.\n          <\/p>\n\n          <div class=\"lsba-pills\">\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-clock\"><\/i> Eleg\u00ed tu horario<\/span>\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-suitcase-rolling\"><\/i> Maletas y mochilas<\/span>\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-location-dot\"><\/i> Zona precargada<\/span>\n          <\/div>\n\n          <div style=\"margin-top: 20px;\">\n            <button type=\"button\" class=\"lsba-btn lsba-btn-primary js-open-booking\" data-open-reservation>\n              Consultar disponibilidad\n              <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"><\/i>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"lsba-map-shell\">\n          <div id=\"sanTelmoFunctionalMap\"><\/div>\n\n          <div class=\"lsba-map-legend\">\n            <span class=\"lsba-legend-item\"><span class=\"lsba-dot point\"><\/span>Puntos de guarda<\/span>\n            <span class=\"lsba-legend-item\"><span class=\"lsba-dot place\"><\/span>Lugares de inter\u00e9s<\/span>\n            <span class=\"lsba-legend-item\"><span class=\"lsba-dot route\"><\/span>Zona caminable<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"lsba-points\">\n        <article class=\"lsba-point-card\">\n          <div class=\"lsba-point-top\">\n            <div>\n              <h3>Si arranc\u00e1s por el Mercado<\/h3>\n              <p>\n                Una opci\u00f3n conveniente para quienes planean almorzar, recorrer puestos, caf\u00e9s o moverse por las calles m\u00e1s activas del barrio.\n              <\/p>\n            <\/div>\n            <div class=\"lsba-point-icon\"><i class=\"fa-solid fa-shield-halved\"><\/i><\/div>\n          <\/div>\n\n          <div class=\"lsba-pills\">\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-utensils\"><\/i> Food<\/span>\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-store\"><\/i> Locales y galer\u00edas<\/span>\n          <\/div>\n\n          <div style=\"margin-top: 18px;\">\n            <button type=\"button\" class=\"lsba-btn lsba-btn-primary js-open-booking\" data-open-reservation>\n              Ver disponibilidad\n            <\/button>\n          <\/div>\n        <\/article>\n\n        <article class=\"lsba-point-card\">\n          <div class=\"lsba-point-top\">\n            <div>\n              <h3>Si segu\u00eds hacia Plaza Dorrego<\/h3>\n              <p>\n                Pr\u00e1ctico para combinar anticuarios, caf\u00e9s, casco hist\u00f3rico y una caminata posterior hacia Puerto Madero o el centro.\n              <\/p>\n            <\/div>\n            <div class=\"lsba-point-icon\"><i class=\"fa-solid fa-circle-check\"><\/i><\/div>\n          <\/div>\n\n          <div class=\"lsba-pills\">\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-landmark\"><\/i> Casco hist\u00f3rico<\/span>\n            <span class=\"lsba-pill\"><i class=\"fa-solid fa-water\"><\/i> Camino a Puerto Madero<\/span>\n          <\/div>\n\n          <div style=\"margin-top: 18px;\">\n            <button type=\"button\" class=\"lsba-btn lsba-btn-primary js-open-booking\" data-open-reservation>\n              Buscar punto cercano\n            <\/button>\n          <\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-section\" id=\"lugares\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-section-head\">\n        <p class=\"lsba-eyebrow\">Qu\u00e9 pod\u00e9s hacer cerca<\/p>\n        <h2 class=\"lsba-h2\">Tres paradas para aprovechar mejor el d\u00eda<\/h2>\n        <p class=\"lsba-copy\">\n          Esta parte de la ciudad mezcla historia, gastronom\u00eda, ferias, caf\u00e9s y paseos cortos. Es una buena zona para transformar una espera en un plan simple.\n        <\/p>\n      <\/div>\n\n      <div class=\"lsba-interest-grid\">\n        <article class=\"lsba-interest-card\">\n          <div class=\"lsba-interest-img\">\n            <img decoding=\"async\" src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/07\/mercado-san-telmo.jpeg\" alt=\"Mercado de San Telmo en Buenos Aires\" loading=\"lazy\">\n            <span class=\"lsba-interest-badge\">Comida, caf\u00e9s y antig\u00fcedades<\/span>\n          <\/div>\n\n          <div class=\"lsba-interest-copy\">\n            <h3>Mercado de San Telmo<\/h3>\n            <p>\n              Ideal para comer algo, mirar puestos, entrar en locales tradicionales y encontrar objetos antiguos o detalles vintage dentro de un mercado hist\u00f3rico.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"lsba-interest-card\">\n          <div class=\"lsba-interest-img\">\n            <img decoding=\"async\" src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/07\/plaza-dorrego.jpeg\" alt=\"Plaza Dorrego en San Telmo\" loading=\"lazy\">\n            <span class=\"lsba-interest-badge\">Caf\u00e9s, feria y cultura<\/span>\n          <\/div>\n\n          <div class=\"lsba-interest-copy\">\n            <h3>Plaza Dorrego<\/h3>\n            <p>\n              Una parada cl\u00e1sica para sentarse un rato, ver movimiento de la zona, recorrer anticuarios y cruzarse con tango o feria seg\u00fan el d\u00eda.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"lsba-interest-card\">\n          <div class=\"lsba-interest-img\">\n            <img decoding=\"async\" src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/07\/puerto-madero.jpg\" alt=\"Puente de la Mujer en Puerto Madero\" loading=\"lazy\">\n            <span class=\"lsba-interest-badge\">Fotos, diques y restaurantes<\/span>\n          <\/div>\n\n          <div class=\"lsba-interest-copy\">\n            <h3>Puerto Madero<\/h3>\n            <p>\n              Si quer\u00e9s extender el paseo, pod\u00e9s caminar hacia los diques, cruzar por el Puente de la Mujer o elegir un restaurante antes de continuar viaje.\n            <\/p>\n          <\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-section soft\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-section-head\">\n        <p class=\"lsba-eyebrow\">Cu\u00e1ndo conviene<\/p>\n        <h2 class=\"lsba-h2\">Entre el check-out y el pr\u00f3ximo destino<\/h2>\n        <p class=\"lsba-copy\">\n          Esta p\u00e1gina est\u00e1 pensada para esos momentos en los que ya dejaste el alojamiento, pero todav\u00eda te quedan algunas horas antes de tomar un vuelo, bus, tren o traslado.\n        <\/p>\n      <\/div>\n\n      <div class=\"lsba-itinerary\">\n        <div class=\"lsba-step\">\n          <div class=\"lsba-step-num\">1<\/div>\n          <strong>Eleg\u00ed tu horario<\/strong>\n          <span>Indic\u00e1 cu\u00e1ndo quer\u00e9s dejar y retirar tus cosas.<\/span>\n        <\/div>\n\n        <div class=\"lsba-step\">\n          <div class=\"lsba-step-num\">2<\/div>\n          <strong>Confirm\u00e1 el punto<\/strong>\n          <span>Revis\u00e1 las opciones disponibles para la fecha elegida.<\/span>\n        <\/div>\n\n        <div class=\"lsba-step\">\n          <div class=\"lsba-step-num\">3<\/div>\n          <strong>Arm\u00e1 tu plan<\/strong>\n          <span>Mercado, Plaza Dorrego, caf\u00e9s, feria o Puerto Madero.<\/span>\n        <\/div>\n\n        <div class=\"lsba-step\">\n          <div class=\"lsba-step-num\">4<\/div>\n          <strong>Retir\u00e1 y segu\u00ed<\/strong>\n          <span>Volv\u00e9 en el horario elegido y continu\u00e1 tu viaje.<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-section\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-section-head\">\n        <p class=\"lsba-eyebrow\">Verified locations<\/p>\n        <h2 class=\"lsba-h2\">Qu\u00e9 significa reservar con Luggage Storage BA<\/h2>\n        <p class=\"lsba-copy\">\n          La idea es que sepas antes de acercarte d\u00f3nde vas a dejar tus cosas, en qu\u00e9 horario y con qu\u00e9 cantidad de equipaje confirmada.\n        <\/p>\n      <\/div>\n\n      <div class=\"lsba-points\">\n        <article class=\"lsba-point-card\">\n          <div class=\"lsba-point-top\">\n            <div>\n              <h3>Confirmaci\u00f3n online<\/h3>\n              <p>\n                La reserva deja definidos fecha, horario, cantidad de maletas o mochilas peque\u00f1as y zona de b\u00fasqueda.\n              <\/p>\n            <\/div>\n            <div class=\"lsba-point-icon\"><i class=\"fa-solid fa-calendar-check\"><\/i><\/div>\n          <\/div>\n        <\/article>\n\n        <article class=\"lsba-point-card\">\n          <div class=\"lsba-point-top\">\n            <div>\n              <h3>Opciones cercanas<\/h3>\n              <p>\n                El formulario usa una ubicaci\u00f3n precargada para mostrar alternativas pr\u00e1cticas seg\u00fan tu recorrido.\n              <\/p>\n            <\/div>\n            <div class=\"lsba-point-icon\"><i class=\"fa-solid fa-location-crosshairs\"><\/i><\/div>\n          <\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-booking-zone\" id=\"reserva\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-booking-grid\">\n        <div class=\"lsba-booking-copy\">\n          <h2>Busc\u00e1 un punto disponible para tu horario<\/h2>\n          <p>\n            Complet\u00e1 fecha, horario y cantidad de equipaje. La b\u00fasqueda se abre con esta zona ya seleccionada para que puedas comparar opciones cercanas.\n          <\/p>\n\n          <div class=\"lsba-mini-list\">\n            <div class=\"lsba-mini-row\">\n              <i class=\"fa-solid fa-circle-check\"><\/i>\n              <span>Ubicaci\u00f3n precargada en Buenos Aires.<\/span>\n            <\/div>\n\n            <div class=\"lsba-mini-row\">\n              <i class=\"fa-solid fa-circle-check\"><\/i>\n              <span>Selecci\u00f3n separada de maletas y mochilas peque\u00f1as.<\/span>\n            <\/div>\n\n            <div class=\"lsba-mini-row\">\n              <i class=\"fa-solid fa-circle-check\"><\/i>\n              <span>Disponibilidad seg\u00fan fecha y horario elegidos.<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"lsba-booking-open-card booking-card glass-card\">\n          <h3>Consult\u00e1 opciones cercanas<\/h3>\n          <p>\n            Indic\u00e1 tu equipaje y el rango horario para avanzar con la b\u00fasqueda.\n          <\/p>\n\n          <button type=\"button\" class=\"lsba-btn lsba-btn-yellow js-open-booking\" data-open-reservation>\n            Buscar puntos disponibles\n            <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"><\/i>\n          <\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-section\" id=\"faq\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-section-head\">\n        <p class=\"lsba-eyebrow\">Frequently Asked Questions<\/p>\n        <h2 class=\"lsba-h2\">Dudas \u00fatiles antes de reservar<\/h2>\n      <\/div>\n\n      <div class=\"lsba-faq\">\n        <details>\n          <summary>\u00bfEn qu\u00e9 casos conviene usar esta zona?<\/summary>\n          <p>\n            Suele ser pr\u00e1ctica si hiciste check-out temprano, quer\u00e9s almorzar o pasear unas horas y despu\u00e9s segu\u00eds hacia aeropuerto, terminal, tren, hotel o traslado.\n          <\/p>\n        <\/details>\n\n        <details>\n          <summary>\u00bfLa ubicaci\u00f3n ya queda seleccionada?<\/summary>\n          <p>\n            S\u00ed. El formulario usa una ubicaci\u00f3n fija para enfocar la b\u00fasqueda en puntos cercanos a esta parte de Buenos Aires.\n          <\/p>\n        <\/details>\n\n        <details>\n          <summary>\u00bfPuedo elegir mochilas peque\u00f1as adem\u00e1s de maletas?<\/summary>\n          <p>\n            S\u00ed. El formulario permite seleccionar maletas y mochilas peque\u00f1as por separado para calcular la b\u00fasqueda con m\u00e1s precisi\u00f3n.\n          <\/p>\n        <\/details>\n\n        <details>\n          <summary>\u00bfTengo que reservar antes de acercarme?<\/summary>\n          <p>\n            Para puntos aliados, reservar online ayuda a confirmar disponibilidad, cantidad de equipaje, fecha y horario antes de ir.\n          <\/p>\n        <\/details>\n\n        <details>\n          <summary>\u00bfQu\u00e9 puedo hacer mientras espero?<\/summary>\n          <p>\n            Pod\u00e9s combinar Mercado, Plaza Dorrego, caf\u00e9s, anticuarios, casco hist\u00f3rico o una caminata hacia Puerto Madero, seg\u00fan el tiempo disponible.\n          <\/p>\n        <\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"lsba-final-cta\">\n    <div class=\"lsba-container\">\n      <div class=\"lsba-final-box\">\n        <div>\n          <h2>Un plan simple para esas horas entre medio<\/h2>\n          <p>Eleg\u00ed un punto, organiz\u00e1 tu horario y aprovech\u00e1 la zona antes de continuar viaje.<\/p>\n        <\/div>\n\n        <button type=\"button\" class=\"lsba-btn lsba-btn-yellow js-open-booking\" data-open-reservation>\n          Buscar ahora\n          <i class=\"fa-solid fa-arrow-right\"><\/i>\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/main>\n\n<!-- =======================================================\n   MODAL RESERVA\n   ======================================================= -->\n\n<div class=\"lsba-reservation-modal\" id=\"lsbaReservationModal\" aria-hidden=\"true\">\n  <div class=\"lsba-reservation-backdrop\" data-reservation-close>\n    <div class=\"lsba-reservation-panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"lsbaReservationTitle\">\n      <div class=\"lsba-reservation-header\">\n        <div>\n          <h3 id=\"lsbaReservationTitle\">Buscar punto cercano<\/h3>\n          <p>Eleg\u00ed equipaje, fecha y horario para consultar opciones disponibles en la zona.<\/p>\n        <\/div>\n\n        <button type=\"button\" class=\"lsba-reservation-close\" aria-label=\"Cerrar reserva\" data-reservation-close>\u00d7<\/button>\n      <\/div>\n\n      <div class=\"lsba-reservation-body\">\n        <div class=\"lp-home\" id=\"lp-home\">\n          <form class=\"lp-dates-form lp-search-form-v4\" id=\"lp-dates-form\" novalidate action=\"\">\n\n            <div class=\"lp-location-field\" id=\"lpLocationWrap\">\n              <div class=\"lp-location-control\">\n                <span class=\"lp-location-icon\" aria-hidden=\"true\">\n                  <svg viewbox=\"0 0 24 24\">\n                    <path d=\"M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z\"><\/path>\n                  <\/svg>\n                <\/span>\n\n                <input\n                  type=\"text\"\n                  id=\"lpLocationInput\"\n                  name=\"location_text\"\n                  autocomplete=\"off\"\n                  value=\"San Telmo, Buenos Aires, Argentina\"\n                  placeholder=\"San Telmo, Buenos Aires, Argentina\"\n                  aria-label=\"Ubicaci\u00f3n fija: San Telmo, Buenos Aires\"\n                  readonly\n required\n>\n\n                <button\n                  type=\"button\"\n                  class=\"lp-location-detect\"\n                  id=\"lpUseCurrentLocation\"\n                  aria-label=\"Usar mi ubicaci\u00f3n actual\"\n                >\n                  <svg viewbox=\"0 0 24 24\" aria-hidden=\"true\">\n                    <path d=\"M12 8a4 4 0 1 1 0 8 4 4 0 0 1 0-8zm9 3h-2.07A7.01 7.01 0 0 0 13 5.07V3a1 1 0 1 0-2 0v2.07A7.01 7.01 0 0 0 5.07 11H3a1 1 0 1 0 0 2h2.07A7.01 7.01 0 0 0 11 18.93V21a1 1 0 1 0 2 0v-2.07A7.01 7.01 0 0 0 18.93 13H21a1 1 0 1 0 0-2zm-9 6a5 5 0 1 1 0-10 5 5 0 0 1 0 10z\"><\/path>\n                  <\/svg>\n                <\/button>\n              <\/div>\n            <\/div>\n\n            <input type=\"hidden\" id=\"lpLocationLat\" name=\"lat\" value=\"-34.6178\">\n            <input type=\"hidden\" id=\"lpLocationLng\" name=\"lng\" value=\"-58.3762\">\n            <input type=\"hidden\" id=\"lpLocationCity\" name=\"city\" value=\"Buenos Aires\">\n            <input type=\"hidden\" id=\"lpLocationCountry\" name=\"country\" value=\"Argentina\">\n            <input type=\"hidden\" id=\"lpLocationPlaceId\" name=\"place_id\" value=\"\">\n\n            <div class=\"lp-compact-row\">\n\n              <button\n                type=\"button\"\n                class=\"lp-summary-card lp-baggage-summary\"\n                id=\"lpBaggageSummaryBtn\"\n                aria-haspopup=\"dialog\"\n                aria-controls=\"lpBaggageModal\"\n              >\n                <span class=\"lp-summary-icon lp-baggage-icon\" aria-hidden=\"true\">\n                  <svg viewbox=\"0 0 24 24\">\n                    <path d=\"M7 7V6a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1h1a2 2 0 0 1 2 2v9a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V9a2 2 0 0 1 2-2h1zm2 0h6V6a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1zM6 10v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-8H6z\"><\/path>\n                  <\/svg>\n                <\/span>\n\n                <span class=\"lp-summary-copy lp-baggage-copy\">\n                  <span class=\"lp-summary-label lp-baggage-label\">Luggage<\/span>\n                  <span class=\"lp-summary-value lp-baggage-value\" id=\"lpBaggageSummaryText\">\n                    Seleccion\u00e1 equipaje\n                  <\/span>\n                <\/span>\n\n                <span class=\"lp-field-check\" id=\"lpBaggageCheck\" aria-hidden=\"true\">\u2713<\/span>\n              <\/button>\n\n              <button\n                type=\"button\"\n                class=\"lp-summary-card lp-date-summary\"\n                id=\"lpDateSummaryBtn\"\n                aria-haspopup=\"dialog\"\n                aria-controls=\"lpModal\"\n              >\n                <span class=\"lp-summary-icon lp-date-icon\" aria-hidden=\"true\">\n                  <svg viewbox=\"0 0 24 24\">\n                    <path d=\"M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a2 2 0 0 1 2 2v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a2 2 0 0 1 2-2h1V3a1 1 0 0 1 2 0v1zm13 8H4v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1zM6 6v1h12V6z\"><\/path>\n                  <\/svg>\n                <\/span>\n\n                <span class=\"lp-summary-copy\">\n                  <span class=\"lp-summary-label\">Date<\/span>\n                  <span class=\"lp-summary-value\" id=\"lpDateSummaryText\">\n                    Seleccion\u00e1 fecha\n                  <\/span>\n                <\/span>\n\n                <span class=\"lp-field-check\" id=\"lpDateCheck\" aria-hidden=\"true\">\u2713<\/span>\n              <\/button>\n\n            <\/div>\n\n            <input type=\"hidden\" id=\"lpLuggageInput\" name=\"luggage\" value=\"0\">\n            <input type=\"hidden\" id=\"lpBackpacksInput\" name=\"backpacks\" value=\"0\">\n\n            <input type=\"hidden\" id=\"lp-start-date\" name=\"lp_start_date\" value=\"\">\n            <input type=\"hidden\" id=\"lp-end-date\" name=\"lp_end_date\" value=\"\">\n\n            <input type=\"hidden\" id=\"aff_id_hidden\" name=\"aff_id_hidden\" value=\"\">\n\n            <button type=\"submit\" class=\"lp-continue\" id=\"lp-continue\">\n              Buscar puntos cercanos\n            <\/button>\n          <input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- =======================================================\n   MODAL FECHAS \/ HORARIOS\n   ======================================================= -->\n\n<div class=\"lp-modal\" id=\"lpModal\" aria-hidden=\"true\">\n  <div class=\"lp-modal-backdrop\">\n    <div class=\"lp-modal-panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"lpModalTitle\">\n      <div class=\"lp-modal-header\">\n        <span class=\"lp-modal-title\" id=\"lpModalTitle\">Seleccion\u00e1 fechas y horas<\/span>\n        <button type=\"button\" id=\"lpModalClose\" class=\"lp-close-btn\">Close<\/button>\n      <\/div>\n\n      <div class=\"lp-modal-body\">\n        <div class=\"lp-flatpickr-wrap\">\n          <div id=\"lpInlineCalendar\"><\/div>\n\n          <div class=\"fp-quick-btns\">\n            <button id=\"btnToday\" class=\"lp-quick-btn\" type=\"button\">Solo hoy<\/button>\n            <button id=\"btnTomorrow\" class=\"lp-quick-btn\" type=\"button\">Solo ma\u00f1ana<\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"lp-modal-grid\">\n          <div class=\"lp-modal-field\">\n            <label for=\"modalCheckinTime\">Drop-off time<\/label>\n            <select id=\"modalCheckinTime\"><\/select>\n          <\/div>\n\n          <div class=\"lp-modal-field\">\n            <label for=\"modalCheckoutTime\">Pick-up time<\/label>\n            <select id=\"modalCheckoutTime\"><\/select>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"lp-modal-footer\">\n        <button type=\"button\" id=\"lpConfirmSelection\" class=\"lp-confirm-btn\">Confirm<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- =======================================================\n   MODAL EQUIPAJE\n   ======================================================= -->\n\n<div class=\"lp-modal\" id=\"lpBaggageModal\" aria-hidden=\"true\">\n  <div class=\"lp-modal-backdrop\">\n    <div class=\"lp-modal-panel lp-baggage-modal-panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"lpBaggageModalTitle\">\n      <div class=\"lp-modal-header\">\n        <span class=\"lp-modal-title\" id=\"lpBaggageModalTitle\">Seleccion\u00e1 tu equipaje<\/span>\n        <button type=\"button\" id=\"lpBaggageModalClose\" class=\"lp-close-btn\">Close<\/button>\n      <\/div>\n\n      <div class=\"lp-modal-body\">\n        <div class=\"lp-baggage-modal-intro\">\n          Seleccion\u00e1 la cantidad de equipaje que quer\u00e9s guardar.\n        <\/div>\n\n        <div class=\"lp-baggage-options\">\n\n          <div class=\"lp-baggage-option\" data-baggage-type=\"backpack\">\n            <div class=\"lp-baggage-price-pill\">AR$4500 p\/d\u00eda<\/div>\n\n            <div class=\"lp-baggage-option-main\">\n              <div class=\"lp-baggage-option-image\" aria-hidden=\"true\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/mochila-item-luggagestorageba2.png\"\n                  alt=\"\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"lp-baggage-option-copy\">\n                <strong>Backpacks<\/strong>\n                <span>Mochilas peque\u00f1as<\/span>\n              <\/div>\n            <\/div>\n\n            <div class=\"lp-baggage-counter\">\n              <button type=\"button\" class=\"lp-baggage-count-btn\" id=\"lpBackpacksMinus\" aria-label=\"Restar mochila peque\u00f1a\">\u2212<\/button>\n              <span class=\"lp-baggage-count\" id=\"lpBackpacksCount\">0<\/span>\n              <button type=\"button\" class=\"lp-baggage-count-btn\" id=\"lpBackpacksPlus\" aria-label=\"Sumar mochila peque\u00f1a\">+<\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"lp-baggage-option\" data-baggage-type=\"luggage\">\n            <div class=\"lp-baggage-price-pill\">AR$9000 p\/d\u00eda<\/div>\n\n            <div class=\"lp-baggage-option-main\">\n              <div class=\"lp-baggage-option-image\" aria-hidden=\"true\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/maleta-item-luggaegestorageba2.png\"\n                  alt=\"\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"lp-baggage-option-copy\">\n                <strong>Luggage<\/strong>\n                <span>Maletas, carry-on o bolsos grandes.<\/span>\n              <\/div>\n            <\/div>\n\n            <div class=\"lp-baggage-counter\">\n              <button type=\"button\" class=\"lp-baggage-count-btn\" id=\"lpLuggageMinus\" aria-label=\"Restar maleta\">\u2212<\/button>\n              <span class=\"lp-baggage-count\" id=\"lpLuggageCount\">0<\/span>\n              <button type=\"button\" class=\"lp-baggage-count-btn\" id=\"lpLuggagePlus\" aria-label=\"Sumar maleta\">+<\/button>\n            <\/div>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n      <div class=\"lp-modal-footer\">\n        <button type=\"button\" id=\"lpBaggageConfirm\" class=\"lp-confirm-btn\">Aceptar<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\"><\/script>\n\n  <script>\n(() => {\n  const $ = (s, sc = document) => sc ? sc.querySelector(s) : null;\n  const $$ = (s, sc = document) => sc ? Array.from(sc.querySelectorAll(s)) : [];\n  const prefersReduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  const header = $('#siteHeader');\n  const mobileNav = $('#mobileNav');\n  const menuToggle = $('#menuToggle');\n\n  const reservationModal = $('#lsbaReservationModal');\n  const reservationPanel = reservationModal ? $('.lsba-reservation-panel', reservationModal) : null;\n\n  const benefitModal = $('#lsbaBenefitModal');\n  const benefitModalPanel = benefitModal ? $('.lsba-benefit-modal-panel', benefitModal) : null;\n  const benefitModalMedia = $('#lsbaBenefitModalMedia');\n  const benefitModalBadge = $('#lsbaBenefitModalBadge');\n  const benefitModalMeta = $('#lsbaBenefitModalMeta');\n  const benefitModalTitle = $('#lsbaBenefitModalTitle');\n  const benefitModalDescription = $('#lsbaBenefitModalDescription');\n  const benefitModalTerms = $('#lsbaBenefitModalTerms');\n\n\n  \/* FIX V2: llevar modales globales al body para evitar contenedores\/estilos externos *\/\n  [reservationModal, benefitModal, document.getElementById('lpModal'), document.getElementById('lpBaggageModal')]\n    .filter(Boolean)\n    .forEach((modalEl) => {\n      if (modalEl.parentElement !== document.body) {\n        document.body.appendChild(modalEl);\n      }\n    });\n\n  function lockBody() {\n    document.body.classList.add('lsba-modal-open');\n  }\n\n  function unlockBodyIfNoModal() {\n    const anyOpen =\n      reservationModal?.classList.contains('is-open') ||\n      benefitModal?.classList.contains('is-open') ||\n      $('#lpModal')?.classList.contains('is-open') ||\n      $('#lpBaggageModal')?.classList.contains('is-open');\n\n    if (!anyOpen) {\n      document.body.classList.remove('lsba-modal-open');\n    }\n  }\n\n  function handleHeader() {\n    if (!header) return;\n\n    if (window.scrollY > 10) {\n      header.classList.add('is-scrolled');\n    } else {\n      header.classList.remove('is-scrolled');\n    }\n  }\n\n  handleHeader();\n  window.addEventListener('scroll', handleHeader, { passive:true });\n  window.addEventListener('load', handleHeader);\n\n  function clearTapFocus(el) {\n    if (!el || typeof el.blur !== 'function') return;\n\n    \/\/ En iOS\/Android algunos botones quedan en :focus\/:active despu\u00e9s del tap.\n    \/\/ Lo limpiamos apenas termina el evento para que no quede amarillo pegado.\n    setTimeout(() => {\n      try { el.blur(); } catch (_) {}\n    }, 0);\n  }\n\n  function injectMobileTapStateFix() {\n    if (document.getElementById('lsbaMobileTapStateFix')) return;\n\n    const style = document.createElement('style');\n    style.id = 'lsbaMobileTapStateFix';\n    style.textContent = `\n      .site-header .menu-toggle,\n      .site-header .language-button,\n      .site-header .mobile-language-inline-btn {\n        -webkit-tap-highlight-color: transparent !important;\n        touch-action: manipulation;\n      }\n\n      @media (hover: none) and (pointer: coarse) {\n        .site-header .menu-toggle:focus,\n        .site-header .menu-toggle:active,\n        .site-header .language-button:focus,\n        .site-header .language-button:active,\n        .site-header .mobile-language-inline-btn:focus,\n        .site-header .mobile-language-inline-btn:active {\n          background: #fff !important;\n          color: var(--ink) !important;\n          outline: none !important;\n          box-shadow: 0 8px 18px rgba(47,46,46,.05) !important;\n        }\n      }\n    `;\n    document.head.appendChild(style);\n  }\n\n  injectMobileTapStateFix();\n\n  function setMobileNavOpen(open) {\n    if (!mobileNav) return;\n\n    mobileNav.classList.toggle('open', !!open);\n    menuToggle?.setAttribute('aria-expanded', open ? 'true' : 'false');\n\n    if (!open) {\n      clearTapFocus(menuToggle);\n    }\n  }\n\n  menuToggle?.addEventListener('click', (e) => {\n    e.preventDefault();\n    e.stopPropagation();\n\n    const isOpen = mobileNav?.classList.contains('open');\n    setMobileNavOpen(!isOpen);\n    clearTapFocus(menuToggle);\n  });\n\n  menuToggle?.addEventListener('touchend', () => {\n    clearTapFocus(menuToggle);\n  }, { passive: true });\n\n  mobileNav?.addEventListener('click', (e) => {\n    \/\/ Evita que el click dentro del dropdown burbujee al document y lo cierre antes de interactuar.\n    e.stopPropagation();\n  });\n\n  $$('.nav-links a').forEach(link => {\n    link.addEventListener('click', () => {\n      setMobileNavOpen(false);\n    });\n  });\n\n  document.addEventListener('click', (e) => {\n    if (!mobileNav || !menuToggle) return;\n\n    if (!mobileNav.contains(e.target) && !menuToggle.contains(e.target)) {\n      setMobileNavOpen(false);\n    }\n  });\n\n\n  \/* =========================\n     MAPA SAN TELMO \u2014 LEAFLET\n     ========================= *\/\n\n  function injectSanTelmoMapRuntimeFix() {\n    if (document.getElementById('lsbaSanTelmoMapRuntimeFix')) return;\n\n    const style = document.createElement('style');\n    style.id = 'lsbaSanTelmoMapRuntimeFix';\n    style.textContent = `\n      #sanTelmoFunctionalMap {\n        width: 100% !important;\n        display: block !important;\n        position: relative !important;\n        background: #e8e1ce !important;\n      }\n\n      #sanTelmoFunctionalMap.leaflet-container {\n        width: 100% !important;\n      }\n\n      #sanTelmoFunctionalMap .leaflet-tile,\n      #sanTelmoFunctionalMap .leaflet-marker-icon,\n      #sanTelmoFunctionalMap .leaflet-marker-shadow {\n        max-width: none !important;\n        max-height: none !important;\n      }\n\n      #sanTelmoFunctionalMap .leaflet-control-container {\n        z-index: 20 !important;\n      }\n\n      @media (max-width: 768px) {\n        .lsba-map-shell {\n          height: 360px !important;\n          min-height: 360px !important;\n        }\n\n        #sanTelmoFunctionalMap,\n        #sanTelmoFunctionalMap.leaflet-container {\n          height: 360px !important;\n          min-height: 360px !important;\n        }\n      }\n\n      @media (max-width: 390px) {\n        .lsba-map-shell {\n          height: 330px !important;\n          min-height: 330px !important;\n        }\n\n        #sanTelmoFunctionalMap,\n        #sanTelmoFunctionalMap.leaflet-container {\n          height: 330px !important;\n          min-height: 330px !important;\n        }\n      }\n    `;\n\n    document.head.appendChild(style);\n  }\n\n  function initSanTelmoMap(attempt = 0) {\n    const el = $('#sanTelmoFunctionalMap');\n    if (!el) return;\n\n    injectSanTelmoMapRuntimeFix();\n\n    function getMobilePadding() {\n      return window.innerWidth <= 768 ? [22, 22] : [34, 34];\n    }\n\n    function refreshExistingMap() {\n      if (!window.lsbaSanTelmoMap) return;\n\n      try {\n        window.lsbaSanTelmoMap.invalidateSize(true);\n\n        if (Array.isArray(window.lsbaSanTelmoBounds) && window.lsbaSanTelmoBounds.length) {\n          window.lsbaSanTelmoMap.fitBounds(window.lsbaSanTelmoBounds, {\n            padding: getMobilePadding()\n          });\n        }\n      } catch (_) {}\n    }\n\n    \/\/ Evita crear el mapa dos veces si el script se ejecuta m\u00e1s de una vez\n    \/\/ o si DOMContentLoaded\/load disparan una segunda inicializaci\u00f3n.\n    if (window.lsbaSanTelmoMap) {\n      setTimeout(refreshExistingMap, 80);\n      setTimeout(refreshExistingMap, 300);\n      return;\n    }\n\n    \/\/ En mobile\/WordPress, Leaflet puede cargar tarde por defer\/delay JS\/cache.\n    \/\/ Si todav\u00eda no existe L, reintentamos varias veces en lugar de abandonar.\n    if (typeof L === 'undefined') {\n      if (attempt < 40) {\n        setTimeout(() => initSanTelmoMap(attempt + 1), 200);\n      } else {\n        console.warn('Leaflet no carg\u00f3: no se pudo iniciar el mapa San Telmo.');\n      }\n      return;\n    }\n\n    \/\/ Si alg\u00fan CSS externo dej\u00f3 el contenedor sin alto al momento de iniciar,\n    \/\/ le damos un alto real antes de crear Leaflet.\n    if (!el.offsetHeight || el.offsetHeight < 120) {\n      el.style.height = window.innerWidth <= 390 ? '330px' : (window.innerWidth <= 768 ? '360px' : '480px');\n      el.style.minHeight = el.style.height;\n    }\n\n    const map = L.map(el, {\n      scrollWheelZoom: false,\n      zoomControl: true,\n      tap: true\n    });\n\n    window.lsbaSanTelmoMap = map;\n\n    const tileLayer = L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n      maxZoom: 19,\n      attribution: '&copy; OpenStreetMap contributors',\n      detectRetina: true,\n      updateWhenIdle: false,\n      updateWhenZooming: false,\n      keepBuffer: 3\n    }).addTo(map);\n\n    tileLayer.on('tileerror', function () {\n      \/\/ Si alg\u00fan optimizador\/red bloquea tiles al primer intento, forzamos rec\u00e1lculo.\n      setTimeout(() => {\n        try {\n          map.invalidateSize(true);\n          tileLayer.redraw();\n        } catch (_) {}\n      }, 450);\n    });\n\n    const availablePointIcon = L.divIcon({\n      className: '',\n      html: '<div style=\"width:34px;height:34px;border-radius:999px 999px 999px 8px;background:#FFDE59;border:3px solid #2F2E2E;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.25)\"><i class=\"fa-solid fa-suitcase\" style=\"transform:rotate(45deg);color:#2F2E2E;font-size:13px\"><\/i><\/div>',\n      iconSize: [34, 34],\n      iconAnchor: [17, 30],\n      popupAnchor: [0, -28]\n    });\n\n    const placeIcon = L.divIcon({\n      className: '',\n      html: '<div style=\"width:30px;height:30px;border-radius:14px;background:#2F2E2E;color:#FFDE59;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.2)\"><i class=\"fa-solid fa-location-dot\" style=\"font-size:13px\"><\/i><\/div>',\n      iconSize: [30, 30],\n      iconAnchor: [15, 15],\n      popupAnchor: [0, -14]\n    });\n\n    const points = [\n      {\n        lat: -34.6154184,\n        lng: -58.3776377,\n        title: 'Punto verificado San Telmo Norte',\n        text: 'Disponible mediante reserva online. Ideal para empezar el recorrido por la zona m\u00e1s tur\u00edstica del barrio.'\n      },\n      {\n        lat: -34.6197973,\n        lng: -58.3730153,\n        title: 'Punto verificado San Telmo Sur',\n        text: 'Disponible mediante reserva online. Pr\u00e1ctico para moverte hacia Plaza Dorrego, casco hist\u00f3rico y Puerto Madero.'\n      }\n    ];\n\n    const places = [\n      {\n        lat: -34.6190,\n        lng: -58.3731,\n        title: 'Plaza Dorrego',\n        text: 'Zona tur\u00edstica de caf\u00e9s, anticuarios, tango y feria dominical.'\n      },\n      {\n        lat: -34.6163,\n        lng: -58.3719,\n        title: 'Mercado de San Telmo',\n        text: 'Mercado hist\u00f3rico y polo gastron\u00f3mico del barrio.'\n      },\n      {\n        lat: -34.6079,\n        lng: -58.3649,\n        title: 'Puente de la Mujer',\n        text: '\u00cdcono de Puerto Madero, caminable desde el casco hist\u00f3rico.'\n      },\n      {\n        lat: -34.6156,\n        lng: -58.3706,\n        title: 'Parque Lezama \/ casco hist\u00f3rico',\n        text: 'Referencia \u00fatil para recorridos hacia el sur de San Telmo.'\n      }\n    ];\n\n    const bounds = [];\n    window.lsbaSanTelmoBounds = bounds;\n\n    points.forEach((p) => {\n      const marker = L.marker([p.lat, p.lng], { icon: availablePointIcon }).addTo(map);\n      marker.bindPopup('<div class=\"lsba-popup\"><strong>' + p.title + '<\/strong><span>' + p.text + '<\/span><\/div>');\n      bounds.push([p.lat, p.lng]);\n    });\n\n    places.forEach((p) => {\n      const marker = L.marker([p.lat, p.lng], { icon: placeIcon }).addTo(map);\n      marker.bindPopup('<div class=\"lsba-popup\"><strong>' + p.title + '<\/strong><span>' + p.text + '<\/span><\/div>');\n      bounds.push([p.lat, p.lng]);\n    });\n\n    const route = [\n      [-34.6154184, -58.3776377],\n      [-34.6163, -58.3719],\n      [-34.6190, -58.3731],\n      [-34.6197973, -58.3730153],\n      [-34.6079, -58.3649]\n    ];\n\n    L.polyline(route, {\n      color: '#4f83ff',\n      weight: 4,\n      opacity: 0.75,\n      dashArray: '8, 8'\n    }).addTo(map);\n\n    function refreshSanTelmoMap() {\n      if (!window.lsbaSanTelmoMap) return;\n\n      try {\n        window.lsbaSanTelmoMap.invalidateSize(true);\n\n        if (bounds.length) {\n          window.lsbaSanTelmoMap.fitBounds(bounds, {\n            padding: getMobilePadding()\n          });\n        }\n      } catch (_) {}\n    }\n\n    window.lsbaRefreshSanTelmoMap = refreshSanTelmoMap;\n\n    refreshSanTelmoMap();\n\n    \/\/ Leaflet a veces calcula mal el tama\u00f1o si el layout responsive todav\u00eda\n    \/\/ est\u00e1 acomod\u00e1ndose. Forzamos varios recalculos seguros, especialmente mobile.\n    [80, 180, 350, 700, 1200, 2000, 3200].forEach((delay) => {\n      setTimeout(refreshSanTelmoMap, delay);\n    });\n\n    requestAnimationFrame(() => {\n      requestAnimationFrame(refreshSanTelmoMap);\n    });\n\n    if (!window.lsbaSanTelmoMapListenersBound) {\n      window.lsbaSanTelmoMapListenersBound = true;\n\n      window.addEventListener('load', refreshSanTelmoMap);\n      window.addEventListener('pageshow', refreshSanTelmoMap);\n      window.addEventListener('resize', refreshSanTelmoMap);\n      window.addEventListener('orientationchange', function () {\n        setTimeout(refreshSanTelmoMap, 350);\n        setTimeout(refreshSanTelmoMap, 900);\n      });\n\n      document.addEventListener('visibilitychange', function () {\n        if (!document.hidden) {\n          setTimeout(refreshSanTelmoMap, 150);\n        }\n      });\n    }\n\n    if ('ResizeObserver' in window) {\n      const mapShell = document.querySelector('.lsba-map-shell');\n      if (mapShell) {\n        const mapObserver = new ResizeObserver(() => {\n          setTimeout(refreshSanTelmoMap, 80);\n        });\n        mapObserver.observe(mapShell);\n      }\n    }\n\n    if ('IntersectionObserver' in window) {\n      const mapShell = document.querySelector('.lsba-map-shell');\n      if (mapShell) {\n        const visibilityObserver = new IntersectionObserver((entries) => {\n          entries.forEach((entry) => {\n            if (entry.isIntersecting) {\n              setTimeout(refreshSanTelmoMap, 120);\n              setTimeout(refreshSanTelmoMap, 500);\n            }\n          });\n        }, { threshold: 0.15 });\n\n        visibilityObserver.observe(mapShell);\n      }\n    }\n  }\n\n  initSanTelmoMap();\n\n  document.addEventListener('DOMContentLoaded', () => {\n    initSanTelmoMap();\n  });\n\n  window.addEventListener('load', () => {\n    initSanTelmoMap();\n\n    setTimeout(() => {\n      if (typeof window.lsbaRefreshSanTelmoMap === 'function') {\n        window.lsbaRefreshSanTelmoMap();\n      }\n    }, 400);\n  });\n\n  [300, 800, 1600, 2800].forEach((delay) => {\n    setTimeout(() => initSanTelmoMap(), delay);\n  });\n\n\n  \/* =========================\n     LANGUAGE\n     ========================= *\/\n\n  document.addEventListener('DOMContentLoaded', function () {\n    const languageButton = document.getElementById('languageButton');\n    const languageDropdown = document.getElementById('language-dropdown');\n    const currentFlag = document.getElementById('current-flag');\n\n    const mobileLangBtn = document.getElementById('mobileLanguageToggle');\n    const mobileLangFlag = document.getElementById('mobileLanguageToggleFlag');\n\n    const ES_FLAG = 'http:\/\/luggagestorageba.com\/wp-content\/uploads\/2024\/10\/mundo.png';\n    const EN_FLAG = 'https:\/\/luggagestorageba.com\/wp-content\/uploads\/2024\/10\/banderas.png';\n\n    function getCurrentLanguage() {\n      const path = window.location.pathname.toLowerCase();\n      return (path === '\/en' || path === '\/en\/' || path.startsWith('\/en\/')) ? 'en' : 'es';\n    }\n\n    function forceImage(img, src, alt) {\n      if (!img) return;\n\n      img.setAttribute('src', src);\n      img.src = src;\n      img.alt = alt || '';\n\n      img.removeAttribute('srcset');\n      img.removeAttribute('sizes');\n      img.removeAttribute('data-src');\n      img.removeAttribute('data-lazy-src');\n      img.removeAttribute('data-lazy-srcset');\n      img.removeAttribute('loading');\n      img.removeAttribute('decoding');\n    }\n\n    function syncLanguageUI() {\n      const currentLang = getCurrentLanguage();\n\n      if (currentFlag) {\n        forceImage(\n          currentFlag,\n          currentLang === 'en' ? EN_FLAG : ES_FLAG,\n          currentLang === 'en' ? 'English' : 'Espa\u00f1ol'\n        );\n      }\n\n      if (mobileLangBtn && mobileLangFlag) {\n        if (currentLang === 'en') {\n          forceImage(mobileLangFlag, ES_FLAG, 'Espa\u00f1ol');\n          mobileLangBtn.setAttribute('aria-label', 'Cambiar a espa\u00f1ol');\n          mobileLangBtn.dataset.nextLang = 'es';\n        } else {\n          forceImage(mobileLangFlag, EN_FLAG, 'English');\n          mobileLangBtn.setAttribute('aria-label', 'Switch to English');\n          mobileLangBtn.dataset.nextLang = 'en';\n        }\n      }\n    }\n\n    if (languageButton && languageDropdown) {\n      languageButton.addEventListener('click', function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n        languageDropdown.classList.toggle('show');\n        languageButton.setAttribute(\n          'aria-expanded',\n          languageDropdown.classList.contains('show') ? 'true' : 'false'\n        );\n        clearTapFocus(languageButton);\n      });\n\n      languageButton.addEventListener('touchend', function () {\n        clearTapFocus(languageButton);\n      }, { passive: true });\n\n      document.addEventListener('click', function (e) {\n        if (!e.target.closest('.language-switcher')) {\n          languageDropdown.classList.remove('show');\n          languageButton.setAttribute('aria-expanded', 'false');\n          clearTapFocus(languageButton);\n        }\n      });\n    }\n\n    if (mobileLangBtn) {\n      mobileLangBtn.addEventListener('click', function (e) {\n        e.preventDefault();\n        clearTapFocus(mobileLangBtn);\n        const nextLang = mobileLangBtn.dataset.nextLang || 'en';\n        changeLanguage(nextLang);\n      });\n\n      mobileLangBtn.addEventListener('touchend', function () {\n        clearTapFocus(mobileLangBtn);\n      }, { passive: true });\n    }\n\n    syncLanguageUI();\n\n    window.addEventListener('load', syncLanguageUI);\n    window.addEventListener('pageshow', syncLanguageUI);\n\n    setTimeout(syncLanguageUI, 100);\n    setTimeout(syncLanguageUI, 500);\n    setTimeout(syncLanguageUI, 1200);\n  });\n\n  function normalizePathForLanguage(pathname) {\n    let path = String(pathname || '\/').split('?')[0].split('#')[0].toLowerCase();\n    if (!path.startsWith('\/')) path = '\/' + path;\n    if (path.length > 1) path = path.replace(\/\\\/+$\/, '');\n    return path || '\/';\n  }\n\n  function goToPathKeepingQueryAndHash(path) {\n    const cleanPath = path || '\/';\n    window.location.href = cleanPath + window.location.search + window.location.hash;\n  }\n\n  window.changeLanguage = function changeLanguage(lang) {\n    const path = normalizePathForLanguage(window.location.pathname);\n\n    \/\/ Mapa de URLs que S\u00cd tienen versi\u00f3n en ingl\u00e9s\/espa\u00f1ol.\n    \/\/ Las landings de barrios que todav\u00eda no est\u00e1n traducidas quedan en la misma p\u00e1gina.\n    const toEnglish = {\n      '\/': '\/en',\n      '\/luggage-points': '\/en\/luggage-points'\n    };\n\n    const toSpanish = {\n      '\/en': '\/',\n      '\/en\/luggage-points': '\/luggage-points'\n    };\n\n    if (lang === 'en') {\n      if (toEnglish[path]) {\n        goToPathKeepingQueryAndHash(toEnglish[path]);\n        return;\n      }\n\n      \/\/ Ejemplo: \/guardaequipaje-san-telmo todav\u00eda no tiene \/en\/...\n      \/\/ No mandamos al home en ingl\u00e9s: dejamos al usuario en la landing actual.\n      return;\n    }\n\n    if (lang === 'es') {\n      if (toSpanish[path]) {\n        goToPathKeepingQueryAndHash(toSpanish[path]);\n        return;\n      }\n\n      \/\/ Si alg\u00fan d\u00eda est\u00e1s parado en \/en\/algo sin mapeo, como fallback sacamos \/en.\n      if (path.startsWith('\/en\/')) {\n        goToPathKeepingQueryAndHash(path.replace(\/^\\\/en\/, '') || '\/');\n      }\n    }\n  };\n\n  \/* =========================\n     RESERVATION MODAL\n     ========================= *\/\n\n  function openReservationModal() {\n    if (!reservationModal) return;\n\n    benefitModal?.classList.remove('is-open');\n    benefitModal?.setAttribute('aria-hidden', 'true');\n\n    reservationModal.classList.add('is-open');\n    reservationModal.setAttribute('aria-hidden', 'false');\n    lockBody();\n  }\n\n  function closeReservationModal() {\n    if (!reservationModal) return;\n\n    reservationModal.classList.remove('is-open');\n    reservationModal.setAttribute('aria-hidden', 'true');\n    unlockBodyIfNoModal();\n  }\n\n  $$('[data-open-reservation], .js-open-booking, .js-scroll-booking, a[href=\"#reserva\"]').forEach(btn => {\n    btn.addEventListener('click', (e) => {\n      e.preventDefault();\n      openReservationModal();\n    });\n  });\n\n  $$('[data-reservation-close]').forEach(el => {\n    el.addEventListener('click', closeReservationModal);\n  });\n\n  reservationPanel?.addEventListener('click', (e) => e.stopPropagation());\n\n  \/* =========================\n     BENEFIT MODAL\n     ========================= *\/\n\n  function openBenefitModalFromCard(cardBtn) {\n    if (!benefitModal || !cardBtn) return;\n\n    const title = cardBtn.dataset.modalTitle || 'Beneficio';\n    const badge = cardBtn.dataset.modalBadge || '';\n    const zone = cardBtn.dataset.modalZone || '';\n    const category = cardBtn.dataset.modalCategory || '';\n    const image = cardBtn.dataset.modalImage || '';\n    const description = cardBtn.dataset.modalDescription || '';\n    const terms = cardBtn.dataset.modalTerms || '';\n\n    if (benefitModalTitle) benefitModalTitle.textContent = title;\n    if (benefitModalBadge) benefitModalBadge.textContent = badge;\n    if (benefitModalMeta) benefitModalMeta.textContent = [category, zone].filter(Boolean).join(' \u00b7 ');\n    if (benefitModalDescription) benefitModalDescription.textContent = description;\n    if (benefitModalTerms) benefitModalTerms.textContent = terms;\n\n    if (benefitModalMedia) {\n      benefitModalMedia.style.backgroundImage = image ? `url(\"${image}\")` : '';\n    }\n\n    benefitModal.classList.add('is-open');\n    benefitModal.setAttribute('aria-hidden', 'false');\n    lockBody();\n  }\n\n  function closeBenefitModal() {\n    if (!benefitModal) return;\n\n    benefitModal.classList.remove('is-open');\n    benefitModal.setAttribute('aria-hidden', 'true');\n    unlockBodyIfNoModal();\n  }\n\n  $$('.lsba-benefit-card-btn').forEach(btn => {\n    btn.addEventListener('click', () => openBenefitModalFromCard(btn));\n  });\n\n  $$('[data-benefit-close]').forEach(el => {\n    el.addEventListener('click', closeBenefitModal);\n  });\n\n  benefitModalPanel?.addEventListener('click', (e) => e.stopPropagation());\n\n  \/* =========================\n     FORM + MODALS\n     ========================= *\/\n\n  const form = $('#lp-dates-form');\n\n  const baggageSummaryBtn = $('#lpBaggageSummaryBtn');\n  const baggageSummaryText = $('#lpBaggageSummaryText');\n  const qtyInput = $('#lpLuggageInput');\n  const backpacksInput = $('#lpBackpacksInput');\n\n  const startInput = $('#lp-start-date');\n  const endInput = $('#lp-end-date');\n  const affHidden = $('#aff_id_hidden');\n\n  const locationInput = $('#lpLocationInput');\n  const locationLatInput = $('#lpLocationLat');\n  const locationLngInput = $('#lpLocationLng');\n  const locationCityInput = $('#lpLocationCity');\n  const locationCountryInput = $('#lpLocationCountry');\n  const locationPlaceIdInput = $('#lpLocationPlaceId');\n\n  const dateSummaryBtn = $('#lpDateSummaryBtn');\n  const dateSummaryText = $('#lpDateSummaryText');\n  const dateCheck = $('#lpDateCheck');\n  const baggageCheck = $('#lpBaggageCheck');\n\n  const modal = $('#lpModal');\n  const modalBackdrop = modal ? $('.lp-modal-backdrop', modal) : null;\n  const modalPanel = modal ? $('.lp-modal-panel', modal) : null;\n  const modalClose = $('#lpModalClose');\n  const modalConfirm = $('#lpConfirmSelection');\n  const modalCheckinTime = $('#modalCheckinTime');\n  const modalCheckoutTime = $('#modalCheckoutTime');\n  const calendarEl = $('#lpInlineCalendar');\n  const btnToday = $('#btnToday');\n  const btnTomorrow = $('#btnTomorrow');\n\n  const baggageModal = $('#lpBaggageModal');\n  const baggageBackdrop = baggageModal ? $('.lp-modal-backdrop', baggageModal) : null;\n  const baggagePanel = baggageModal ? $('.lp-modal-panel', baggageModal) : null;\n  const baggageClose = $('#lpBaggageModalClose');\n  const baggageConfirm = $('#lpBaggageConfirm');\n\n  const luggageMinus = $('#lpLuggageMinus');\n  const luggagePlus = $('#lpLuggagePlus');\n  const backpacksMinus = $('#lpBackpacksMinus');\n  const backpacksPlus = $('#lpBackpacksPlus');\n\n  const luggageCount = $('#lpLuggageCount');\n  const backpacksCount = $('#lpBackpacksCount');\n\n  function pad(n) {\n    return String(n).padStart(2, '0');\n  }\n\n  function todayYmd() {\n    const d = new Date();\n    return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\n  }\n\n  function formatDisplayDate(ymd) {\n    if (!ymd) return '';\n    const [y, m, d] = ymd.split('-');\n    return `${d}\/${m}\/${y}`;\n  }\n\n  function formatShortDisplayDate(ymd) {\n    if (!ymd) return '';\n    const [, m, d] = ymd.split('-');\n    return `${d}\/${m}`;\n  }\n\n  function toDateSummary(startYmd, checkinTime, endYmd, checkoutTime) {\n    if (!startYmd || !endYmd || !checkinTime || !checkoutTime) {\n      return 'Seleccion\u00e1 fecha';\n    }\n\n    const sameDay = startYmd === endYmd;\n\n    if (sameDay) {\n      return `${formatShortDisplayDate(startYmd)} \u00b7 ${checkinTime} \u2192 ${checkoutTime}`;\n    }\n\n    return `${formatShortDisplayDate(startYmd)} ${checkinTime} \u2192 ${formatShortDisplayDate(endYmd)} ${checkoutTime}`;\n  }\n\n  function showCheck(el, show) {\n    if (!el) return;\n    el.classList.toggle('is-visible', !!show);\n  }\n\n  const locationState = {\n    text:'San Telmo, Buenos Aires, Argentina',\n    lat:'-34.6178',\n    lng:'-58.3762',\n    city:'Buenos Aires',\n    country:'Argentina',\n    placeId:'',\n    source:'landing_san_telmo'\n  };\n\n  function hasValidLocation() {\n    return !!(locationState.text && locationState.lat && locationState.lng);\n  }\n\n  function syncLocationHiddenInputs() {\n    if (locationInput) {\n      locationInput.value = locationState.text;\n      locationInput.readOnly = true;\n      locationInput.setAttribute('aria-label', 'Ubicaci\u00f3n fija: San Telmo, Buenos Aires');\n    }\n\n    if (locationLatInput) locationLatInput.value = locationState.lat;\n    if (locationLngInput) locationLngInput.value = locationState.lng;\n    if (locationCityInput) locationCityInput.value = locationState.city;\n    if (locationCountryInput) locationCountryInput.value = locationState.country;\n    if (locationPlaceIdInput) locationPlaceIdInput.value = locationState.placeId;\n  }\n\n  syncLocationHiddenInputs();\n\n  locationInput?.addEventListener('keydown', (e) => {\n    if (e.key === 'Enter') e.preventDefault();\n  });\n\n  \/* =========================\n     BAGGAGE\n     ========================= *\/\n\n  const BAGGAGE_MIN_TOTAL = 1;\n  const BAGGAGE_MAX_TOTAL = 50;\n  const BAGGAGE_PLACEHOLDER = 'Seleccion\u00e1 tu equipaje o mochila';\n\n  const baggageState = {\n    luggage: 0,\n    backpacks: 0\n  };\n\n  const baggageDraft = {\n    luggage: 0,\n    backpacks: 0\n  };\n\n  function safeInt(value, fallback = 0) {\n    const n = parseInt(value, 10);\n    return Number.isFinite(n) ? n : fallback;\n  }\n\n  function clampBaggagePair(luggage, backpacks) {\n    let nextLuggage = Math.max(0, safeInt(luggage, 0));\n    let nextBackpacks = Math.max(0, safeInt(backpacks, 0));\n    let total = nextLuggage + nextBackpacks;\n\n    if (total > BAGGAGE_MAX_TOTAL) {\n      const overflow = total - BAGGAGE_MAX_TOTAL;\n\n      if (nextBackpacks >= overflow) {\n        nextBackpacks -= overflow;\n      } else {\n        const remaining = overflow - nextBackpacks;\n        nextBackpacks = 0;\n        nextLuggage = Math.max(0, nextLuggage - remaining);\n      }\n    }\n\n    return {\n      luggage: nextLuggage,\n      backpacks: nextBackpacks\n    };\n  }\n\n  function baggageLabel(count, singular, plural) {\n    if (count === 1) return `1 ${singular}`;\n    return `${count} ${plural}`;\n  }\n\n  function getBaggageSummary(luggage, backpacks, forcePlaceholder = false) {\n    if (forcePlaceholder) return BAGGAGE_PLACEHOLDER;\n\n    const parts = [];\n\n    if (luggage > 0) {\n      parts.push(baggageLabel(luggage, 'maleta', 'maletas'));\n    }\n\n    if (backpacks > 0) {\n      parts.push(baggageLabel(backpacks, 'mochila peque\u00f1a', 'mochilas peque\u00f1as'));\n    }\n\n    return parts.length ? parts.join(' \u00b7 ') : BAGGAGE_PLACEHOLDER;\n  }\n\n  function isBaggageConfirmed() {\n    try {\n      return sessionStorage.getItem('lp:baggage_confirmed') === '1';\n    } catch (_) {\n      return false;\n    }\n  }\n\n  function setBaggageConfirmed() {\n    try {\n      sessionStorage.setItem('lp:baggage_confirmed', '1');\n    } catch (_) {}\n  }\n\n  function persistBaggageState() {\n    if (qtyInput) qtyInput.value = String(baggageState.luggage);\n    if (backpacksInput) backpacksInput.value = String(baggageState.backpacks);\n\n    try {\n      sessionStorage.setItem('lp:luggage_qty', String(baggageState.luggage));\n      sessionStorage.setItem('lp:backpacks_qty', String(baggageState.backpacks));\n    } catch (_) {}\n  }\n\n  function syncBaggageSummary() {\n    if (!baggageSummaryText) return;\n\n    const confirmed = isBaggageConfirmed();\n\n    baggageSummaryText.textContent = getBaggageSummary(\n      baggageState.luggage,\n      baggageState.backpacks,\n      !confirmed\n    );\n\n    showCheck(baggageCheck, confirmed);\n  }\n\n  function syncBaggageDraftUI() {\n    const luggage = baggageDraft.luggage;\n    const backpacks = baggageDraft.backpacks;\n    const total = luggage + backpacks;\n\n    if (luggageCount) luggageCount.textContent = String(luggage);\n    if (backpacksCount) backpacksCount.textContent = String(backpacks);\n\n    if (luggageMinus) luggageMinus.disabled = luggage <= 0;\n    if (backpacksMinus) backpacksMinus.disabled = backpacks <= 0;\n    if (luggagePlus) luggagePlus.disabled = total >= BAGGAGE_MAX_TOTAL;\n    if (backpacksPlus) backpacksPlus.disabled = total >= BAGGAGE_MAX_TOTAL;\n    if (baggageConfirm) baggageConfirm.disabled = total < BAGGAGE_MIN_TOTAL;\n  }\n\n  function setBaggageDraft(nextLuggage, nextBackpacks) {\n    const next = clampBaggagePair(nextLuggage, nextBackpacks);\n\n    baggageDraft.luggage = next.luggage;\n    baggageDraft.backpacks = next.backpacks;\n\n    syncBaggageDraftUI();\n  }\n\n  function loadBaggageState() {\n    let storedLuggage = 0;\n    let storedBackpacks = 0;\n\n    const confirmed = isBaggageConfirmed();\n\n    try {\n      if (confirmed) {\n        storedLuggage = safeInt(sessionStorage.getItem('lp:luggage_qty') || '0', 0);\n        storedBackpacks = safeInt(sessionStorage.getItem('lp:backpacks_qty') || '0', 0);\n      } else {\n        sessionStorage.removeItem('lp:luggage_qty');\n        sessionStorage.removeItem('lp:backpacks_qty');\n        sessionStorage.removeItem('lp:baggage_confirmed');\n      }\n    } catch (_) {}\n\n    const next = clampBaggagePair(storedLuggage, storedBackpacks);\n\n    baggageState.luggage = next.luggage;\n    baggageState.backpacks = next.backpacks;\n\n    persistBaggageState();\n    syncBaggageSummary();\n  }\n\n  function openBaggageModal() {\n    if (!baggageModal) return;\n\n    baggageDraft.luggage = baggageState.luggage;\n    baggageDraft.backpacks = baggageState.backpacks;\n\n    syncBaggageDraftUI();\n\n    baggageModal.classList.add('is-open');\n    baggageModal.setAttribute('aria-hidden', 'false');\n    lockBody();\n  }\n\n  function closeBaggageModal() {\n    if (!baggageModal) return;\n\n    baggageModal.classList.remove('is-open');\n    baggageModal.setAttribute('aria-hidden', 'true');\n    unlockBodyIfNoModal();\n  }\n\n  baggageSummaryBtn?.addEventListener('click', openBaggageModal);\n  baggageClose?.addEventListener('click', closeBaggageModal);\n  baggageBackdrop?.addEventListener('click', closeBaggageModal);\n  baggagePanel?.addEventListener('click', (e) => e.stopPropagation());\n\n  luggageMinus?.addEventListener('click', () => {\n    setBaggageDraft(baggageDraft.luggage - 1, baggageDraft.backpacks);\n  });\n\n  luggagePlus?.addEventListener('click', () => {\n    setBaggageDraft(baggageDraft.luggage + 1, baggageDraft.backpacks);\n  });\n\n  backpacksMinus?.addEventListener('click', () => {\n    setBaggageDraft(baggageDraft.luggage, baggageDraft.backpacks - 1);\n  });\n\n  backpacksPlus?.addEventListener('click', () => {\n    setBaggageDraft(baggageDraft.luggage, baggageDraft.backpacks + 1);\n  });\n\n  baggageConfirm?.addEventListener('click', () => {\n    const next = clampBaggagePair(baggageDraft.luggage, baggageDraft.backpacks);\n\n    baggageState.luggage = next.luggage;\n    baggageState.backpacks = next.backpacks;\n\n    setBaggageConfirmed();\n    persistBaggageState();\n    syncBaggageSummary();\n    closeBaggageModal();\n  });\n\n  loadBaggageState();\n\n  \/* =========================\n     DATE + TIME\n     ========================= *\/\n\n  const H_CHECKIN_MIN = 1;\n  const H_CHECKOUT_MIN = 0;\n  const H_MAX = 23;\n\n  const HOURS_CHECKIN = Array.from({ length: (H_MAX - H_CHECKIN_MIN + 1) }, (_, i) => i + H_CHECKIN_MIN);\n  const HOURS_CHECKOUT = Array.from({ length: (H_MAX - H_CHECKOUT_MIN + 1) }, (_, i) => i + H_CHECKOUT_MIN);\n\n  const HHMM_CHECKIN_RE = \/^((0[1-9])|(1\\d)|(2[0-3])):00$\/;\n  const HHMM_CHECKOUT_RE = \/^([01]\\d|2[0-3]):00$\/;\n\n  const state = {\n    startDate: '',\n    endDate: '',\n    checkinTime: '10:00',\n    checkoutTime: '06:00'\n  };\n\n  try {\n    state.startDate = sessionStorage.getItem('lp:start_date') || '';\n    state.endDate = sessionStorage.getItem('lp:end_date') || '';\n    state.checkinTime = sessionStorage.getItem('lp:checkin_time') || '10:00';\n    state.checkoutTime = sessionStorage.getItem('lp:checkout_time') || '06:00';\n  } catch (_) {}\n\n  if (!HHMM_CHECKIN_RE.test(state.checkinTime)) state.checkinTime = '10:00';\n  if (!HHMM_CHECKOUT_RE.test(state.checkoutTime)) state.checkoutTime = '06:00';\n\n  function renderOptions(hours) {\n    return hours.map(h => `<option value=\"${pad(h)}:00\">${pad(h)}:00<\/option>`).join('');\n  }\n\n  function hhmmToHour(v) {\n    const m = String(v || '').match(\/^(\\d{2}):(\\d{2})$\/);\n    if (!m) return null;\n    return parseInt(m[1], 10);\n  }\n\n  function genHourRange(from, to) {\n    const out = [];\n    for (let h = from; h <= to; h++) out.push(h);\n    return out;\n  }\n\n  function ymdToDate(ymd) {\n    if (!ymd) return null;\n    const [y, m, d] = ymd.split('-').map(Number);\n    return new Date(y, m - 1, d);\n  }\n\n  function dateToYmd(date) {\n    if (!(date instanceof Date)) return '';\n    return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;\n  }\n\n  function daysBetween(startYmd, endYmd) {\n    if (!startYmd || !endYmd) return null;\n\n    const ds = ymdToDate(startYmd);\n    const de = ymdToDate(endYmd);\n\n    if (!ds || !de) return null;\n\n    const MS = 24 * 60 * 60 * 1000;\n    return Math.round((de - ds) \/ MS);\n  }\n\n  function buildDateTime(ymd, hhmm) {\n    if (!ymd || !hhmm) return null;\n\n    const [y, m, d] = ymd.split('-').map(Number);\n    const [hh, mm] = hhmm.split(':').map(Number);\n\n    if (![y, m, d, hh, mm].every(Number.isFinite)) return null;\n\n    return new Date(y, m - 1, d, hh, mm, 0, 0);\n  }\n\n  function isChronologicallyValid(startDate, checkinTime, endDate, checkoutTime) {\n    const startDT = buildDateTime(startDate, checkinTime);\n    const endDT = buildDateTime(endDate, checkoutTime);\n\n    if (!startDT || !endDT) return false;\n\n    return endDT.getTime() > startDT.getTime();\n  }\n\n  function setSelectOptions(select, hours, defaultValue, placeholderText = 'Seleccionar') {\n    if (!select) return;\n\n    const prev = select.value;\n\n    select.innerHTML = `<option value=\"\">${placeholderText}<\/option>${renderOptions(hours)}`;\n\n    const stillValid = !!select.querySelector(`option[value=\"${prev}\"]`);\n\n    if (stillValid && prev) {\n      select.value = prev;\n    } else if (defaultValue && select.querySelector(`option[value=\"${defaultValue}\"]`)) {\n      select.value = defaultValue;\n    } else {\n      select.value = '';\n    }\n  }\n\n  function clearCheckout() {\n    if (!modalCheckoutTime) return;\n    modalCheckoutTime.innerHTML = '<option value=\"\">Seleccionar<\/option>';\n    modalCheckoutTime.value = '';\n  }\n\n  function populateCheckinOptions() {\n    const stored = state.checkinTime || '10:00';\n    const validStored = HHMM_CHECKIN_RE.test(stored);\n    setSelectOptions(modalCheckinTime, HOURS_CHECKIN, validStored ? stored : '10:00');\n  }\n\n  function populateCheckoutDefault() {\n    const stored = state.checkoutTime || '06:00';\n    const validStored = HHMM_CHECKOUT_RE.test(stored);\n    setSelectOptions(modalCheckoutTime, HOURS_CHECKOUT, validStored ? stored : '06:00');\n  }\n\n  function populateCheckoutOvernight() {\n    const stored = state.checkoutTime || '06:00';\n    const validStored = HHMM_CHECKOUT_RE.test(stored);\n    setSelectOptions(modalCheckoutTime, HOURS_CHECKOUT, validStored ? stored : '06:00');\n  }\n\n  function populateCheckoutSameDay(checkinTime) {\n    const h = hhmmToHour(checkinTime);\n\n    if (h == null) {\n      clearCheckout();\n      return;\n    }\n\n    const from = h + 1;\n\n    if (from > H_MAX) {\n      clearCheckout();\n      return;\n    }\n\n    const hours = genHourRange(from, H_MAX);\n    setSelectOptions(modalCheckoutTime, hours, `${pad(from)}:00`);\n  }\n\n  function syncVisibleFields() {\n    if (startInput) startInput.value = state.startDate || '';\n    if (endInput) endInput.value = state.endDate || '';\n\n    if (dateSummaryText) {\n      dateSummaryText.textContent = toDateSummary(\n        state.startDate,\n        state.checkinTime,\n        state.endDate,\n        state.checkoutTime\n      );\n    }\n\n    showCheck(\n      dateCheck,\n      !!(\n        state.startDate &&\n        state.endDate &&\n        state.checkinTime &&\n        state.checkoutTime &&\n        isChronologicallyValid(state.startDate, state.checkinTime, state.endDate, state.checkoutTime)\n      )\n    );\n  }\n\n  function updateConfirmButton() {\n    if (!modalConfirm) return;\n\n    modalConfirm.disabled = !(\n      state.startDate &&\n      state.endDate &&\n      state.checkinTime &&\n      state.checkoutTime &&\n      isChronologicallyValid(state.startDate, state.checkinTime, state.endDate, state.checkoutTime)\n    );\n  }\n\n  function applyCheckoutRule() {\n    const s = state.startDate;\n    const e = state.endDate;\n    const ci = modalCheckinTime?.value || state.checkinTime || '';\n\n    state.checkinTime = ci || '';\n\n    if (!s || !e || !ci) {\n      clearCheckout();\n      state.checkoutTime = '';\n      updateConfirmButton();\n      syncVisibleFields();\n      return;\n    }\n\n    const diff = daysBetween(s, e);\n\n    if (diff === 0) {\n      populateCheckoutSameDay(ci);\n    } else if (diff === 1) {\n      populateCheckoutOvernight();\n    } else {\n      populateCheckoutDefault();\n    }\n\n    state.checkoutTime = modalCheckoutTime?.value || '';\n\n    if (e && state.checkoutTime && !isChronologicallyValid(s, state.checkinTime, e, state.checkoutTime)) {\n      if (diff === 0) {\n        populateCheckoutSameDay(ci);\n      } else if (diff === 1) {\n        populateCheckoutOvernight();\n      } else {\n        populateCheckoutDefault();\n      }\n\n      state.checkoutTime = modalCheckoutTime?.value || '';\n    }\n\n    updateConfirmButton();\n    syncVisibleFields();\n  }\n\n  let fp = null;\n\n  function setSingleDayFromButton(offsetDays) {\n    const d = new Date();\n    d.setDate(d.getDate() + offsetDays);\n\n    const onlyDay = new Date(d.getFullYear(), d.getMonth(), d.getDate());\n\n    state.startDate = dateToYmd(onlyDay);\n    state.endDate = dateToYmd(onlyDay);\n\n    if (fp) {\n      fp.setDate([onlyDay, onlyDay], true);\n    } else {\n      populateCheckinOptions();\n      applyCheckoutRule();\n    }\n\n    syncVisibleFields();\n  }\n\n  function ensureFlatpickr() {\n    if (fp || !calendarEl || typeof flatpickr === 'undefined') return;\n\n    fp = flatpickr(calendarEl, {\n      inline: true,\n      mode: 'range',\n      minDate: 'today',\n      dateFormat: 'Y-m-d',\n      defaultDate: state.startDate && state.endDate ? [state.startDate, state.endDate] : null,\n      onChange(selectedDates) {\n        if (selectedDates.length === 2) {\n          state.startDate = dateToYmd(selectedDates[0]);\n          state.endDate = dateToYmd(selectedDates[1]);\n        } else if (selectedDates.length === 1) {\n          state.startDate = dateToYmd(selectedDates[0]);\n          state.endDate = '';\n        } else {\n          state.startDate = '';\n          state.endDate = '';\n        }\n\n        applyCheckoutRule();\n        syncVisibleFields();\n      }\n    });\n\n    btnToday?.addEventListener('click', () => {\n      setSingleDayFromButton(0);\n    });\n\n    btnTomorrow?.addEventListener('click', () => {\n      setSingleDayFromButton(1);\n    });\n  }\n\n  function syncFlatpickrFromState() {\n    if (!fp) return;\n\n    if (state.startDate && state.endDate) {\n      fp.setDate([state.startDate, state.endDate], true);\n    } else if (state.startDate) {\n      fp.setDate([state.startDate], true);\n    } else {\n      fp.clear(false);\n    }\n  }\n\n  function openDateModal() {\n    if (!modal || !modalCheckinTime || !modalCheckoutTime) return;\n\n    ensureFlatpickr();\n\n    modal.classList.add('is-open');\n    modal.setAttribute('aria-hidden', 'false');\n    lockBody();\n\n    if (!state.startDate) {\n      state.startDate = todayYmd();\n    }\n\n    if (!state.endDate) {\n      state.endDate = state.startDate;\n    }\n\n    populateCheckinOptions();\n    syncFlatpickrFromState();\n\n    if (modalCheckinTime.querySelector(`option[value=\"${state.checkinTime}\"]`)) {\n      modalCheckinTime.value = state.checkinTime;\n    } else {\n      modalCheckinTime.value = '10:00';\n      state.checkinTime = '10:00';\n    }\n\n    applyCheckoutRule();\n\n    if (modalCheckoutTime.querySelector(`option[value=\"${state.checkoutTime}\"]`)) {\n      modalCheckoutTime.value = state.checkoutTime;\n    }\n\n    state.checkoutTime = modalCheckoutTime.value || '';\n\n    updateConfirmButton();\n    syncVisibleFields();\n  }\n\n  function closeDateModal() {\n    if (!modal) return;\n\n    modal.classList.remove('is-open');\n    modal.setAttribute('aria-hidden', 'true');\n    unlockBodyIfNoModal();\n  }\n\n  dateSummaryBtn?.addEventListener('click', openDateModal);\n\n  modalClose?.addEventListener('click', closeDateModal);\n  modalBackdrop?.addEventListener('click', closeDateModal);\n  modalPanel?.addEventListener('click', (e) => e.stopPropagation());\n\n  modalCheckinTime?.addEventListener('change', () => {\n    state.checkinTime = modalCheckinTime.value || '';\n    applyCheckoutRule();\n    syncVisibleFields();\n  });\n\n  modalCheckoutTime?.addEventListener('change', () => {\n    state.checkoutTime = modalCheckoutTime.value || '';\n    updateConfirmButton();\n    syncVisibleFields();\n  });\n\n  modalConfirm?.addEventListener('click', () => {\n    const ci = modalCheckinTime?.value || '';\n    const co = modalCheckoutTime?.value || '';\n\n    if (!state.startDate || !state.endDate) {\n      alert('Seleccion\u00e1 fecha de ingreso y retiro.');\n      return;\n    }\n\n    if (!ci || !co) {\n      alert('Seleccion\u00e1 las horas de ingreso y retiro.');\n      return;\n    }\n\n    if (!isChronologicallyValid(state.startDate, ci, state.endDate, co)) {\n      alert('La fecha\/hora de retiro debe ser posterior a la de ingreso.');\n      return;\n    }\n\n    state.checkinTime = ci;\n    state.checkoutTime = co;\n\n    try {\n      sessionStorage.setItem('lp:start_date', state.startDate);\n      sessionStorage.setItem('lp:end_date', state.endDate);\n      sessionStorage.setItem('lp:checkin_time', state.checkinTime);\n      sessionStorage.setItem('lp:checkout_time', state.checkoutTime);\n    } catch (_) {}\n\n    syncVisibleFields();\n    closeDateModal();\n  });\n\n  document.addEventListener('keydown', (e) => {\n    if (e.key !== 'Escape') return;\n\n    if (baggageModal?.classList.contains('is-open')) {\n      closeBaggageModal();\n      return;\n    }\n\n    if (modal?.classList.contains('is-open')) {\n      closeDateModal();\n      return;\n    }\n\n    if (benefitModal?.classList.contains('is-open')) {\n      closeBenefitModal();\n      return;\n    }\n\n    if (reservationModal?.classList.contains('is-open')) {\n      closeReservationModal();\n    }\n  });\n\n  const aff =\n    new URLSearchParams(window.location.search).get('aff_id') ||\n    (() => {\n      try {\n        return sessionStorage.getItem('lp:aff_id') || '';\n      } catch (_) {\n        return '';\n      }\n    })();\n\n  if (affHidden && aff) {\n    affHidden.value = aff;\n\n    try {\n      sessionStorage.setItem('lp:aff_id', aff);\n    } catch (_) {}\n  }\n\n  syncVisibleFields();\n\n  form?.addEventListener('submit', (e) => {\n    e.preventDefault();\n\n    if (!hasValidLocation()) {\n      alert('No pudimos confirmar la ubicaci\u00f3n.');\n      return;\n    }\n\n    if ((baggageState.luggage + baggageState.backpacks) < BAGGAGE_MIN_TOTAL) {\n      alert('Seleccion\u00e1 al menos una maleta o mochila peque\u00f1a.');\n      openBaggageModal();\n      return;\n    }\n\n    if (!state.startDate || !state.endDate || !state.checkinTime || !state.checkoutTime) {\n      openDateModal();\n      return;\n    }\n\n    if (!isChronologicallyValid(state.startDate, state.checkinTime, state.endDate, state.checkoutTime)) {\n      alert('La fecha\/hora de retiro debe ser posterior a la de ingreso.');\n      openDateModal();\n      return;\n    }\n\n    const qs = new URLSearchParams({\n      start: state.startDate,\n      end: state.endDate,\n      checkin: state.checkinTime,\n      checkout: state.checkoutTime,\n      luggage: String(baggageState.luggage),\n      backpacks: String(baggageState.backpacks),\n      location_text: locationState.text,\n      lat: locationState.lat,\n      lng: locationState.lng,\n      city: locationState.city,\n      country: locationState.country,\n      place_id: locationState.placeId\n    });\n\n    if (affHidden?.value) {\n      qs.set('aff_id_hidden', affHidden.value);\n    }\n\n    const currentPath = window.location.pathname || '';\n    const isEnglish = currentPath === '\/en' || currentPath.startsWith('\/en\/');\n    const pointsPath = isEnglish ? '\/en\/luggage-points' : '\/luggage-points';\n\n    window.location.href = `${pointsPath}?${qs.toString()}`;\n  });\n\n})();\n<\/script>\n\n\n  <!-- Header e idioma ya est\u00e1n manejados en el script principal.\n       Se eliminaron bloques duplicados para evitar doble toggle del men\u00fa mobile\n       y redirecciones de idioma incorrectas. -->\n\n\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"Service\",\n    \"name\": \"Guarda equipaje en San Telmo\",\n    \"provider\": {\n      \"@type\": \"Organization\",\n      \"name\": \"Luggage Storage BA\",\n      \"url\": \"https:\/\/luggagestorageba.com\/\"\n    },\n    \"areaServed\": {\n      \"@type\": \"Place\",\n      \"name\": \"San Telmo, Buenos Aires\"\n    },\n    \"serviceType\": \"Luggage storage\",\n    \"description\": \"Gu\u00eda local y reserva online para guardar equipaje en San Telmo, Buenos Aires.\",\n    \"url\": \"https:\/\/luggagestorageba.com\/guardaequipaje-san-telmo\/\"\n  }\n  <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Guarda equipaje en San Telmo | Luggage Storage BA Ubicaciones C\u00f3mo funciona Servicios Opiniones Contacto Ver puntos Reservar ahora Inicio \/ Ubicaciones \/ San Telmo Gu\u00eda local para viajeros Guarda equipaje en San Telmo Una gu\u00eda pr\u00e1ctica para organizar unas horas libres entre check-out, paseos, caf\u00e9s, mercados y el pr\u00f3ximo tramo de tu viaje por [&hellip;]<\/p>","protected":false},"author":2,"featured_media":19784,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"inline_featured_image":false,"_joinchat":[],"footnotes":""},"class_list":["post-20319","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Guarda equipaje en San Telmo | Luggage Storage BA<\/title>\n<meta name=\"description\" content=\"Guard\u00e1 tu equipaje en San Telmo y aprovech\u00e1 el d\u00eda cerca del Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico. Reserv\u00e1 online.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/luggagestorageba.com\/en\/guarda-equipaje-san-telmo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Guarda equipaje en San Telmo | Luggage Storage BA\" \/>\n<meta property=\"og:description\" content=\"Guard\u00e1 tu equipaje en San Telmo y aprovech\u00e1 el d\u00eda cerca del Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico. Reserv\u00e1 online.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/luggagestorageba.com\/en\/guarda-equipaje-san-telmo\/\" \/>\n<meta property=\"og:site_name\" content=\"Luggage Storage BA\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-03T18:23:09+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1266\" \/>\n\t<meta property=\"og:image:height\" content=\"1265\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/\",\"url\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/\",\"name\":\"Guarda equipaje en San Telmo | Luggage Storage BA\",\"isPartOf\":{\"@id\":\"https:\/\/luggagestorageba.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp\",\"datePublished\":\"2026-07-03T16:34:21+00:00\",\"dateModified\":\"2026-07-03T18:23:09+00:00\",\"description\":\"Guard\u00e1 tu equipaje en San Telmo y aprovech\u00e1 el d\u00eda cerca del Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico. Reserv\u00e1 online.\",\"breadcrumb\":{\"@id\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#primaryimage\",\"url\":\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp\",\"contentUrl\":\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp\",\"width\":1266,\"height\":1265},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/luggagestorageba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guarda Equipaje en San Telmo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/luggagestorageba.com\/#website\",\"url\":\"https:\/\/luggagestorageba.com\/\",\"name\":\"Luggage Storage BA\",\"description\":\"Luggage Storage BA - Guarda Equipaje\",\"publisher\":{\"@id\":\"https:\/\/luggagestorageba.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/luggagestorageba.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/luggagestorageba.com\/#organization\",\"name\":\"Luggage Storage BA\",\"url\":\"https:\/\/luggagestorageba.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/luggagestorageba.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2023\/04\/favicon-32x32-1.png\",\"contentUrl\":\"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2023\/04\/favicon-32x32-1.png\",\"width\":32,\"height\":32,\"caption\":\"Luggage Storage BA\"},\"image\":{\"@id\":\"https:\/\/luggagestorageba.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Guarda equipaje en San Telmo | Luggage Storage BA","description":"Guard\u00e1 tu equipaje en San Telmo y aprovech\u00e1 el d\u00eda cerca del Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico. Reserv\u00e1 online.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/luggagestorageba.com\/en\/guarda-equipaje-san-telmo\/","og_locale":"en_US","og_type":"article","og_title":"Guarda equipaje en San Telmo | Luggage Storage BA","og_description":"Guard\u00e1 tu equipaje en San Telmo y aprovech\u00e1 el d\u00eda cerca del Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico. Reserv\u00e1 online.","og_url":"https:\/\/luggagestorageba.com\/en\/guarda-equipaje-san-telmo\/","og_site_name":"Luggage Storage BA","article_modified_time":"2026-07-03T18:23:09+00:00","og_image":[{"width":1266,"height":1265,"url":"http:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/","url":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/","name":"Guarda equipaje en San Telmo | Luggage Storage BA","isPartOf":{"@id":"https:\/\/luggagestorageba.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#primaryimage"},"image":{"@id":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#primaryimage"},"thumbnailUrl":"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp","datePublished":"2026-07-03T16:34:21+00:00","dateModified":"2026-07-03T18:23:09+00:00","description":"Guard\u00e1 tu equipaje en San Telmo y aprovech\u00e1 el d\u00eda cerca del Mercado, Plaza Dorrego, Puerto Madero y el casco hist\u00f3rico. Reserv\u00e1 online.","breadcrumb":{"@id":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#primaryimage","url":"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp","contentUrl":"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2026\/06\/cropped-logoamarilloredondo.webp","width":1266,"height":1265},{"@type":"BreadcrumbList","@id":"https:\/\/luggagestorageba.com\/guarda-equipaje-san-telmo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/luggagestorageba.com\/"},{"@type":"ListItem","position":2,"name":"Guarda Equipaje en San Telmo"}]},{"@type":"WebSite","@id":"https:\/\/luggagestorageba.com\/#website","url":"https:\/\/luggagestorageba.com\/","name":"Luggage Storage BA","description":"Luggage Storage BA - Guarda Equipaje","publisher":{"@id":"https:\/\/luggagestorageba.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/luggagestorageba.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/luggagestorageba.com\/#organization","name":"Luggage Storage BA","url":"https:\/\/luggagestorageba.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/luggagestorageba.com\/#\/schema\/logo\/image\/","url":"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2023\/04\/favicon-32x32-1.png","contentUrl":"https:\/\/luggagestorageba.com\/wp-content\/uploads\/2023\/04\/favicon-32x32-1.png","width":32,"height":32,"caption":"Luggage Storage BA"},"image":{"@id":"https:\/\/luggagestorageba.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/pages\/20319"}],"collection":[{"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/comments?post=20319"}],"version-history":[{"count":0,"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/pages\/20319\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/media\/19784"}],"wp:attachment":[{"href":"https:\/\/luggagestorageba.com\/en\/wp-json\/wp\/v2\/media?parent=20319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}