@import url("base/reset.a9645b1cdfd7.css");
@import url("base/variables.7dd4a069ac23.css");
@import url("base/typography.d97c955e35b7.css");

@import url("layout/header.552cfab30c9c.css");
@import url("layout/footer.b0ba4f0e520e.css");
@import url("layout/sections.4e59ff6485ed.css");
@import url("layout/cta.d49f20bcc0ce.css");

@import url("components/toast.09c36286ffad.css");
@import url("components/cookie-consent.042ea4e7f19d.css");
@import url("components/buttons.8649c003c8c6.css");
@import url("components/button-interactions.128a152f1510.css");
@import url("components/cards.a98f6b5ae9a8.css");
@import url("components/forms.2689dc975893.css");
@import url("components/breadcrumbs.bd09fb62f1a2.css");
@import url("components/section-header.2398bc5e9505.css");

@import url("pages/home.922860c6a1f5.css");
@import url("pages/services.1d437acdd82a.css");
@import url("pages/prices.238caba18791.css");
@import url("pages/projects.5f1cdeb3d8d3.css");
@import url("pages/articles.ae6406c1c93c.css");
@import url("pages/article-detail.ef1b2f7e19da.css");
@import url("pages/contacts.89cb540257a4.css");
@import url("pages/privacy_policy-terms.dd0733ae105b.css");
@import url("pages/calculator.94ac9bb9a4ca.css");
@import url("pages/calculator-pro.19bd456cef5e.css");
@import url("pages/diagnostics.a19e121aca62.css");
@import url("pages/service-detail.e9149c91617e.css");
@import url("pages/careers.74515ff15fd9.css");
@import url("pages/documents.c3176cd629e2.css");

@import url("windows/window-cta.2811a5cdf1eb.css");

/* Адаптивные переопределения — обязательно последними,
   чтобы медиа-запросы гарантированно побеждали при равной
   специфичности с правилами из файлов выше */
@import url("layout/responsive.bc173a93148f.css");

/* ===========================================================
   FAQ (главная, прайс) - блок .faq-list использовался с "голыми"
   нативными <details>/<summary> без единого правила CSS, поэтому
   выглядел неоформленным браузерным списком, в отличие от карточек
   FAQ на странице услуги (.svc-faq-item). Стилизуем в том же духе.
=========================================================== */

.faq{
    padding:110px 0;
}

.faq-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    max-width:820px;
    margin:0 auto;
}

.faq-list details{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:18px;
    padding:20px 26px;
    box-shadow:0 12px 30px rgba(0,0,0,.05);
    transition:box-shadow var(--transition);
}

.faq-list details[open]{
    box-shadow:0 15px 40px rgba(0,0,0,.09);
}

.faq-list summary{
    cursor:pointer;
    list-style:none;
    font-weight:600;
    font-size:17px;
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.faq-list summary::-webkit-details-marker{
    display:none;
}

.faq-list summary::after{
    content:"+";
    flex-shrink:0;
    width:26px;
    height:26px;
    border-radius:50%;
    background:var(--tint);
    color:var(--accent);
    font-size:18px;
    line-height:26px;
    text-align:center;
    transition:transform var(--transition);
}

.faq-list details[open] summary::after{
    transform:rotate(45deg);
}

.faq-list p{
    margin:14px 0 0;
    font-size:15px;
    line-height:1.7;
    color:var(--text);
}

/* Shared element transition: логотип "перелетает" между header и footer.
   view-transition-name должно быть только у ОДНОГО элемента на странице
   одновременно - иначе браузер видит два элемента с одинаковым именем
   в одном снимке и ругается "Unexpected duplicate view-transition-name",
   а сам переход аварийно прерывается (InvalidStateError). Раньше имя
   назначалось статически сразу и header-логотипу, и footer-логотипу -
   оба были в DOM одновременно, поэтому имя постоянно дублировалось.
   Теперь имя переключается динамически через класс .vt-logo в header.js:
   в конкретный момент оно есть только у того лого, которое сейчас
   "активно" (header, пока футер не показался, или footer - когда показался). */
.vt-logo{
    view-transition-name: site-logo;
}

::view-transition-old(site-logo),
::view-transition-new(site-logo){
    animation-duration:.5s;
    animation-timing-function:cubic-bezier(.4,0,.2,1);
}