.tour-detail__hero:has(.uptrail-tour-weather) {
  min-height: max(84svh, 720px);
  isolation: isolate;
}

.tour-detail__hero:has(.uptrail-tour-weather) > img { z-index: 0; }
.tour-detail__hero:has(.uptrail-tour-weather) > .tour-detail__overlay { z-index: 1; }
.tour-detail__hero:has(.uptrail-tour-weather) > .legacy-shell { z-index: 4; padding-right: min(36vw, 430px); }

.uptrail-tour-weather {
  --weather-glass: rgba(7, 24, 30, .6);
  --weather-line: rgba(255, 255, 255, .18);
  --weather-accent: #f1bd5b;
  --weather-cloud-cover: .5;
  --weather-cloud-duration: 38s;
  --weather-star-visibility: .65;
  --weather-moon-light: .72;
  --weather-wind-strength: .2;
  position: absolute;
  inset: 0;
	  z-index: auto;
  overflow: hidden;
  pointer-events: none;
}

.uptrail-tour-weather__atmosphere,
.uptrail-tour-weather__sky,
.uptrail-tour-weather__atmosphere canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.uptrail-tour-weather__atmosphere { z-index: 2; overflow: hidden; perspective: 900px; }
.uptrail-tour-weather__atmosphere canvas { z-index: 7; }
.uptrail-tour-weather__sky {
  z-index: 0;
  opacity: .44;
  background: linear-gradient(145deg, rgba(35, 119, 169, .48), transparent 48%, rgba(3, 19, 28, .72));
  transition: background 1.8s ease, opacity 1.8s ease, filter 1.8s ease;
}

.uptrail-tour-weather[data-scene="clear"] .uptrail-tour-weather__sky { background: linear-gradient(145deg, rgba(32, 136, 205, .58), transparent 52%, rgba(5, 35, 43, .56)); }
.uptrail-tour-weather[data-scene="cloudy"] .uptrail-tour-weather__sky { background: linear-gradient(145deg, rgba(68, 104, 121, .48), rgba(23, 50, 61, .28) 52%, rgba(5, 23, 30, .68)); }
.uptrail-tour-weather[data-scene="fog"] .uptrail-tour-weather__sky { opacity: .62; background: linear-gradient(145deg, rgba(129, 151, 153, .48), rgba(38, 62, 66, .42)); }
.uptrail-tour-weather[data-scene="rain"] .uptrail-tour-weather__sky { opacity: .72; background: linear-gradient(145deg, rgba(42, 71, 88, .58), rgba(4, 23, 33, .78)); }
.uptrail-tour-weather[data-scene="snow"] .uptrail-tour-weather__sky { opacity: .62; background: linear-gradient(145deg, rgba(164, 194, 207, .48), rgba(39, 72, 88, .64)); }
.uptrail-tour-weather[data-scene="storm"] .uptrail-tour-weather__sky { opacity: .78; background: linear-gradient(145deg, rgba(18, 34, 52, .74), rgba(4, 12, 23, .88)); }
.uptrail-tour-weather[data-daylight="night"] .uptrail-tour-weather__sky {
  opacity: .88;
  background:
    radial-gradient(circle at 72% 14%, rgba(73, 101, 148, .3), transparent 26%),
    linear-gradient(155deg, rgba(5, 17, 39, .88), rgba(4, 14, 31, .68) 48%, rgba(0, 8, 20, .94));
  filter: saturate(1.15);
}

.uptrail-tour-weather__horizon-glow {
  position: absolute;
  z-index: 1;
  right: -15%;
  bottom: -20%;
  left: -15%;
  height: 56%;
  opacity: .48;
  background: radial-gradient(ellipse at 52% 100%, rgba(247, 184, 93, .34), rgba(91, 160, 184, .12) 38%, transparent 69%);
  mix-blend-mode: screen;
  transition: opacity 1.8s ease, background 1.8s ease;
}

.uptrail-tour-weather[data-daylight="night"] .uptrail-tour-weather__horizon-glow {
  opacity: .3;
  background: radial-gradient(ellipse at 52% 100%, rgba(70, 113, 156, .32), transparent 67%);
}

