/*
  Global London Baby button style correction.
  CSS-only. No JavaScript. No DOM mutation. No click-handler changes.
  Purpose: restore the premium pill/button treatment globally without breaking card tapping.
*/

/* Core action buttons in detail cards and modal cards */
.detail-action-button,
.action-btn,
.card-action,
.card-actions a,
.card-actions button,
.detail-actions a,
.detail-actions button,
.action-stack a,
.action-stack button,
.button-stack a,
.button-stack button,
.event-actions a,
.event-actions button,
.actions a,
.actions button,
#detailActions a,
#detailActions button {
  position: relative !important;
  box-sizing: border-box !important;
  min-height: 72px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 12px 22px 12px 14px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(255,255,255,.36) !important;
  text-decoration: none !important;
  color: #fff !important;
  font-size: clamp(22px, 4.8vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  text-shadow: 0 2px 2px rgba(0,0,0,.38) !important;
  box-shadow:
    0 12px 26px rgba(20, 35, 65, .24),
    inset 0 2px 0 rgba(255,255,255,.30),
    inset 0 -3px 0 rgba(0,0,0,.20) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Generic website buttons: silver-blue glass */
.action-website,
.action-site,
.action-web,
.detail-action-button.action-website,
a[href^="http"]:not([href*="tripadvisor"]):not([href*="maps.apple"]):not([href*="google.com/maps"]):not([href*="tel:"]):not([href*="uber"]):not([href*="lyft"]):not([href*="static.app"]):not([href*="static2.website"]) {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.30), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #74879b 0%, #536b83 43%, #2f4055 100%) !important;
  border-color: rgba(190, 215, 238, .68) !important;
}

/* Tube / transport / TfL style: London blue */
.action-tube,
.action-transit,
.action-transport,
.action-tfl,
.detail-action-button.action-tube,
.detail-action-button.action-transit,
.detail-action-button.action-transport,
.detail-action-button.action-tfl,
a[href*="tfl.gov.uk"],
a[href*="tube-map"],
a[href*="underground"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.24), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #063a9c 0%, #0049b8 45%, #002c82 100%) !important;
  border-color: rgba(79, 152, 255, .58) !important;
}

/* Maps buttons: red/pink marker treatment */
.action-map,
.action-maps,
.action-directions,
.detail-action-button.action-map,
.detail-action-button.action-maps,
.detail-action-button.action-directions,
a[href*="maps.apple"],
a[href*="google.com/maps"],
a[href*="maps.google"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.25), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #f45d69 0%, #d42f45 48%, #9e142a 100%) !important;
  border-color: rgba(255, 207, 214, .62) !important;
}

/* TripAdvisor buttons: green */
.action-tripadvisor,
.detail-action-button.action-tripadvisor,
a[href*="tripadvisor"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.26), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #25a06b 0%, #138557 48%, #09633f 100%) !important;
  border-color: rgba(181, 255, 218, .56) !important;
}

/* Phone/call buttons */
.action-call,
.action-phone,
.detail-action-button.action-call,
.detail-action-button.action-phone,
a[href^="tel:"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.26), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #19a56d 0%, #0c8556 48%, #05623f 100%) !important;
  border-color: rgba(188, 255, 223, .56) !important;
}

/* Memory Moment buttons: preserve premium plum treatment */
.action-memory,
.lb-memory-action,
.dalston-premium-memory-button,
.horsemeat-premium-memory-button,
.banya-premium-memory-button {
  background:
    radial-gradient(circle at 17% 0%, rgba(255, 217, 236, .28), rgba(255, 217, 236, 0) 28%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 36%),
    linear-gradient(135deg, #281225 0%, #33162f 35%, #4a1f41 62%, #6d315f 100%) !important;
  border-color: rgba(238, 187, 209, .58) !important;
}

/* Icons inside buttons should retain polished circular treatment */
.detail-action-button .action-icon,
.action-btn .action-icon,
.card-actions .action-icon,
.detail-actions .action-icon,
.action-stack .action-icon,
.button-stack .action-icon,
.event-actions .action-icon,
.actions .action-icon,
#detailActions .action-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.36), rgba(255,255,255,0) 45%),
    linear-gradient(145deg, rgba(255,255,255,.20), rgba(255,255,255,.05)) !important;
  border: 2px solid rgba(255,255,255,.24) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.22),
    inset 0 -3px 0 rgba(0,0,0,.14),
    0 7px 16px rgba(0,0,0,.14) !important;
  text-shadow: none !important;
  flex: 0 0 auto !important;
}

/* Labels/arrows */
.detail-action-button .action-label,
.action-btn .action-label,
.card-actions .action-label,
.detail-actions .action-label,
.action-stack .action-label,
.button-stack .action-label,
.event-actions .action-label,
.actions .action-label,
#detailActions .action-label {
  color: #fff !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-shadow: 0 2px 2px rgba(0,0,0,.38) !important;
}

.detail-action-button .action-arrow,
.action-btn .action-arrow,
.card-actions .action-arrow,
.detail-actions .action-arrow,
.action-stack .action-arrow,
.button-stack .action-arrow,
.event-actions .action-arrow,
.actions .action-arrow,
#detailActions .action-arrow {
  margin-left: auto !important;
  color: #fff !important;
  font-size: 46px !important;
  line-height: .7 !important;
  font-weight: 250 !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.45) !important;
}

/* Keep Static.app hosted badge hidden globally */
a[href*="static.app"],
a[href*="static2.website"],
button[onclick*="static.app"],
button[onclick*="static2.website"],
iframe[src*="static.app"],
iframe[src*="static2.website"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Mobile refinements */
@media (max-width: 760px) {
  .detail-action-button,
  .action-btn,
  .card-action,
  .card-actions a,
  .card-actions button,
  .detail-actions a,
  .detail-actions button,
  .action-stack a,
  .action-stack button,
  .button-stack a,
  .button-stack button,
  .event-actions a,
  .event-actions button,
  .actions a,
  .actions button,
  #detailActions a,
  #detailActions button {
    min-height: 68px !important;
    gap: 12px !important;
    padding: 10px 20px 10px 12px !important;
    font-size: 27px !important;
  }

  .detail-action-button .action-icon,
  .action-btn .action-icon,
  .card-actions .action-icon,
  .detail-actions .action-icon,
  .action-stack .action-icon,
  .button-stack .action-icon,
  .event-actions .action-icon,
  .actions .action-icon,
  #detailActions .action-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }

  .detail-action-button .action-arrow,
  .action-btn .action-arrow,
  .card-actions .action-arrow,
  .detail-actions .action-arrow,
  .action-stack .action-arrow,
  .button-stack .action-arrow,
  .event-actions .action-arrow,
  .actions .action-arrow,
  #detailActions .action-arrow {
    font-size: 42px !important;
  }
}