/* High-visibility partner booking card. */
.booking-panel{
  margin:30px 0;padding:20px;border:1px solid #cbd9ea;border-radius:19px;
  background:linear-gradient(145deg,#fff9f4 0%,#f5fbff 48%,#f7fff9 100%);
  box-shadow:0 12px 30px rgba(24,58,92,.11)
}
.booking-copy{max-width:720px}
.booking-kicker{
  margin:0 0 7px;color:#d94f39;font-size:12px;font-weight:950;
  letter-spacing:1.4px
}
.booking-copy h2{margin:0 0 7px;font-size:24px;letter-spacing:-.6px;color:#172b4d}
.booking-copy>p:last-child{margin:0;color:#5f7182;line-height:1.6}
.booking-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.booking-actions a{
  display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;
  min-height:58px;padding:0 14px;border:1px solid #d5e1ea;border-radius:14px;
  background:#fff;color:#203d52;text-decoration:none;
  box-shadow:0 4px 12px rgba(31,55,78,.06);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
.booking-actions a:hover,.booking-actions a:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px rgba(31,55,78,.12)}
.booking-actions span{font-size:20px}
.booking-actions strong{font-size:13px;font-weight:900}
.booking-actions small{color:#65798b;font-weight:900}
.booking-actions a[data-booking-provider="klook-hotel"]{border-color:#79d8c2;background:linear-gradient(135deg,#e8fff8,#f8fffc);color:#08675b}
.booking-actions a[data-booking-provider="klook-hotel"]:hover,.booking-actions a[data-booking-provider="klook-hotel"]:focus-visible{border-color:#38a88d}
.booking-actions a[data-booking-provider="myrealtrip-hotel"]{border-color:#ffc194;background:linear-gradient(135deg,#fff1e7,#fffaf6);color:#a84312}
.booking-actions a[data-booking-provider="myrealtrip-hotel"]:hover,.booking-actions a[data-booking-provider="myrealtrip-hotel"]:focus-visible{border-color:#ef8b45}
.booking-actions a[data-booking-provider="trip-stay"]{border-color:#9dbdfb;background:linear-gradient(135deg,#eaf2ff,#f8fbff);color:#1750ad}
.booking-actions a[data-booking-provider="trip-stay"]:hover,.booking-actions a[data-booking-provider="trip-stay"]:focus-visible{border-color:#5f8fe7}
.booking-actions a[data-booking-provider="agoda"]{border-color:#d1b5ff;background:linear-gradient(135deg,#f5eeff,#fcf9ff);color:#6432a8}
.booking-actions a[data-booking-provider="booking"]{border-color:#8fc4ee;background:linear-gradient(135deg,#edf8ff,#f8fcff);color:#155d96}
.booking-note,.booking-affiliate{margin:10px 0 0;color:#657786;font-size:11px;line-height:1.55}
.booking-affiliate{padding:9px 10px;border:1px solid #e0e8ef;border-radius:10px;background:rgba(255,255,255,.72);color:#536a75}
@media(max-width:680px){
  .booking-panel{padding:16px}
  .booking-actions{grid-template-columns:1fr}
  .booking-actions a{min-height:54px}
}
.local-tools{margin:30px 0;padding:22px;border:1px solid #d7e6e1;border-radius:18px;background:linear-gradient(135deg,#f8fffc,#fff)}.local-tools-kicker{margin:0 0 6px;color:#0f7a63;font-size:11px;font-weight:900;letter-spacing:1px}.local-tools-copy h2{margin:0 0 7px;font-size:23px}.local-tools-copy p{margin:0;color:#667d78;line-height:1.65}.local-tools-copy small{display:block;margin-top:7px;color:#849590}.local-tools-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:17px}.local-tools-grid a{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;min-height:54px;padding:0 12px;border:1px solid #d7e6e1;border-radius:12px;background:#fff;color:#184f45;text-decoration:none}.local-tools-grid a:hover,.local-tools-grid a:focus-visible{border-color:#0f7a63;box-shadow:0 5px 16px #0f7a6315}.local-tools-grid span{font-size:18px}.local-tools-grid strong{font-size:12px;line-height:1.35}.local-tools-grid small{color:#6f8c84}.local-tools-note{margin:10px 0 0;color:#718781;font-size:11px;line-height:1.55}@media(max-width:900px){.local-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.booking-panel,.local-tools{padding:18px}.booking-actions{grid-template-columns:1fr}.booking-actions a{min-height:54px}.local-tools-grid{grid-template-columns:1fr 1fr}.local-tools-grid a{min-height:52px}}@media(max-width:430px){.local-tools{padding:14px;margin:16px 0}.local-tools-copy h2{font-size:19px}.local-tools-copy p{font-size:13px;line-height:1.5}.local-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.local-tools-grid a{min-height:52px;padding:8px;gap:5px;grid-template-columns:auto minmax(0,1fr) auto}.local-tools-grid strong{font-size:12px;overflow-wrap:anywhere}.local-tools-grid span{font-size:17px}.local-tools-note{font-size:11px}}

.local-tools-grid .local-map-open{border-color:#2f6fbd;background:linear-gradient(135deg,#eaf3ff,#f7fbff);color:#174b86}
.local-tools-grid .local-map-open strong{color:#174b86}
.local-tools-grid .local-map-open:hover,.local-tools-grid .local-map-open:focus-visible{border-color:#1f5fa9;box-shadow:0 6px 18px #245e9c24}
.local-tools{margin-top:18px;margin-bottom:12px;padding-top:16px;padding-bottom:14px}

/* Destination map toggle lives beside the local tools to reduce vertical travel. */
.local-tools-grid button{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;min-height:54px;padding:0 12px;border:1px solid #d7e6e1;border-radius:12px;background:#fff;color:#184f45;font:inherit;text-align:left;cursor:pointer}
.local-tools-grid button:hover,.local-tools-grid button:focus-visible{border-color:#0f7a63;box-shadow:0 5px 16px #0f7a6315}
.local-tools-grid button span{font-size:18px}.local-tools-grid button strong{font-size:12px;line-height:1.35}.local-tools-grid button small{color:#6f8c84}
.local-tools-grid .local-map-open{border-color:#4f72d8;background:linear-gradient(135deg,#eef3ff,#f4f1ff);color:#2d4e9d}
.local-tools-grid [data-local-tool="menu_translate"]{border-color:#d79a4b;background:#fff7e8;color:#895414}
.local-tools-grid [data-local-tool="restaurant"]{border-color:#e5b08b;background:#fff8f3;color:#914a22}
.local-tools-grid [data-local-tool="hospital"],.local-tools-grid [data-local-tool="pharmacy"]{border-color:#e5a2a2;background:#fff4f4;color:#943b3b}
@media(max-width:680px){.local-tools-grid button{min-height:52px;padding:8px}}

/* Provider family colors v2 */
.booking-actions a[data-booking-provider^="klook"]{border-color:#79d8c2;background:linear-gradient(135deg,#e8fff8,#f8fffc);color:#08675b}
.booking-actions a[data-booking-provider^="myrealtrip"]{border-color:#ffc194;background:linear-gradient(135deg,#fff1e7,#fffaf6);color:#a84312}
.booking-actions a[data-booking-provider^="trip-"]{border-color:#9dbdfb;background:linear-gradient(135deg,#eaf2ff,#f8fbff);color:#1750ad}
.booking-actions a[data-booking-provider="getyourguide"]{border-color:#f1c36c;background:linear-gradient(135deg,#fff7df,#fffdf5);color:#8b5a08}
.booking-actions a[data-booking-provider="viator"]{border-color:#c7a9ef;background:linear-gradient(135deg,#f5efff,#fcf9ff);color:#64349d}
.booking-actions a[data-booking-provider="tiqets"]{border-color:#f0aeca;background:linear-gradient(135deg,#fff0f6,#fff9fc);color:#9a315d}
.booking-actions a[data-booking-provider="omio"]{border-color:#dfa9df;background:linear-gradient(135deg,#faeffb,#fff9ff);color:#7c347d}
.booking-actions a[data-booking-provider="discovercars"]{border-color:#9bcfa8;background:linear-gradient(135deg,#eefaf1,#fbfffc);color:#246538}

.booking-actions a[data-booking-provider="airalo"]{border-color:#91cce9;background:linear-gradient(135deg,#eaf8ff,#f8fdff);color:#17668e}
.booking-actions a[data-booking-provider="holafly"]{border-color:#bba7ed;background:linear-gradient(135deg,#f2efff,#fbfaff);color:#56409b}
.booking-actions a[data-booking-provider="agoda"]{border-color:#d1b5ff;background:linear-gradient(135deg,#f5eeff,#fcf9ff);color:#6432a8}
.booking-actions a[data-booking-provider="booking"]{border-color:#8fc4ee;background:linear-gradient(135deg,#edf8ff,#f8fcff);color:#155d96}
.booking-actions a[data-booking-kind="flight"]:not([data-booking-provider]){background:#eef6ff;border-color:#a7c9f4;color:#245d9c}
.booking-actions a[data-booking-kind="tour"]:not([data-booking-provider]){background:#f6efff;border-color:#cbb1eb;color:#674098}
.booking-actions a[data-booking-kind="car"]:not([data-booking-provider]){background:#eefaf1;border-color:#abd5b4;color:#2b6840}
.booking-actions a[data-booking-kind="esim"]:not([data-booking-provider]){background:#ecfbff;border-color:#a7dce8;color:#246b7e}
.booking-actions a[data-booking-provider]:hover,.booking-actions a[data-booking-provider]:focus-visible{filter:saturate(1.06);box-shadow:0 9px 20px rgba(31,55,78,.13)}


/* 2026-10-05 mobile usability: keep partner choice without a long vertical wall. */
@media(max-width:680px){
  .booking-panel{margin:18px 0;padding:14px;border-radius:16px}
  .booking-copy h2{font-size:20px}
  .booking-copy>p{font-size:12px;line-height:1.5}
  .booking-actions{
    display:grid;
    grid-template-columns:none;
    grid-template-rows:repeat(2,minmax(0,1fr));
    grid-auto-flow:column;
    grid-auto-columns:minmax(188px,76%);
    gap:8px;
    margin-top:12px;
    padding:0 2px 5px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
  }
  .booking-actions a{min-height:48px;padding:8px 10px;scroll-snap-align:start}
  .booking-actions strong{font-size:12px;line-height:1.3}
  .booking-actions span{font-size:18px}
  .booking-note,.booking-affiliate{margin-top:8px}
}
