.excursion-guide {
    --lt-blue: #1f5fba;
    --lt-heading: #13202f;
    --lt-text: #5f6f82;
    --lt-border: #e4e9ef;
    --lt-light-blue: #f2f7fd;
    --lt-orange: #f28c28;

    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    margin: 35px auto;
    padding: 38px;
    color: var(--lt-text);
    background-color: #ffffff;
    border: 1px solid var(--lt-border);
    border-radius: 14px;
    box-shadow: 0 5px 24px rgba(19, 32, 47, 0.07);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.7;
  }

  .excursion-guide *,
  .excursion-guide *::before,
  .excursion-guide *::after {
    box-sizing: border-box;
  }

  .excursion-guide h2 {
    position: relative;
    margin: 52px 0 22px;
    padding: 28px 0 0;
    color: var(--lt-heading);
    border-top: 1px solid var(--lt-border);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.25;
  }

  .excursion-guide h2::before {
    position: absolute;
    top: -2px;
    left: 0;
    width: 72px;
    height: 4px;
    background-color: var(--lt-blue);
    border-radius: 4px;
    content: "";
  }

  .excursion-guide h3 {
    margin: 32px 0 16px;
    color: var(--lt-heading);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.35;
  }

  .excursion-guide p {
    margin: 0 0 20px;
  }

  .excursion-guide .intro {
    margin: 0 0 42px;
    padding: 27px 30px;
    color: #405267;
    background-color: var(--lt-light-blue);
    border: 1px solid #dce9f7;
    border-left: 5px solid var(--lt-blue);
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.7;
  }

  .excursion-guide table {
    display: table;
    width: 100%;
    margin: 28px 0;
    overflow: hidden;
    border: 1px solid var(--lt-border);
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    background-color: #ffffff;
    box-shadow: 0 3px 14px rgba(19, 32, 47, 0.06);
  }

  .excursion-guide th,
  .excursion-guide td {
    padding: 17px 19px;
    border-right: 1px solid var(--lt-border);
    border-bottom: 1px solid var(--lt-border);
    text-align: left;
    vertical-align: top;
  }

  .excursion-guide th {
    color: #ffffff;
    background-color: var(--lt-blue);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
  }

  .excursion-guide th:first-child {
    border-top-left-radius: 9px;
  }

  .excursion-guide th:last-child {
    border-top-right-radius: 9px;
  }

  .excursion-guide th:last-child,
  .excursion-guide td:last-child {
    border-right: 0;
  }

  .excursion-guide tbody tr:nth-child(even) td {
    background-color: #f7f9fc;
  }

  .excursion-guide tbody tr:hover td {
    background-color: var(--lt-light-blue);
  }

  .excursion-guide tbody tr:last-child td {
    border-bottom: 0;
  }

  .excursion-guide ul {
    margin: 22px 0 30px;
    padding: 8px 0;
    list-style: none;
  }

  .excursion-guide ul li {
    position: relative;
    margin: 0 0 12px;
    padding: 18px 20px 18px 48px;
    background-color: #ffffff;
    border: 1px solid var(--lt-border);
    border-radius: 8px;
    box-shadow: 0 2px 9px rgba(19, 32, 47, 0.04);
  }

  .excursion-guide ul li::before {
    position: absolute;
    top: 25px;
    left: 21px;
    width: 10px;
    height: 10px;
    background-color: var(--lt-blue);
    border-radius: 50%;
    content: "";
  }

  .excursion-guide .note {
    position: relative;
    margin: 28px 0;
    padding: 21px 24px 21px 52px;
    color: #594732;
    background-color: #fff8ed;
    border: 1px solid #f4dfc2;
    border-radius: 9px;
  }

  .excursion-guide .note::before {
    position: absolute;
    top: 25px;
    left: 22px;
    width: 13px;
    height: 13px;
    background-color: var(--lt-orange);
    border-radius: 50%;
    content: "";
  }

  .excursion-guide ol.steps {
    margin: 24px 0 25px;
    padding: 28px 30px 20px 66px;
    background-color: var(--lt-light-blue);
    border: 1px solid #dce9f7;
    border-radius: 10px;
    counter-reset: excursion-step;
    list-style: none;
  }

  .excursion-guide ol.steps li {
    position: relative;
    min-height: 38px;
    margin: 0 0 15px;
    padding: 5px 0 16px;
    border-bottom: 1px solid #d9e5f2;
    counter-increment: excursion-step;
  }

  .excursion-guide ol.steps li::before {
    position: absolute;
    top: 0;
    left: -45px;
    display: flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background-color: var(--lt-blue);
    border-radius: 50%;
    content: counter(excursion-step);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }

  .excursion-guide ol.steps li:last-child {
    margin-bottom: 0;
    border-bottom: 0;
  }

  @media (max-width: 900px) {
    .excursion-guide {
      margin: 25px auto;
      padding: 30px;
    }
  }

  @media (max-width: 640px) {
    .excursion-guide {
      margin: 15px auto;
      padding: 23px 17px;
      border-radius: 10px;
      font-size: 16px;
      line-height: 1.65;
    }

    .excursion-guide h2 {
      margin-top: 42px;
      padding-top: 23px;
      font-size: 25px;
      line-height: 1.3;
    }

    .excursion-guide h3 {
      margin-top: 27px;
      font-size: 20px;
    }

    .excursion-guide .intro {
      margin-bottom: 35px;
      padding: 21px 19px;
      font-size: 16px;
    }

    .excursion-guide table,
    .excursion-guide thead,
    .excursion-guide tbody,
    .excursion-guide tr,
    .excursion-guide th,
    .excursion-guide td {
      display: block;
      width: 100%;
    }

    .excursion-guide table {
      border-radius: 8px;
    }

    .excursion-guide thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
    }

    .excursion-guide tr {
      padding: 15px;
      border-bottom: 1px solid var(--lt-border);
    }

    .excursion-guide tbody tr:last-child {
      border-bottom: 0;
    }

    .excursion-guide td {
      position: relative;
      min-height: 40px;
      padding: 8px 0 8px 47%;
      border: 0;
      background-color: #ffffff;
    }

    .excursion-guide tbody tr:nth-child(even) td {
      background-color: transparent;
    }

    .excursion-guide td::before {
      position: absolute;
      top: 8px;
      left: 0;
      width: 43%;
      color: var(--lt-heading);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.4;
    }

    .excursion-guide td:nth-child(1)::before {
      content: "Формат";
    }

    .excursion-guide td:nth-child(2)::before {
      content: "Цена";
    }

    .excursion-guide td:nth-child(3)::before {
      content: "Что включено";
    }

    .excursion-guide .note {
      padding: 19px 18px 19px 45px;
    }

    .excursion-guide .note::before {
      top: 23px;
      left: 18px;
      width: 12px;
      height: 12px;
    }

    .excursion-guide ul li {
      padding: 16px 16px 16px 42px;
    }

    .excursion-guide ul li::before {
      top: 22px;
      left: 18px;
      width: 9px;
      height: 9px;
    }

    .excursion-guide ol.steps {
      padding: 23px 18px 15px 58px;
    }

    .excursion-guide ol.steps li::before {
      left: -41px;
    }
  }
