/* static/css/main.css */
:root {
    --dk-primary: #d4722a;   /* тёплый оранжевый — фасад здания */
    --dk-dark:    #2b1108;   /* тёмный шоколадно-коричневый — колонны */
    --dk-amber:   #f09030;   /* янтарный — солнечные панели */
    --dk-cream:   #fbf5ee;   /* тёплый кремовый фон вместо чисто белого */
    --radius-xl: 32px;
    --radius-lg: 24px;
    --radius-md: 16px;
}

html { scroll-behavior: smooth; }
body { font-family: 'Manrope', system-ui, sans-serif; background: var(--dk-cream); color: #2b2420; }
h1, h2, h3, h4, h5, h6 { font-family: 'Sora', system-ui, sans-serif; font-weight: 700; }

/* TOP BAR */
.top-bar { background: var(--dk-dark); font-size: .8rem; letter-spacing: .02em; }

/* NAVBAR */
.navbar {
    position: sticky; top: 0; z-index: 1030;
    background: rgba(251,245,238,.78) !important;
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(43,17,8,.06);
    box-shadow: none; padding-top: .6rem; padding-bottom: .6rem;
}
.navbar-brand .brand-name { color: var(--dk-dark); line-height: 1.1; font-family: 'Sora', sans-serif; }
.nav-link { font-weight: 600; color: #4a3f38 !important; border-radius: 999px; padding: .5rem 1.1rem !important; transition: all .2s; }
.nav-link:hover { color: var(--dk-primary) !important; background: rgba(212,114,42,.1); }

/* HERO */
.hero-section { padding-top: 20px; }
.hero {
    height: 520px;
    border-radius: var(--radius-xl);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--dk-dark);
    position: relative;
    display: flex; align-items: flex-end;
    overflow: hidden;
}
.hero::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(20,8,4,.7) 0%, rgba(20,8,4,.25) 45%, rgba(20,8,4,0) 75%);
}
.hero .hero-content { position: relative; z-index: 1; padding: 48px; }
.hero-badge {
    display: inline-block; background: rgba(255,255,255,.15); backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: .4rem 1.1rem;
    font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}

