/* Copyright (C) 2025-2026 adcitymag.ru */
/* Проектные бюро: каталог, карточка, блок на главной (adcm-plus) */
.adcx-bu { display: flex; align-items: center; gap: var(--adcm-space-3); padding: 12px 14px; border: 1px solid var(--borderColor); border-radius: var(--adcm-r-lg); color: var(--mainColor); text-decoration: none; transition: border-color var(--adcm-dur-fast, .15s), transform var(--adcm-dur-fast, .15s); }
.adcx-bu:hover { border-color: var(--mainColor); transform: translateY(-2px); text-decoration: none; }
.adcx-bu:focus-visible { outline: 2px solid var(--hoverColor, currentColor); outline-offset: 2px; }
.adcx-bu__logo { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--adcm-r-md); overflow: hidden; background: var(--greyBg); }
.adcx-bu__logo img { width: 100%; height: 100%; object-fit: contain; }
.adcx-bu__logo--mono { color: var(--adcm-c-white, #fff); font-size: var(--t-h3, 1.2rem); font-weight: var(--bold, 600); }
.adcx-bu__txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.adcx-bu__name { font-size: var(--t-card, .95rem); font-weight: var(--medium, 500); line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.adcx-bu__meta { font-size: var(--t-meta, .78rem); color: var(--adcmMuted, var(--greyColor)); }

body .adcx-bureaus-home { margin: 2.4rem auto; }
.adcx-bureaus-home__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.adcx-bureaus-home .adcx-section-title { margin: 0; }
.adcx-bureaus-home__list, .adcx-bureaus__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--adcm-space-3); margin: 0; padding: 0; list-style: none; }
.adcx-bureaus__grid li[hidden] { display: none; }

body .adcx-bureaus .container { padding-top: 1.6rem; padding-bottom: 3rem; }
.adcx-bureaus__head { margin-bottom: 1.6rem; }
.adcx-bureaus__title { margin: 0 0 .4rem; font-size: var(--t-h1, clamp(1.7rem, 3.4vw, 2.4rem)); font-weight: var(--bold, 600); color: var(--mainColor); }
.adcx-bureaus__sub { margin: 0 0 1rem; color: var(--adcmMuted, var(--greyColor)); font-size: var(--t-body, 1rem); }
.adcx-bureaus__empty { color: var(--adcmMuted, var(--greyColor)); }

/* шапка страницы бюро */
.adcx-bureau-head { display: flex; align-items: center; gap: var(--adcm-space-5); margin-bottom: 1.2rem; }
.adcx-bureau-head .adcx-bu__logo { width: 72px; height: 72px; border-radius: var(--adcm-r-lg); font-size: 1.8rem; }
.adcx-bureau-facts { display: flex; flex-wrap: wrap; gap: 6px var(--adcm-space-5); margin: .6rem 0 0; padding: 0; list-style: none; font-size: var(--t-ui, .88rem); color: var(--adcmMuted, var(--greyColor)); }
.adcx-bureau-facts a { color: var(--mainColor); }

.adcx-bureau-note { display: flex; align-items: center; gap: var(--adcm-space-2); margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid var(--borderColor); font-size: var(--t-ui, .88rem); color: var(--adcmMuted, var(--greyColor)); }
.adcx-bureau-note svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; }
.adcx-bureau-note a { color: var(--mainColor); }
@media (hover: none) { .adcx-bu:hover { transform: none; } }

