/*
 * Общий дизайн-язык сайта (2026-08-27) — вынесен из <style>-блоков,
 * которые до этого дублировались в каждой отдельной вьюхе (главная,
 * карточка адвоката, профиль). Подключается и в AppAsset (layout
 * 'main' — SiteController: главная/профиль/вход/edit-advocate), и в
 * EasyartAsset (layout 'easyart' — AdvocateController/JudgeController/
 * NotaryController/FirmController и т.п.), поэтому классы отсюда можно
 * использовать в любой вьюхе сайта независимо от layout'а.
 *
 * Не переопределяет и не удаляет ничего из bootstrap.min.css/style.css
 * темы easyart — только добавляет новые lp-* классы поверх.
 */

:root {
    --lp-dark-1: #0f2027;
    --lp-dark-2: #203a43;
    --lp-dark-3: #2c5364;
    --lp-border: #eee;
    --lp-muted: #6c757d;
    --lp-radius: .75rem;
}

/* ---------- Bootstrap5 breadcrumb fix ---------- */
/* Тема easyart грузит свой /easyart/assets/css/bootstrap.min.css, где
   правило .breadcrumb{display:flex} закомментировано (остался только
   .breadcrumb-item{display:flex}) — сам <ol> остаётся block-уровня, и
   пункты breadcrumb рвутся на отдельные строки на любой странице,
   использующей стандартную Bootstrap5-разметку хлебных крошек
   (<ol class="breadcrumb"><li class="breadcrumb-item">). Восстанавливаем
   исходное bootstrap5-поведение здесь один раз, а не точечным <style> на
   каждой странице (было на advocate.php — убрано оттуда после этого фикса).
*/
.breadcrumb {
    display: flex; flex-wrap: wrap; padding: .75rem 1rem;
    margin-bottom: 1rem; list-style: none; background-color: #e9ecef;
    border-radius: .25rem;
}

/* ---------- Hero ---------- */
.lp-hero {
    background: linear-gradient(135deg, var(--lp-dark-1) 0%, var(--lp-dark-2) 50%, var(--lp-dark-3) 100%);
    color: #fff;
    padding: 3rem 0 2.5rem;
}
.lp-hero h1, .lp-hero h2 {
    font-weight: 700;
    color: #fff !important;
    text-align: left;
    margin: 0 0 .5rem;
}
.lp-hero p.lp-hero-lead {
    color: rgba(255, 255, 255, .8);
    max-width: 640px;
    margin: 0;
}
.lp-hero .lp-hero-source {
    color: rgba(255, 255, 255, .65);
    font-size: .875rem;
}
.lp-hero .lp-hero-source a { color: rgba(255, 255, 255, .85); }
.lp-hero .lp-hero-actions {
    display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; margin-top: 1.5rem;
}
.lp-hero .lp-hero-actions .btn-primary,
.lp-hero .lp-hero-actions .lp-btn-primary { color: #fff !important; }
.lp-hero .lp-hero-actions .btn-outline-light,
.lp-hero .lp-hero-actions .lp-btn-outline-light {
    color: #fff !important; border-color: rgba(255, 255, 255, .5) !important;
}
.lp-hero .lp-hero-actions .btn-outline-light:hover,
.lp-hero .lp-hero-actions .lp-btn-outline-light:hover {
    color: var(--lp-dark-2) !important; background-color: #fff !important;
}
.lp-badge-pending {
    display: inline-block; padding: .5rem 1rem; border-radius: 50rem;
    background: rgba(255, 255, 255, .12); color: #fff; font-size: .9rem;
}

/* ---------- Секции/карточки ---------- */
.lp-section-title { font-size: 1.35rem; font-weight: 700; margin-bottom: 1.25rem; }

.lp-card {
    border: 1px solid var(--lp-border); border-radius: var(--lp-radius);
    padding: 1.5rem; margin-bottom: 1.5rem; background: #fff;
}
.lp-card h2, .lp-card h3 { font-size: 1.25rem; font-weight: 700; margin-bottom: 1rem; }

/* Сетка карточек-ссылок на разделы (использовалась на главной) */
.lp-cards-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem; margin-bottom: 3rem;
}
.lp-cards-grid .lp-card-link {
    display: block; border: 1px solid var(--lp-border); border-radius: var(--lp-radius); padding: 1.25rem;
    text-decoration: none; color: inherit; transition: box-shadow .15s, transform .15s;
}
.lp-cards-grid .lp-card-link:hover { box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.08); transform: translateY(-2px); }
.lp-cards-grid .lp-card-link h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .35rem; color: var(--lp-dark-2); }
.lp-cards-grid .lp-card-link p { font-size: .875rem; color: var(--lp-muted); margin: 0; }