#lt-yandex-reviews-section{
  --accent:#00a7ff;
  --accent-2:#0077ff;
  --text:#0f1115;
  --muted:rgba(15,17,21,.64);
  --line:rgba(15,17,21,.10);

  width:100%;
  margin:42px 0 0;

  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);

  box-sizing:border-box;
}

#lt-yandex-reviews-section *{
  box-sizing:border-box;
}

#lt-yandex-reviews-section a{
  text-decoration:none;
}


/* =========================================================
   ЗАГОЛОВОК
   ========================================================= */

#lt-yandex-reviews-section .lt-reviews-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  width:100%;
  margin:0 0 20px;
}

#lt-yandex-reviews-section .lt-reviews-title{
  margin:0;

  font-size:28px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.03em;

  color:var(--text);
}

#lt-yandex-reviews-section .lt-reviews-all{
  flex:0 0 auto;

  color:var(--accent-2);

  font-size:16px;
  line-height:1.4;
  font-weight:600;

  transition:.2s;
}

#lt-yandex-reviews-section .lt-reviews-all:hover{
  opacity:.65;
}


/* =========================================================
   ОБЩАЯ БЕЛАЯ ПЛАШКА
   ========================================================= */

#lt-yandex-reviews-section .lt-reviews-shell{
  width:100%;

  display:grid;
  grid-template-columns:280px minmax(0,760px);
  justify-content:center;
  align-items:stretch;

  gap:30px;

  padding:30px;

  background:#fff;

  border:1px solid var(--line);
  border-radius:28px;

  box-shadow:0 14px 36px rgba(15,17,21,.12);
}


/* =========================================================
   ЛЕВАЯ КАРТОЧКА
   ========================================================= */

#lt-yandex-reviews-section .lt-rating-card{
  width:100%;
  min-height:660px;

  padding:28px 24px;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;

  background:#fff;

  border:1px solid rgba(15,17,21,.08);
  border-radius:20px;

  box-shadow:0 8px 24px rgba(15,17,21,.07);
}

