/* ОБЪЕКТ — блок «Отзывы заказчиков» (objrv-*). Изолирован от main.css: селекторы из двух классов.
   Раскладка блока — от ширины места (container objrv): 1 отзыв — одна широкая карточка; 2 — рядом (от 900px);
   3+ — лента на scroll-snap: от 900px две карточки в видимой области, на телефоне одна + край следующей.
   Карточка — сама контейнер (container objrvc): вид внутри зависит от её ширины, а не от экрана.
   main.css гасит рамку фокуса у всего — поэтому у :focus-visible здесь !important. */

.objrv,
.objrv *,
.objrv *::before,
.objrv *::after{box-sizing:border-box;}

.objrv{container:objrv / inline-size;background:var(--objekt-color-bg);color:var(--objekt-color-cream);font-family:var(--objekt-font-body);padding:var(--objekt-section-py-cq) 0;margin:0;}
.objrv .objrv-wrap{--objrv-pad:16px;--objrv-gap:clamp(12px, 1.4vw, 24px);--objrv-ease:cubic-bezier(.2,.7,.2,1);padding:0 var(--objrv-pad);}
.objrv :where(p, blockquote){margin:0;padding:0;}
.objrv :where(button){margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;box-shadow:none;-webkit-appearance:none;appearance:none;text-transform:none;letter-spacing:normal;}
.objrv svg{display:block;flex-shrink:0;}

/* ---------- шапка ---------- */
.objrv .objrv-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:clamp(20px, 2.2vw, 36px);}
.objrv .objrv-head__text{flex:1 1 320px;min-width:0;}
.objrv .objrv-eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 16px;font-size:var(--objekt-fs-caption);letter-spacing:0.24em;text-transform:uppercase;color:var(--objekt-color-accent);}
.objrv .objrv-eyebrow span{flex-shrink:0;}
.objrv .objrv-eyebrow i{display:block;flex:1 1 auto;max-width:560px;height:1px;background:var(--objekt-color-line-strong);}
.objrv .objrv-title{font-family:var(--objekt-font-heading);font-weight:500;font-size:var(--objekt-fs-display-mobile-cq, clamp(32px, 11cqw, 48px));line-height:1.05;letter-spacing:var(--objekt-tracking-heading);margin:0;}
.objrv .objrv-ctrl{display:flex;align-items:center;gap:10px;}
.objrv .objrv-counter{margin-right:6px;font-size:14px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgba(245,242,237,0.6);}
.objrv .objrv-counter__cur{color:var(--objekt-color-cream);}
.objrv .objrv-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(169,150,125,0.6);color:var(--objekt-color-cream);transition:border-color .2s ease, background-color .2s ease, opacity .2s ease;}
.objrv .objrv-btn svg{width:22px;height:22px;}
.objrv .objrv-btn:hover:not(:disabled){border-color:var(--objekt-color-accent);background:rgba(169,150,125,0.1);}
.objrv .objrv-btn:disabled{opacity:.35;cursor:default;}
.objrv .objrv-btn:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:3px;}

/* ---------- раскладки ---------- */
.objrv .objrv-viewport{position:relative;}
.objrv .objrv-track{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--objrv-gap);}
.objrv--track .objrv-viewport{margin-right:calc(-1 * var(--objrv-pad));}
.objrv--track .objrv-track{
  display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:none;
  padding-right:var(--objrv-pad);
}
.objrv--track .objrv-track::-webkit-scrollbar{display:none;}
.objrv--track .objrv-track:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:4px;}
.objrv--track .objrv-card{flex:0 0 calc(100% - var(--objrv-gap) - clamp(24px, 8cqw, 44px));scroll-snap-align:start;}
.objrv .objrv-hint{position:absolute;inset:0;pointer-events:none;}

/* ---------- карточка ---------- */
.objrv .objrv-card{container:objrvc / inline-size;min-width:0;border:1px solid var(--objekt-color-line);background:#211F1E;}
.objrv .objrv-in{display:grid;gap:20px;padding:clamp(18px, 6cqw, 32px);height:100%;align-content:start;--objau-bg:#211F1E;}
.objrv .objrv-body{display:flex;flex-direction:column;gap:18px;min-width:0;}
.objrv .objrv-quote{position:relative;}
.objrv .objrv-mark{display:block;width:34px;height:28px;margin-bottom:12px;color:var(--objekt-color-accent);}
.objrv .objrv-mark svg{width:100%;height:100%;}
.objrv .objrv-quote p{font-family:var(--objekt-font-heading);font-weight:400;font-size:clamp(21px, 6.6cqw, 32px);line-height:1.25;color:var(--objekt-color-cream);}
.objrv .objrv-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(169,150,125,0.35);}
.objrv .objrv-sign{font-size:14px;line-height:1.5;color:rgba(245,242,237,0.8);}
.objrv .objrv-sign i{font-style:normal;margin:0 .6em;color:rgba(245,242,237,0.45);}

/* видео: превью с Play и длительностью */
.objrv .objrv-video{position:relative;display:block;width:100%;aspect-ratio:16 / 10;overflow:hidden;border-radius:2px;background:#2A2725;cursor:pointer;}
.objrv .objrv-video__zoom{position:absolute;inset:0;}
.objrv .objrv-video__img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:top .6s var(--objrv-ease), left .6s var(--objrv-ease), width .6s var(--objrv-ease), height .6s var(--objrv-ease);}
.objrv .objrv-video__play{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:clamp(56px, 16cqw, 76px);height:clamp(56px, 16cqw, 76px);margin:calc(clamp(56px, 16cqw, 76px) / -2) 0 0 calc(clamp(56px, 16cqw, 76px) / -2);border-radius:50%;border:1px solid rgba(245,242,237,0.7);background:rgba(28,26,26,0.45);color:var(--objekt-color-cream);backdrop-filter:blur(4px);transition:background-color .3s ease, border-color .3s ease;}
.objrv .objrv-video__play svg{width:42%;height:42%;margin-left:6%;}
.objrv .objrv-video__time{position:absolute;right:12px;bottom:12px;padding:4px 9px;border:1px solid rgba(245,242,237,0.35);border-radius:4px;background:rgba(20,18,17,0.75);font-size:13px;font-variant-numeric:tabular-nums;color:var(--objekt-color-cream);}
.objrv .objrv-video:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:3px;}
@media (hover:hover){
  .objrv .objrv-video:hover .objrv-video__img{top:-2%;left:-2%;width:104%;height:104%;}
  .objrv .objrv-video:hover .objrv-video__play{background:var(--objekt-color-accent);border-color:var(--objekt-color-accent);color:var(--objekt-color-bg);}
}

