
.su-fg-travelWeather {
  margin: 0 0 28px;
  padding: clamp(15px, 3vw, 24px);
  background: #f3f8fb;
  border: 1px solid #d6e6ed;
  border-radius: 14px;
}
.su-fg-weatherHeading, .su-fg-packTips { display: flex; gap: 10px; align-items: flex-start; }
.su-fg-weatherHeading { align-items: center; }
.su-fg-weatherHeading svg, .su-fg-packTips svg { color: #0b7095; flex: none; }
.su-fg-weatherHeading h3, .su-fg-packTips h4 { margin: 0; }
.su-fg-travelWeather .su-fg-weatherIntro { margin: 8px 0 14px; color: #365269; font-size: 13px; line-height: 1.55; }
.su-fg-weatherStations {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 138px), 1fr));
  gap: 8px;
  padding: 0;
  margin: 0 0 16px;
  list-style: none;
}
.su-fg-weatherStations li { display: grid; gap: 3px; padding: 10px 12px; background: #fff; border-radius: 8px; }
.su-fg-weatherStations span, .su-fg-weatherStations a { font-size: 12px; }
.su-fg-weatherStations small { font-size: inherit; color: #526a7d; }
.su-fg-weatherStations strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.su-fg-weatherStations a { color: #0b6183; text-decoration: underline; text-underline-offset: 2px; }
.su-fg-packTips { padding-top: 12px; }
.su-fg-packTips h4 { font-size: 14px; }
.su-fg-packTips p { margin: 3px 0 0; color: #365269; }

.su-fg-itinerary > li { display: grid; position: relative; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding-bottom: 12px; }
.su-fg-itinerary > li:not(:last-child)::before { content: ''; position: absolute; width: 1px; background: #d2e0e8; left: 18px; top: 28px; bottom: -15px; }
.su-fg-itinerary .su-fg-dayNumber { z-index: 1; display: grid; place-items: center; color: #0b365a; width: 37px; height: 37px; margin-top: 12px; border-radius: 50%; background: #e7f5fa; border: 1px solid #c7e1ed; }
.su-fg-itinerary li[data-stop-kind="sea"] .su-fg-dayNumber { background: #f1f6f8; color: #526a7d; }
.su-fg-stopCard { min-width: 0; padding: clamp(12px, 2.2vw, 19px); border: 1px solid #dce6ec; border-radius: 12px; background: #fff; }
.su-fg-itinerary li[data-stop-kind="sea"] > .su-fg-stopCard { background: #f7fafb; }
.su-fg-stopMeta { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; font-size: 12px; color: #526a7d; }
.su-fg-stopMeta span { font-weight: 800; color: #0b6183; }
.su-fg-stopCard h3 { margin: 4px 0 7px; font-size: clamp(17px, 2vw, 21px); }
.su-fg-stopSchedule { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; margin-bottom: 6px; }
.su-fg-stopKind { padding: 2px 7px; border-radius: 5px; background: #eef5f8; color: #365269; font-size: 11px; font-weight: 700; }
.su-fg-itinerary .su-fg-stopTimes { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: #365269; }
.su-fg-stopCard > p { line-height: 1.65; }
.su-fg-stopExcursions { margin-top: 5px; }
.su-fg-stopExcursions > summary {
  display: flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  color: #0b6183;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.su-fg-stopExcursions > summary::-webkit-details-marker { display: none; }
.su-fg-stopExcursions > summary::before { content: ''; width: 6px; height: 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg); }
.su-fg-stopExcursions[open] > summary::before { transform: rotate(45deg); }
.su-fg-stopExcursions > summary:focus-visible, .su-fg-daySources > summary:focus-visible { outline: 2px solid #0b7095; outline-offset: 3px; }
.su-fg-stopExcursions .su-exc-inline { margin: 0; padding: 0; border: 0; background: transparent; }
.su-fg-daySources { margin-top: 8px; color: #365269; font-size: 12px; }
.su-fg-daySources summary { cursor: pointer; width: fit-content; }
.su-fg-daySources a { color: #0b6183; }
@media (max-width: 599px) {
  .su-fg-itinerary > li { grid-template-columns: 29px minmax(0, 1fr); gap: 8px; }
  .su-fg-itinerary > li:not(:last-child)::before { left: 14px; }
  .su-fg-itinerary .su-fg-dayNumber { width: 29px; height: 29px; }
}

.su-fg-stopExcursions .su-exc-inline > :is(.su-exc-eyebrow,h2,.su-exc-intro){display:none}
.su-fg-stopExcursions .su-exc-link-row:has(a:not([href*="&call="])){display:none}