/* BUTTONS */
.btn { border-radius: 999px; font-weight: 600; padding: .65rem 1.6rem; }
.btn-lg { padding: .85rem 2rem; }
.btn-warm { background: var(--dk-primary); color: #fff; border: none; }
.btn-warm:hover { background: var(--dk-dark); color: #fff; }
.btn-outline-warm { border: 2px solid var(--dk-amber); color: var(--dk-primary); background: transparent; }
.btn-outline-warm:hover { background: var(--dk-amber); color: #fff; }

/* QUICK LINKS / BENTO */
.quick-link-card {
    border: none; border-radius: var(--radius-lg); height: 100%;
    box-shadow: 0 4px 20px rgba(43,17,8,.06);
    transition: transform .25s, box-shadow .25s;
    cursor: pointer; text-decoration: none; color: #2b2420; background: #fff;
}
.quick-link-card:hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(43,17,8,.12); color: #2b2420; }
.quick-link-card.featured { background: linear-gradient(135deg, var(--dk-primary), var(--dk-amber)); color: #fff; }
.quick-link-card.featured .text-muted { color: rgba(255,255,255,.85) !important; }
.quick-link-card .icon-wrap {
    width: 56px; height: 56px; border-radius: 16px;
    background: rgba(212,114,42,.1); display: flex; align-items: center; justify-content: center;
    margin: 0 auto 14px;
}
.quick-link-card.featured .icon-wrap { background: rgba(255,255,255,.2); }
.quick-link-card i { font-size: 1.6rem; color: var(--dk-primary); }
.quick-link-card.featured i { color: #fff; }

/* SECTION TITLE */
.section-eyebrow {
    display: block; color: var(--dk-primary); font-weight: 700; text-transform: uppercase;
    font-size: .8rem; letter-spacing: .1em; margin-bottom: 8px;
}
.section-title { position: relative; padding-bottom: 12px; margin-bottom: 28px; font-size: 2rem; font-weight: 800; }
.section-title::after {
    content: ''; position: absolute; bottom: 0; left: 0;
    width: 56px; height: 4px; background: var(--dk-amber); border-radius: 2px;
}

/* CARDS GENERAL */
.card { border: none; border-radius: var(--radius-lg); }

/* EVENT CARDS */
.event-card { box-shadow: 0 4px 20px rgba(43,17,8,.06); transition: transform .25s, box-shadow .25s; overflow: hidden; }
.event-card:hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(43,17,8,.1); }
.event-card .event-img { height: 190px; object-fit: cover; width: 100%; }
.event-date-badge {
    background: var(--dk-primary); color: #fff;
    font-size: .78rem; font-weight: 700;
    padding: 5px 12px; border-radius: 999px; display: inline-block; margin-bottom: 8px;
}

/* CLUB SECTION */
.club-card { box-shadow: 0 4px 20px rgba(43,17,8,.05); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.club-card:hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(43,17,8,.1); }
.club-card .club-img { height: 160px; object-fit: cover; width: 100%; }
.club-card .card-header { background: var(--dk-dark); color: #fff; font-size: .8rem; padding: 6px 12px; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }

/* NEWS */
.news-item { border-left: 3px solid var(--dk-primary); padding-left: 14px; margin-bottom: 18px; }
.news-item .news-date { font-size: .78rem; color: #999; }

/* FOOTER */
footer { background: var(--dk-dark); border-radius: var(--radius-xl) var(--radius-xl) 0 0; margin-top: 48px; }
footer a { color: #adb5bd; text-decoration: none; }
footer a:hover { color: #fff; }

/* GALLERY THUMBS */
.gal-thumb, .gallery-thumb { aspect-ratio: 4/3; object-fit: cover; width: 100%; border-radius: var(--radius-md); cursor: pointer; transition: opacity .2s; }
.gal-thumb:hover, .gallery-thumb:hover { opacity: .85; }

/* DOC LIST */
.doc-item { display: flex; align-items: center; padding: 14px 18px;
            border-bottom: 1px solid #f1f3f5; transition: background .15s; }
.doc-item:last-child { border-bottom: none; }
.doc-item:hover { background: #fff8f2; }
.doc-item i { font-size: 1.4rem; color: var(--dk-primary); margin-right: 12px; flex-shrink: 0; }

/* CONTACTS */
.contact-info li { padding: 10px 0; border-bottom: 1px solid #f1f3f5; display: flex; align-items: flex-start; gap: 12px; }
.contact-info i { color: var(--dk-primary); font-size: 1.1rem; margin-top: 2px; }

/* СТАТ-КАРТОЧКИ "О НАС" */
.stat-card {
    border-radius: var(--radius-lg); padding: 20px 16px; text-align: center; flex: 1;
    background: #fff; box-shadow: 0 4px 20px rgba(43,17,8,.05);
}
.stat-card .stat-num { font-size: 2.2rem; font-weight: 800; color: var(--dk-primary); font-family: 'Sora', sans-serif; }
.stat-card .stat-label { color: #8a7d74; font-size: .85rem; }

/* УТИЛИТЫ ТЁПЛОЙ ТЕМЫ */
.text-primary-dk { color: var(--dk-primary) !important; }
.bg-primary-dk   { background-color: var(--dk-primary) !important; }

/* ЛОГОТИП-СВЕЧКА SVG */
.logo-candle { width: 46px; height: 46px; }

/* BREADCRUMBS */
.breadcrumb-item + .breadcrumb-item::before {
    content: '›';
}

/* ПОИСК ПО САЙТУ (шапка) */
#siteSearchBar { background: var(--dk-dark); }
.site-search-form { max-width: 420px; }

/* КАРТА САЙТА */
.sitemap-list { list-style: none; padding-left: 0; }
.sitemap-list .sitemap-list { padding-left: 1.5rem; margin-top: .25rem; }
.sitemap-list li { margin-bottom: .4rem; }
.sitemap-list > li { font-weight: 600; }
.sitemap-list a { color: #4a3f38; text-decoration: none; }
.sitemap-list a:hover { color: var(--dk-primary); text-decoration: underline; }

/* SCROLL REVEAL */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ */
#accessibilityToggle.active { color: var(--dk-amber) !important; font-weight: 700; }

html.accessibility-mode,
html.accessibility-mode body {
    background: #fff !important;
    color: #000 !important;
    font-size: 120% !important;
    line-height: 1.6 !important;
}
html.accessibility-mode * {
    font-family: Arial, Helvetica, sans-serif !important;
    color: #000 !important;
    background-image: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
html.accessibility-mode .navbar,
html.accessibility-mode .top-bar,
html.accessibility-mode footer {
    background: #fff !important;
    border-bottom: 2px solid #000;
}
html.accessibility-mode .top-bar * { color: #000 !important; }
html.accessibility-mode a,
html.accessibility-mode .nav-link {
    color: #00009f !important;
    text-decoration: underline !important;
}
html.accessibility-mode a:visited { color: #551a8b !important; }
html.accessibility-mode .btn,
html.accessibility-mode .card,
html.accessibility-mode .hero,
html.accessibility-mode .quick-link-card,
html.accessibility-mode .event-card {
    border: 2px solid #000 !important;
    background: #fff !important;
}
html.accessibility-mode .hero::after { display: none; }
html.accessibility-mode img { filter: grayscale(100%) contrast(1.2); }
