/* Externalized from inline css in public page bloat-reduction phase. Source marker: destination.php:google-route-logic-map-section. */
/* Tailored: satellite Google route atlas, tighter Kenya framing, native-looking named pins, ultra-thin route lines, and animated 3D carousel hover galleries. */
.ol14-google-route-logic{
  --ol14-map-gold:#e9cf8b;
  --ol14-map-green:#143b2b;
  --ol14-map-ivory:#fff6d8;
  background:
    radial-gradient(circle at 86% 14%,rgba(233,207,139,.15),transparent 30%),
    radial-gradient(circle at 18% 82%,rgba(116,145,102,.12),transparent 30%),
    linear-gradient(180deg,#071a12 0%,#09261a 48%,#06150f 100%);
}
.ol14-google-route-logic .ol14-map-copy{align-self:start;position:sticky;top:132px}
.ol14-google-route-logic .ol14-map-copy p{max-width:620px}
.ol14-google-route-logic .ol14-map-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px}
.ol14-google-route-logic .ol14-map-legend span{border:1px solid rgba(255,248,225,.13);background:rgba(255,255,255,.045);border-radius:999px;padding:10px 12px;backdrop-filter:blur(12px)}
.ol14-google-map-panel{
  position:relative;
  min-height:clamp(650px,73vw,880px);
  isolation:isolate;
  background:#071a12;
  border:1px solid rgba(242,221,166,.28);
  box-shadow:0 44px 120px rgba(0,0,0,.36),inset 0 0 0 1px rgba(255,255,255,.06);
  border-radius:clamp(30px,4vw,56px);
  overflow:hidden;
}
.ol14-google-map-panel:before{
  content:"Satellite route logic";
  position:absolute;
  top:18px;
  left:18px;
  z-index:6;
  border:1px solid rgba(255,246,216,.20);
  border-radius:999px;
  padding:8px 12px;
  color:#fff6d8;
  background:rgba(5,20,13,.68);
  backdrop-filter:blur(14px);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.64rem;
  font-weight:900;
  pointer-events:none;
}
.ol14-google-map-frame{
  position:absolute;
  inset:-4%;
  width:108%;
  height:108%;
  border:0;
  z-index:0;
  filter:saturate(.88) contrast(1.08) brightness(.74);
  transform:scale(1.015);
  transform-origin:center;
  pointer-events:none;
}
.ol14-google-map-glass{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.025),transparent 44%),
    linear-gradient(180deg,rgba(3,15,10,.02),rgba(3,15,10,.24)),
    linear-gradient(90deg,rgba(5,24,15,.28),transparent 43%,rgba(5,24,15,.12));
  pointer-events:none;
  mix-blend-mode:multiply;
}
.ol14-google-route-lines{
  position:absolute;
  inset:6% 5%;
  width:90%;
  height:88%;
  z-index:2;
  pointer-events:none;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.45));
}
.ol14-google-route-lines path{
  fill:none;
  stroke:rgba(255,246,216,.54);
  stroke-width:.18;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:.7 1.8;
  opacity:.72;
  filter:drop-shadow(0 0 5px rgba(233,207,139,.22));
  transition:opacity .35s ease,stroke-width .35s ease,stroke .35s ease,stroke-dasharray .35s ease;
}
.ol14-google-route-lines path.is-active{stroke:rgba(233,207,139,.98);stroke-width:.32;opacity:1;stroke-dasharray:none}
.ol14-google-map-pin{
  position:absolute;
  left:var(--x,50%);
  top:var(--y,50%);
  transform:translate(-50%,-50%);
  display:block;
  text-decoration:none;
  z-index:4;
  color:#fff8df;
  outline:none;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),filter .28s ease;
}
.ol14-google-map-pin:hover,.ol14-google-map-pin:focus-visible{transform:translate(-50%,-50%) scale(1.08);filter:drop-shadow(0 18px 30px rgba(0,0,0,.34));z-index:8}
.ol14-google-map-pin span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:linear-gradient(135deg,#fff4bd,#d6aa55 52%,#8d6d34);
  box-shadow:0 0 0 7px rgba(248,227,163,.15),0 14px 22px rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.62);
  transition:transform .28s ease,box-shadow .28s ease;
}
.ol14-google-map-pin:hover span,.ol14-google-map-pin:focus-visible span,.ol14-google-map-pin.is-active span{transform:scale(1.18);box-shadow:0 0 0 11px rgba(248,227,163,.18),0 18px 28px rgba(0,0,0,.36)}
.ol14-google-map-pin strong{
  position:absolute;
  top:5px;
  left:39px;
  max-width:190px;
  white-space:nowrap;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(5,20,13,.72);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  backdrop-filter:blur(12px);
  opacity:.96;
  text-shadow:0 1px 8px rgba(0,0,0,.44);
}
.ol14-pin-preview{
  position:absolute;
  left:calc(50% + var(--pop-shift,0px));
  bottom:calc(100% + 20px);
  width:min(318px,78vw);
  padding:12px;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(7,26,18,.94),rgba(5,18,12,.88));
  border:1px solid rgba(255,248,225,.22);
  box-shadow:0 34px 78px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(20px);
  opacity:0;
  transform:translate(-50%,16px) rotateX(-7deg) scale(.94);
  transform-origin:50% 100%;
  pointer-events:none;
  transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.2,1);
  overflow:visible;
  perspective:900px;
}
.ol14-pin-preview:after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:rgba(5,18,12,.9);border-right:1px solid rgba(255,248,225,.2);border-bottom:1px solid rgba(255,248,225,.2);transform:translateX(-50%) rotate(45deg)}
.ol14-google-map-pin:hover .ol14-pin-preview,.ol14-google-map-pin:focus-visible .ol14-pin-preview{opacity:1;transform:translate(-50%,0) rotateX(0deg) scale(1)}
.ol14-pin-carousel{
  position:relative;
  height:198px;
  transform-style:preserve-3d;
  overflow:visible;
}
.ol14-pin-slide{
  position:absolute;
  inset:0;
  margin:0;
  border-radius:20px;
  overflow:hidden;
  background:#06150f;
  box-shadow:0 18px 38px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.10);
  transform-style:preserve-3d;
  animation:ol14PinCarousel 8.4s cubic-bezier(.34,.02,.25,1) infinite;
  animation-delay:calc(var(--i,0) * -2.8s);
  animation-play-state:paused;
}
.ol14-google-map-pin:hover .ol14-pin-slide,.ol14-google-map-pin:focus-visible .ol14-pin-slide{animation-play-state:running}
.ol14-pin-slide img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.04);transform:scale(1.05)}
.ol14-pin-slide figcaption{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(5,18,12,.64);
  color:#fff2bf;
  padding:7px 10px;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
  backdrop-filter:blur(12px);
}
.ol14-pin-preview small{display:block;margin-top:12px;color:#fff2bf;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;text-align:center}
@keyframes ol14PinCarousel{
  0%,29%{opacity:1;z-index:3;transform:translateX(0) translateZ(58px) rotateY(0deg) scale(1)}
  34%,62%{opacity:.52;z-index:2;transform:translateX(42px) translateZ(-72px) rotateY(-28deg) scale(.82)}
  67%,95%{opacity:.48;z-index:1;transform:translateX(-42px) translateZ(-78px) rotateY(28deg) scale(.80)}
  100%{opacity:1;z-index:3;transform:translateX(0) translateZ(58px) rotateY(0deg) scale(1)}
}
@media (prefers-reduced-motion:reduce){.ol14-pin-slide{animation:none!important}.ol14-pin-slide:nth-child(n+2){opacity:.18;transform:translateX(24px) scale(.86)}}
.ol14-map-note{z-index:5;background:rgba(6,23,15,.78);box-shadow:0 18px 50px rgba(0,0,0,.30)}
#destination-selection-handoff.ol14-handoff{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;align-items:center!important;background:linear-gradient(120deg,#071a12,#103725)!important;overflow:hidden!important;isolation:isolate!important}
#destination-selection-handoff .ol14-handoff-media{position:relative!important;min-height:520px!important;margin-left:-8vw!important;border-radius:0 44px 44px 0!important;overflow:hidden!important;background:#06150f!important;box-shadow:0 34px 90px rgba(0,0,0,.28)!important;z-index:1!important}
#destination-selection-handoff .ol14-handoff-video{display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;opacity:1!important;filter:saturate(1.08) contrast(1.06) brightness(.82)!important;transform:scale(1.025)!important;z-index:0!important;pointer-events:none!important}
#destination-selection-handoff .ol14-handoff-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0!important;z-index:-1!important}
#destination-selection-handoff .ol14-handoff-media:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,13,8,.08),rgba(3,13,8,.28)),linear-gradient(180deg,rgba(3,13,8,.05),rgba(3,13,8,.46))}
#destination-selection-handoff .ol14-handoff-copy{position:relative!important;z-index:2!important}
@media (max-width:1100px){
  .ol14-google-route-logic{grid-template-columns:1fr}
  .ol14-google-route-logic .ol14-map-copy{position:relative;top:auto}
  .ol14-google-map-panel{min-height:660px}
  .ol14-google-map-pin strong{font-size:.64rem}
  .ol14-pin-preview{width:min(292px,76vw)}
  #destination-selection-handoff.ol14-handoff{grid-template-columns:1fr!important}
  #destination-selection-handoff .ol14-handoff-media{margin-left:0!important;min-height:430px!important;border-radius:34px!important}
  .ol14-google-route-logic .ol14-map-legend{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .ol14-google-route-logic .ol14-map-legend{grid-template-columns:1fr}
  .ol14-google-map-panel{min-height:650px;border-radius:28px}
  .ol14-google-map-frame{inset:-7%;width:114%;height:114%;transform:scale(1.04)}
  .ol14-google-map-panel:before{top:12px;left:12px;font-size:.57rem;letter-spacing:.12em}
  .ol14-google-map-pin span{width:29px;height:29px;font-size:.76rem}
  .ol14-google-map-pin strong{display:none}
  .ol14-pin-preview{left:50%;bottom:calc(100% + 16px);width:min(260px,82vw);--pop-shift:0px}
  .ol14-pin-carousel{height:168px}
  .ol14-map-note{left:14px;right:14px;bottom:14px;padding:18px;border-radius:22px}
  .ol14-map-note strong{font-size:1.12rem}
  .ol14-map-note p{font-size:.88rem}
  .ol14-google-route-lines path{stroke-width:.30}
  #destination-selection-handoff .ol14-handoff-media{margin:0 -18px!important;border-radius:0!important;min-height:360px!important}
  #destination-selection-handoff .ol14-handoff-copy{padding:42px 0!important}
}