#lt-yandex-reviews-section .lt-rating-name{
  margin:0 0 14px;

  font-size:20px;
  line-height:1.3;
  font-weight:700;
}

#lt-yandex-reviews-section .lt-rating-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:10px;

  margin-bottom:10px;
}

#lt-yandex-reviews-section .lt-rating-number{
  font-size:44px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;
}

#lt-yandex-reviews-section .lt-rating-stars{
  color:#ffcc00;

  font-size:20px;
  line-height:1;
}

#lt-yandex-reviews-section .lt-rating-note{
  margin:0 0 22px;

  color:var(--muted);

  font-size:14px;
  line-height:1.5;
}

#lt-yandex-reviews-section .lt-review-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:44px;

  padding:0 18px;

  background:var(--accent);
  color:#fff;

  border-radius:9px;

  font-size:14px;
  font-weight:700;

  transition:.2s;
}

#lt-yandex-reviews-section .lt-review-button:hover{
  background:var(--accent-2);
}

#lt-yandex-reviews-section .lt-yandex-text-link{
  display:inline-block;

  margin-top:16px;

  color:var(--accent-2);

  font-size:13px;
  line-height:1.4;
  font-weight:600;
}

#lt-yandex-reviews-section .lt-yandex-text-link:hover{
  text-decoration:underline;
}


/* =========================================================
   ЯНДЕКС-ВИДЖЕТ
   ========================================================= */

#lt-yandex-reviews-section .lt-yandex-side{
  width:100%;
  min-width:0;
}

#lt-yandex-reviews-section .lt-yandex-widget{
  position:relative;

  width:100%;
  max-width:760px;
  height:660px;

  overflow:hidden;

  background:#fff;

  border:1px solid rgba(15,17,21,.08);
  border-radius:20px;

  box-shadow:0 8px 24px rgba(15,17,21,.07);
}

#lt-yandex-reviews-section .lt-yandex-widget iframe{
  display:block;

  width:100%;
  height:100%;

  margin:0;
  padding:0;

  border:0;

  background:#fff;
}

#lt-yandex-reviews-section .lt-yandex-widget-credit{
  position:absolute;

  left:0;
  bottom:6px;

  width:100%;

  padding:0 20px;

  color:#aaa;

  text-align:center;

  font-family:Arial,sans-serif;
  font-size:10px;
  line-height:14px;

  z-index:2;
}


/* =========================================================
   ПЛАНШЕТ
   ========================================================= */

@media(max-width:980px){

  #lt-yandex-reviews-section .lt-reviews-shell{
    grid-template-columns:220px minmax(0,1fr);

    gap:20px;

    padding:20px;
  }

  #lt-yandex-reviews-section .lt-rating-card{
    padding:20px;
  }

  #lt-yandex-reviews-section .lt-rating-number{
    font-size:38px;
  }

  #lt-yandex-reviews-section .lt-rating-stars{
    font-size:17px;
  }

  #lt-yandex-reviews-section .lt-yandex-widget{
    max-width:none;
  }
}


/* =========================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================= */

@media(max-width:767px){

  #lt-yandex-reviews-section{
    margin-top:32px;
  }

  #lt-yandex-reviews-section .lt-reviews-head{
    flex-direction:column;
    align-items:flex-start;

    gap:8px;

    margin-bottom:16px;
  }

  #lt-yandex-reviews-section .lt-reviews-title{
    font-size:22px;
  }

  #lt-yandex-reviews-section .lt-reviews-all{
    font-size:14px;
  }

  #lt-yandex-reviews-section .lt-reviews-shell{
    display:block;

    width:100%;

    padding:8px;

    border-radius:22px;
  }

  #lt-yandex-reviews-section .lt-rating-card{
    min-height:0;

    margin:0 0 10px;

    padding:20px;

    justify-content:flex-start;

    border-radius:16px;

    box-shadow:none;
  }

  #lt-yandex-reviews-section .lt-rating-name{
    margin-bottom:10px;

    font-size:18px;
  }

  #lt-yandex-reviews-section .lt-rating-number{
    font-size:38px;
  }

  #lt-yandex-reviews-section .lt-rating-stars{
    font-size:18px;
  }

  #lt-yandex-reviews-section .lt-rating-note{
    margin-bottom:16px;

    font-size:13px;
  }

  #lt-yandex-reviews-section .lt-review-button{
    width:100%;
  }

  #lt-yandex-reviews-section .lt-yandex-widget{
    width:100%;
    max-width:none;
    height:620px;

    border-radius:16px;

    box-shadow:none;
  }
}