/* Плитка карточек-элементов списка (адвокаты/новости/и т.п.) */
.lp-items-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.25rem; margin-bottom: 2.5rem;
}
.lp-item-card {
    border: 1px solid var(--lp-border); border-radius: var(--lp-radius); overflow: hidden;
    display: flex; flex-direction: column; height: 100%; background: #fff;
}
.lp-item-card .lp-item-card-body { padding: 1.1rem; flex: 1; display: flex; flex-direction: column; }
.lp-item-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; line-height: 1.35; }
.lp-item-card h3 a { color: #212529; text-decoration: none; }
.lp-item-card h3 a:hover { color: var(--lp-dark-3); }
.lp-item-card .lp-item-meta { font-size: .8rem; color: var(--lp-muted); margin-top: auto; padding-top: .5rem; }

/* Список-строка (без картинок) */
.lp-list { display: flex; flex-direction: column; gap: .25rem; margin-bottom: 2rem; }
.lp-list-item {
    display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0;
    border-bottom: 1px solid #f1f3f5;
}
.lp-list-item a { color: #212529; text-decoration: none; font-weight: 500; }
.lp-list-item a:hover { color: var(--lp-dark-3); }
.lp-list-item .lp-item-meta { font-size: .8rem; color: var(--lp-muted); white-space: nowrap; }

/* Key-value строки (характеристики адвоката/нотариуса/судьи и т.п.) */
.lp-kv-row {
    display: flex; flex-wrap: wrap; gap: .25rem 1rem;
    padding: .5rem 0; border-bottom: 1px solid #f1f3f5;
}
.lp-kv-row:last-child { border-bottom: none; }
.lp-kv-label { flex: 0 0 auto; min-width: 40%; color: var(--lp-muted); font-size: .9rem; }
.lp-kv-value { flex: 1 1 auto; font-weight: 500; word-break: break-word; }

/* Таблетки-ссылки (якорная навигация по странице) */
.lp-pill-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 2rem; }
.lp-pill-nav a {
    padding: .4rem .9rem; border-radius: 50rem; background: #f1f3f5;
    color: #333; text-decoration: none; font-size: .875rem; white-space: nowrap;
}
.lp-pill-nav a:hover { background: #e2e6ea; }

/* Профиль/аватар-инициал */
.lp-avatar {
    width: 64px; height: 64px; border-radius: 50%; background: var(--lp-dark-2);
    color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; font-weight: 700; flex-shrink: 0;
}

@media (max-width: 575.98px) {
    .lp-hero { padding: 2.25rem 0 2rem; }
    .lp-hero h1 { font-size: 1.5rem; }
    .lp-kv-label { min-width: 100%; }
    .lp-avatar { width: 52px; height: 52px; font-size: 1.25rem; }
}

/* ---------- Шапка сайта ---------- */
.lp-site-header {
    background: #fff; border-bottom: 1px solid var(--lp-border);
    position: sticky; top: 0; z-index: 1000;
}
.lp-site-header-inner {
    display: flex; align-items: center; justify-content: space-between;
    padding: .85rem 0; gap: 1.5rem;
}
.lp-site-logo {
    display: flex; align-items: center; gap: .5rem; text-decoration: none;
    font-weight: 700; font-size: 1.2rem; color: var(--lp-dark-2); flex-shrink: 0;
}
.lp-site-logo img { height: 48px; width: auto; }

.lp-site-nav ul {
    list-style: none; display: flex; flex-wrap: wrap; gap: 1.25rem;
    margin: 0; padding: 0;
}
.lp-site-nav a {
    text-decoration: none; color: #333; font-size: .9rem; font-weight: 500;
    white-space: nowrap;
}
.lp-site-nav a:hover { color: var(--lp-dark-3); }

.lp-nav-toggle-input { display: none; }
.lp-nav-toggle {
    display: none; flex-direction: column; justify-content: center; gap: 4px;
    width: 28px; height: 22px; cursor: pointer; flex-shrink: 0;
}
.lp-nav-toggle span { display: block; height: 2px; background: var(--lp-dark-2); border-radius: 1px; }

@media (max-width: 991.98px) {
    .lp-nav-toggle { display: flex; }
    .lp-site-nav {
        display: none; width: 100%; order: 3;
        border-top: 1px solid var(--lp-border); margin-top: .85rem; padding-top: .85rem;
    }
    .lp-site-nav ul { flex-direction: column; gap: .75rem; }
    .lp-nav-toggle-input:checked ~ .lp-site-nav { display: block; }
    .lp-site-header-inner { flex-wrap: wrap; }
}

/* ---------- Подвал сайта ---------- */
.lp-site-footer {
    background: var(--lp-dark-2); color: rgba(255, 255, 255, .85);
    padding: 3rem 0 1.5rem; margin-top: 3rem;
}
.lp-site-footer h2 { color: #fff; font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
.lp-site-footer a { color: rgba(255, 255, 255, .75); }
.lp-site-footer a:hover { color: #fff; }
.lp-footer-logo {
    height: 40px; width: auto; margin-bottom: .75rem;
    filter: brightness(0) invert(1); /* лого чёрное на прозрачном фоне — инвертируем в белое для тёмного подвала */
}
.lp-footer-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem; margin-bottom: 2rem;
}
.lp-footer-links { list-style: none; margin: 0; padding: 0; }
.lp-footer-links li { margin-bottom: .5rem; font-size: .9rem; }
.lp-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 1.25rem;
    text-align: center; font-size: .85rem; color: rgba(255, 255, 255, .6);
}

/* ---------- Формы авторизации (login/signup/recovery/reset-password) ---------- */
.lp-auth-wrap {
    display: flex; align-items: center; justify-content: center;
    margin: 3rem 0;
}
.lp-auth-card {
    max-width: 420px; width: 100%;
}
.lp-auth-card h1, .lp-auth-card h3 {
    text-align: center; font-size: 1.35rem; font-weight: 700; margin-bottom: 1.25rem;
}
.lp-auth-card .btn-primary {
    background: var(--lp-dark-2); border-color: var(--lp-dark-2);
}
.lp-auth-card .btn-primary:hover {
    background: var(--lp-dark-3); border-color: var(--lp-dark-3);
}