/* фото / монограмма */
.objrv .objrv-avatar{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid var(--objekt-color-accent);background:#1C1A1A;}
.objrv .objrv-avatar__img{width:100%;height:100%;max-width:none;object-fit:cover;}
.objrv .objrv-avatar__letter{font-family:var(--objekt-font-heading);font-size:clamp(34px, 12cqw, 52px);line-height:1;color:var(--objekt-color-cream);}
.objrv .objrv-avatar__icon{display:flex;width:44%;height:44%;color:var(--objekt-color-accent);}
.objrv .objrv-avatar__icon svg{width:100%;height:100%;}
.objrv .objrv-avatar--big{width:clamp(96px, 30cqw, 200px);}
.objrv .objrv-avatar--mono{width:clamp(84px, 22cqw, 112px);}

/* только аудио: по центру монограмма и подпись, плеер на всю ширину */
.objrv .objrv-card--audio .objrv-in{justify-items:stretch;}
.objrv .objrv-audio-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding-bottom:20px;border-bottom:1px solid rgba(169,150,125,0.35);}

/* «Читать полностью» */
.objrv .objrv-more{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:14px;color:var(--objekt-color-accent);border-bottom:1px solid rgba(169,150,125,0.5);}
.objrv .objrv-more svg{width:14px;height:14px;transition:transform .25s ease;}
.objrv .objrv-more[aria-expanded="true"] svg{transform:rotate(180deg);}
.objrv .objrv-more:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:2px;}
.objrv .objrv-full{display:grid;grid-template-rows:0fr;visibility:hidden;margin-top:-10px;transition:grid-template-rows .3s var(--objrv-ease), visibility 0s linear .3s;}
.objrv .objrv-full.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s var(--objrv-ease);}
.objrv .objrv-full__in{min-height:0;overflow:hidden;font-size:15px;line-height:1.6;color:rgba(245,242,237,0.75);}
.objrv .objrv-full__in p + p{margin-top:.7em;}

/* ---------- карточка пошире: видео и текст — в две колонки ---------- */
@container objrvc (min-width: 560px){
  .objrv .objrv-card--video .objrv-in{grid-template-columns:minmax(0, 50fr) minmax(0, 50fr);gap:clamp(20px, 4cqw, 36px);align-items:stretch;}
  .objrv .objrv-card--video .objrv-video{aspect-ratio:auto;height:100%;min-height:260px;}
  .objrv .objrv-card--vertical .objrv-in{grid-template-columns:minmax(0, 36fr) minmax(0, 64fr);}
  .objrv .objrv-card--vertical .objrv-video{aspect-ratio:3 / 4;height:auto;}
  .objrv .objrv-card--text .objrv-in{grid-template-columns:auto minmax(0, 1fr);gap:clamp(24px, 5cqw, 56px);align-items:center;}
  .objrv .objrv-quote p{font-size:clamp(22px, 4.2cqw, 34px);}
}
@container objrvc (max-width: 559px){
  .objrv .objrv-card--text .objrv-in{grid-template-columns:clamp(84px, 30cqw, 120px) minmax(0, 1fr);align-items:start;gap:18px;}
  .objrv .objrv-card--text .objrv-avatar--big{width:100%;}
}

/* ---------- раскладка по ширине места ---------- */
@container objrv (min-width: 390px){ .objrv .objrv-wrap{--objrv-pad:20px;} }
@container objrv (min-width: 590px){
  .objrv .objrv-wrap{--objrv-pad:32px;}
  .objrv .objrv-title{font-size:clamp(36px, 6.4cqw, 64px);}
}
@container objrv (min-width: 900px){
  .objrv--two .objrv-track{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .objrv--track .objrv-card{flex-basis:calc((100% - var(--objrv-gap)) / 2 - 24px);}
  .objrv .objrv-hint{display:none;}
}
@container objrv (min-width: 1100px){
  .objrv .objrv-title{font-size:var(--objekt-fs-display-split-cq, clamp(34px, 3.6cqw, 64px));}
}
@container objrv (min-width: 1200px){
  .objrv .objrv-wrap{width:min(81.77083cqw, 1600px);margin:0 auto;padding:0;}
  .objrv--track .objrv-viewport{margin-right:0;}
  .objrv--track .objrv-track{padding-right:0;}
  .objrv--track .objrv-card{flex-basis:calc((100% - var(--objrv-gap)) / 2);}
}

@media (prefers-reduced-motion: reduce){
  .objrv .objrv-video__img,
  .objrv .objrv-full,
  .objrv .objrv-full.is-open{transition:none !important;}
  .objrv--track .objrv-track{scroll-behavior:auto;}
}
