/* ==========================================================================
   Остапчук И. Н. — тема-обёртка над дизайн-системой.
   База + адаптив (перенесено из исходного макета) + поведение модалки.
   Загружается ПОСЛЕ файлов дизайн-системы, поэтому переопределения выигрывают.
   ========================================================================== */

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--background); color:var(--foreground); font-family:var(--font-sans); }

a{ color:var(--foreground); text-decoration:none; }
a:hover{ color:var(--c-accent-deep); opacity:1; }

img{ max-width:100%; }

/* админ-бар не должен ломать sticky-хедер */
.admin-bar .arthro-header{ top:32px; }
@media screen and (max-width:782px){ .admin-bar .arthro-header{ top:46px; } }

/* ------------------------------------------------------- адаптив (десктоп→моб) */
@media (max-width:980px){
  .arthro-hero{ grid-template-columns:1fr !important; gap:40px !important; padding-top:32px !important; }
  .arthro-nav{ display:none !important; }
  .arthro-header-phone{ display:none !important; }
  .arthro-form-grid{ grid-template-columns:1fr !important; }
  .arthro-cred{ gap:20px !important; }
  .arthro-2col,.arthro-2col-media,.arthro-2col-faq,.arthro-request{ grid-template-columns:1fr !important; gap:36px !important; }
  .arthro-proc-grid{ grid-template-columns:1fr 1fr !important; }
  .arthro-2col-media figure{ order:2; }
  .arthro-footer-grid{ grid-template-columns:1fr 1fr !important; }
  .arthro-reviews{ grid-template-columns:1fr 1fr !important; }
  .arthro-vtile{ flex-basis:calc((100% - 16px)/2) !important; }
  .arthro-contacts{ grid-template-columns:1fr !important; gap:36px !important; }
  .arthro-contacts figure{ min-height:300px !important; }
  .arthro-reha{ grid-template-columns:1fr !important; }
}
@media (max-width:560px){
  .arthro-cta-row{ flex-direction:column !important; align-items:stretch !important; }
  .arthro-hero-stats{ gap:24px !important; }
  .arthro-proc-grid,.arthro-range,.arthro-footer-grid{ grid-template-columns:1fr !important; }
  .arthro-modal-panel{ padding:24px !important; }
  .arthro-reviews{ grid-template-columns:1fr !important; }
  .arthro-vtile{ flex-basis:86% !important; }
}

/* ------------------------------------------------------- мобильное меню */
.arthro-burger{ display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:none; border:0; border-radius:var(--radius); cursor:pointer; color:var(--foreground); flex:none; }
.arthro-burger:hover{ background:var(--muted); }
@media (max-width:980px){ .arthro-burger{ display:inline-flex; } }
@media (max-width:560px){ .arthro-header-cta{ display:none; } }

.arthro-mmenu{ display:none; position:fixed; inset:0; z-index:70; background:var(--background); overflow-y:auto; }
.arthro-mmenu.is-open{ display:block; }
.admin-bar .arthro-mmenu{ top:46px; }
.arthro-mmenu__head{ display:flex; align-items:center; justify-content:space-between; height:74px;
  padding-inline:var(--container-pad); border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--background); }
.arthro-mmenu__nav{ display:flex; flex-direction:column; padding:8px var(--container-pad); }
.arthro-mmenu__nav a{ font-size:var(--text-2xl); font-weight:var(--weight-medium); letter-spacing:-.02em;
  color:var(--foreground); padding:15px 0; border-bottom:1px solid var(--border); }
.arthro-mmenu__nav a:hover{ color:var(--c-accent-deep); }
.arthro-mmenu__foot{ display:flex; flex-direction:column; gap:18px; padding:26px var(--container-pad) 44px; }
body.menu-open{ overflow:hidden; }

/* ------------------------------------------ сметы на «Стоимости» (toggle) */
.smeta-item{ border-bottom:1px solid var(--border); }
.smeta-toggle{ width:100%; box-sizing:border-box; background:none; border:0; cursor:pointer; text-align:left;
  font-family:var(--font-sans); color:var(--foreground); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 2px; }
.smeta-chev{ flex:none; color:var(--text-muted); transition:transform .2s ease; }
.smeta-toggle:hover .smeta-chev{ color:var(--foreground); }
.smeta-toggle[aria-expanded="true"] .smeta-chev{ transform:rotate(180deg); color:var(--foreground); }
.smeta-panel{ padding:0 2px 20px; }

/* ---------------------------------------------- видео-лента (тонкий скролл) */
.arthro-vrow{ scrollbar-width:thin; scrollbar-color:var(--border-strong) transparent; }
.arthro-vrow::-webkit-scrollbar{ height:8px; }
.arthro-vrow::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:999px; }
.arthro-vrow::-webkit-scrollbar-track{ background:transparent; }

/* ------------------------------------------------------------------ модалка */
.arthro-modal{ display:none; }
.arthro-modal.is-open{ display:flex; }
body.req-open{ overflow:hidden; }

/* переключение состояний «форма» / «успех» */
.arthro-modal__success{ display:none; }
.arthro-modal.is-done .arthro-modal__form{ display:none; }
.arthro-modal.is-done .arthro-modal__success{ display:block; }

/* статус ошибки под формой */
.arthro-form-error{ display:none; margin-top:14px; text-align:center; font-size:var(--text-sm); color:var(--destructive); }
.arthro-form-error.is-visible{ display:block; }
