/* =========================================================
   ЗЕЛЕМІНЬ — сторінка «Ціни та дати»
   Layout: заголовок на фото тераси; три картки тарифів; «що входить» (заголовок ліворуч,
   сітка зручностей праворуч); повний блок бронювання; FAQ-акордеон.
   ========================================================= */
.pr { max-width: var(--container); margin: 0 auto; padding: clamp(60px, 7vw, 110px) var(--gutter) clamp(90px, 9vw, 140px); display: grid; gap: clamp(80px, 9vw, 140px); }
.pr > * { min-width: 0; }
.pr--after { padding-top: clamp(90px, 9vw, 140px); }
.pr-demo { margin: 0 0 calc(-1 * clamp(40px, 5vw, 80px)); padding: 14px 20px; border-radius: 14px; border: 1px dashed rgba(242, 180, 101, .5); color: var(--ember); font-size: .9rem; }
.pr-head { margin-bottom: clamp(28px, 3vw, 44px); }
.pr-head .section-eyebrow, .included__intro .section-eyebrow, .faq__intro .section-eyebrow { margin-bottom: 14px; }
.pr-title { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(2.3rem, 1.3rem + 2.6vw, 4rem); line-height: 1; text-wrap: balance; }
.pr-title em { font-style: italic; font-weight: 500; color: var(--moss-300); }

/* ---------- Тарифи ---------- */
.tariffs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tariff {
  position: relative; padding: clamp(26px, 2.8vw, 40px); border-radius: 26px; min-width: 0;
  background: rgba(240, 224, 184, .03); border: 1px solid var(--glass-line);
  display: flex; flex-direction: column;
}
.tariff--accent {
  background: radial-gradient(90% 80% at 100% 0%, rgba(242, 180, 101, .18), transparent 60%), linear-gradient(160deg, rgba(92, 104, 59, .55), rgba(23, 30, 17, .9) 70%);
  border-color: rgba(242, 180, 101, .35);
}
.tariff__tag { position: absolute; top: 22px; right: 22px; padding: 5px 12px; border-radius: 999px; background: var(--ember); color: var(--forest-900); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tariff__label { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: 2rem; line-height: 1.05; }
.tariff__days { margin: 6px 0 0; font-size: .9rem; color: var(--cream-soft); }
.tariff__price { margin: 30px 0 0; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.tariff__price b { font-family: var(--font-display); font-weight: 600; font-size: clamp(3rem, 2rem + 2.4vw, 4.4rem); line-height: 1; font-variant-numeric: lining-nums; }
.tariff--accent .tariff__price b { background: linear-gradient(180deg, #fff4dc 0%, var(--cream) 40%, #e2b06a 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tariff__price span { color: var(--cream-soft); }
.tariff__note { margin: auto 0 0; padding-top: 24px; font-size: .92rem; line-height: 1.6; color: var(--cream-soft); }
.tariff__list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; }
.tariff__list li { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid var(--glass-line); font-size: .94rem; }
.tariff__list li span { color: var(--cream-soft); }
.tariff__list b { font-weight: 600; text-align: right; }
.tariffs__example { margin: 22px 0 0; padding: 18px 22px; border-radius: 18px; background: rgba(240, 224, 184, .04); border: 1px solid var(--glass-line); font-size: .95rem; color: var(--cream-soft); }
.tariffs__example b { color: var(--cream); }
.tariffs__example:empty { display: none; }

/* ---------- Що входить ---------- */
.included { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(36px, 5vw, 90px); align-items: start; }
.included__intro { position: sticky; top: 120px; }
.included__intro > p:last-child { margin: 20px 0 0; max-width: 26em; color: var(--cream-soft); line-height: 1.65; }
.included__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--glass-line); }
.included__list li { display: flex; gap: 18px; align-items: flex-start; padding: 26px 20px 26px 0; border-bottom: 1px solid var(--glass-line); min-width: 0; }
.included__list li:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--glass-line); }
.included__list svg { width: 34px; height: 34px; flex: none; color: var(--ember); }
.included__list b { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.45rem; line-height: 1.1; }
.included__list span { font-size: .88rem; color: var(--cream-soft); }

/* ---------- FAQ ---------- */
.faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(36px, 5vw, 90px); align-items: start; }
.faq__intro > p:not(.section-eyebrow) { margin: 20px 0 26px; color: var(--cream-soft); }
.faq__list { border-top: 1px solid var(--glass-line); }
.faq__item { border-bottom: 1px solid var(--glass-line); }
.faq__item summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
  padding: 26px 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.35rem, 1.1rem + .6vw, 1.75rem); line-height: 1.2;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary span { position: relative; width: 36px; height: 36px; flex: none; border-radius: 50%; border: 1px solid var(--glass-line); transition: background .3s, transform .4s var(--ease); }
.faq__item summary span::before, .faq__item summary span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); }
.faq__item summary span::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .4s var(--ease); }
.faq__item[open] summary span { background: var(--cream); color: var(--forest-900); }
.faq__item[open] summary span::after { transform: translate(-50%, -50%) rotate(0deg); }
.faq__item summary:hover { color: var(--ember); }
.faq__item p { margin: -6px 0 26px; max-width: 46em; color: var(--cream-soft); line-height: 1.7; animation: rvIn .5s var(--ease); }
@keyframes rvIn { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 1080px) {
  .tariffs__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .tariff:last-child { grid-column: 1 / -1; }
  .included, .faq { grid-template-columns: minmax(0, 1fr); }
  .included__intro { position: static; }
}
@media (max-width: 760px) {
  .pr { padding-inline: 16px; }
  .tariffs__grid { grid-template-columns: minmax(0, 1fr); }
  .included__list { grid-template-columns: minmax(0, 1fr); }
  .included__list li:nth-child(even) { padding-left: 0; border-left: 0; }
}
