/* ===============================
   FROZENLAKE TOURS PAGE
   tours.html — sections 1–3
   =============================== */

/* -------- SECTION 1: TOURS HERO -------- */

.fl-tours-hero {
  padding-top: 90px;
  padding-bottom: 72px;
  background:
    radial-gradient(circle at 0% 0%, #ffffff 0, transparent 55%),
    radial-gradient(circle at 100% 0%, #cbe9ff 0, transparent 60%),
    linear-gradient(145deg, #e6f4ff 0%, #f7fbff 55%, #d9edff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-tours-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 40px;
  align-items: center;
}

.fl-tours-hero-title {
  margin: 0 0 10px;
  font-size: 30px;
  line-height: 1.25;
  font-family: "PlayfairFL", "ManropeFL", serif;
}

.fl-tours-hero-lead {
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--fl-text-main);
}

.fl-tours-hero-text-body {
  margin: 0;
  font-size: 14px;
  color: var(--fl-text-soft);
}

.fl-tours-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.fl-hero-tag {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(168, 220, 255, 0.8);
  font-size: 12px;
  color: var(--fl-text-soft);
}

/* медиа-блок */

.fl-tours-hero-media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr);
  gap: 14px;
  align-items: center;
}

.fl-tours-hero-main {
  margin: 0;
  padding: 10px;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(1, 30, 48, 0.25);
}

.fl-tours-hero-side {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fl-tours-hero-badge {
  margin: 0;
  padding: 8px;
  border-radius: 22px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.7);
  box-shadow: 0 14px 32px rgba(1, 30, 48, 0.2);
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  transition:
    transform var(--fl-transition-fast),
    box-shadow var(--fl-transition-fast);
}

.fl-tours-hero-badge:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 48px rgba(1, 30, 48, 0.28);
}

.fl-tours-hero-badge-text {
  font-size: 12px;
  color: var(--fl-text-soft);
}

/* -------- SECTION 2: TOUR MOODS STRIP -------- */

.fl-tour-moods {
  background: var(--fl-bg-alt);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-tour-moods-inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.fl-tour-moods-head {
  max-width: 620px;
}

.fl-tour-moods-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

/* mood pills */

.fl-mood-pill {
  padding: 11px 12px 12px;
  border-radius: 20px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.8);
  box-shadow: 0 12px 30px rgba(1, 30, 48, 0.18);
  transition:
    transform var(--fl-transition-fast),
    box-shadow var(--fl-transition-fast);
}

.fl-mood-pill--soft {
  background: linear-gradient(
    135deg,
    rgba(207, 234, 255, 0.95),
    rgba(247, 251, 255, 0.98)
  );
}

.fl-mood-pill--bright {
  background: linear-gradient(
    135deg,
    rgba(99, 213, 255, 0.15),
    rgba(247, 251, 255, 0.98)
  );
}

.fl-mood-pill--family {
  background: linear-gradient(
    135deg,
    rgba(248, 179, 108, 0.16),
    rgba(247, 251, 255, 0.98)
  );
}

.fl-mood-pill--photo {
  background: linear-gradient(
    135deg,
    rgba(15, 44, 76, 0.12),
    rgba(247, 251, 255, 0.98)
  );
}

.fl-mood-pill:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(1, 30, 48, 0.26);
}

.fl-mood-title {
  margin: 0 0 4px;
  font-size: 14px;
}

.fl-mood-text {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

/* нижняя картинка */

.fl-tour-moods-foot {
  margin-top: 8px;
}

.fl-tour-moods-photo {
  margin: 0;
  padding: 8px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 16px 40px rgba(1, 30, 48, 0.22);
}

/* -------- SECTION 3: GROUP TYPES -------- */

.fl-group-types {
  background: linear-gradient(180deg, #edf6ff 0, #d9ecff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-group-types-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.fl-group-types-head {
  max-width: 640px;
}

.fl-group-types-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.fl-group-type-card {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 18px;
  padding: 14px 16px;
  border-radius: 26px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.9);
  box-shadow: 0 16px 40px rgba(1, 30, 48, 0.22);
  align-items: center;
}

.fl-group-type-card--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
}

.fl-group-type-title {
  margin: 0 0 4px;
  font-size: 15px;
}

