/* ОБЪЕКТ — общий аудиоплеер сайта (objau). Разметку даёт objfaq_player() из objekt-faq.php, поведение —
   objekt-audio.js (тот же код, что у FAQ; одна запись на странице через событие obj:audio-play).
   Эти стили — для плеера в любых блоках, кроме FAQ (у FAQ свои правила с учётом аккордеона):
   плеер кладётся в обёртку .objau. Модификатор .objau--row — кнопка, подпись, волна и время в одну строку.
   main.css гасит рамку фокуса у всего (* { outline: none !important }) — поэтому у :focus-visible здесь !important. */
.objau .objfaq-player{margin:0;}
.objau .objfaq-audio{display:none;}
.objau .objfaq-player__row{display:grid;grid-template-columns:52px minmax(0, 1fr);grid-template-areas:"play label" "track track";align-items:center;column-gap:16px;row-gap:14px;}
.objau .objfaq-play{
  grid-area:play;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--objekt-color-accent);
  color:var(--objekt-color-bg);
  transition:background-color .2s;
}
.objau .objfaq-play:hover{background:var(--objekt-color-accent-hover);}
.objau .objfaq-play:focus-visible{outline:2px solid var(--objekt-color-cream) !important;outline-offset:3px;}
.objau .objfaq-play svg{width:24px;height:24px;}
.objau .objfaq-play .objfaq-ico-play{margin-left:2px;}
.objau .objfaq-ico-pause,
.objau .objfaq-player.is-playing .objfaq-ico-play,
.objau .objfaq-player.is-loading .objfaq-ico-play,
.objau .objfaq-player.is-loading .objfaq-ico-pause{display:none;}
.objau .objfaq-player.is-playing:not(.is-loading) .objfaq-ico-pause{display:block;}
.objau .objfaq-spinner{display:none;width:20px;height:20px;border:2px solid rgba(28,26,26,0.3);border-top-color:var(--objekt-color-bg);border-radius:50%;animation:objauSpin .8s linear infinite;}
.objau .objfaq-player.is-loading .objfaq-spinner{display:block;}
@keyframes objauSpin{to{transform:rotate(360deg);}}
.objau .objfaq-player__label{grid-area:label;font-size:16px;line-height:1.3;color:var(--objekt-color-cream);}
.objau .objfaq-player__track{grid-area:track;position:relative;display:flex;align-items:center;gap:16px;min-width:0;}
.objau .objfaq-wave{
  flex:1 1 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:34px;
  min-width:0;
  cursor:pointer;
  touch-action:none;
  overflow:hidden;           /* узкая карточка: полоски сжимаются до 1px, волна никогда не наезжает на время */
  gap:1px;
  -webkit-user-select:none;user-select:none;
}
.objau .objfaq-wave:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:4px;}
.objau .objfaq-wave i{display:block;flex:0 1 2px;width:2px;min-width:1px;min-height:2px;border-radius:1px;background:rgba(245,242,237,0.3);transition:background-color .15s;}
.objau .objfaq-wave i.is-played{background:var(--objekt-color-accent);}
.objau .objfaq-time{flex-shrink:0;font-size:15px;font-variant-numeric:tabular-nums;color:rgba(245,242,237,0.6);white-space:nowrap;}
.objau .objfaq-error{position:absolute;inset:0;display:flex;align-items:center;gap:14px;background:var(--objekt-color-bg);font-size:14px;color:rgba(245,242,237,0.7);}
.objau .objfaq-error[hidden]{display:none;}
.objau .objfaq-retry{padding:6px 14px;border:1px solid var(--objekt-color-accent);border-radius:999px;background:none;color:var(--objekt-color-accent);font-size:14px;}
.objau .objfaq-retry:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:2px;}
.objau .objfaq-expert{margin-top:12px;font-size:14px;line-height:1.4;color:rgba(245,242,237,0.5);}

/* расшифровка: раскрывается под подписью эксперта */
.objau .objfaq-tr-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:4px 0;border:0;background:none;font-size:14px;color:var(--objekt-color-accent);}
.objau .objfaq-tr-btn svg{width:14px;height:14px;transition:transform .25s ease;}
.objau .objfaq-tr-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.objau .objfaq-tr-btn:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:2px;}
.objau .objfaq-tr{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1), visibility 0s linear .3s;}
.objau .objfaq-tr.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1);}
.objau .objfaq-tr__inner{min-height:0;overflow:hidden;}
.objau .objfaq-tr__text{margin-top:10px;padding-left:16px;border-left:1px solid var(--objekt-color-accent);font-size:15px;line-height:1.6;color:rgba(245,242,237,0.65);}
.objau .objfaq-tr__text p + p{margin-top:.7em;}
.objau .objfaq-expert:empty{display:none;}
.objau .objfaq-error{background:var(--objau-bg, var(--objekt-color-bg));}
/* в одну строку: кнопка, подпись сверху, под ней волна и время (карточки «Схемы работ», отзывы) */
.objau--row .objfaq-player__row{grid-template-columns:52px minmax(0, 1fr);grid-template-areas:"play label" "play track";row-gap:6px;}
.objau--row .objfaq-player__label{font-size:15px;align-self:end;}
.objau--row .objfaq-player__track{align-self:start;}
/* без подписи: только кнопка, волна и время */
.objau--bare .objfaq-player__label{display:none;}
.objau--bare .objfaq-player__row{grid-template-areas:"play track";grid-template-columns:52px minmax(0, 1fr);}
@media (prefers-reduced-motion: reduce){
  .objau .objfaq-tr,
  .objau .objfaq-tr.is-open{transition:none;}
}
