/* Отзывы зрителей — в системе «Новостей» (tilda-news-vk/tilda-block.html):
   пилюли-фильтры с красной рамкой, сетка белых карточек 3× одной высоты,
   кнопка «Ещё». На афише раздел лежит на серой полосе (#efefef), как заголовок
   ОТЗЫВЫ; на странице спектакля — внутри свёрнутого раздела, на белом.
   Макет, по которому сделано: artifact «Макет отзывов афиши». */

.theater-reviews{font-family:'Montserrat','Helvetica Neue',Arial,sans-serif;max-width:1200px;margin:0 auto;
  padding:0 20px;color:#1a1a1a;font-size:15px;line-height:1.55}
.trev-head{padding:10px 20px 22px}
.trev-body{padding:14px 20px 0}
.theater-reviews_в-разделе{padding:16px 20px 36px}

/* ── уровень 1: группы ─────────────────────────────────────────────────── */
.trev-filters{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 0 16px;padding:0;list-style:none}
.trev-pill{display:inline-block;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;
  letter-spacing:1px;text-transform:uppercase;padding:11px 22px;border-radius:24px;
  background:#fff;border:2px solid #d6002a;color:#1a1a1a;text-decoration:none;transition:.15s}
.trev-pill:hover{border-color:#1a1a1a}
.trev-pill_active{border-color:#1a1a1a}
.trev-pill:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}

/* ── уровень 2: спектакли группы ───────────────────────────────────────── */
.trev-sub{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.trev-sub__pill{cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;
  padding:8px 16px;border-radius:20px;background:transparent;border:1px solid #b9b9b9;color:#1a1a1a;transition:.15s}
.trev-sub__pill:hover{border-color:#1a1a1a}
.trev-sub__pill_active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}
.trev-sub__n{font-size:12px;color:#8d8d8d;margin-left:6px;font-variant-numeric:tabular-nums}
.trev-sub__pill_active .trev-sub__n{color:rgba(255,255,255,.65)}
.trev-sub__pill:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}

/* ── строка над карточками: «+ Оставить отзыв» слева, счётчик и ссылка справа ── */
.trev-meta{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;
  margin:0 0 16px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#9a9a9a}
.trev-meta__l{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.trev-meta__link{color:#1a1a1a;text-decoration:none;border-bottom:1px solid #d6002a;padding-bottom:1px}
.trev-meta__link:hover{color:#d6002a}
/* Маленькая, пунктирная, без заливки — с разделами не спутать. */
.trev-add{cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:12px;font-weight:600;
  line-height:1.2;letter-spacing:1px;text-transform:uppercase;padding:8px 14px;border-radius:20px;background:transparent;
  border:1.5px dashed #9a9a9a;color:#1a1a1a;transition:.15s;white-space:nowrap}
.trev-add::before{content:'+';font-size:16px;font-weight:500;line-height:1;color:#d6002a;margin-top:-1px}
.trev-add:hover{border-style:solid;border-color:#d6002a;background:#fff}
.trev-add:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}

/* ── сетка карточек одной высоты ───────────────────────────────────────── */
.trev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.trev{display:flex;flex-direction:column;margin:0;background:#fff;border-radius:16px;
  box-shadow:0 1px 6px rgba(0,0,0,.07);padding:22px 24px 18px;cursor:pointer;transition:.15s}
.theater-reviews_в-разделе .trev{border:1px solid #ececec}
.trev:hover{box-shadow:0 6px 18px rgba(0,0,0,.12);transform:translateY(-2px)}
.trev__head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.trev__author{font-size:16px;font-weight:700;line-height:1.25}
.trev__date{font-size:13px;color:#a0a0a0;letter-spacing:1px}
.trev__text{margin:0;color:#333;white-space:pre-line;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(6 * 1.55em)}
.trev__foot{height:24px;margin-top:14px;display:flex;align-items:flex-end}
.trev__more{font-size:13px;color:#9a9a9a;border-bottom:1px solid #d6002a;padding-bottom:1px;cursor:pointer}
.trev:hover .trev__more{color:#d6002a}
/* Режим чтения: один клик раскрывает все тексты сетки — раз человеку интересно,
   пусть читает подряд, а не открывает каждую карточку. «Свернуть» — обратно. */
.trev-grid_full .trev__text{display:block;-webkit-line-clamp:unset;min-height:0}
.trev-grid_full .trev{cursor:default}
.trev-grid_full .trev:hover{transform:none;box-shadow:0 1px 6px rgba(0,0,0,.07)}

.trev-actions{display:flex;justify-content:center;margin-top:28px}
.trev-more{cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;letter-spacing:1px;
  text-transform:uppercase;padding:15px 40px;border-radius:30px;background:#fff;border:none;
  box-shadow:0 1px 5px rgba(0,0,0,.14);color:#d6002a;transition:.15s}
.trev-more:hover{box-shadow:0 4px 14px rgba(0,0,0,.18)}
.trev-more:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}

.trev[hidden],.trev-panel[hidden],.trev-sub[hidden]{display:none}

/* ── окно формы (как окно новости) ─────────────────────────────────────── */
.trev-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:100000;display:flex;align-items:flex-start;
  justify-content:center;padding:48px 16px;overflow:auto;font-family:'Montserrat','Helvetica Neue',Arial,sans-serif;color:#1a1a1a}
.trev-modal[hidden]{display:none}
/* Окно и всё внутри — border-box: Тильда не сбрасывает box-sizing глобально,
   и кнопки с width:100% вылезали из своих дорожек и наезжали друг на друга. */
.trev-modal *{box-sizing:border-box}
.trev-box{box-sizing:border-box;background:#fff;width:min(560px, calc(100vw - 32px));border-radius:16px;position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.35);padding:30px 32px 28px}
.trev-box h2{font-size:22px;font-weight:700;margin:0 0 16px;line-height:1.2;padding-right:44px}
.trev-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:50%;
  background:rgba(20,20,20,.08);color:#1a1a1a;font-size:22px;line-height:40px;text-align:center;cursor:pointer;padding:0}
.trev-close:hover{background:rgba(20,20,20,.16)}
.trev-form{display:grid;gap:12px}
.trev-form input,.trev-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.4;color:#1a1a1a;background:#fff;
  border:1px solid #d9d9d9;border-radius:12px;padding:13px 16px;transition:border-color .15s;margin:0;-webkit-appearance:none;appearance:none}
.trev-form input::placeholder,.trev-form textarea::placeholder{color:#9a9a9a}
.trev-form textarea{min-height:140px;resize:vertical;line-height:1.5}
.trev-form input:focus,.trev-form textarea:focus{outline:none;border-color:#7a7a7a}
.trev-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.trev-btn{box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:1px;
  text-transform:uppercase;padding:13px 18px;border-radius:26px;border:2px solid #d6002a;background:#fff;color:#1a1a1a;
  transition:.15s;width:100%;min-width:0;margin:0}
.trev-btn:hover{border-color:#1a1a1a}
.trev-btn[disabled]{opacity:.55;cursor:default}
.trev-btn_secondary{border-color:#c9c9c9;color:#6a6a6a}
.trev-btn_secondary:hover{border-color:#1a1a1a;color:#1a1a1a}
.trev-btn:focus-visible,.trev-close:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}
.trev-agree{margin:8px 0 0;font-size:12.5px;color:#8a8a8a;line-height:1.4;text-align:center}
.trev-agree a{color:#6a6a6a;border-bottom:1px solid #d6002a;text-decoration:none}
.trev-error{margin:0;font-size:13px;color:#d6002a;text-align:center}
.trev-error:empty{display:none}
.trev-done{text-align:center;padding:22px 0 6px}
.trev-done__mark{width:56px;height:56px;border-radius:50%;background:#f1e3e6;color:#d6002a;font-size:26px;line-height:56px;margin:0 auto 16px}
.trev-done h2{padding:0;margin-bottom:8px}
.trev-done p{margin:0;color:#9a9a9a;max-width:40ch;margin-inline:auto}

@media(max-width:1000px){.trev-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .theater-reviews{padding:0 16px}
  .trev-head{padding:8px 16px 18px}
  .trev-grid{grid-template-columns:1fr;gap:16px}
  .trev-pill{font-size:12px;padding:9px 16px}
  .trev-filters{gap:8px}
  .trev{padding:18px 18px 16px}
  .trev-box{padding:22px 20px 20px}
  .trev-box h2{font-size:19px}
  .trev-form__row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.trev,.trev-pill,.trev-btn,.trev-add{transition:none}.trev:hover{transform:none}}