.fl-group-type-textbody {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

.fl-group-type-photo {
  margin: 0;
  max-width: 230px;
  justify-self: flex-end;
}

.fl-group-type-multi {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fl-group-type-photo--small {
  max-width: 160px;
}

/* ===============================
   ADAPTIVE (tours.html)
   =============================== */

/* --- 1024px --- */
@media (max-width: 1024px) {
  .fl-tours-hero-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.05fr);
    gap: 28px;
  }

  .fl-tours-hero-media {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }

  .fl-tour-moods-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fl-group-type-card,
  .fl-group-type-card--reverse {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  }
}

/* --- 840px (планшеты вертикально) --- */
@media (max-width: 840px) {
  .fl-tours-hero-inner {
    grid-template-columns: 1fr;
  }

  .fl-tours-hero-media {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
  }

  .fl-tour-moods-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fl-group-type-card,
  .fl-group-type-card--reverse {
    grid-template-columns: 1fr 1fr;
  }

  .fl-group-type-photo {
    justify-self: center;
  }
}

/* --- 640px (телефоны) --- */
@media (max-width: 640px) {
  .fl-tours-hero {
    padding-top: 80px;
    padding-bottom: 56px;
  }

  .fl-tours-hero-title {
    font-size: 24px;
  }

  .fl-tours-hero-inner {
    gap: 24px;
  }

  .fl-tours-hero-media {
    grid-template-columns: 1fr;
  }

  .fl-tours-hero-main {
    order: 1;
  }

  .fl-tours-hero-side {
    order: 2;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .fl-tours-hero-badge {
    max-width: 160px;
  }

  .fl-tour-moods-strip {
    grid-template-columns: 1fr;
  }

  .fl-group-type-card,
  .fl-group-type-card--reverse {
    grid-template-columns: 1fr;
  }

  .fl-group-type-photo {
    max-width: 210px;
  }

  .fl-group-type-multi {
    justify-content: flex-start;
  }
}

/* --- 480px (маленькие телефоны) --- */
@media (max-width: 480px) {
  .fl-hero-tag {
    font-size: 11px;
    padding: 5px 10px;
  }

  .fl-mood-title {
    font-size: 13px;
  }

  .fl-mood-text {
    font-size: 12px;
  }

  .fl-group-type-textbody {
    font-size: 12px;
  }
}
/* -------- SECTION 4: WEEKEND ICE CAMPS -------- */

.fl-weekend {
  background: linear-gradient(180deg, #d9ecff 0, #f7fbff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-weekend-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-weekend-text .fl-section-text {
  max-width: 480px;
}

.fl-weekend-timeline {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fl-weekend-step {
  padding: 8px 10px;
  border-radius: 16px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.8);
  box-shadow: 0 10px 26px rgba(1, 30, 48, 0.2);
}

.fl-weekend-step-label {
  margin: 0 0 4px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--fl-text-main);
}

.fl-weekend-step-text {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

/* фото блока weekend */

.fl-weekend-photos {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}

.fl-weekend-photo {
  padding: 8px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(1, 30, 48, 0.24);
  max-width: 260px;
  transition:
    transform var(--fl-transition-fast),
    box-shadow var(--fl-transition-fast);
}

.fl-weekend-photo--main {
  transform-origin: right center;
}

.fl-weekend-photo-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.fl-weekend-photo--small {
  max-width: 150px;
}

.fl-weekend-photo:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(1, 30, 48, 0.32);
}

/* -------- SECTION 5: EXPEDITIONS -------- */

.fl-expeditions {
  background: var(--fl-bg-main);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-expeditions-inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.fl-expeditions-head {
  max-width: 620px;
}

.fl-expeditions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.fl-expedition-card {
  padding: 10px 12px;
  border-radius: 22px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.85);
  box-shadow: 0 14px 34px rgba(1, 30, 48, 0.22);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 10px;
  align-items: center;
  transition:
    transform var(--fl-transition-fast),
    box-shadow var(--fl-transition-fast);
}

.fl-expedition-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 52px rgba(1, 30, 48, 0.3);
}

.fl-expedition-icon {
  margin: 0;
  max-width: 54px;
}

.fl-expedition-title {
  margin: 0 0 4px;
  font-size: 14px;
}

