/* ============================================================
   Ретрит на Пангане: отель, номера, цены, бронирование
   Подключается только на retrit.html и en/retreat.html (поверх style.css).
   Все классы с префиксом rt- , чтобы не пересекаться с общими стилями.
   При изменении файла увеличьте ?v= в ссылке на него.
   ============================================================ */

/* ---------- Sunset Hill Resort: мозаика фото ---------- */
.rt-mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:clamp(220px,26vw,340px) clamp(160px,18vw,230px);
  gap:clamp(.6rem,1.4vw,1rem);margin-top:clamp(1.8rem,4vw,2.6rem)}
.rt-mosaic > .ph{height:100%;margin:0}
.rt-mosaic > .m-main{grid-column:1 / 3;grid-row:1}
.rt-mosaic > .m-tall{grid-column:3;grid-row:1 / 3}
.rt-mosaic > .m-a{grid-column:1;grid-row:2}
.rt-mosaic > .m-b{grid-column:2;grid-row:2}
@media (max-width:760px){
  .rt-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:42vw}
  .rt-mosaic > .m-main{grid-column:1 / 3;grid-row:auto}
  .rt-mosaic > .m-tall{grid-column:1;grid-row:span 2}
  .rt-mosaic > .m-a,.rt-mosaic > .m-b{grid-column:2;grid-row:auto}
}
.rt-hotel-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,2.4rem);
  margin-top:clamp(1.6rem,3.5vw,2.2rem)}
@media (max-width:760px){.rt-hotel-text{grid-template-columns:1fr}}

/* ---------- Категории номеров ---------- */
.rt-rooms{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,2rem);
  margin-top:clamp(1.8rem,4vw,2.4rem)}
.rt-room{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column}
.rt-room .rt-room-media{display:grid;gap:.45rem;padding:.45rem .45rem 0;
  height:clamp(320px,36vw,460px)}
.rt-room .rt-room-media > .ph{height:100%;margin:0;border-radius:12px}
.rt-room .rt-room-media.rt-four{grid-template-columns:repeat(3,1fr);grid-template-rows:1.7fr 1fr}
.rt-room .rt-room-media.rt-four > .ph:first-child{grid-column:1 / 4}
.rt-room .rt-room-body{padding:1.4rem 1.5rem 1.6rem}
.rt-room .rt-room-body h3{margin:0 0 .5rem}
@media (max-width:760px){.rt-rooms{grid-template-columns:1fr}}

/* ---------- Цены: четыре карточки ---------- */
.rt-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,2vw,1.2rem);
  margin-top:clamp(1.6rem,3.5vw,2.2rem)}
.rt-prices .rt-price{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem 1.1rem 1.4rem;text-align:center;display:flex;flex-direction:column;
  align-items:center;gap:.45rem}
.rt-prices .rt-price.rt-sea{border-color:rgba(91,135,152,.45)}
.rt-prices .rt-price-amount{font-family:var(--f-disp);font-size:clamp(1.9rem,3vw,2.4rem);
  color:var(--ink);line-height:1.1;margin:.35rem 0 0}
.rt-prices .rt-price-who{font-size:.9rem;color:var(--muted);margin:0}
@media (max-width:980px){.rt-prices{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.rt-prices{grid-template-columns:1fr}}

.rt-incl{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(1rem,2.5vw,1.6rem);
  margin-top:clamp(2rem,4.5vw,2.8rem);align-items:start}
@media (max-width:760px){.rt-incl{grid-template-columns:1fr}}

/* ---------- Бронирование и отмена ---------- */
.rt-book{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.5vw,1.6rem);
  margin-top:clamp(1.6rem,3.5vw,2.2rem);align-items:start}
.rt-book .card p{margin:0}
.rt-book .card p + p{margin-top:.75rem}
.rt-book .card h3{margin-bottom:.8rem}
@media (max-width:760px){.rt-book{grid-template-columns:1fr}}
.rt-cta{text-align:center;margin-top:clamp(1.8rem,4vw,2.6rem)}
.rt-cta .btn{margin-top:1.1rem}

/* ---------- Программа по дням ---------- */
.rt-days .faq-item .faq-a p + p{margin-top:.55rem}
.rt-days .rt-days-note{margin-top:clamp(1.8rem,4vw,2.4rem)}
.rt-days .rt-days-note p{margin:0}
.rt-days .rt-days-note p + p{margin-top:.75rem}