.uptrail-tour-weather__sun,
.uptrail-tour-weather__moon {
  position: absolute;
  z-index: 2;
  top: 6%;
  left: 48%;
  width: clamp(90px, 10vw, 160px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  transform: scale(.7);
  transition: opacity 1.2s ease, transform 1.6s cubic-bezier(.2,.8,.2,1);
}

.uptrail-tour-weather__sun {
  background: radial-gradient(circle, rgba(255,251,223,.98) 0 15%, rgba(255,213,112,.78) 22%, rgba(255,188,61,.18) 50%, transparent 72%);
  box-shadow: 0 0 115px 40px rgba(255, 207, 96, .25);
  animation: uptrail-weather-breathe 6s ease-in-out infinite;
}

.uptrail-tour-weather__sun::before {
  position: absolute;
  inset: -48%;
  content: "";
  opacity: .38;
  background: repeating-conic-gradient(from 3deg, rgba(255,232,166,.18) 0 1deg, transparent 2deg 17deg);
  border-radius: 50%;
  filter: blur(1.2px);
  mask-image: radial-gradient(circle, transparent 0 31%, #000 50%, transparent 75%);
  animation: uptrail-sun-rays 42s linear infinite;
}

.uptrail-tour-weather__sun::after {
  position: absolute;
  inset: 31%;
  content: "";
  background: #fff9d5;
  border-radius: 50%;
  box-shadow: 0 0 28px 13px rgba(255,222,132,.78);
}

.uptrail-tour-weather__sun i {
  position: absolute;
  top: 115%;
  left: 130%;
  width: 7px;
  height: 7px;
  background: rgba(255,233,172,.72);
  border-radius: 50%;
  box-shadow: 48px 37px 0 2px rgba(255,222,145,.22), 95px 76px 0 5px rgba(255,232,185,.1);
}

.uptrail-tour-weather__moon {
  top: 10%;
  right: auto;
  left: 57%;
  width: clamp(58px, 6vw, 92px);
  overflow: visible;
  background:
    radial-gradient(circle at 36% 31%, rgba(111,126,137,.28) 0 6%, transparent 7%),
    radial-gradient(circle at 66% 58%, rgba(104,121,132,.22) 0 9%, transparent 10%),
    radial-gradient(circle at 42% 72%, rgba(118,133,143,.2) 0 5%, transparent 6%),
    radial-gradient(circle at 34% 30%, #fff 0 18%, #dce8eb 56%, #91a5ae 100%);
  box-shadow: 0 0 58px 18px rgba(202, 230, 238, .22);
}

.uptrail-tour-weather__moon::after {
  position: absolute;
  inset: 0;
  content: "";
  background: radial-gradient(circle at 78% 50%, rgba(5,15,34,.9) 0 63%, transparent 64%);
  border-radius: 50%;
  transition: opacity 1.5s ease, background 1.5s ease;
}

.uptrail-tour-weather[data-moon-phase="full"] .uptrail-tour-weather__moon::after { opacity: 0; }
.uptrail-tour-weather[data-moon-phase="partial"] .uptrail-tour-weather__moon::after { opacity: .86; background: radial-gradient(circle at 78% 50%, rgba(5,15,34,.9) 0 63%, transparent 64%); }
.uptrail-tour-weather[data-moon-phase="crescent"] .uptrail-tour-weather__moon::after { opacity: .94; background: radial-gradient(circle at 57% 50%, rgba(5,15,34,.92) 0 75%, transparent 76%); }
.uptrail-tour-weather__moon i { position: absolute; z-index: -1; inset: -95%; background: radial-gradient(circle, rgba(184,221,239,.25), transparent 63%); border-radius: 50%; animation: uptrail-moon-aura 7s ease-in-out infinite; }

.uptrail-tour-weather[data-scene="clear"][data-daylight="day"] .uptrail-tour-weather__sun { opacity: .96; transform: scale(1); }
.uptrail-tour-weather[data-scene="cloudy"][data-daylight="day"] .uptrail-tour-weather__sun { opacity: .38; transform: scale(.92); filter: blur(2px); }
.uptrail-tour-weather[data-daylight="night"] .uptrail-tour-weather__moon { opacity: var(--weather-moon-light); transform: scale(1); }

.uptrail-tour-weather__stars {
  position: absolute;
  z-index: 1;
  inset: 0 0 30%;
  opacity: 0;
  transition: opacity 1.8s ease;
}

.uptrail-tour-weather__stars i {
  position: absolute;
  top: var(--star-y);
  left: var(--star-x);
  width: var(--star-size);
  height: var(--star-size);
  background: #f7fbff;
  border-radius: 50%;
  box-shadow: 0 0 7px 1px rgba(198,225,255,.65);
  animation: uptrail-star-twinkle var(--star-speed) ease-in-out var(--star-delay) infinite;
}

.uptrail-tour-weather__stars b {
  position: absolute;
  top: var(--meteor-y);
  left: var(--meteor-x);
  width: 130px;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, rgba(229,244,255,.95), transparent);
  filter: drop-shadow(0 0 4px rgba(180,220,255,.9));
  transform: rotate(-34deg) translateX(-160px);
  transform-origin: left center;
  animation: uptrail-meteor 18s cubic-bezier(.2,.65,.3,1) var(--meteor-delay) infinite;
}

.uptrail-tour-weather__stars b::before { position: absolute; top: -2px; left: 0; width: 5px; height: 5px; content: ""; background: #fff; border-radius: 50%; box-shadow: 0 0 9px 2px #cce7ff; }
.uptrail-tour-weather[data-daylight="night"] .uptrail-tour-weather__stars { opacity: var(--weather-star-visibility); }
.uptrail-tour-weather[data-daylight="night"][data-scene="rain"] .uptrail-tour-weather__stars,
.uptrail-tour-weather[data-daylight="night"][data-scene="fog"] .uptrail-tour-weather__stars { opacity: .08; }
.uptrail-tour-weather[data-daylight="night"][data-scene="storm"] .uptrail-tour-weather__stars { opacity: 0; }
.uptrail-tour-weather[data-daylight="night"]:not([data-scene="clear"]):not([data-scene="cloudy"]) .uptrail-tour-weather__stars b { display: none; }

.uptrail-tour-weather__cloud {
  --cloud-scale: 1;
  --cloud-y: 0px;
  position: absolute;
  z-index: 4;
  left: -58vw;
  width: clamp(430px, 54vw, 860px);
  height: clamp(150px, 18vw, 290px);
  opacity: 0;
  background:
    radial-gradient(ellipse at 12% 66%, rgba(246,250,250,.78) 0 15%, transparent 35%),
    radial-gradient(ellipse at 27% 46%, rgba(250,253,253,.86) 0 19%, transparent 42%),
    radial-gradient(ellipse at 45% 35%, rgba(241,247,248,.9) 0 23%, transparent 48%),
    radial-gradient(ellipse at 63% 48%, rgba(232,241,243,.82) 0 23%, transparent 47%),
    radial-gradient(ellipse at 82% 64%, rgba(217,231,234,.68) 0 18%, transparent 39%),
    radial-gradient(ellipse at 48% 79%, rgba(202,218,223,.58) 0 28%, transparent 60%);
  filter: blur(7px) drop-shadow(0 24px 25px rgba(7,24,34,.17));
  transform-origin: center;
  will-change: transform, opacity;
  animation: uptrail-cloud-drift var(--weather-cloud-duration) linear infinite;
  transition: opacity 1.5s ease, filter 1.5s ease;
}

.uptrail-tour-weather__cloud::before,
.uptrail-tour-weather__cloud::after { position: absolute; content: ""; pointer-events: none; }
.uptrail-tour-weather__cloud::before {
  inset: 13% 4% 8%;
  opacity: .64;
  background: radial-gradient(ellipse at 28% 48%, rgba(255,255,255,.64), transparent 43%), radial-gradient(ellipse at 63% 45%, rgba(239,247,248,.58), transparent 48%);
  filter: blur(14px);
  animation: uptrail-cloud-billow 8s ease-in-out infinite alternate;
}
.uptrail-tour-weather__cloud::after { right: 8%; bottom: 5%; left: 8%; height: 35%; opacity: .56; background: linear-gradient(180deg, transparent, rgba(54,75,86,.38)); filter: blur(17px); border-radius: 50%; }

.uptrail-tour-weather__cloud--far { --cloud-scale: .58; top: 2%; animation-delay: -32s; filter: blur(11px); }
.uptrail-tour-weather__cloud--high { --cloud-scale: .76; top: 12%; animation-delay: -18s; }
.uptrail-tour-weather__cloud--mid { --cloud-scale: .94; top: 24%; animation-delay: -8s; }
.uptrail-tour-weather__cloud--near { --cloud-scale: 1.25; top: 42%; animation-delay: -25s; filter: blur(5px) drop-shadow(0 30px 35px rgba(7,24,34,.24)); }
.uptrail-tour-weather__cloud--horizon { --cloud-scale: 1.6; top: 62%; animation-delay: -14s; filter: blur(15px); }
.uptrail-tour-weather:not([data-scene="clear"]) .uptrail-tour-weather__cloud { opacity: var(--weather-cloud-cover); }
.uptrail-tour-weather[data-scene="clear"] .uptrail-tour-weather__cloud { opacity: .12; }
.uptrail-tour-weather[data-scene="rain"] .uptrail-tour-weather__cloud { opacity: .82; filter: blur(8px) brightness(.64) saturate(.75) drop-shadow(0 28px 36px rgba(0,9,18,.35)); }
.uptrail-tour-weather[data-scene="storm"] .uptrail-tour-weather__cloud { opacity: .94; filter: blur(7px) brightness(.42) saturate(.68) drop-shadow(0 32px 42px rgba(0,5,14,.5)); }
.uptrail-tour-weather[data-scene="snow"] .uptrail-tour-weather__cloud { filter: blur(8px) brightness(1.08) saturate(.68); }

.uptrail-tour-weather__fog {
  position: absolute;
  z-index: 5;
  right: -35%;
  bottom: 7%;
  width: 135%;
  height: 28%;
  opacity: 0;
  filter: blur(24px);
  background: linear-gradient(90deg, transparent, rgba(238,247,245,.44) 24%, rgba(220,235,234,.64) 52%, transparent 84%);
  transition: opacity 1.4s ease;
  animation: uptrail-fog-flow 18s ease-in-out infinite alternate;
}

.uptrail-tour-weather__fog--two { bottom: 22%; animation-duration: 25s; animation-delay: -8s; transform: scale(.8); }
.uptrail-tour-weather[data-scene="fog"] .uptrail-tour-weather__fog { opacity: .78; }
.uptrail-tour-weather[data-scene="cloudy"] .uptrail-tour-weather__fog { opacity: .18; }
.uptrail-tour-weather[data-scene="rain"] .uptrail-tour-weather__fog { opacity: .16; }

.uptrail-tour-weather__lightning,
.uptrail-tour-weather__thunder { position: absolute; z-index: 6; inset: 0; opacity: 0; pointer-events: none; }
.uptrail-tour-weather__lightning { background: radial-gradient(circle at 32% 14%, rgba(226,242,255,.96), rgba(191,224,255,.24) 23%, transparent 52%); mix-blend-mode: screen; }
.uptrail-tour-weather__lightning i {
  position: absolute;
  top: 3%;
  left: 31%;
  width: clamp(38px, 5vw, 76px);
  height: 58%;
  opacity: 0;
  background: linear-gradient(180deg, #f9fdff, #b9dcff 58%, transparent);
  clip-path: polygon(48% 0, 74% 0, 57% 31%, 82% 31%, 33% 100%, 45% 54%, 19% 54%);
  filter: drop-shadow(0 0 7px #d9eeff) drop-shadow(0 0 18px #8bc6ff);
}
.uptrail-tour-weather__lightning span { position: absolute; top: 10%; left: 20%; width: 38%; aspect-ratio: 1; background: radial-gradient(circle, rgba(210,236,255,.56), transparent 65%); filter: blur(16px); }
.uptrail-tour-weather__thunder { z-index: 5; background: radial-gradient(circle at 33% 21%, transparent 0 7%, rgba(198,227,255,.25) 8%, transparent 11%); transform: scale(.72); }
.uptrail-tour-weather.is-lightning .uptrail-tour-weather__lightning { animation: uptrail-lightning-burst 1.05s linear both; }
.uptrail-tour-weather.is-lightning .uptrail-tour-weather__lightning i { animation: uptrail-lightning-bolt .9s linear both; }
.uptrail-tour-weather.is-lightning .uptrail-tour-weather__thunder { animation: uptrail-thunder-wave 1.35s ease-out .18s both; }

.uptrail-tour-weather__card {
  position: absolute;
  z-index: 8;
  top: clamp(24px, 4.5vh, 46px);
  right: clamp(20px, 4vw, 58px);
  width: min(370px, calc(100% - 40px));
  padding: 20px;
  color: #fff;
  pointer-events: auto;
  background: linear-gradient(145deg, rgba(8,31,38,.72), rgba(14,45,52,.48));
  border: 1px solid var(--weather-line);
  border-radius: 24px;
  box-shadow: 0 26px 80px rgba(0, 8, 15, .28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
}

.uptrail-tour-weather__live { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.62); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.uptrail-tour-weather__live i { width: 7px; height: 7px; background: #73e6a6; border-radius: 50%; box-shadow: 0 0 0 5px rgba(115,230,166,.1); animation: uptrail-live-pulse 2.2s ease-out infinite; }
.uptrail-tour-weather__primary { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 20px; margin-top: 17px; }
.uptrail-tour-weather__primary > div { display: grid; }
.uptrail-tour-weather__primary strong { font-family: "Cormorant Garamond", serif; font-size: clamp(54px, 5vw, 72px); font-weight: 500; line-height: .8; letter-spacing: -.06em; }
.uptrail-tour-weather__primary small { margin-top: 8px; color: rgba(255,255,255,.58); font-size: 10px; }
.uptrail-tour-weather__primary b { font-size: 17px; line-height: 1.25; }
.uptrail-tour-weather__primary span { margin-top: 5px; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.4; }
.uptrail-tour-weather__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.uptrail-tour-weather__metrics div { display: grid; gap: 4px; padding: 10px 11px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); border-radius: 13px; }
.uptrail-tour-weather__metrics span { color: rgba(255,255,255,.55); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.uptrail-tour-weather__metrics b { font-size: 12px; }
.uptrail-tour-weather__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.uptrail-tour-weather__footer > span { overflow: hidden; max-width: 160px; padding: 6px 9px; color: #d8f7e5; font-size: 9px; font-weight: 850; background: rgba(63,174,113,.16); border-radius: 99px; text-overflow: ellipsis; white-space: nowrap; }
.uptrail-tour-weather__footer > span.is-caution { color: #ffe7ab; background: rgba(224,165,49,.16); }
.uptrail-tour-weather__footer > span.is-danger,
.uptrail-tour-weather__footer > span.is-closed { color: #ffd1cd; background: rgba(211,72,58,.18); }
.uptrail-tour-weather__footer button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-block: -10px; padding: 10px 0 10px 10px; color: #fff; font: inherit; font-size: 10px; font-weight: 850; background: none; border: 0; cursor: pointer; }
.uptrail-tour-weather__footer button i { color: var(--weather-accent); font-style: normal; }
.uptrail-tour-weather__error { margin: 12px 0 0; color: #ffd7cf; font-size: 11px; line-height: 1.5; }
.uptrail-tour-weather.is-weather-loading .uptrail-tour-weather__dialog::before { opacity: 1; }

.uptrail-tour-weather__dialog {
	width: min(920px, calc(100% - 32px));
	max-height: min(90dvh, 860px);
	margin: auto;
	padding: clamp(24px, 3.5vw, 42px);
	color: #fff;
	background: linear-gradient(145deg, rgba(7,30,37,.78), rgba(12,43,49,.58));
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 30px;
	box-shadow: 0 35px 110px rgba(0,10,16,.58), inset 0 1px 0 rgba(255,255,255,.13);
	backdrop-filter: blur(32px) saturate(1.35);
	-webkit-backdrop-filter: blur(32px) saturate(1.35);
	pointer-events: auto;
	overflow: auto;
}

.uptrail-tour-weather__dialog::before { position: absolute; z-index: 4; top: 0; left: 0; width: 100%; height: 3px; content: ""; opacity: 0; background: linear-gradient(90deg, transparent, #f2bd58, #7ce0bd, transparent); transition: opacity .25s ease; }
.uptrail-tour-weather__dialog::backdrop { background: rgba(1,12,18,.62); backdrop-filter: blur(12px); }
.uptrail-tour-weather__dialog.is-fallback-open { position: fixed; z-index: 100001; top: 50%; left: 50%; display: block; margin: 0; transform: translate(-50%,-50%); }
.uptrail-tour-weather:has(.uptrail-tour-weather__dialog.is-fallback-open)::after { position: fixed; z-index: 100000; inset: 0; content: ""; pointer-events: auto; background: rgba(3,15,20,.72); backdrop-filter: blur(9px); }
.uptrail-tour-weather__dialog > form { position: sticky; z-index: 2; top: -20px; display: flex; justify-content: flex-end; height: 0; }
.uptrail-tour-weather__dialog > form button { display: grid; place-items: center; width: 44px; height: 44px; color: #fff; font-size: 23px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; cursor: pointer; backdrop-filter: blur(10px); }
.uptrail-tour-weather__dialog header > span { color: #f2bd58; font-size: 10px; font-weight: 900; letter-spacing: .17em; }
.uptrail-tour-weather__dialog h2 { max-width: 85%; margin: 8px 0 5px; color: #fff; font-family: "Cormorant Garamond", serif; font-size: clamp(36px, 6vw, 58px); line-height: .95; }
.uptrail-tour-weather__dialog header p { margin: 0; color: rgba(255,255,255,.62); font-size: 12px; }
.uptrail-tour-weather__date-picker { display: grid; grid-template-columns: 42px minmax(180px, 1fr) 42px; align-items: stretch; gap: 8px; width: min(360px,100%); margin-top: 24px; }
.uptrail-tour-weather__date-picker button { color: #fff; font-size: 17px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 13px; cursor: pointer; }
.uptrail-tour-weather__date-picker button:disabled { opacity: .28; cursor: not-allowed; }
.uptrail-tour-weather__date-picker label { display: grid; gap: 3px; padding: 7px 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 13px; }
.uptrail-tour-weather__date-picker label span { color: rgba(255,255,255,.52); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.uptrail-tour-weather__date-picker input { min-width: 0; padding: 0; color: #fff; color-scheme: dark; font: inherit; font-size: 13px; font-weight: 750; background: transparent; border: 0; outline: 0; }
.uptrail-tour-weather__condition-line { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-top: 20px; }
.uptrail-tour-weather__condition-line span { font-family: "Cormorant Garamond", serif; font-size: clamp(30px,4vw,44px); font-weight: 650; line-height: 1; }
.uptrail-tour-weather__condition-line small { color: rgba(255,255,255,.58); font-size: 11px; text-align: right; text-transform: capitalize; }
.uptrail-tour-weather__detail-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 16px; }
.uptrail-tour-weather__detail-metrics > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 3px 8px; min-width: 0; padding: 13px; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.09); border-radius: 15px; }
.uptrail-tour-weather__detail-metrics i { grid-row: 1 / span 2; font-size: 18px; font-style: normal; filter: saturate(.8); }
.uptrail-tour-weather__detail-metrics span { overflow: hidden; color: rgba(255,255,255,.5); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; text-overflow: ellipsis; white-space: nowrap; }
.uptrail-tour-weather__detail-metrics b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.uptrail-tour-weather__pressure-alert { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; margin-top: 10px; padding: 12px 15px; color: #d8f7e5; font-size: 11px; background: rgba(70,180,123,.12); border: 1px solid rgba(112,224,166,.18); border-radius: 14px; }
.uptrail-tour-weather__pressure-alert b { font-size: 11px; white-space: nowrap; }
.uptrail-tour-weather__pressure-alert span { color: rgba(255,255,255,.65); line-height: 1.45; }
.uptrail-tour-weather__pressure-alert[data-level="caution"] { color: #ffe0a2; background: rgba(218,156,45,.13); border-color: rgba(241,189,91,.25); }
.uptrail-tour-weather__pressure-alert[data-level="danger"] { color: #ffc7c1; background: rgba(197,67,55,.16); border-color: rgba(240,111,96,.28); }
.uptrail-tour-weather__insight-grid { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(360px,1.4fr); gap: 10px; margin-top: 10px; }
.uptrail-tour-weather__cloud-score,
.uptrail-tour-weather__astronomy { position: relative; padding: 18px; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; }
.uptrail-tour-weather__cloud-score > div:first-child { display: flex; align-items: center; gap: 7px; }
.uptrail-tour-weather__cloud-score span,
.uptrail-tour-weather__astronomy > span { color: rgba(255,255,255,.5); font-size: 8px; font-weight: 850; letter-spacing: .11em; }
.uptrail-tour-weather__cloud-score > div > button { display: grid; place-items: center; width: 18px; height: 18px; padding: 0; color: #0f3434; font-size: 11px; font-weight: 900; background: #f2bd58; border: 0; border-radius: 50%; cursor: pointer; }
.uptrail-tour-weather__cloud-score > strong { display: block; margin-top: 9px; font-family: "Cormorant Garamond", serif; font-size: 48px; line-height: .8; }
.uptrail-tour-weather__cloud-score > small { display: block; margin-top: 9px; color: #9de5c3; }
.uptrail-tour-weather__cloud-explain { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); }
.uptrail-tour-weather__cloud-explain[hidden] { display: none; }
.uptrail-tour-weather__cloud-explain b { font-size: 12px; }
.uptrail-tour-weather__dialog .uptrail-tour-weather__cloud-explain p { margin: 6px 0 10px; color: rgba(255,255,255,.62); font-family: inherit; font-size: 10px !important; font-style: normal; font-weight: 400; line-height: 1.5 !important; letter-spacing: 0; }
.uptrail-tour-weather__cloud-explain ul { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 12px; margin: 0 0 9px; padding: 0; list-style: none; }
.uptrail-tour-weather__cloud-explain li { display: flex; justify-content: space-between; gap: 6px; font-size: 9px; }
.uptrail-tour-weather__cloud-explain li span { color: rgba(255,255,255,.5); letter-spacing: 0; text-transform: none; }
.uptrail-tour-weather__cloud-explain > small { color: #efc878; font-size: 9px; line-height: 1.4; }
.uptrail-tour-weather__astronomy-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.uptrail-tour-weather__astronomy-list > div { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px; background: rgba(0,0,0,.1); border-radius: 12px; }
.uptrail-tour-weather__astronomy-list i { width: 25px; color: #f2bd58; font-size: 19px; font-style: normal; text-align: center; }
.uptrail-tour-weather__dialog .uptrail-tour-weather__astronomy-list p { display: grid; min-width: 0; margin: 0; font-family: inherit; font-size: inherit; font-style: normal; line-height: normal; }
.uptrail-tour-weather__astronomy-list small { color: rgba(255,255,255,.48); font-size: 8px; }
.uptrail-tour-weather__astronomy-list b { overflow: hidden; margin-top: 2px; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.uptrail-tour-weather__astronomy-list em { margin-top: 2px; color: rgba(255,255,255,.5); font-size: 8px; font-style: normal; }
.uptrail-tour-weather__outlook { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 22px; }
.uptrail-tour-weather__outlook article { padding: 16px; color: #fff; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.09); border-radius: 17px; }
.uptrail-tour-weather__outlook time { color: rgba(255,255,255,.58); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.uptrail-tour-weather__outlook b { display: block; margin-top: 10px; font-size: 15px; }
.uptrail-tour-weather__outlook span { display: block; margin-top: 5px; color: rgba(255,255,255,.7); font-size: 11px; }
.uptrail-tour-weather__guidance { margin-top: 14px; padding: 14px 17px; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.6; background: rgba(255,255,255,.06); border-left: 3px solid #f2bd58; border-radius: 0 14px 14px 0; }
.uptrail-tour-weather__guidance p { margin: 0; }
.uptrail-tour-weather__guidance p + p { margin-top: 5px; color: #a9dfc5; }
.uptrail-tour-weather__dialog footer { margin-top: 17px; color: rgba(255,255,255,.42); font-size: 9px; line-height: 1.55; }

@keyframes uptrail-cloud-drift {
  from { transform: translate3d(-8%, var(--cloud-y), 0) scale(var(--cloud-scale)); }
  to { transform: translate3d(168vw, calc(var(--cloud-y) + 3vh), 0) scale(var(--cloud-scale)); }
}
@keyframes uptrail-cloud-billow { from { transform: translate3d(-2%,1%,0) scale(.96); opacity: .5; } to { transform: translate3d(3%,-2%,0) scale(1.06); opacity: .78; } }
@keyframes uptrail-fog-flow { from { transform: translate3d(-9%,0,0) scale(1); } to { transform: translate3d(12%,-7%,0) scale(1.08); } }
@keyframes uptrail-weather-breathe { 50% { filter: brightness(1.16); } }
@keyframes uptrail-sun-rays { to { transform: rotate(1turn); } }
@keyframes uptrail-moon-aura { 50% { opacity: .62; transform: scale(1.08); } }
@keyframes uptrail-star-twinkle { 0%, 100% { opacity: .24; transform: scale(.72); } 48% { opacity: 1; transform: scale(1.35); } 58% { opacity: .58; transform: scale(.9); } }
@keyframes uptrail-meteor {
  0%, 66% { opacity: 0; transform: rotate(-34deg) translateX(-160px); }
  68% { opacity: 1; }
  75% { opacity: 0; transform: rotate(-34deg) translateX(520px); }
  100% { opacity: 0; transform: rotate(-34deg) translateX(520px); }
}
@keyframes uptrail-live-pulse { 70% { box-shadow: 0 0 0 8px rgba(115,230,166,0); } 100% { box-shadow: 0 0 0 0 rgba(115,230,166,0); } }
@keyframes uptrail-lightning-burst { 0%, 12%, 20%, 31%, 100% { opacity: 0; } 4% { opacity: .92; } 16% { opacity: .24; } 25% { opacity: .72; } 36% { opacity: .13; } }
@keyframes uptrail-lightning-bolt { 0%, 3%, 21%, 100% { opacity: 0; } 4%, 13% { opacity: 1; } 16% { opacity: .22; } }
@keyframes uptrail-thunder-wave { 0% { opacity: .5; transform: scale(.58); } 100% { opacity: 0; transform: scale(1.7); } }

@media (max-width: 980px) {
  .tour-detail__hero:has(.uptrail-tour-weather) { min-height: max(88svh, 760px); }
  .tour-detail__hero:has(.uptrail-tour-weather) > .legacy-shell { padding-right: max(20px, 5vw); }
  .uptrail-tour-weather__card { top: 16px; right: 16px; width: min(360px, calc(100% - 32px)); }
  .uptrail-tour-weather__sun { top: 37%; left: 7%; }
  .uptrail-tour-weather__moon { top: 39%; right: 8%; left: auto; }
}

@media (max-width: 680px) {
  .tour-detail__hero:has(.uptrail-tour-weather) { min-height: max(92svh, 790px); padding-top: 15rem; }
  .uptrail-tour-weather__card { right: 12px; width: calc(100% - 24px); padding: 15px; border-radius: 20px; }
  .uptrail-tour-weather__primary { gap: 15px; margin-top: 13px; }
  .uptrail-tour-weather__primary strong { font-size: 50px; }
  .uptrail-tour-weather__primary b { font-size: 15px; }
  .uptrail-tour-weather__metrics { margin-top: 13px; }
  .uptrail-tour-weather__footer { margin-top: 11px; padding-top: 11px; }
  .uptrail-tour-weather__sun { top: 38%; left: -4%; }
  .uptrail-tour-weather__moon { top: 40%; right: 5%; width: 68px; }
	.uptrail-tour-weather__dialog { width: 100%; max-width: none; max-height: 90dvh; margin: auto 0 0; padding: 28px 16px calc(24px + env(safe-area-inset-bottom)); border-radius: 26px 26px 0 0; }
	.uptrail-tour-weather__dialog.is-fallback-open { top: auto; right: 0; bottom: 0; left: 0; margin: 0; transform: none; }
  .uptrail-tour-weather__dialog h2 { max-width: calc(100% - 42px); }
  .uptrail-tour-weather__date-picker { width: 100%; }
  .uptrail-tour-weather__condition-line { display: grid; gap: 5px; }
  .uptrail-tour-weather__condition-line small { text-align: left; }
  .uptrail-tour-weather__detail-metrics { grid-template-columns: repeat(2, 1fr); }
  .uptrail-tour-weather__insight-grid { grid-template-columns: 1fr; }
  .uptrail-tour-weather__pressure-alert { grid-template-columns: 1fr; gap: 4px; }
  .uptrail-tour-weather__outlook { grid-template-columns: 1fr; }
  .uptrail-tour-weather__outlook article { display: grid; grid-template-columns: 80px 1fr auto; align-items: center; gap: 8px; }
  .uptrail-tour-weather__outlook b,
  .uptrail-tour-weather__outlook span { margin: 0; }
}

@media (max-width: 390px) {
  .tour-detail__hero:has(.uptrail-tour-weather) { min-height: 820px; }
  .uptrail-tour-weather__metrics div { padding-inline: 8px; }
  .uptrail-tour-weather__footer > span { max-width: 125px; }
  .uptrail-tour-weather__detail-metrics > div { padding: 11px 9px; }
  .uptrail-tour-weather__astronomy-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .uptrail-tour-weather *,
  .uptrail-tour-weather *::before,
  .uptrail-tour-weather *::after { animation: none !important; transition-duration: .01ms !important; }
}