.fl-expedition-text {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

/* -------- SECTION 6: EXTRAS -------- */

.fl-extras {
  background: linear-gradient(180deg, #f5fbff 0, #e4f3ff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-extras-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-extras-text .fl-section-text {
  max-width: 460px;
}

.fl-extras-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.fl-extras-chip {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(168, 220, 255, 0.9);
  font-size: 12px;
  color: var(--fl-text-soft);
}

/* фото extras */

.fl-extras-media {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}

.fl-extras-photo {
  padding: 8px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(1, 30, 48, 0.24);
  max-width: 240px;
  transition:
    transform var(--fl-transition-fast),
    box-shadow var(--fl-transition-fast);
}

.fl-extras-photo--secondary {
  opacity: 0.96;
  transform-origin: right top;
}

.fl-extras-photo:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(1, 30, 48, 0.32);
}

/* ===============================
   ADAPTIVE FOR SECTIONS 4–6
   =============================== */

/* --- 1024px --- */
@media (max-width: 1024px) {
  .fl-weekend-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.05fr);
  }

  .fl-expeditions-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fl-extras-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.05fr);
  }
}

/* --- 840px --- */
@media (max-width: 840px) {
  .fl-weekend-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-weekend-photos {
    align-items: flex-start;
  }

  .fl-expeditions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fl-extras-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-extras-media {
    align-items: flex-start;
  }
}

/* --- 640px --- */
@media (max-width: 640px) {
  .fl-weekend-photos {
    align-items: flex-start;
  }

  .fl-weekend-photo--main {
    max-width: 220px;
  }

  .fl-weekend-photo--small {
    max-width: 150px;
  }

  .fl-expeditions-grid {
    grid-template-columns: 1fr;
  }

  .fl-extras-inner {
    gap: 20px;
  }

  .fl-extras-photo {
    max-width: 220px;
  }
}

/* --- 480px --- */
@media (max-width: 480px) {
  .fl-weekend-step-text,
  .fl-expedition-text {
    font-size: 12px;
  }

  .fl-extras-chip {
    font-size: 11px;
  }
}
/* -------- SECTION 7: ACTIVITY LEVELS -------- */

.fl-activity {
  background: linear-gradient(180deg, #e4f3ff 0, #f7fbff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-activity-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.fl-activity-text .fl-section-text + .fl-section-text {
  margin-top: 8px;
}

/* панель активности */

.fl-activity-panel {
  padding: 12px 14px;
  border-radius: 26px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.9);
  box-shadow: 0 16px 40px rgba(1, 30, 48, 0.22);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fl-activity-meter {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fl-activity-track {
  position: relative;
  height: 14px;
  border-radius: 999px;
  background: rgba(201, 233, 255, 0.6);
  overflow: hidden;
}

.fl-activity-fill {
  position: absolute;
  inset: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #63d5ff 0%, #f8b36c 35%, #ffdf9c 65%, #1e78d8 100%);
  transform-origin: left center;
  animation: fl-activity-flow 7s ease-in-out infinite;
}

@keyframes fl-activity-flow {
  0% {
    transform: scaleX(0.7);
  }
  50% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0.7);
  }
}

.fl-activity-marks {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fl-activity-mark {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.fl-activity-mark-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ffffff;
  border: 2px solid var(--fl-accent);
  box-shadow: 0 0 0 4px rgba(99, 213, 255, 0.3);
}

.fl-activity-mark-label {
  font-size: 11px;
  color: var(--fl-text-soft);
}

.fl-activity-notes {
  margin: 0;
  padding-left: 16px;
  font-size: 13px;
  color: var(--fl-text-soft);
}

.fl-activity-notes li {
  margin-bottom: 4px;
}

/* фото активности */

.fl-activity-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.fl-activity-photo {
  padding: 6px;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--fl-shadow-soft);
  max-width: 160px;
}

/* -------- SECTION 8: ICE LOCATIONS -------- */