/* ---------- Первый экран: даты под заголовком ---------- */
.rt-date{font-family:var(--f-disp);font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--clay);
  margin-top:.9rem;letter-spacing:.01em}

/* ---------- Кнопки после основных блоков ---------- */
.rt-cta-row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:clamp(1.8rem,4vw,2.6rem)}
.rt-cta-row.rt-left{justify-content:flex-start}
.rt-cta .rt-cta-row{margin-top:1.1rem}
.rt-cta .rt-cta-row .btn{margin-top:0}

/* ---------- Текстовые блоки «Кому подойдёт», «О ведущей» ---------- */
.rt-text{margin-top:1.3rem}
.rt-text p{margin:0}
.rt-text p + p{margin-top:.9rem}
.rt-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.6rem,1.4vw,1rem);align-items:start}
.rt-duo > .ph{aspect-ratio:3/4;margin:0}
.rt-duo > .ph:nth-child(2){margin-top:clamp(1.6rem,4vw,3rem)}

/* ---------- Фото-лента между блоками ---------- */
.rt-band{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.7rem,1.6vw,1.1rem)}
.rt-band figure,.rt-trips figure{margin:0}
.rt-band .ph{aspect-ratio:4/5;margin:0}
.rt-band figcaption,.rt-trips figcaption{font-size:.85rem;color:var(--muted);margin-top:.55rem}
.rt-trips{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.2vw,.9rem);
  margin-top:clamp(2.2rem,5vw,3rem)}
.rt-trips .ph{aspect-ratio:3/4;margin:0}
@media (max-width:640px){
  .rt-band,.rt-trips{grid-template-columns:none;grid-auto-flow:column;overflow-x:auto;
    scroll-snap-type:x mandatory;padding-bottom:.6rem}
  .rt-band{grid-auto-columns:72%}
  .rt-trips{grid-auto-columns:44%}
  .rt-band figure,.rt-trips figure{scroll-snap-align:start}
}

/* ---------- Отзывы ---------- */
.rt-reviews{columns:2 340px;column-gap:clamp(1rem,2.5vw,1.6rem)}
.rt-reviews .tstm{break-inside:avoid;margin:0 0 clamp(1rem,2.5vw,1.6rem)}
.rt-reviews .tstm blockquote p{margin:0}
.rt-reviews .tstm blockquote p + p,.rt-reviews .rt-more p{margin-top:.7em}
.rt-more summary{list-style:none;cursor:pointer;display:inline-block;margin-top:.7rem;
  color:var(--clay);font-weight:600;font-size:.92rem;border-bottom:1px solid currentColor}
.rt-more summary::-webkit-details-marker{display:none}
.rt-more[open] > summary{display:none}

/* ---------- Что входит в путешествие ---------- */
.rt-summary{text-align:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1.3rem,4vw,3rem)}
.rt-summary p{margin:.9rem auto 0;max-width:640px;font-size:clamp(1.02rem,1.5vw,1.14rem);line-height:1.7}

/* ---------- Первый экран: на телефоне фото сразу под заголовком и датами ---------- */
.rt-hero{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"head photo" "body photo";
  column-gap:clamp(2rem,5vw,4.5rem);align-items:center}
.rt-hero-head{grid-area:head;align-self:end}
.rt-hero-body{grid-area:body;align-self:start}
.rt-hero-photo{grid-area:photo;aspect-ratio:3/4;margin:0}
@media (max-width:720px){
  .rt-hero{grid-template-columns:1fr;grid-template-areas:"head" "photo" "body"}
  .rt-hero-photo{aspect-ratio:4/5;margin-top:1.3rem}
}

/* ---------- Отзывы: кнопка «Все отзывы» ---------- */
.rt-all > summary{list-style:none;cursor:pointer;display:flex;width:fit-content;margin:.4rem auto 0}
.rt-all > summary::-webkit-details-marker{display:none}
.rt-all[open] > summary{display:none}

/* ---------- Подписи рядов фото-ленты (Панган / Краби) ---------- */
.rt-band-label{margin-bottom:1rem}
.rt-band + .rt-band-label{margin-top:clamp(1.8rem,4vw,2.6rem)}