/* ═══ Каталог: панель поиска, города, сортировки и вида лежит в toolbar.css (общая с разделом «События») ═══ */
.adcx-bureaus__count { margin: 0 0 var(--adcm-space-4); font-size: var(--t-meta, .8rem); color: var(--adcmMuted, var(--greyColor)); }
.adcx-bureaus__reset { padding: 0; border: 0; background: none; color: var(--hoverColor, #2849a3); font: inherit; text-decoration: underline; cursor: pointer; }

/* карточка каталога: обложка сверху (если загружена), логотип и название, специализации */
.adcx-bureaus__grid { grid-template-columns: repeat(auto-fill, minmax(max(280px, 23%), 1fr)); gap: var(--adcm-space-4); }
.adcx-bureaus__grid > li { display: flex; }
.adcx-bu--card { flex: 1; flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden; background: var(--lightColor, #fff); }
.adcx-bu__cover { display: block; height: 120px; background: var(--greyBg); overflow: hidden; }
.adcx-bu__cover--tint { background: linear-gradient(135deg, hsl(var(--bu-h, 220) 38% 88%), hsl(calc(var(--bu-h, 220) + 40) 34% 80%)); }
html[data-theme="dark"] .adcx-bu__cover--tint { background: linear-gradient(135deg, hsl(var(--bu-h, 220) 26% 22%), hsl(calc(var(--bu-h, 220) + 40) 24% 16%)); }
.adcx-bu__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.adcx-bu__row { display: flex; align-items: center; gap: var(--adcm-space-3); padding: 14px; min-width: 0; }
.adcx-bu__extra { display: none; }
.adcx-bu__specs { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 14px; margin-top: -4px; }
.adcx-bu__specs span, .adcx-bureau-specs li { padding: 3px 10px; border-radius: var(--adcm-r-pill, 999px); background: var(--greyBg, #f2f3f6); font-size: var(--t-meta, .76rem); color: var(--mainColor); white-space: nowrap; }

/* вид «список»: компактные строки без обложек; на широком экране в 2 и 3 колонки, чтобы строки не растягивались */
.adcx-bureaus__grid.is-list { grid-template-columns: 1fr; gap: var(--adcm-space-2); }
@media (min-width: 900px) { .adcx-bureaus__grid.is-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1500px) { .adcx-bureaus__grid.is-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.adcx-bureaus__grid.is-list .adcx-bu--card { flex-direction: row; align-items: center; border-radius: var(--adcm-r-md, 12px); }
.adcx-bureaus__grid.is-list .adcx-bu--card:hover { transform: none; }
.adcx-bureaus__grid.is-list .adcx-bu__cover, .adcx-bureaus__grid.is-list .adcx-bu__specs { display: none; }
.adcx-bureaus__grid.is-list .adcx-bu__row { flex: 1; padding: 10px 14px; }
.adcx-bureaus__grid.is-list .adcx-bu__logo { width: 36px; height: 36px; border-radius: var(--adcm-r-sm, 8px); font-size: 1rem; }
.adcx-bureaus__grid.is-list .adcx-bu__txt { flex: 1; }
.adcx-bureaus__grid.is-list .adcx-bu__name { -webkit-line-clamp: 1; }
.adcx-bureaus__grid.is-list .adcx-bu__extra { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; margin-left: auto; font-size: var(--t-meta, .76rem); color: var(--adcmMuted, var(--greyColor)); white-space: nowrap; }
/* телефон: поиск отдельной строкой, под ним город, сортировка и вид */
@media (max-width: 700px) { .adcx-bureaus__grid.is-list .adcx-bu__extra { display: none; } }

/* ═══ Страница бюро ═══ */
.adcx-bureau-cover { margin: 0 0 var(--adcm-space-6); border-radius: var(--adcm-r-xl, 20px); overflow: hidden; aspect-ratio: 21 / 8; background: var(--greyBg); }
.adcx-bureau-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 700px) { .adcx-bureau-cover { aspect-ratio: 16 / 9; border-radius: var(--adcm-r-lg, 16px); } }
.adcx-bureau-facts li { display: inline-flex; align-items: center; gap: 6px; }
.adcx-bureau-facts .adcm-i { width: 16px; height: 16px; flex: 0 0 auto; }
.adcx-bureau-specs { display: flex; flex-wrap: wrap; gap: 6px; margin: var(--adcm-space-3) 0 0; padding: 0; list-style: none; }
.adcx-bureau-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--adcm-space-2); margin: 0 0 var(--adcm-space-8); }
.adcx-bureau-gallery a { display: block; aspect-ratio: 4 / 3; border-radius: var(--adcm-r-md, 12px); overflow: hidden; background: var(--greyBg); }
.adcx-bureau-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--adcm-dur-base, .22s) ease; }
.adcx-bureau-gallery a:hover img { transform: scale(1.04); }
.adcx-bureau-gallery a:focus-visible { outline: 2px solid var(--hoverColor, #2849a3); outline-offset: 2px; }
@media (max-width: 560px) { .adcx-bureau-gallery { grid-template-columns: repeat(2, 1fr); } }

.adcx-bupage { display: flex; flex-wrap: wrap; align-items: center; gap: var(--adcm-space-2) var(--adcm-space-3); margin: 0 0 var(--adcm-space-5); }
.adcx-bupage__tabs { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.adcx-bupage__tabs a { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid var(--borderColor, #e3e4ea); border-radius: var(--adcm-r-pill, 999px); color: var(--mainColor, #16202e); font-size: var(--t-ui, .88rem); text-decoration: none; }
.adcx-bupage__tabs a[aria-current="true"] { background: var(--mainColor, #16202e); border-color: var(--mainColor, #16202e); color: var(--lightColor, #fff); }
.adcx-bupage__sort { display: inline-flex; gap: var(--adcm-space-2); margin: 0 0 0 auto; }
.adcx-bupage .adcx-butools__view { margin-left: 0; }
.adcx-bupage .adcx-butools__sel { height: 40px; }
.adcx-bupage__go { height: 40px; padding: 0 14px; border: 1px solid var(--borderColor); border-radius: var(--adcm-r-md, 12px); background: none; color: var(--mainColor); font: inherit; cursor: pointer; }

/* материалы бюро списком: картинка слева, текст справа */
.adcm-folio-grid.is-list { grid-template-columns: 1fr; gap: var(--adcm-space-3); }
.adcm-folio-grid.is-list .adcm-folio-card { display: flex; align-items: stretch; }
.adcm-folio-grid.is-list .adcm-folio-card:hover { transform: none; }
.adcm-folio-grid.is-list .adcm-folio-card__img { flex: 0 0 clamp(120px, 26%, 240px); aspect-ratio: 4 / 3; }
.adcm-folio-grid.is-list .adcm-folio-card__img--word { display: none; }
.adcm-folio-grid.is-list .adcm-folio-card__body { display: flex; flex-direction: column; justify-content: center; min-width: 0; }

/* фото на весь экран */
.adcx-bulight { max-width: min(96vw, 1400px); max-height: 94vh; padding: 0; border: 0; border-radius: var(--adcm-r-lg, 16px); background: #000; overflow: hidden; }
.adcx-bulight::backdrop { background: rgba(0, 0, 0, .82); }
.adcx-bulight img { display: block; max-width: min(96vw, 1400px); max-height: 94vh; width: auto; height: auto; }
.adcx-bulight__x, .adcx-bulight__nav { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 0 3px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.adcx-bulight__x { top: 10px; right: 10px; }
.adcx-bulight__nav { top: 50%; transform: translateY(-50%); }
.adcx-bulight__nav--prev { left: 10px; }
.adcx-bulight__nav--next { right: 10px; }

/* тёмная тема */
html[data-theme="dark"] .adcx-bu--card { background-color: var(--darkCard, #1b1f27); border-color: var(--darkBorder, #2a2f3a); color: var(--darkText, #dde3ec); }
html[data-theme="dark"] .adcx-bu__specs span, html[data-theme="dark"] .adcx-bureau-specs li { background: var(--darkBorder, #2a2f3a); color: var(--darkText, #dde3ec); }
html[data-theme="dark"] .adcx-bupage__tabs a { border-color: var(--darkBorder, #2a2f3a); color: var(--darkText, #dde3ec); }
html[data-theme="dark"] .adcx-bupage__tabs a[aria-current="true"] { background: var(--darkText, #dde3ec); border-color: var(--darkText, #dde3ec); color: #0b1220; }
@media (hover: none) { .adcx-bureau-gallery a:hover img { transform: none; } }
@media (max-width: 560px) { .adcx-bu__cover { height: 88px; } }
/* материалы списком на широком экране: две колонки, компактная картинка */
@media (min-width: 1000px) {
  .adcm-folio-grid.is-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adcm-folio-grid.is-list .adcm-folio-card__img { flex-basis: 160px; }
}
/* телефон: фотографии бюро листаются лентой, а не занимают несколько экранов */
@media (max-width: 560px) {
  .adcx-bureau-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; margin-inline: calc(var(--gutter, 16px) * -1); padding-inline: var(--gutter, 16px); }
  .adcx-bureau-gallery::-webkit-scrollbar { display: none; }
  .adcx-bureau-gallery a { flex: 0 0 72%; scroll-snap-align: center; }
}
