/* AVE Design Studio — общие правки интерфейса (2026-11-01): компактный подвал и микроанимации.
   Подключается на всех страницах после остальных стилей. */

/* ---------- подвал ---------- */
.main-footer .container.pt-80 { padding-top: 56px !important; }
.main-footer .container.mb-40 { margin-bottom: 24px !important; }
.main-footer .simple-title { margin-bottom: 12px; }
.main-footer ul.menu li a { padding: 6px 0; font-size: 14px; }
.main-footer ul.menu li { border-top-color: rgba(255, 255, 255, .06); }
.main-footer ul.menu.ave-foot-cols { column-count: 2; column-gap: 28px; }
.main-footer ul.menu.ave-foot-cols li { break-inside: avoid; }
.main-footer ul.menu.ave-foot-cols li:nth-child(10) { border-top: 0; }
.main-footer ul.menu li a { transition: color .2s ease, padding-left .2s cubic-bezier(.23, 1, .32, 1); }
@media (hover: hover) and (pointer: fine) {
    .main-footer ul.menu li a:hover { padding-left: 4px; color: #fff; }
}
.ave-foot-contacts { display: grid; gap: 6px; margin: 18px 0 0; }
.ave-foot-contacts a { color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; }
.ave-foot-contacts a:hover { color: #ff4d4d; text-decoration: none; }
.ave-foot-contacts a.ave-foot-contacts__mail { font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .78); }
.ave-foot-cta { display: inline-flex; align-items: center; justify-content: center; margin-top: 14px; padding: 10px 18px; border-radius: 999px; background: #c80000; color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none !important; transition: background-color .2s ease, transform .2s ease; }
.ave-foot-cta:hover { background: #e00000; transform: translateY(-1px); }
.main-footer .block-wgt.mb-30 { margin-bottom: 18px; }
@media (max-width: 767px) {
    .main-footer .container.pt-80 { padding-top: 40px !important; }
    .main-footer ul.menu.ave-foot-cols { column-gap: 18px; }
}

/* ---------- микроанимации ---------- */
/* появление блоков при прокрутке: прячем только когда скрипт подтвердил, что работает */
html.ave-motion .ave-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .7s cubic-bezier(.23, 1, .32, 1); transition-delay: var(--ave-d, 0s); }
html.ave-motion .ave-reveal.is-in { opacity: 1; transform: none; }

/* карточки чуть приподнимаются под курсором */
@media (hover: hover) and (pointer: fine) {
    .hp-case, .hp-svc__card, .hp-post, .cs-card, .bl-card, .hp-terms__step {
        transition: transform .3s cubic-bezier(.23, 1, .32, 1), box-shadow .3s ease;
    }
    .hp-case:hover, .hp-svc__card:hover, .hp-post:hover, .cs-card:hover, .bl-card:hover, .hp-terms__step:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 34px rgba(23, 24, 29, .12);
    }
    .hp-case img, .hp-svc__img img, .hp-post__img img, .cs-card img, .bl-card__img img { transition: transform .6s cubic-bezier(.23, 1, .32, 1); }
    .hp-case:hover img, .hp-svc__card:hover .hp-svc__img img, .hp-post:hover .hp-post__img img, .cs-card:hover img, .bl-card:hover .bl-card__img img { transform: scale(1.04); }
}

/* кнопки: лёгкое нажатие */
.hp-btn, .ave-slide__btn, .bl-btn, .ave-btn, .ave-foot-cta { transition-property: background-color, color, border-color, box-shadow, transform; transition-duration: .2s; }
.hp-btn:active, .ave-slide__btn:active, .bl-btn:active, .ave-btn:active, .ave-foot-cta:active { transform: scale(.97); }

/* главная кнопка первого экрана мягко «дышит» один раз после загрузки */
@keyframes ave-nudge { 0%, 100% { box-shadow: 0 10px 24px rgba(200, 0, 0, .25); } 50% { box-shadow: 0 10px 34px rgba(200, 0, 0, .55); } }
.ave-slide.is-active .ave-slide__btn--primary { animation: ave-nudge 1.6s ease-in-out .9s 2; }

@media (prefers-reduced-motion: reduce) {
    html.ave-motion .ave-reveal { opacity: 1; transform: none; transition: none; }
    .hp-case, .hp-svc__card, .hp-post, .cs-card, .bl-card, .hp-terms__step,
    .hp-case img, .hp-svc__img img, .hp-post__img img, .cs-card img, .bl-card__img img { transition: none !important; transform: none !important; }
    .ave-slide.is-active .ave-slide__btn--primary { animation: none; }
    .main-footer ul.menu li a { transition: none; }
}

/* ---------- страница услуг: «Что мешает получать больше заявок?» ---------- */
.us-choice__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.us-choice__card { display: flex; flex-direction: column; height: 100%; padding: 22px 20px 20px; border: 1px solid #e6e8ee; border-radius: 16px; background: #fff; color: #1f2128; text-decoration: none !important; transition: border-color .2s ease, box-shadow .3s ease, transform .3s cubic-bezier(.23, 1, .32, 1); }
.us-choice__card:hover { border-color: #c80000; box-shadow: 0 14px 30px rgba(23, 24, 29, .1); transform: translateY(-3px); color: #1f2128; }
.us-choice__t { display: block; margin-bottom: 8px; font-size: 18px; line-height: 1.3; }
.us-choice__d { flex: 1; color: #4b5060; font-size: 15px; line-height: 1.5; }
.us-choice__go { margin-top: 16px; color: #c80000; font-weight: 700; }
.us-choice__go::after { content: " →"; transition: margin-left .2s ease; }
.us-choice__card:hover .us-choice__go::after { margin-left: 4px; }
@media (max-width: 991px) { .us-choice__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .us-choice__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .us-choice__card { transition: none; } .us-choice__card:hover { transform: none; } }

/* ---------- портфолио: витрина результатов ---------- */
.pf-show { padding: 32px 0 8px; }
.pf-show__head { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: flex-end; justify-content: space-between; margin-bottom: 22px; }
.pf-show__k { color: #c80000; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pf-show__h { margin: 6px 0 8px; font-size: 30px; font-weight: 800; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.pf-show__lead { max-width: 640px; margin: 0; color: #4b5060; }
.pf-show__nums { display: flex; gap: 28px; margin: 0; padding: 0; list-style: none; }
.pf-show__nums b { display: block; font-size: 30px; font-weight: 800; line-height: 1; color: #17181d; }
.pf-show__nums span { display: block; max-width: 150px; margin-top: 6px; color: #6b7080; font-size: 13px; line-height: 1.35; }
.pf-show__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.pf-case { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e6e8ee; border-radius: 16px; background: #fff; }
.pf-case__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #f3f4f6; }
.pf-case__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pf-case__b { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.pf-case__niche { color: #c80000; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pf-case__t { font-size: 18px; line-height: 1.3; color: #17181d; }
.pf-case__kpi { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; list-style: none; color: #4b5060; font-size: 14px; }
.pf-case__kpi b { color: #17181d; }
.pf-case__how { margin: 0; color: #4b5060; font-size: 14px; line-height: 1.5; }
.pf-case__acts { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin-top: auto; padding-top: 8px; }
.pf-case__more { color: #17181d; font-weight: 700; font-size: 14px; }
.pf-case__cta { display: inline-flex; padding: 9px 16px; border-radius: 999px; background: #c80000; color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none !important; }
.pf-case__cta:hover { background: #e00000; }
.pf-show__find { margin: 18px 0 0; text-align: center; }
.pf-show__find a { color: #c80000; font-weight: 700; }
@media (max-width: 991px) { .pf-show__grid { grid-template-columns: 1fr; } .pf-show__h { font-size: 24px; } }
@media (max-width: 560px) { .pf-show__nums { gap: 16px; } .pf-show__nums b { font-size: 24px; } }

/* ---------- база: три входа по типу читателя ---------- */
.kbh-who { padding: 40px 0 0; }
.kbh-who__head h2 { margin: 6px 0 18px; font-size: 28px; font-weight: 800; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.kbh-who__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.kbh-who__card { display: flex; flex-direction: column; padding: 22px 22px 20px; border: 1px solid #e6e8ee; border-radius: 16px; background: #fff; }
.kbh-who__t { font-size: 19px; line-height: 1.3; }
.kbh-who__d { margin: 8px 0 12px; color: #4b5060; font-size: 15px; }
.kbh-who__l { flex: 1; margin: 0 0 14px; padding-left: 20px; }
.kbh-who__l li { margin-bottom: 6px; font-size: 15px; line-height: 1.4; }
.kbh-who__go { color: #c80000; font-weight: 700; font-size: 15px; }
.kbh-who__go::after { content: " →"; }
@media (max-width: 991px) { .kbh-who__grid { grid-template-columns: 1fr; } .kbh-who__head h2 { font-size: 23px; } }

/* ---------- «О студии»: первый экран и вопросы ---------- */
.ab-hero__acts { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 26px 0 0; }
.ab-hero__cta { margin-top: 0; padding: 14px 26px; font-size: 16px; }
.ab-hero__note { color: rgba(255, 255, 255, .85); font-size: 14px; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
.ab-faq { display: grid; gap: 10px; max-width: 880px; margin: 0 auto; }
.ab-faq details { border: 1px solid #e6e8ee; border-radius: 14px; background: #fff; }
.ab-faq summary { padding: 16px 20px; font-size: 17px; font-weight: 700; cursor: pointer; list-style: none; }
.ab-faq summary::-webkit-details-marker { display: none; }
.ab-faq summary::after { content: "+"; float: right; color: #c80000; font-weight: 800; }
.ab-faq details[open] summary::after { content: "−"; }
.ab-faq p { margin: 0; padding: 0 20px 18px; color: #4b5060; }
.ab-faq__cta { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: center; margin: 24px 0 0; }
.ab-faq__alt { font-weight: 700; }
#page-header .container:has(.ab-hero__acts) h4[data-role="subtitle"] { max-width: 860px; margin: 12px auto 0; font-size: 18px; line-height: 1.45; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
/* ---------- «О студии»: ролик о студии ---------- */
.ab-film__player { max-width: 960px; margin: 24px auto 0; overflow: hidden; border-radius: 18px; background: #000; box-shadow: 0 24px 60px rgba(23, 24, 29, .22); }
.ab-film__player video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }

/* ---------- Микроанимации v2 (01.11.2026): тени кнопок, обводка блоков, мягкий подъём карточек ---------- */
/* основные красные кнопки: тень цвета кнопки, подъём при наведении, «нажатие» */
.bl-btn--primary, .cs-btn--primary, .hp-btn--red, .ave-slide__btn--primary, .ave-foot-cta, .uc-plan__cta, .us-deliver__btn, .kbh-who__go {
    box-shadow: 0 8px 20px rgba(200, 0, 0, .22);
    transition: transform .25s cubic-bezier(.23, 1, .32, 1), box-shadow .25s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.kbh-who__go { box-shadow: none; }
@media (hover: hover) and (pointer: fine) {
    .bl-btn--primary:hover, .cs-btn--primary:hover, .hp-btn--red:hover, .ave-slide__btn--primary:hover, .ave-foot-cta:hover, .uc-plan__cta:hover {
        transform: translateY(-2px); box-shadow: 0 14px 30px rgba(200, 0, 0, .34);
    }
    /* второстепенные кнопки: красная обводка и лёгкая тень */
    .bl-btn--line:hover, .cs-btn--line:hover, .cs-btn--ghost:hover, .us-btn--line:hover, .us-btn--ghost:hover, .hp-btn--line:hover, .ave-slide__btn--ghost:hover {
        transform: translateY(-2px); box-shadow: 0 10px 22px rgba(23, 24, 29, .12);
    }
    .ave-header-cta { transition: background-color .2s ease, color .2s ease, box-shadow .25s ease, transform .25s ease !important; }
    .ave-header-cta:hover { box-shadow: 0 10px 22px rgba(200, 0, 0, .25); transform: translateY(-1px); }
}
.bl-btn:active, .cs-btn:active, .hp-btn:active, .ave-slide__btn:active, .ave-foot-cta:active, .uc-plan__cta:active, .us-deliver__btn:active {
    transform: translateY(0) scale(.98); transition-duration: .08s;
}
.bl-btn--line, .cs-btn--line, .cs-btn--ghost, .us-btn--line, .us-btn--ghost { transition: transform .25s cubic-bezier(.23, 1, .32, 1), box-shadow .25s ease, background-color .2s ease, color .2s ease, border-color .2s ease; }

/* карточки и блоки: тонкая обводка, при наведении — красноватая обводка, тень и подъём */
.us-card, .vd-card, .kb-sec, .uc-plan, .us-deliver li:not(.us-deliver__cta), .kl-tile, .kl-why__grid li, .kbh-who__card, .kl-talk, .ab-faq details {
    border: 1px solid rgba(23, 24, 29, .08);
    transition: transform .3s cubic-bezier(.23, 1, .32, 1), box-shadow .3s ease, border-color .25s ease;
}
.ar-box, .bl-box { border: 1px solid rgba(23, 24, 29, .07); transition: border-color .25s ease, box-shadow .3s ease; }
@media (hover: hover) and (pointer: fine) {
    .us-card:hover, .vd-card:hover, .kb-sec:hover, .uc-plan:hover, .us-deliver li:not(.us-deliver__cta):hover, .kl-why__grid li:hover, .kbh-who__card:hover, .kl-talk:hover {
        border-color: rgba(200, 0, 0, .28); box-shadow: 0 16px 36px rgba(23, 24, 29, .1); transform: translateY(-3px);
    }
    .ar-box:hover, .bl-box:hover { border-color: rgba(200, 0, 0, .2); box-shadow: 0 10px 26px rgba(23, 24, 29, .06); }
    .ab-faq details:hover, .us-faq__i:hover, .hp-faq__i:hover { border-color: rgba(200, 0, 0, .25); }
}
/* красная линия у подзаголовка-«кикера» дорисовывается при появлении блока */
html.ave-motion .ave-reveal .bl-kicker::after, html.ave-motion .ave-reveal .ave-ab__kicker::after { transition: width .6s cubic-bezier(.23, 1, .32, 1) .2s; }
@media (prefers-reduced-motion: reduce) {
    .bl-btn, .cs-btn, .hp-btn, .ave-slide__btn, .ave-foot-cta, .uc-plan__cta, .us-card, .vd-card, .kb-sec, .uc-plan, .us-deliver li, .kl-tile, .kl-why__grid li, .kbh-who__card, .kl-talk { transition: none !important; transform: none !important; }
}