.fl-locations {
  background: radial-gradient(circle at 0% 0%, #ffffff 0, transparent 55%),
    linear-gradient(180deg, #f7fbff 0, #d8ebff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-locations-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 32px;
  align-items: center;
}

.fl-locations-text .fl-section-text {
  max-width: 460px;
}

/* карта локаций */

.fl-locations-map {
  position: relative;
  padding: 14px;
  border-radius: 28px;
  background: radial-gradient(circle at 20% 0%, #ffffff 0, #cbe7ff 65%);
  box-shadow: 0 18px 46px rgba(1, 30, 48, 0.26);
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.fl-location-spot {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 10px;
  padding: 7px 9px;
  border-radius: 18px;
  background: rgba(244, 250, 255, 0.96);
  border: 1px solid rgba(168, 220, 255, 0.85);
}

.fl-location-photo {
  margin: 0;
  max-width: 70px;
}

.fl-location-title {
  margin: 0 0 3px;
  font-size: 14px;
}

.fl-location-text {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

/* -------- SECTION 9: TOUR SCENARIOS -------- */

.fl-scenarios {
  background: linear-gradient(180deg, #edf6ff 0, #d9ecff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-scenarios-inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.fl-scenarios-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.fl-scenario-row {
  padding: 10px 12px;
  border-radius: 20px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.85);
  box-shadow: 0 12px 30px rgba(1, 30, 48, 0.22);
}

.fl-scenario-title {
  margin: 0 0 4px;
  font-size: 14px;
}

.fl-scenario-text {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

/* фото сценариев */

.fl-scenarios-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.fl-scenario-photo {
  padding: 8px;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: var(--fl-shadow-soft);
  max-width: 210px;
}

/* ===============================
   ADAPTIVE FOR SECTIONS 7–9
   =============================== */

/* --- 1024px --- */
@media (max-width: 1024px) {
  .fl-activity-inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr);
  }

  .fl-locations-inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr);
  }

  .fl-scenarios-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --- 840px --- */
@media (max-width: 840px) {
  .fl-activity-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-activity-panel {
    max-width: 420px;
  }

  .fl-locations-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .fl-locations-map {
    max-width: 480px;
  }

  .fl-scenarios-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- 640px --- */
@media (max-width: 640px) {
  .fl-activity-inner {
    gap: 18px;
  }

  .fl-activity-photos {
    justify-content: flex-start;
  }

  .fl-locations-map {
    padding: 10px;
  }

  .fl-location-photo {
    max-width: 64px;
  }

  .fl-scenarios-grid {
    grid-template-columns: 1fr;
  }

  .fl-scenario-photo {
    max-width: 190px;
  }
}

/* --- 480px --- */
@media (max-width: 480px) {
  .fl-activity-mark-label {
    font-size: 10px;
  }

  .fl-activity-notes {
    font-size: 12px;
  }

  .fl-location-text,
  .fl-scenario-text {
    font-size: 12px;
  }
}
/* -------- SECTION 10: FORMAT MATRIX -------- */

.fl-format {
  background: linear-gradient(180deg, #f7fbff 0, #e4f3ff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-format-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.fl-format-text .fl-section-text {
  max-width: 440px;
}

.fl-format-notes {
  margin: 10px 0 0 16px;
  padding: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

.fl-format-notes li {
  margin-bottom: 3px;
}

/* доска с матрицей */

.fl-format-board {
  padding: 14px 14px 12px;
  border-radius: 26px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #cbe7ff 65%);
  box-shadow: 0 18px 46px rgba(1, 30, 48, 0.26);
}

.fl-format-grid-head {
  display: grid;
  grid-template-columns: 0.9fr repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(4, 27, 38, 0.7);
}

.fl-format-grid {
  display: grid;
  grid-template-columns: 0.9fr repeat(3, minmax(0, 1fr));
  gap: 6px;
  font-size: 12px;
}

.fl-format-row-label {
  align-self: center;
  font-weight: 600;
  color: var(--fl-text-main);
}

.fl-format-cell {
  padding: 6px 8px;
  border-radius: 12px;
  background: rgba(244, 250, 255, 0.95);
  border: 1px solid rgba(168, 220, 255, 0.9);
  box-shadow: 0 6px 18px rgba(1, 30, 48, 0.22);
}

.fl-format-cell--soft {
  background: linear-gradient(
    135deg,
    rgba(207, 234, 255, 0.95),
    rgba(247, 251, 255, 0.98)
  );
}

.fl-format-cell--mix {
  background: linear-gradient(
    135deg,
    rgba(99, 213, 255, 0.15),
    rgba(247, 251, 255, 0.98)
  );
}

.fl-format-cell--drive {
  background: linear-gradient(
    135deg,
    rgba(15, 44, 76, 0.12),
    rgba(247, 251, 255, 0.98)
  );
}

/* фото под матрицей */

.fl-format-photos {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fl-format-photo {
  padding: 8px;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: var(--fl-shadow-soft);
  max-width: 180px;
}

/* -------- SECTION 11: DAY FLOW -------- */

.fl-day {
  background: linear-gradient(180deg, #e4f3ff 0, #d7ebff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-day-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
  gap: 30px;
  align-items: center;
}

/* левая вертикальная шкала */

.fl-day-rail {
  position: relative;
  padding-left: 32px;
}

.fl-day-rail::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, #63d5ff, #f8b36c);
}

.fl-day-step {
  position: relative;
  margin-bottom: 16px;
}

.fl-day-step:last-child {
  margin-bottom: 0;
}

.fl-day-time {
  font-size: 12px;
  color: var(--fl-text-soft);
}

.fl-day-dot {
  position: absolute;
  left: -18px;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #ffffff;
  border: 3px solid var(--fl-accent);
  box-shadow: 0 0 0 4px rgba(99, 213, 255, 0.3);
}

.fl-day-label {
  margin: 2px 0 0;
  font-size: 13px;
}

/* текст и фото справа */

.fl-day-text .fl-section-text {
  max-width: 460px;
}

.fl-day-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 0;
}

.fl-day-chip {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(168, 220, 255, 0.9);
  font-size: 12px;
  color: var(--fl-text-soft);
}

.fl-day-photos {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fl-day-photo {
  padding: 8px;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: var(--fl-shadow-soft);
  max-width: 180px;
}

/* -------- SECTION 12: INCLUDED -------- */

.fl-included {
  background: linear-gradient(180deg, #f7fbff 0, #e4f3ff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-included-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-included-text .fl-section-text {
  max-width: 460px;
}

/* сетка включённых пунктов */

.fl-included-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.fl-included-item {
  position: relative;
  padding: 8px 10px 8px 26px;
  border-radius: 16px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.85);
  box-shadow: 0 12px 30px rgba(1, 30, 48, 0.2);
}

.fl-included-item::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 12px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ffffff;
  border: 2px solid var(--fl-accent);
}

.fl-included-label {
  margin: 0 0 3px;
  font-size: 13px;
  font-weight: 600;
}

.fl-included-text {
  margin: 0;
  font-size: 12px;
  color: var(--fl-text-soft);
}

/* фото справа */

.fl-included-media {
  display: flex;
  justify-content: flex-end;
}

.fl-included-photo {
  padding: 8px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(1, 30, 48, 0.24);
  max-width: 240px;
}

/* ===============================
   ADAPTIVE FOR SECTIONS 10–12
   =============================== */

/* --- 1024px --- */
@media (max-width: 1024px) {
  .fl-format-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.05fr);
  }

  .fl-day-inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  }

  .fl-included-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.05fr);
  }
}

/* --- 840px --- */
@media (max-width: 840px) {
  .fl-format-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-format-board {
    max-width: 520px;
  }

  .fl-day-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-day-rail {
    max-width: 260px;
    margin-inline: auto;
  }

  .fl-included-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-included-media {
    justify-content: flex-start;
  }
}

/* --- 640px --- */
@media (max-width: 640px) {
  .fl-format-grid-head,
  .fl-format-grid {
    grid-template-columns: 0.9fr repeat(2, minmax(0, 1fr));
  }

  .fl-format-grid-head span:nth-child(4),
  .fl-format-grid > :nth-child( (1 + 4n) ) {
    /* оставляем логику на 2–3 столбца, часть «драйв» можно описать текстом выше */
  }

  .fl-format-photo {
    max-width: 160px;
  }

  .fl-day-photos {
    justify-content: flex-start;
  }

  .fl-included-grid {
    grid-template-columns: 1fr;
  }

  .fl-included-photo {
    max-width: 220px;
  }
}

/* --- 480px --- */
@media (max-width: 480px) {
  .fl-format-notes {
    font-size: 12px;
  }

  .fl-day-label {
    font-size: 12px;
  }

  .fl-included-label {
    font-size: 12px;
  }

  .fl-included-text {
    font-size: 11px;
  }
}
/* -------- SECTION 13: DURATION -------- */

.fl-duration {
  background: linear-gradient(180deg, #edf6ff 0, #d9ecff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-duration-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-duration-text .fl-section-text {
  max-width: 460px;
}

.fl-duration-badges {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fl-duration-pill {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.85);
  font-size: 12px;
  color: var(--fl-text-soft);
}

.fl-duration-media {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}

.fl-duration-photo {
  padding: 8px;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(1, 30, 48, 0.24);
  max-width: 240px;
}

.fl-duration-photo--exp {
  opacity: 0.98;
}

/* -------- SECTION 14: LOGISTICS -------- */

.fl-logistics {
  background: var(--fl-bg-main);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-logistics-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-logistics-text .fl-section-text {
  max-width: 460px;
}

.fl-logistics-list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fl-logistics-item {
  padding: 8px 10px;
  border-radius: 18px;
  background: rgba(244, 250, 255, 0.98);
  border: 1px solid rgba(168, 220, 255, 0.85);
  box-shadow: 0 12px 30px rgba(1, 30, 48, 0.2);
}

.fl-logistics-tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(99, 213, 255, 0.12);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--fl-text-main);
  margin-bottom: 4px;
}

.fl-logistics-text {
  margin: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

/* фото логистики */

.fl-logistics-media {
  display: flex;
  justify-content: flex-end;
}

.fl-logistics-photo {
  padding: 8px;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(1, 30, 48, 0.24);
  max-width: 240px;
}

/* -------- SECTION 15: CORPORATE & SPECIAL TOURS -------- */

.fl-corporate {
  background: linear-gradient(180deg, #e4f3ff 0, #f7fbff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-corporate-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-corporate-text .fl-section-text {
  max-width: 460px;
}

.fl-corporate-mosaic {
  position: relative;
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
  aspect-ratio: 4 / 3;
}

.fl-corporate-photo {
  position: absolute;
  padding: 8px;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: var(--fl-shadow-soft);
  max-width: 210px;
  transition:
    transform var(--fl-transition-fast),
    box-shadow var(--fl-transition-fast);
}

.fl-corporate-photo--circle {
  left: 0;
  top: 10px;
  transform: rotate(-4deg);
}

.fl-corporate-photo--logo {
  right: 0;
  top: 35%;
  transform: rotate(3deg);
}

.fl-corporate-photo--session {
  left: 18%;
  bottom: -8px;
  transform: rotate(-2deg);
}

.fl-corporate-photo:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 28px 64px rgba(1, 30, 48, 0.34);
}

/* -------- SECTION 16: CHECKLIST -------- */

.fl-checklist {
  background: linear-gradient(180deg, #f7fbff 0, #e4f3ff 100%);
  border-bottom: 1px solid var(--fl-border-soft);
}

.fl-checklist-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
}

.fl-checklist-text .fl-section-text {
  max-width: 460px;
}

.fl-checklist-list {
  margin: 10px 0 0 16px;
  padding: 0;
  font-size: 13px;
  color: var(--fl-text-soft);
}

.fl-checklist-list li {
  margin-bottom: 4px;
}

/* фото чек-листа */

.fl-checklist-media {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}

.fl-checklist-photo {
  padding: 8px;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: var(--fl-shadow-soft);
  max-width: 220px;
}

/* -------- SECTION 17: FINAL TOURS CTA -------- */

.fl-tours-final {
  background: linear-gradient(135deg, #021822 0, #06354c 55%, #0d4f6f 100%);
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.fl-tours-final-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  gap: 28px;
  align-items: center;
}

.fl-tours-final-text .fl-section-text {
  color: rgba(236, 246, 255, 0.9);
}

.fl-tours-final-actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fl-tours-final-note {
  font-size: 12px;
  color: rgba(215, 235, 255, 0.9);
}

/* фото CTA */

.fl-tours-final-media {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.fl-tours-final-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #8ad0ff 70%);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.55);
  max-width: 190px;
}

.fl-tours-final-photo--small {
  max-width: 140px;
}

/* ===============================
   ADAPTIVE 13–17
   =============================== */

/* --- 1024px --- */
@media (max-width: 1024px) {
  .fl-duration-inner,
  .fl-logistics-inner,
  .fl-corporate-inner,
  .fl-checklist-inner,
  .fl-tours-final-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.05fr);
  }
}

/* --- 840px --- */
@media (max-width: 840px) {
  .fl-duration-inner,
  .fl-logistics-inner,
  .fl-corporate-inner,
  .fl-checklist-inner,
  .fl-tours-final-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fl-duration-media,
  .fl-logistics-media,
  .fl-checklist-media,
  .fl-tours-final-media {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .fl-corporate-mosaic {
    margin-top: 8px;
  }
}

/* --- 640px --- */
@media (max-width: 640px) {
  .fl-duration-media {
    align-items: flex-start;
  }

  .fl-duration-photo {
    max-width: 220px;
  }

  .fl-logistics-photo {
    max-width: 220px;
  }

  .fl-corporate-mosaic {
    position: static;
    aspect-ratio: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .fl-corporate-photo {
    position: static;
    max-width: 220px;
    transform: none;
  }

  .fl-checklist-photo {
    max-width: 210px;
  }

  .fl-tours-final-media {
    justify-content: flex-start;
  }

  .fl-tours-final-photo {
    max-width: 180px;
  }
}

/* --- 480px --- */
@media (max-width: 480px) {
  .fl-duration-pill {
    font-size: 11px;
  }

  .fl-logistics-text,
  .fl-checklist-list {
    font-size: 12px;
  }

  .fl-tours-final-note {
    font-size: 11px;
  }

  .fl-tours-final-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
