/* Основа страниц со сгенерированным дизайном.
   Здесь только то, от чего зависит работа страницы, а не её вид: появление
   при прокрутке, липкая кнопка, скрытые комментарии, окно скидки, пустые
   места под кадры в предпросмотре. Весь вид — в CSS, который написала модель. */
:root{--font-brand:var(--font-display,var(--font,system-ui,-apple-system,'Segoe UI',sans-serif))}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,video{max-width:100%}
.amc-media{display:block;width:100%;height:auto;object-fit:cover}
.amc-media--video{background:#0000000d}
.amc-media--empty{display:flex;align-items:center;justify-content:center;min-height:120px;
  background:repeating-linear-gradient(135deg,rgba(127,127,127,.14) 0 12px,rgba(127,127,127,.06) 12px 24px);
  color:rgba(0,0,0,.45);font:600 12px/1.2 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.amc-plan{position:relative;cursor:pointer}
.amc-plan__radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.amc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;text-decoration:none;cursor:pointer}
.amc-btn__ico{display:inline-flex}
.amc-form input[type=text],.amc-form input[type=tel]{width:100%}
/* выбор пакета в форме: размеры и рамку копирует main.js с поля имени; здесь — стрелка и основа */
.amc-form .amc-select{width:100%;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center;background-size:14px;font:inherit}
.amc-form__total{display:flex;justify-content:space-between;align-items:baseline;gap:1em;margin:.4em 0 1em;font-size:1.1em}
/* Каждое поле формы — своя строка (09.10 Кирилл: обязательное правило). Дизайн версии может менять
   отступы и оформление, но не может поставить два поля рядом. */
.amc-form{display:flex!important;flex-direction:column!important;align-items:stretch!important}
.amc-form>*{max-width:none}
.amc-form .amc-field{width:100%!important;max-width:none!important;flex:0 0 auto!important;grid-column:1/-1!important;float:none!important}
.amc-form .amc-field input,.amc-form .amc-field select{width:100%!important}
.amc-form .amc-promo{text-transform:uppercase;letter-spacing:.06em}
.amc-form .amc-promo::placeholder{text-transform:none;letter-spacing:normal}
/* В поле — только название над полем и само поле (09.10 Кирилл, «строго»): никаких подсказок,
   надписей и псевдо-текста от дизайна. */
.amc-form .amc-field label{display:block!important;width:100%!important}
.amc-form .amc-field>:not(label):not(input):not(select){display:none!important}
.amc-form .amc-field::before,.amc-form .amc-field::after,.amc-form .amc-field label::before,.amc-form .amc-field label::after{content:none!important;display:none!important}
.amc-form .amc-promo.is-ok{border-color:#15803d!important;box-shadow:0 0 0 2px rgba(21,128,61,.18)!important}
.amc-form .amc-promo.is-bad{border-color:#b91c1c!important;box-shadow:0 0 0 2px rgba(185,28,28,.15)!important}
.amc-form__total .amc-form__was{opacity:.55;font-size:.7em;font-weight:400;margin-right:.3em}
.amc-form__total strong{font-size:1.4em}

/* комментарии: первые четыре видны, остальные по кнопке */
.cmt--hidden{display:none !important}
#comments-list.expanded .cmt--hidden{display:revert !important}

/* липкая кнопка на телефоне */
.amc-sticky{position:fixed;left:.7rem;right:.7rem;bottom:.7rem;z-index:60;display:none;align-items:center;
  justify-content:space-between;gap:1rem;transform:translateY(160%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.amc-sticky.visible{transform:translateY(0)}
.amc-sticky__price s{display:block;font-size:.8em;opacity:.6}
@media (max-width:900px){.amc-sticky{display:flex}}

/* окно скидки закрылось — страница живёт по регулярной цене */
html[data-promo="expired"] .amc-price__old,html[data-promo="expired"] .amc-off,
html[data-promo="expired"] .amc-badge,html[data-promo="expired"] .amc-plan__old,
html[data-promo="expired"] .amc-sticky__price s,html[data-promo="expired"] .amc-plan__per{display:none !important}

/* появление при прокрутке; сила — от вида версии */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translate3d(0,var(--rv-y,24px),0);
    transition:opacity var(--rv-t,.8s) cubic-bezier(.2,.7,.2,1),transform var(--rv-t,.8s) cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1;transform:none}
  .rv-1{transition-delay:.06s}.rv-2{transition-delay:.12s}.rv-3{transition-delay:.18s}
  .rv-4{transition-delay:.24s}.rv-5{transition-delay:.3s}.rv-6{transition-delay:.36s}
  html[data-motion="calm"]{--rv-y:12px;--rv-t:.6s}
  html[data-motion="cinematic"]{--rv-y:48px;--rv-t:1.1s}
}
html[data-motion="static"] *,html[data-motion="static"] *::before,html[data-motion="static"] *::after{
  animation:none !important;transition:none !important;scroll-behavior:auto !important}
html[data-motion="static"] .rv,html[data-motion="static"] [data-reveal]{opacity:1 !important;transform:none !important;filter:none !important}
html[data-motion="static"] .amc-media--video{display:none}
