/* ==========================================================================
   ДОМ ТИГРА — новый сайт
   Дизайн-система: тёплая палитра, кинематографичная типографика
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. ДИЗАЙН-ТОКЕНЫ (переменные)
   -------------------------------------------------------------------------- */
:root {
    --c-void:      #0a0806;
    --c-void-soft: #100c08;
    --c-ash:       #3a1c08;
    --c-amber:     #aa550e;
    --c-amber-deep:#8a4208;
    --c-gold:      #e8a04c;
    --c-gold-soft: #f2c185;
    --c-blood:     #8b1a1a;
    --c-smoke:     #d4c4b0;
    --c-fog:       #7a6e60;
    --c-line:      rgba(232, 160, 76, 0.18);

    --font-display: 'Exo 2', 'Arial', sans-serif;

    --container-w: 1280px;
    --radius-s: 8px;
    --radius-m: 16px;
    --radius-l: 28px;

    --shadow-soft:        0 4px 14px rgba(0, 0, 0, 0.25);
    --shadow-soft-hover:  0 8px 22px rgba(0, 0, 0, 0.35);
    --shadow-deep:        0 8px 24px rgba(0, 0, 0, 0.35);
    --shadow-glow:        0 0 20px rgba(232, 160, 76, 0.15);
    --shadow-glow-strong: 0 0 40px rgba(232, 160, 76, 0.25);

    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --t-fast: 0.2s var(--ease-out);
    --t-mid:  0.4s var(--ease-out);
    --t-slow: 0.8s var(--ease-out);
}


/* --------------------------------------------------------------------------
   2. ШРИФТ EXO 2
   -------------------------------------------------------------------------- */
@font-face {
    font-family: 'Exo 2';
    src: url('/assets/fonts/exo2-cyrillic.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Exo 2';
    src: url('/assets/fonts/exo2-cyrillic-ext.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Exo 2';
    src: url('/assets/fonts/exo2-cyrillic-uz.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Exo 2';
    src: url('/assets/fonts/exo2-latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Exo 2';
    src: url('/assets/fonts/exo2-latin-ext.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ================== EXO 2 — BOLD (700) ================== */
@font-face {
    font-family: 'Exo 2';
    src: url('/assets/fonts/exo2-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* --------------------------------------------------------------------------
   3. RESET
   -------------------------------------------------------------------------- */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 17px;
    line-height: 1.6;
    color: var(--c-smoke);
    background-color: var(--c-void);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    cursor: none;
}
@media (hover: none) { body { cursor: auto; } }
img, video, iframe { max-width: 100%; display: block; }
a {
    color: var(--c-gold);
    text-decoration: none;
    transition: color var(--t-fast);
}
a:hover { color: var(--c-gold-soft); }
button {
    font-family: inherit;
    cursor: none;
    border: none;
    background: none;
}
@media (hover: none) { button { cursor: pointer; } }
ul, ol { list-style: none; }
::selection { background: var(--c-amber); color: var(--c-void); }


/* --------------------------------------------------------------------------
   4. ТИПОГРАФИКА
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--c-smoke);
    line-height: 1.1;
    letter-spacing: 0.02em;
}
.display {
    font-size: clamp(48px, 11vw, 160px);
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}
.section-title {
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1.05;
    margin-bottom: 60px;
    position: relative;
    display: inline-block;
    color: var(--c-smoke);
}
.section-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--c-gold), transparent);
}
.section-title--center { display: block; text-align: center; }
.section-title--center::after { left: 50%; transform: translateX(-50%); }
.eyebrow {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.4em;
    color: var(--c-amber);
    font-weight: 400;
    display: block;
    margin-bottom: 16px;
}
p { font-size: 17px; line-height: 1.7; color: var(--c-smoke); }
.text-muted { color: var(--c-fog); }
.text-amber { color: var(--c-amber); }
.text-gold  { color: var(--c-gold); }


/* --------------------------------------------------------------------------
   5. КАСТОМНЫЙ КУРСОР
   -------------------------------------------------------------------------- */
.cursor-dot,
.cursor-halo {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9999;
    border-radius: 50%;
    will-change: transform;
}
.cursor-dot {
    width: 6px;
    height: 6px;
    background: var(--c-gold);
    box-shadow: 0 0 12px var(--c-gold);
    transition: width 0.2s, height 0.2s, background 0.2s;
}
.cursor-halo {
    width: 48px;
    height: 48px;
    background: radial-gradient(circle, rgba(232, 160, 76, 0.22) 0%, rgba(232, 160, 76, 0) 70%);
    transition: width 0.3s var(--ease-out), height 0.3s var(--ease-out);
}
body.cursor-hover .cursor-dot { width: 10px; height: 10px; background: var(--c-gold-soft); }
body.cursor-hover .cursor-halo { width: 90px; height: 90px; }
@media (hover: none) { .cursor-dot, .cursor-halo { display: none; } }


/* --------------------------------------------------------------------------
   6. ПРОГРЕСС-БАР СКРОЛЛА
   -------------------------------------------------------------------------- */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, var(--c-amber), var(--c-gold), var(--c-gold-soft));
    box-shadow: 0 0 10px rgba(232, 160, 76, 0.5);
    z-index: 9998;
    transition: width 0.1s linear;
}


/* --------------------------------------------------------------------------
   7. ОБЩИЕ КОНТЕЙНЕРЫ И СЕКЦИИ
   -------------------------------------------------------------------------- */
.container-t {
    max-width: var(--container-w);
    margin: 0 auto;
    padding: 0 24px;
}
.section {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
}
.section--void    { background: var(--c-void); }
.section--soft    { background: var(--c-void-soft); }
.section--ash     { background: linear-gradient(180deg, var(--c-void), var(--c-ash) 50%, var(--c-void)); }
.section--amber   { background: linear-gradient(135deg, var(--c-ash), var(--c-void)); }
.section + .section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    max-width: 800px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--c-line), transparent);
}


/* --------------------------------------------------------------------------
   8. КНОПКИ
   -------------------------------------------------------------------------- */
.btn-t {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-void);
    background: linear-gradient(135deg, var(--c-gold), var(--c-amber));
    border-radius: 999px;
    position: relative;
    overflow: hidden;
    transition: transform var(--t-fast), box-shadow var(--t-mid);
    box-shadow: 0 4px 14px rgba(170, 85, 14, 0.25);
	isolation: isolate;
}
.btn-t:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(232, 160, 76, 0.35);
    color: var(--c-void);
}
.btn-t::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--c-gold-soft), var(--c-gold));
    opacity: 0;
    transition: opacity var(--t-mid);
    border-radius: inherit;
	z-index: -1;
}
.btn-t > *, 
.btn-t span, 
.btn-t i {
    position: relative;
    z-index: 1;
}
.btn-t:hover::before { opacity: 1; }

.btn-t--ghost {
    background: transparent;
    color: var(--c-gold);
    border: 1px solid var(--c-gold);
    box-shadow: none;
	isolation: isolate;
}
.btn-t--ghost:hover {
    background: rgba(232, 160, 76, 0.08);
    box-shadow: 0 0 20px rgba(232, 160, 76, 0.2);
    color: var(--c-gold-soft);
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 4px 14px rgba(170, 85, 14, 0.25), 0 0 0 0 rgba(232, 160, 76, 0.4); }
    50%      { box-shadow: 0 4px 14px rgba(170, 85, 14, 0.35), 0 0 0 15px rgba(232, 160, 76, 0); }
}
.btn-t--pulse { animation: pulse-glow 2.4s infinite; }


/* --------------------------------------------------------------------------
   9. HERO
   -------------------------------------------------------------------------- */
.hero {
    position: relative;
    min-height: 100vh;
    height: 100vh;
    overflow: hidden;
    background: var(--c-void);
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}

.hero__video-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hero__video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    /* лёгкая насыщенность — усиливает янтарный оттенок */
    filter: saturate(1.2) contrast(1.02);
}

.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(ellipse at 30% 40%, rgba(170, 85, 14, 0.35) 0%, transparent 65%),
        radial-gradient(ellipse at 70% 80%, rgba(139, 26, 26, 0.12) 0%, transparent 55%),
        linear-gradient(180deg, rgba(10, 8, 6, 0.35) 0%, rgba(10, 8, 6, 0.10) 40%, rgba(10, 8, 6, 0.85) 100%);
    pointer-events: none;
}

.hero__grain {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0.05;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode: overlay;
}

.hero__vignette {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: radial-gradient(ellipse at center, transparent 45%, rgba(0,0,0,0.55) 100%);
}

.hero__glow {
    position: absolute;
    top: -20%;
    right: -10%;
    width: 70vw;
    height: 70vw;
    max-width: 900px;
    max-height: 900px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 160, 76, 0.22) 0%, transparent 65%);
    z-index: 2;
    pointer-events: none;
    filter: blur(40px);
    animation: hero-glow-float 12s ease-in-out infinite;
}

@keyframes hero-glow-float {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.9; }
    50%      { transform: translate(-30px, 40px) scale(1.15); opacity: 1; }
}

.hero__content {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: 0 24px;
    max-width: 1200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.hero__logo {
    display: inline-block;
    position: relative;
}

.hero__logo .display {
    color: var(--c-smoke);
    text-shadow:
        0 0 30px rgba(170, 85, 14, 0.5),
        0 0 60px rgba(232, 160, 76, 0.2),
        0 4px 20px rgba(0, 0, 0, 0.9);
    opacity: 0;
    transform: translateY(40px);
    animation: hero-logo-in 1.4s var(--ease-out) 0.3s forwards;
}

@keyframes hero-logo-in {
    to { opacity: 1; transform: translateY(0); }
}

.hero__subtitle {
    font-size: clamp(12px, 1.6vw, 18px);
    text-transform: uppercase;
    letter-spacing: 0.5em;
    color: var(--c-amber);
    opacity: 0;
    animation: hero-fade-up 1.2s var(--ease-out) 1.4s forwards;
    position: relative;
    padding: 0 40px;
    margin-left: 0.5em;
}

.hero__subtitle::before,
.hero__subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 30px;
    height: 1px;
    background: var(--c-amber);
}

.hero__subtitle::before { left: 0; }
.hero__subtitle::after  { right: 0; }

.hero__cta {
    opacity: 0;
    animation: hero-fade-up 1.2s var(--ease-out) 1.7s forwards;
}

@keyframes hero-fade-up {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero__scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--c-fog);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    opacity: 0;
    animation: hero-fade-up 1s var(--ease-out) 2.1s forwards;
}

.hero__scroll-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(180deg, var(--c-amber), transparent);
    position: relative;
    overflow: hidden;
}

.hero__scroll-line::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 20px;
    background: var(--c-gold);
    animation: scroll-travel 2s ease-in-out infinite;
}

@keyframes scroll-travel {
    0%   { transform: translateY(-100%); opacity: 0; }
    40%  { opacity: 1; }
    100% { transform: translateY(300%); opacity: 0; }
}

.hero__corner {
    position: absolute;
    width: 60px;
    height: 60px;
    border-color: var(--c-amber);
    border-style: solid;
    border-width: 0;
    z-index: 3;
    opacity: 0.4;
    pointer-events: none;
}

.hero__corner--tl { top: 40px; left: 40px; border-top-width: 1px; border-left-width: 1px; }
.hero__corner--tr { top: 40px; right: 40px; border-top-width: 1px; border-right-width: 1px; }
.hero__corner--bl { bottom: 40px; left: 40px; border-bottom-width: 1px; border-left-width: 1px; }
.hero__corner--br { bottom: 40px; right: 40px; border-bottom-width: 1px; border-right-width: 1px; }

.hero.is-mobile {
    background: url('/assets/img/tiger.png') center/cover no-repeat var(--c-void);
}
.hero.is-mobile .hero__video-wrap { display: none; }


/* --------------------------------------------------------------------------
   10. БОКОВОЕ МЕНЮ-ПУЛЬТ
   -------------------------------------------------------------------------- */
.pulse-nav {
    position: fixed;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    z-index: 900;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 20px 12px;
    background: rgba(10, 8, 6, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--c-line);
    border-radius: 999px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
.pulse-nav__dots {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--c-line);
}
.pulse-nav__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c-fog);
    opacity: 0.5;
    transition: all var(--t-mid);
    cursor: none;
    position: relative;
}
.pulse-nav__dot:hover { background: var(--c-gold); opacity: 1; transform: scale(1.6); }
.pulse-nav__dot.is-active {
    background: var(--c-gold);
    opacity: 1;
    box-shadow: 0 0 10px var(--c-gold);
    transform: scale(1.4);
}
.pulse-nav__dot::after {
    content: attr(data-label);
    position: absolute;
    right: calc(100% + 16px);
    top: 50%;
    transform: translateY(-50%) translateX(10px);
    white-space: nowrap;
    font-size: 12px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--c-smoke);
    background: rgba(10, 8, 6, 0.9);
    padding: 6px 12px;
    border-radius: 4px;
    border: 1px solid var(--c-line);
    opacity: 0;
    pointer-events: none;
    transition: all var(--t-fast);
}
.pulse-nav__dot:hover::after { opacity: 1; transform: translateY(-50%) translateX(0); }
.pulse-nav__burger {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-void);
    font-size: 16px;
    cursor: none;
    transition: transform var(--t-fast), box-shadow var(--t-mid);
    box-shadow: 0 4px 14px rgba(170, 85, 14, 0.35);
}
.pulse-nav__burger:hover { transform: scale(1.1) rotate(90deg); box-shadow: 0 6px 20px rgba(232, 160, 76, 0.5); }
.pulse-nav__burger i { transition: transform var(--t-mid); }
.pulse-nav.is-open .pulse-nav__burger i { transform: rotate(90deg); }


/* --------------------------------------------------------------------------
   11. ПОЛНОЭКРАННОЕ МЕНЮ
   -------------------------------------------------------------------------- */
.fullmenu {
    position: fixed;
    inset: 0;
    z-index: 950;
    background: linear-gradient(135deg, var(--c-void) 0%, var(--c-ash) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s var(--ease-out), visibility 0.6s var(--ease-out);
}
.fullmenu.is-open { opacity: 1; visibility: visible; }
.fullmenu::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 30%, rgba(232, 160, 76, 0.15) 0%, transparent 50%),
                radial-gradient(circle at 80% 70%, rgba(139, 26, 26, 0.1) 0%, transparent 50%);
    pointer-events: none;
}
.fullmenu__list {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    padding: 40px;
}
.fullmenu__item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}
.fullmenu.is-open .fullmenu__item { opacity: 1; transform: translateY(0); }
.fullmenu.is-open .fullmenu__item:nth-child(1) { transition-delay: 0.1s; }
.fullmenu.is-open .fullmenu__item:nth-child(2) { transition-delay: 0.15s; }
.fullmenu.is-open .fullmenu__item:nth-child(3) { transition-delay: 0.2s; }
.fullmenu.is-open .fullmenu__item:nth-child(4) { transition-delay: 0.25s; }
.fullmenu.is-open .fullmenu__item:nth-child(5) { transition-delay: 0.3s; }
.fullmenu.is-open .fullmenu__item:nth-child(6) { transition-delay: 0.35s; }
.fullmenu.is-open .fullmenu__item:nth-child(7) { transition-delay: 0.4s; }
.fullmenu__link {
    font-size: clamp(28px, 5vw, 56px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-smoke);
    display: inline-block;
    position: relative;
    padding: 8px 20px;
    transition: color var(--t-mid), transform var(--t-mid);
    cursor: none;
}
.fullmenu__link:hover { color: var(--c-gold); transform: translateX(12px); }
.fullmenu__link::before {
    content: attr(data-num);
    position: absolute;
    left: -40px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    color: var(--c-amber);
    letter-spacing: 0.2em;
    opacity: 0;
    transition: opacity var(--t-mid), left var(--t-mid);
}
.fullmenu__link:hover::before { opacity: 1; left: -30px; }
.fullmenu__close {
    position: absolute;
    top: 32px;
    right: 32px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 1px solid var(--c-line);
    color: var(--c-smoke);
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--t-mid);
    cursor: none;
    z-index: 2;
}
.fullmenu__close:hover {
    border-color: var(--c-gold);
    color: var(--c-gold);
    transform: rotate(90deg);
    box-shadow: 0 0 20px rgba(232, 160, 76, 0.25);
}
@media (max-width: 767px) {
    .pulse-nav {
        top: auto;
        bottom: 20px;
        right: 50%;
        transform: translateX(50%);
        flex-direction: row;
        padding: 10px 16px;
    }
    .pulse-nav__dots { display: none; }
    .hero__corner { display: none; }
}


/* --------------------------------------------------------------------------
   12. О ХОСПИСЕ
   -------------------------------------------------------------------------- */
.about {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
@media (max-width: 991px) { .about { grid-template-columns: 1fr; gap: 40px; } }
.about__media {
    position: relative;
    border-radius: var(--radius-m);
    overflow: hidden;
    box-shadow: var(--shadow-soft-hover);
}
.about__media video { width: 100%; height: auto; display: block; }
.about__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(170, 85, 14, 0.15) 0%, transparent 60%);
    pointer-events: none;
}
.about__text p { font-size: 18px; line-height: 1.8; margin-bottom: 20px; color: var(--c-smoke); }
.about__text p strong {
    color: var(--c-gold);
    font-weight: 700;
    font-family: 'Exo 2', Arial, sans-serif;
}


/* --------------------------------------------------------------------------
   13. ГОЛОСА ТИГРОВ — карточки одинаковые, всё на своих местах
   -------------------------------------------------------------------------- */
.voices {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto;
    align-items: start; /* не растягиваем карточки — пусть будут по содержимому */
}

.voice-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: linear-gradient(155deg, rgba(58, 28, 8, 0.5), rgba(10, 8, 6, 0.9));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    padding: 28px;
    overflow: hidden;
    transition: transform var(--t-mid), border-color var(--t-mid), box-shadow var(--t-mid);
}

.voice-card:hover {
    transform: translateY(-6px);
    border-color: rgba(232, 160, 76, 0.5);
    box-shadow: var(--shadow-soft-hover);
}

.voice-card__title {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-gold);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 28px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.voice-card__title::before {
    content: '';
    width: 5px;
    height: 22px;
    background: linear-gradient(180deg, var(--c-gold), var(--c-amber));
    border-radius: 3px;
    flex-shrink: 0;
}

.voice-card__wave {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 60px;
    margin: 16px 0;
}

.voice-card__wave span {
    display: block;
    width: 3px;
    background: linear-gradient(180deg, var(--c-gold), var(--c-amber));
    border-radius: 3px;
    height: 8px;
    transition: height 0.15s ease-out;
    opacity: 0.5;
}

.voice-card.is-playing .voice-card__wave span {
    opacity: 1;
    animation: wave-bounce 1s ease-in-out infinite;
}

.voice-card__wave span:nth-child(1)  { animation-delay: 0.00s; }
.voice-card__wave span:nth-child(2)  { animation-delay: 0.05s; }
.voice-card__wave span:nth-child(3)  { animation-delay: 0.10s; }
.voice-card__wave span:nth-child(4)  { animation-delay: 0.15s; }
.voice-card__wave span:nth-child(5)  { animation-delay: 0.20s; }
.voice-card__wave span:nth-child(6)  { animation-delay: 0.25s; }
.voice-card__wave span:nth-child(7)  { animation-delay: 0.30s; }
.voice-card__wave span:nth-child(8)  { animation-delay: 0.35s; }
.voice-card__wave span:nth-child(9)  { animation-delay: 0.40s; }
.voice-card__wave span:nth-child(10) { animation-delay: 0.45s; }
.voice-card__wave span:nth-child(11) { animation-delay: 0.50s; }
.voice-card__wave span:nth-child(12) { animation-delay: 0.45s; }
.voice-card__wave span:nth-child(13) { animation-delay: 0.40s; }
.voice-card__wave span:nth-child(14) { animation-delay: 0.35s; }
.voice-card__wave span:nth-child(15) { animation-delay: 0.30s; }
.voice-card__wave span:nth-child(16) { animation-delay: 0.25s; }
.voice-card__wave span:nth-child(17) { animation-delay: 0.20s; }
.voice-card__wave span:nth-child(18) { animation-delay: 0.15s; }
.voice-card__wave span:nth-child(19) { animation-delay: 0.10s; }
.voice-card__wave span:nth-child(20) { animation-delay: 0.05s; }

@keyframes wave-bounce {
    0%, 100% { height: 8px; }
    50%      { height: 44px; }
}

.voice-card__controls {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    min-height: 56px;
}

.voice-card__play {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
    color: var(--c-void);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: transform var(--t-fast), box-shadow var(--t-mid);
    box-shadow: 0 4px 14px rgba(170, 85, 14, 0.3);
    flex-shrink: 0;
    cursor: none;
}

.voice-card__play:hover { transform: scale(1.08); box-shadow: 0 6px 20px rgba(232, 160, 76, 0.5); }
.voice-card__play i { pointer-events: none; }
.voice-card__meta { flex: 1; }
.voice-card__name { font-size: 14px; color: var(--c-smoke); font-weight: 500; display: block; }
.voice-card__sub {
    font-size: 12px;
    color: var(--c-fog);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 2px;
    display: block;
}

.voice-card audio { display: none; }

.voice-card__photo {
    margin-top: 24px; /* фиксированный отступ от кнопки play до фото */
    border-radius: var(--radius-s);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    width: 100%;
}

.voice-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-slow);
    filter: brightness(0.85) saturate(1.05);
}

.voice-card:hover .voice-card__photo img {
    transform: scale(1.06);
    filter: brightness(1) saturate(1.15);
}

@media (max-width: 767px) {
    .voice-card__title {
        font-size: 16px;
        white-space: normal;
    }
}


/* --------------------------------------------------------------------------
   14. СТАТИСТИКА
   -------------------------------------------------------------------------- */
.stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.stat {
    flex: 0 1 180px;
    min-width: 140px;
    max-width: 220px;
}
.stat::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: linear-gradient(180deg, transparent, var(--c-line), transparent);
}
.stat:last-child::after { display: none; }
@media (max-width: 767px) { .stat::after { display: none; } }
.stat__value {
    font-size: clamp(56px, 8vw, 96px);
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(180deg, var(--c-gold) 0%, var(--c-amber) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    letter-spacing: -0.02em;
}
.stat__label {
    display: block;
    margin-top: 12px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--c-fog);
}


/* --------------------------------------------------------------------------
   15. КОМАНДА — компактные карточки, центрируем фото по центру кадра
   -------------------------------------------------------------------------- */
.team-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.team-card {
    flex: 0 0 240px;
    width: 240px;
    max-width: 240px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.85));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    overflow: hidden;
    cursor: none;
    position: relative;
    transition: transform var(--t-mid), border-color var(--t-mid), box-shadow var(--t-mid);
    text-align: center;
    box-sizing: border-box;
}

.team-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--c-gold), transparent);
    z-index: 3;
    transition: width var(--t-mid);
}

.team-card:hover::before {
    width: 100%;
}

.team-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 40%, rgba(232, 160, 76, 0.12) 0%, transparent 70%);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-mid);
    z-index: 1;
}

.team-card:hover::after {
    opacity: 1;
}

.team-card:hover {
    transform: translateY(-8px);
    border-color: rgba(232, 160, 76, 0.55);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5), 0 0 40px rgba(170, 85, 14, 0.18);
}

/* Фото сверху — квадрат, центрировано по лицу */
.team-card__photo {
    position: relative;
    z-index: 2;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center 25%; /* сдвигаем чуть выше центра — лица лучше видны */
    filter: grayscale(0.2) brightness(0.9);
    transition: filter 0.4s var(--ease-out);
}

.team-card:hover .team-card__photo {
    filter: grayscale(0) brightness(1);
}

.team-card__info {
    position: relative;
    z-index: 2;
    padding: 18px 14px 20px;
    text-align: center;
    border-top: 1px solid var(--c-line);
    background: linear-gradient(180deg, rgba(10, 8, 6, 0.2), rgba(10, 8, 6, 0.6));
    min-height: 90px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}

.team-card__name {
    font-size: 15px;
    font-weight: 700;
    color: var(--c-smoke);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.25;
}

.team-card__role {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gold);
    line-height: 1.4;
    opacity: 0.85;
}

@media (max-width: 767px) {
    .team-grid {
        gap: 16px;
    }
    .team-card {
        flex: 0 0 calc(50% - 8px);
        width: calc(50% - 8px);
        max-width: none;
    }
    .team-card__name { font-size: 13px; }
    .team-card__role { font-size: 10px; }
}

@media (max-width: 480px) {
    .stats { grid-template-columns: 1fr; }
    .display { font-size: 44px; }
}


/* --------------------------------------------------------------------------
   16. МОДАЛЬНЫЕ ОКНА
   -------------------------------------------------------------------------- */
.modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(10, 8, 6, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--t-mid), visibility var(--t-mid);
}
.modal.is-open { opacity: 1; visibility: visible; }
.modal__inner {
    max-width: 720px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    background: linear-gradient(160deg, var(--c-ash), var(--c-void));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    padding: 48px;
    position: relative;
    transform: scale(0.95);
    transition: transform var(--t-mid);
    box-shadow: var(--shadow-deep);
}
.modal.is-open .modal__inner { transform: scale(1); }
.modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(10, 8, 6, 0.6);
    border: 1px solid var(--c-line);
    color: var(--c-smoke);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: all var(--t-fast);
    cursor: none;
}
.modal__close:hover { color: var(--c-gold); border-color: var(--c-gold); transform: rotate(90deg); }
.modal__photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    margin: 0 auto 24px;
    border: 2px solid var(--c-amber);
}
.modal__name {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
    color: var(--c-smoke);
    margin-bottom: 8px;
}
.modal__role {
    text-align: center;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--c-gold);
    margin-bottom: 32px;
}
.modal__bio p { font-size: 16px; line-height: 1.75; color: var(--c-smoke); margin-bottom: 16px; }
@media (max-width: 767px) {
    .modal__inner { padding: 32px 24px; }
    .modal__photo { width: 120px; height: 120px; }
    .modal__name { font-size: 22px; }
}


/* ==========================================================================
   17. ОПЕКУНЫ — карточки-перевёртыши
   Размер 300×450 как в старом сайте. Сетка flex-центрированная.
   Обратная сторона: тёплый градиент в стиле сайта + янтарная линия сверху.
   ========================================================================== */
.warden-group { margin-bottom: 80px; }

.warden-group__title {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4em;
    color: var(--c-amber);
    text-align: center;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.warden-group__title::before,
.warden-group__title::after {
    content: '';
    flex: 1;
    max-width: 100px;
    height: 1px;
    background: var(--c-line);
}

/* Сетка — flex-центрированная, карточки по 300px */
.warden-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    max-width: 1300px;
    margin: 0 auto;
}

/* Сама карточка — 300×450, 3D-контейнер */
.warden-card {
    position: relative;
    width: 300px;
    height: 450px;
    perspective: 1400px;
    cursor: none;
    outline: none;
}

@media (max-width: 767px) {
    .warden-card { width: 100%; max-width: 300px; height: auto; aspect-ratio: 3 / 4.5; }
    .warden-grid { gap: 24px; }
}

.warden-card__inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s var(--ease-in-out);
    transform-style: preserve-3d;
    border-radius: var(--radius-m);
}

/* Переворот при hover на десктопе */
@media (hover: hover) {
    .warden-card:hover .warden-card__inner {
        transform: rotateY(180deg);
    }
}

/* Переворот по классу (для мобильных через JS) */
.warden-card.is-flipped .warden-card__inner {
    transform: rotateY(180deg);
}

/* Обе стороны */
.warden-card__side {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: var(--radius-m);
    overflow: hidden;
    display: block;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

/* Лицевая сторона — фото животного + имя снизу */
.warden-card__front {
    background: var(--c-ash);
    position: absolute;
}

.warden-card__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s var(--ease-out), filter 0.6s var(--ease-out);
    filter: brightness(0.9) saturate(1.05);
}

.warden-card:hover .warden-card__photo {
    transform: scale(1.06);
    filter: brightness(1) saturate(1.15);
}

.warden-card__front::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(10, 8, 6, 0.92) 100%);
    pointer-events: none;
    z-index: 1;
}

.warden-card__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 24px 20px;
    z-index: 2;
    text-align: center;
}

.warden-card__name {
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-smoke);
    line-height: 1.15;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8);
}

/* --------------------------------------------------------------------------
   Обратная сторона — тёплый градиент в стиле сайта
   -------------------------------------------------------------------------- */
.warden-card__back {
    transform: rotateY(180deg);
    position: absolute;
    top: 0;
    left: 0;
    padding: 32px 24px 24px;
    text-align: center;
    color: var(--c-smoke);
    background: linear-gradient(160deg, var(--c-amber) 0%, var(--c-amber-deep) 35%, var(--c-ash) 75%, var(--c-void) 100%);
}

.warden-card__back::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -40%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 160, 76, 0.35) 0%, transparent 70%);
    pointer-events: none;
}

.warden-card__back::after {
    content: '';
    position: absolute;
    top: 0;
    left: 12%;
    width: 76%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
    border-radius: 2px;
}

.warden-card__back > * {
    position: relative;
    z-index: 1;
}

.warden-card__logo {
    max-width: 80%;
    max-height: 110px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
    padding: 10px 14px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    margin: 8px auto 18px;
    display: block;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.warden-card__owner-name {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    margin: 0 0 12px;
    text-align: center;
}

.warden-card__desc {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
    overflow-y: auto;
    max-height: calc(100% - 200px);
    padding-right: 4px;
    margin: 0;
    text-align: center;
}

.warden-card__desc::-webkit-scrollbar { width: 4px; }
.warden-card__desc::-webkit-scrollbar-track { background: transparent; }
.warden-card__desc::-webkit-scrollbar-thumb {
    background: rgba(232, 160, 76, 0.5);
    border-radius: 2px;
}
.warden-card__desc::-webkit-scrollbar-thumb:hover {
    background: rgba(232, 160, 76, 0.8);
}

.warden-card:hover .warden-card__side {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 40px rgba(170, 85, 14, 0.15);
}

/* Мобильный компакт */
@media (max-width: 767px) {
    .warden-card__name { font-size: 20px; }
    .warden-card__owner-name { font-size: 16px; }
    .warden-card__desc { font-size: 12px; }
    .warden-card__logo { max-height: 80px; }
    .warden-card__back { padding: 24px 18px 18px; }
}


/* --------------------------------------------------------------------------
   18. ПАРТНЁРЫ — flex-сетка с центрированием рядов
   Карточки одинакового размера, ряды центрируются автоматически.
   -------------------------------------------------------------------------- */

/* --- Сетка партнёров (flex) --- */
.partners-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

/* --- Карточка партнёра --- */
.partner-card {
    flex: 0 0 300px;
    width: 300px;
    max-width: 300px;
    height: 380px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.85));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    position: relative;
    cursor: none;
    transition: transform var(--t-mid), border-color var(--t-mid), box-shadow var(--t-mid);
    box-sizing: border-box;
    margin: 0;
}

.partner-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--c-gold), transparent);
    z-index: 2;
    transition: width var(--t-mid);
}

.partner-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 40%, rgba(232, 160, 76, 0.12) 0%, transparent 70%);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-mid);
    z-index: 1;
}

.partner-card:hover {
    transform: translateY(-8px);
    border-color: rgba(232, 160, 76, 0.55);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5), 0 0 40px rgba(170, 85, 14, 0.18);
    color: inherit;
}

.partner-card:hover::before { width: 100%; }
.partner-card:hover::after  { opacity: 1; }

/* --- Верхняя часть — логотип --- */
.partner-card__logo {
    flex: 0 0 220px;
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid var(--c-line);
    transition: background var(--t-mid);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.partner-card:hover .partner-card__logo {
    background: rgba(255, 255, 255, 0.06);
}

.partner-card__logo img {
    display: block;
    max-width: 90%;
    max-height: 90%;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #ffffff;
    padding: 14px 18px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
    filter: grayscale(0.4) brightness(0.98);
    transition: filter var(--t-mid), transform var(--t-mid);
}

.partner-card:hover .partner-card__logo img {
    filter: grayscale(0) brightness(1.02);
    transform: scale(1.05);
}

/* --- Нижняя часть — инфо --- */
.partner-card__info {
    flex: 0 0 160px;
    height: 160px;
    min-height: 160px;
    max-height: 160px;
    padding: 24px 24px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.partner-card__name {
    display: block;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-smoke);
    line-height: 1.3;
}

.partner-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--c-gold);
    font-weight: 600;
}

.partner-card__link i {
    transition: transform var(--t-fast);
}

.partner-card:hover .partner-card__link i {
    transform: translateX(6px);
}

/* --- Убираем все следы старой версии, если остались --- */
.partner-tile,
.partners-marquee,
.partners-marquee__track,
.partners-marquee__item {
    display: none !important;
}

/* --- Планшет --- */
@media (max-width: 991px) {
    .partner-card {
        flex: 0 0 280px;
        width: 280px;
        max-width: 280px;
        height: 360px;
    }
    .partner-card__logo {
        flex: 0 0 200px;
        height: 200px;
        min-height: 200px;
        max-height: 200px;
    }
    .partner-card__info {
        flex: 0 0 160px;
        height: 160px;
        min-height: 160px;
        max-height: 160px;
    }
}

/* --- Мобильный — карточки на всю ширину --- */
@media (max-width: 767px) {
    .partners-grid {
        gap: 20px;
    }
    .partner-card {
        flex: 0 0 100%;
        width: 100%;
        max-width: 340px;
        height: auto;
        min-height: 340px;
    }
    .partner-card__logo {
        flex: 0 0 190px;
        height: 190px;
        min-height: 190px;
        max-height: 190px;
        padding: 24px 20px;
    }
    .partner-card__info {
        flex: 0 0 auto;
        height: auto;
        min-height: 130px;
        max-height: none;
        padding: 20px 20px 24px;
    }
    .partner-card__name {
        font-size: 15px;
    }
}

/* --------------------------------------------------------------------------
   19. ДОКУМЕНТЫ
   -------------------------------------------------------------------------- */
.docs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}
.doc-card {
    position: relative;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.8));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    padding: 32px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 260px;
    transition: transform var(--t-mid), border-color var(--t-mid), box-shadow var(--t-mid);
    overflow: hidden;
}
.doc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--c-gold), transparent);
}
.doc-card:hover {
    transform: translateY(-6px);
    border-color: rgba(232, 160, 76, 0.5);
    box-shadow: var(--shadow-soft-hover);
}
.doc-card__icon { font-size: 48px; color: var(--c-gold); line-height: 1; }
.doc-card__title {
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-smoke);
    line-height: 1.4;
    flex-grow: 1;
}
.doc-card__link {
    align-self: flex-start;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gold);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid var(--c-gold);
    border-radius: 999px;
    transition: all var(--t-fast);
    cursor: none;
}
.doc-card__link:hover {
    background: var(--c-gold);
    color: var(--c-void);
    box-shadow: 0 0 20px rgba(232, 160, 76, 0.35);
    transform: translateX(4px);
}
.doc-card__link i { transition: transform var(--t-fast); }
.doc-card__link:hover i { transform: translateX(4px); }


/* --------------------------------------------------------------------------
   20. НОВОСТИ (VK)
   -------------------------------------------------------------------------- */
.news-frame {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 32px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.85));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    box-shadow: var(--shadow-soft-hover);
}
.news-frame::before,
.news-frame::after {
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    border: 1px solid var(--c-amber);
    opacity: 0.5;
    pointer-events: none;
}
.news-frame::before {
    top: -1px; left: -1px;
    border-right: none; border-bottom: none;
    border-top-left-radius: var(--radius-m);
}
.news-frame::after {
    bottom: -1px; right: -1px;
    border-left: none; border-top: none;
    border-bottom-right-radius: var(--radius-m);
}
.news-frame__inner {
    border-radius: var(--radius-s);
    overflow: hidden;
    background: #fff;
    min-height: 800px;
}


/* --------------------------------------------------------------------------
   21. ТРАНСЛЯЦИИ — превью-блок с кнопкой на /broadcast
   Кнопка и бейдж друг над другом, одинаковой высоты.
   -------------------------------------------------------------------------- */
.streams-preview {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.5), rgba(10, 8, 6, 0.9));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    text-align: center;
    overflow: hidden;
    box-shadow: var(--shadow-soft-hover);
}

.streams-preview::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
}

.streams-preview::after {
    content: '';
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 160, 76, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.streams-preview > * {
    position: relative;
    z-index: 1;
}

.streams-preview__title {
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-smoke);
    margin-bottom: 20px;
    line-height: 1.15;
}

.streams-preview__text {
    font-size: 17px;
    line-height: 1.6;
    color: var(--c-fog);
    max-width: 600px;
    margin: 0 auto 32px;
}

/* Бейдж и кнопка — друг над другом, одинаковая высота */
.streams-preview__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Бейдж Live — теперь на всю ширину, как кнопка */
.streams-preview__live {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 56px;
    padding: 0 32px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: var(--c-gold);
    border: 1px solid var(--c-line);
    border-radius: 999px;
    background: rgba(232, 160, 76, 0.05);
    box-sizing: border-box;
    min-width: 280px;
}

.streams-preview__dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--c-blood);
    animation: live-pulse 1.5s ease-in-out infinite;
    flex-shrink: 0;
}

@keyframes live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.4; transform: scale(0.85); }
}

/* Кнопка — на всю ширину бейджа */
.streams-preview .btn-t {
    height: 56px;
    min-width: 280px;
    justify-content: center;
    padding: 0 32px;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .streams-preview {
        padding: 40px 24px;
    }
    .streams-preview__text {
        font-size: 15px;
    }
    .streams-preview__live,
    .streams-preview .btn-t {
        width: 100%;
        min-width: 0;
    }
}

/* --- Страница /broadcast (2 камеры) --- */
.streams-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
    max-width: 1100px;
    margin: 0 auto;
}

.stream-card {
    position: relative;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.5), rgba(10, 8, 6, 0.9));
    border-radius: var(--radius-m);
    padding: 28px;
    border: 1px solid var(--c-line);
    box-shadow: var(--shadow-soft-hover);
    transition: transform var(--t-mid), box-shadow var(--t-mid), border-color var(--t-mid);
}

.stream-card:hover {
    transform: translateY(-4px);
    border-color: rgba(232, 160, 76, 0.4);
    box-shadow: var(--shadow-deep);
}

.stream-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--c-line);
}

.stream-card__title {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: var(--c-gold);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
}

.stream-card__live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--c-blood);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
}

.stream-card__live::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--c-blood);
    animation: live-pulse 1.5s ease-in-out infinite;
}

.stream-card__video {
    position: relative;
    border-radius: var(--radius-s);
    overflow: hidden;
    background: #000;
    aspect-ratio: 16 / 9;
}

.stream-card__video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.stream-card .iv-embed,
.stream-card .iv-v {
    border-radius: var(--radius-s);
    overflow: hidden;
}
.stream-card .iv-b {
    margin-top: 12px;
    opacity: 0.5;
    font-size: 11px;
}


/* --------------------------------------------------------------------------
   22. КАРТА — одинаковая высота блоков, одинаковые углы, светлая в светлой теме
   -------------------------------------------------------------------------- */
.map-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: stretch;
    max-width: 1200px;
    margin: 0 auto;
}

@media (max-width: 991px) {
    .map-section {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.map-section__alert {
    position: relative;
    padding: 40px;
    background: linear-gradient(160deg, rgba(139, 26, 26, 0.25), rgba(10, 8, 6, 0.9));
    border: 1px solid rgba(139, 26, 26, 0.4);
    border-radius: var(--radius-m);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 420px;
}

.map-section__alert-label {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #ff2e2e;
    margin-bottom: 24px;
    display: block;
    animation: alert-pulse 2s ease-in-out infinite;
}

@keyframes alert-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.65; }
}

.map-section__alert-text {
    font-size: 18px;
    line-height: 1.6;
    color: #d4c4b0;
    margin-bottom: 16px;
}

.map-section__alert-text:last-child {
    margin-bottom: 0;
}

.map-section__alert-text.text-muted {
    color: rgba(212, 196, 176, 0.65);
}

.map-section__frame {
    border-radius: var(--radius-m);
    overflow: hidden;
    border: 1px solid var(--c-line);
    box-shadow: var(--shadow-soft-hover);
    min-height: 420px;
    height: 100%;
}

.map-section__frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    min-height: 420px;
    filter: invert(0.9) hue-rotate(180deg) saturate(0.8) brightness(0.9);
    transition: filter var(--t-slow);
}

.map-section__frame:hover iframe {
    filter: invert(0.9) hue-rotate(180deg) saturate(1.1) brightness(1);
}

@media (max-width: 767px) {
    .map-section__alert,
    .map-section__frame,
    .map-section__frame iframe {
        min-height: 340px;
    }
    .map-section__alert {
        padding: 28px 22px;
    }
}


/* --------------------------------------------------------------------------
   23. CTA-БЛОК
   -------------------------------------------------------------------------- */
.cta {
    position: relative;
    padding: 140px 24px;
    text-align: center;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 50%, rgba(232, 160, 76, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse at 20% 20%, rgba(170, 85, 14, 0.35) 0%, transparent 55%),
        linear-gradient(180deg, var(--c-void), var(--c-ash) 100%);
}
.cta__inner { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; }
.cta__title {
    font-size: clamp(32px, 5vw, 64px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.1;
    color: var(--c-smoke);
    margin-bottom: 24px;
}
.cta__title em { font-style: normal; color: var(--c-gold); }
.cta__subtitle {
    font-size: 18px;
    color: var(--c-fog);
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}


/* --------------------------------------------------------------------------
   24. ФУТЕР
   -------------------------------------------------------------------------- */
.footer {
    position: relative;
    background: linear-gradient(180deg, var(--c-void), #000);
    color: var(--c-fog);
    padding: 60px 0 20px; /* Уменьшили верхний отступ */
    border-top: 1px solid var(--c-line);
    font-size: 14px;
}

/* Сетка стала плотнее */
.footer__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr; /* Уравняли колонки, контактам чуть больше места */
    gap: 40px; /* Уменьшили расстояние между колонками */
    max-width: var(--container-w);
    margin: 0 auto 40px; /* Уменьшили отступ снизу */
    padding: 0 24px;
}

@media (max-width: 991px) { 
    .footer__grid { grid-template-columns: 1fr; gap: 30px; } 
}

.footer__col-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--c-amber);
    margin-bottom: 16px;
    font-weight: 600;
}

/* Убираем лишние отступы у параграфов */
.footer__col p {
    color: var(--c-fog);
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 6px;
}

.footer__col p:last-child {
    margin-bottom: 0;
}

.footer__col strong {
    color: var(--c-smoke);
    font-weight: 500;
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
}

/* Выравниваем иконки и текст в одну линию */
.footer__col p i {
    width: 20px;
    display: inline-block;
    text-align: left;
    margin-right: 6px;
}

.footer__col a {
    color: var(--c-fog);
    transition: color var(--t-fast);
}

.footer__col a:hover { 
    color: var(--c-gold); 
}

/* Соцсети делаем компактнее */
.footer__social {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.footer__social a {
    width: 36px; /* Уменьшили размер иконок */
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--c-line);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-fog);
    font-size: 15px;
    transition: all var(--t-fast);
    margin: 0; /* Сброс возможных отступов */
}

.footer__social a:hover {
    color: var(--c-gold);
    border-color: var(--c-gold);
    transform: translateY(-2px);
}

.footer__social a img {
    width: 16px;
    height: 16px;
    filter: brightness(1.4) sepia(1) saturate(3) hue-rotate(-15deg);
    opacity: 0.6;
    transition: all var(--t-fast);
}

.footer__social a:hover img {
    opacity: 1;
    filter: brightness(1.6) sepia(1) saturate(5) hue-rotate(-15deg);
}

/* Копирайт и нижняя полоса */
.footer__bottom {
    max-width: var(--container-w);
    margin: 0 auto;
    padding: 20px 24px 0;
    border-top: 1px solid var(--c-line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--c-fog);
}

/* Мобильная версия футера */
@media (max-width: 767px) {
    .footer__grid {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center; /* Центрируем весь текст */
    }

    .footer__col-title {
        text-align: center;
    }

    .footer__col p {
        text-align: center;
    }

    /* Выравниваем иконки контактов по центру */
    .footer__col p i {
        display: inline-block;
        margin-right: 6px;
        margin-left: 0;
    }

    /* Центрируем иконки соцсетей */
    .footer__social {
        justify-content: center;
    }

    /* Копирайт и нижние ссылки тоже по центру */
    .footer__bottom {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
    
    .footer__bottom > div {
        justify-content: center;
        text-align: center;
    }

    .footer__disclaimer {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}


/* --------------------------------------------------------------------------
   25. COOKIE-УВЕДОМЛЕНИЕ — с двумя кнопками
   -------------------------------------------------------------------------- */
.cookie {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(150%);
    z-index: 1002;
    width: calc(100% - 48px);
    max-width: 960px;
    padding: 24px 28px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.95), rgba(10, 8, 6, 0.98));
    border: 1px solid var(--c-amber);
    border-radius: var(--radius-m);
    box-shadow: var(--shadow-deep);
    display: flex;
    align-items: center;
    gap: 24px;
    transition: transform 0.6s var(--ease-out), opacity 0.4s;
    opacity: 0;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.cookie.is-visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.cookie__icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--c-void);
}

.cookie__text {
    flex: 1;
    font-size: 14px;
    line-height: 1.5;
    color: var(--c-smoke);
}

.cookie__link {
    color: var(--c-gold);
    text-decoration: underline;
    text-decoration-color: rgba(232, 160, 76, 0.4);
    text-underline-offset: 3px;
}

.cookie__buttons {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.cookie__accept,
.cookie__decline {
    padding: 12px 24px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    border-radius: 999px;
    transition: transform var(--t-fast), box-shadow var(--t-mid);
    cursor: none;
}

.cookie__accept {
    color: var(--c-void);
    background: linear-gradient(135deg, var(--c-gold), var(--c-amber));
    box-shadow: 0 4px 14px rgba(170, 85, 14, 0.3);
}

.cookie__accept:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(232, 160, 76, 0.4);
}

.cookie__decline {
    color: var(--c-fog);
    background: transparent;
    border: 1px solid var(--c-line);
}

.cookie__decline:hover {
    color: var(--c-smoke);
    border-color: var(--c-smoke);
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .cookie {
        flex-direction: column;
        text-align: center;
        padding: 20px;
        gap: 16px;
    }
    .cookie__buttons {
        width: 100%;
        justify-content: center;
    }
}

/* --------------------------------------------------------------------------
   26. КНОПКА "НАВЕРХ"
   -------------------------------------------------------------------------- */
.to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
    color: var(--c-void);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    z-index: 998;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.8);
    transition: all var(--t-mid);
    cursor: none;
}
.to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.to-top:hover { transform: translateY(-4px) scale(1.08); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45); color: var(--c-void); }
@media (max-width: 767px) { .to-top { bottom: 80px; } }


/* --------------------------------------------------------------------------
   27. ПАРАЛЛАКС-БЛОКИ
   -------------------------------------------------------------------------- */
.parallax-block {
    position: relative;
    min-height: 80vh;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
@media (max-width: 991px) { .parallax-block { background-attachment: scroll; } }
.parallax-block::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 8, 6, 0.7), rgba(10, 8, 6, 0.5) 50%, rgba(10, 8, 6, 0.9));
    pointer-events: none;
}
.parallax-block__content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 40px;
    max-width: 900px;
}
.parallax-block__title {
    font-size: clamp(32px, 6vw, 72px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-smoke);
    line-height: 1.05;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.9);
}
.parallax-block--betty { background-image: url('/assets/img/betty.jpg'); }
.parallax-block--honda { background-image: url('/assets/img/honda.jpg'); }
.parallax-block--detki { background-image: url('/assets/img/detki.jpg'); }


/* --------------------------------------------------------------------------
   28-32. АНИМАЦИИ, ЗАГОЛОВКИ СТРАНИЦ, УТИЛИТЫ
   -------------------------------------------------------------------------- */
[data-aos] { pointer-events: none; }
[data-aos].aos-animate { pointer-events: auto; }

@keyframes rise-in {
    from { opacity: 0; transform: translateY(60px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rise-in { animation: rise-in 1s var(--ease-out) both; }

@keyframes expand-in {
    from { opacity: 0; transform: scale(0.9); filter: blur(8px); }
    to   { opacity: 1; transform: scale(1); filter: blur(0); }
}
.expand-in { animation: expand-in 1.2s var(--ease-out) both; }

@keyframes line-draw {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}
.line-draw { transform-origin: left center; animation: line-draw 1.2s var(--ease-out) both; }


/* --------------------------------------------------------------------------
   29. ЗАГОЛОВКИ СТРАНИЦ (для внутренних страниц — donat, otchet, opekun)
   -------------------------------------------------------------------------- */
.page-hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background: var(--c-void);
    padding: 140px 24px 80px;
}

.page-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.page-hero__bg video,
.page-hero__bg img {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    /* лёгкая насыщенность — усиливает янтарный оттенок */
    filter: saturate(1.2) contrast(1.02);
}

.page-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(ellipse at 30% 40%, rgba(170, 85, 14, 0.30) 0%, transparent 65%),
        radial-gradient(ellipse at center, transparent 35%, rgba(10, 8, 6, 0.55) 100%),
        linear-gradient(180deg, rgba(10, 8, 6, 0.35) 0%, transparent 40%, rgba(10, 8, 6, 0.80) 100%);
    pointer-events: none;
}

.page-hero__content {
    position: relative;
    z-index: 2;
    max-width: 1000px;
}

.page-hero__title {
    font-size: clamp(40px, 8vw, 96px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1;
    color: var(--c-smoke);
    margin-bottom: 24px;
    opacity: 0;
    animation: page-title-in 1.2s var(--ease-out) 0.3s forwards;
}

@keyframes page-title-in {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
}

.page-hero__subtitle {
    font-size: clamp(13px, 1.6vw, 16px);
    text-transform: uppercase;
    letter-spacing: 0.4em;
    color: var(--c-amber);
    opacity: 0;
    animation: page-title-in 1s var(--ease-out) 0.8s forwards;
}

/* --------------------------------------------------------------------------
   30. СТРАНИЦА "ДОНАТ" — виджет Donation.ru + реквизиты
   Виджет по требованию Donation.ru — единственный элемент на странице.
   -------------------------------------------------------------------------- */

/* Контейнер для виджета — растянут на всю ширину */
.donate-widget-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    min-height: 600px;
}

/* Контейнер для виджета */
.donate-widget-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    min-height: 600px; /* Чтобы робот видел, что тут что-то есть */
}

/* Блок с реквизитами */
.donate-block {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.6), rgba(10, 8, 6, 0.9));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    box-shadow: var(--shadow-soft-hover);
    text-align: center;
    overflow: hidden;
}

.donate-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
}

.donate-block::after {
    content: '';
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 160, 76, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.donate-block > * {
    position: relative;
    z-index: 1;
}

.donate-block__title {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-smoke);
    margin-bottom: 16px;
}

.donate-block__subtitle {
    font-size: 16px;
    color: var(--c-fog);
    margin-bottom: 40px;
    line-height: 1.6;
}

.donate-requisites {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--c-line);
    text-align: left;
    font-size: 14px;
    color: var(--c-fog);
    line-height: 1.8;
}

.donate-requisites strong {
    color: var(--c-amber);
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 12px;
}

@media (max-width: 991px) {
    .donate-widget-page {
        min-height: 500px;
    }
    .donate-block {
        padding: 40px 24px;
    }
    .donate-block__title {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .donate-widget-page {
        min-height: 420px;
    }
    .donate-block {
        padding: 32px 20px;
        border-radius: var(--radius-m);
    }
}

/* Страница «Отчёты» — flex-сетка с центрированием */
.reports-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.report-card {
    position: relative;
    flex: 0 0 260px;
    width: 260px;
    max-width: 260px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 32px 24px;
    min-height: 300px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.85));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    overflow: hidden;
    transition: transform var(--t-mid), border-color var(--t-mid), box-shadow var(--t-mid);
    box-sizing: border-box;
}

.report-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--c-gold), var(--c-amber), transparent);
    transform: translateX(-30%);
    transition: transform 0.8s var(--ease-out);
}

.report-card:hover::before {
    transform: translateX(0);
}

.report-card:hover {
    transform: translateY(-6px);
    border-color: rgba(232, 160, 76, 0.5);
    box-shadow: var(--shadow-soft-hover);
}

.report-card__year {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px var(--c-amber);
    letter-spacing: 0.02em;
    transition: color var(--t-mid), -webkit-text-stroke var(--t-mid);
}

.report-card:hover .report-card__year {
    color: var(--c-gold);
    -webkit-text-stroke: 1px var(--c-gold);
}

.report-card__title {
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.4;
    color: var(--c-smoke);
    flex-grow: 1;
}

.report-card__link {
    align-self: flex-start;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gold);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid var(--c-gold);
    border-radius: 999px;
    transition: all var(--t-fast);
    cursor: none;
    margin-top: auto;
}

.report-card__link:hover {
    background: var(--c-gold);
    color: var(--c-void);
    box-shadow: 0 0 20px rgba(232, 160, 76, 0.35);
}


/* Утилиты */
.text-center { text-align: center; }
.text-left   { text-align: left; }
.text-right  { text-align: right; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 8px; }
.mb-2 { margin-bottom: 16px; }
.mb-3 { margin-bottom: 24px; }
.mb-4 { margin-bottom: 40px; }
.mb-5 { margin-bottom: 60px; }
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mt-4 { margin-top: 40px; }
.mt-5 { margin-top: 60px; }

.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.line-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }


/* Адаптив */
@media (max-width: 991px) {
    .section { padding: 80px 0; }
    .hero { height: auto; min-height: 100vh; padding: 120px 0 80px; }
    .hero__content { gap: 24px; }
}
@media (max-width: 767px) {
    body { font-size: 15px; }
    .section { padding: 60px 0; }
    .section-title { margin-bottom: 40px; }
    .hero__scroll { display: none; }
    .stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .team-card__name { font-size: 14px; }
    .cta { padding: 80px 20px; }
    .footer { padding: 60px 0 20px; }
}
@media (max-width: 480px) {
    .stats { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: 1fr; }
    .display { font-size: 44px; }
}


/* Скроллбар */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--c-void); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--c-amber), var(--c-gold));
    border-radius: 5px;
    border: 2px solid var(--c-void);
}
::-webkit-scrollbar-thumb:hover { background: var(--c-gold); }


/* Финальные штрихи */
img { opacity: 1; transition: opacity 0.4s; }
img[loading="lazy"] { opacity: 0; }
img[loading="lazy"][data-loaded="1"] { opacity: 1; }

:focus { outline: none; }
:focus-visible {
    outline: 2px solid var(--c-gold);
    outline-offset: 4px;
    border-radius: 4px;
}

a, button {
    transition: color var(--t-fast), background-color var(--t-fast),
                border-color var(--t-fast), box-shadow var(--t-fast),
                transform var(--t-fast);
}

@media print {
    .pulse-nav, .fullmenu, .cookie, .to-top,
    .scroll-progress, .cursor-dot, .cursor-halo { display: none !important; }
    body { background: #fff; color: #000; cursor: auto; }
    .hero { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================================
   СВЕТЛАЯ ТЕМА — включается атрибутом [data-theme="light"] на <html>
   Тёплая, не белоснежная. Сохраняет янтарный акцент.
   ========================================================================== */

[data-theme="light"] {
    /* Фоны — тёплые, песочные */
    --c-void:      #f5efe4;   /* основной фон — тёплый светлый */
    --c-void-soft: #efe6d6;   /* чуть темнее */
    --c-ash:       #e5d7bf;   /* для плашек и градиентов */
    --c-amber:     #aa550e;   /* янтарь — оставляем (акцент) */
    --c-amber-deep:#8a4208;
    --c-gold:      #c97817;   /* золото чуть темнее для читаемости на светлом */
    --c-gold-soft: #e8a04c;
    --c-blood:     #8b1a1a;
    --c-smoke:     #2a1e12;   /* основной текст — тёмно-коричневый */
    --c-fog:       #6b5a44;   /* второстепенный текст */
    --c-line:      rgba(170, 85, 14, 0.25);

    /* Тени — мягче на светлом */
    --shadow-soft:        0 4px 14px rgba(58, 28, 8, 0.08);
    --shadow-soft-hover:  0 8px 22px rgba(58, 28, 8, 0.12);
    --shadow-deep:        0 8px 24px rgba(58, 28, 8, 0.15);
    --shadow-glow:        0 0 20px rgba(170, 85, 14, 0.12);
    --shadow-glow-strong: 0 0 40px rgba(170, 85, 14, 0.2);
}

/* Базовая типографика */
[data-theme="light"] body {
    color: var(--c-smoke);
    background-color: var(--c-void);
}

[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6 {
    color: var(--c-smoke);
}

[data-theme="light"] p {
    color: var(--c-smoke);
}

/* --- HERO --- */
[data-theme="light"] .hero__video {
    filter: saturate(1.1) contrast(1.02) brightness(1.15);
}
[data-theme="light"] .hero__overlay {
    background:
        radial-gradient(ellipse at 30% 40%, rgba(245, 239, 228, 0.55) 0%, transparent 65%),
        radial-gradient(ellipse at 70% 80%, rgba(139, 26, 26, 0.08) 0%, transparent 55%),
        linear-gradient(180deg, rgba(245, 239, 228, 0.55) 0%, rgba(245, 239, 228, 0.15) 40%, rgba(245, 239, 228, 0.85) 100%);
}
[data-theme="light"] .hero__vignette {
    background: radial-gradient(ellipse at center, transparent 50%, rgba(245, 239, 228, 0.6) 100%);
}
[data-theme="light"] .hero__logo .display {
    color: #2a1e12;
    text-shadow:
        0 0 30px rgba(170, 85, 14, 0.4),
        0 0 60px rgba(232, 160, 76, 0.2),
        0 4px 20px rgba(255, 255, 255, 0.6);
}
[data-theme="light"] .hero__subtitle {
    color: var(--c-amber);
}

/* --- Внутренние страницы (page-hero) --- */
[data-theme="light"] .page-hero__bg video,
[data-theme="light"] .page-hero__bg img {
    filter: saturate(1.1) contrast(1.02) brightness(1.15);
}
[data-theme="light"] .page-hero::after {
    background:
        radial-gradient(ellipse at 30% 40%, rgba(245, 239, 228, 0.55) 0%, transparent 65%),
        radial-gradient(ellipse at center, transparent 35%, rgba(245, 239, 228, 0.75) 100%),
        linear-gradient(180deg, rgba(245, 239, 228, 0.55) 0%, transparent 40%, rgba(245, 239, 228, 0.9) 100%);
}
[data-theme="light"] .page-hero__title {
    color: #2a1e12;
    text-shadow: 0 2px 20px rgba(255, 255, 255, 0.7);
}
[data-theme="light"] .page-hero__subtitle {
    color: var(--c-amber);
}

/* --- Секции --- */
[data-theme="light"] .section--void    { background: var(--c-void); }
[data-theme="light"] .section--soft    { background: var(--c-void-soft); }
[data-theme="light"] .section--ash     { background: linear-gradient(180deg, var(--c-void), var(--c-ash) 50%, var(--c-void)); }
[data-theme="light"] .section--amber   { background: linear-gradient(135deg, var(--c-ash), var(--c-void)); }

/* --- Карточки (voice, doc, report, warden, stream, partner) --- */
[data-theme="light"] .voice-card,
[data-theme="light"] .doc-card,
[data-theme="light"] .report-card,
[data-theme="light"] .stream-card,
[data-theme="light"] .partner-card {
    background: linear-gradient(160deg, #ffffff, #f5efe4);
    border-color: var(--c-line);
}

[data-theme="light"] .news-frame {
    background: linear-gradient(160deg, #ffffff, #f5efe4);
}

[data-theme="light"] .doc-card__title,
[data-theme="light"] .report-card__title,
[data-theme="light"] .partner-card__name,
[data-theme="light"] .stream-card__title {
    color: var(--c-smoke);
}

/* --- Команда: в светлой теме фото в тёплой рамке, текст светлый на тёмной плашке --- */
[data-theme="light"] .team-card {
    background: linear-gradient(160deg, #2a1e12, #1a1208);
    border-color: rgba(170, 85, 14, 0.35);
}

[data-theme="light"] .team-card__info {
    background: linear-gradient(180deg, rgba(42, 30, 18, 0.9), rgba(10, 8, 6, 0.95));
    border-top-color: rgba(232, 160, 76, 0.25);
}

[data-theme="light"] .team-card__name {
    color: #f5efe4;
}

[data-theme="light"] .team-card__role {
    color: var(--c-gold);
    opacity: 1;
}

/* --- Модалки --- */
[data-theme="light"] .modal {
    background: rgba(245, 239, 228, 0.9);
}
[data-theme="light"] .modal__inner {
    background: linear-gradient(160deg, #ffffff, #efe6d6);
}
[data-theme="light"] .modal__name {
    color: var(--c-smoke);
}
[data-theme="light"] .modal__bio p {
    color: var(--c-smoke);
}

/* --- Меню-пульт и fullmenu --- */
[data-theme="light"] .pulse-nav {
    background: rgba(255, 255, 255, 0.9);
    border-color: var(--c-line);
}
[data-theme="light"] .fullmenu {
    background: linear-gradient(135deg, var(--c-void) 0%, var(--c-ash) 100%);
}
[data-theme="light"] .fullmenu__link {
    color: var(--c-smoke);
}
[data-theme="light"] .fullmenu__link:hover {
    color: var(--c-amber);
}
[data-theme="light"] .fullmenu__close {
    color: var(--c-smoke);
    border-color: var(--c-line);
}

/* --- Футер --- */
[data-theme="light"] .footer {
    background: linear-gradient(180deg, var(--c-void-soft), #e5d7bf);
    color: var(--c-fog);
    border-top-color: var(--c-line);
}
[data-theme="light"] .footer__col p,
[data-theme="light"] .footer__col a {
    color: var(--c-fog);
}
[data-theme="light"] .footer__col strong {
    color: var(--c-smoke);
}
[data-theme="light"] .footer__social a {
    color: var(--c-fog);
    border-color: var(--c-line);
}
[data-theme="light"] .footer__bottom {
    color: var(--c-fog);
}

/* --- Куки --- */
[data-theme="light"] .cookie {
    background: linear-gradient(160deg, #ffffff, #efe6d6);
    color: var(--c-smoke);
}
[data-theme="light"] .cookie__text {
    color: var(--c-smoke);
}

/* --- Кнопка «наверх» --- */
[data-theme="light"] .to-top {
    color: #fff;
}

/* --- Параллакс-блоки: затемнение слабее, текст тёмный --- */
[data-theme="light"] .parallax-block::after {
    background: linear-gradient(180deg, rgba(245, 239, 228, 0.7), rgba(245, 239, 228, 0.45) 50%, rgba(245, 239, 228, 0.85));
}
[data-theme="light"] .parallax-block__title {
    color: #2a1e12;
    text-shadow: 0 2px 20px rgba(255, 255, 255, 0.8);
}

/* --- CTA --- */
[data-theme="light"] .cta {
    background:
        radial-gradient(ellipse at 50% 50%, rgba(232, 160, 76, 0.2) 0%, transparent 60%),
        radial-gradient(ellipse at 20% 20%, rgba(170, 85, 14, 0.2) 0%, transparent 55%),
        linear-gradient(180deg, var(--c-void), var(--c-ash));
}
[data-theme="light"] .cta__title {
    color: #2a1e12;
}
[data-theme="light"] .cta__subtitle {
    color: var(--c-fog);
}

/* --- Меню-пульт точки: цвета сохраняем --- */
[data-theme="light"] .pulse-nav__dot {
    background: var(--c-fog);
    opacity: 0.4;
}
[data-theme="light"] .pulse-nav__dot.is-active {
    background: var(--c-amber);
    box-shadow: 0 0 10px var(--c-amber);
}
[data-theme="light"] .pulse-nav__dot:hover::after {
    background: #fff;
    color: var(--c-smoke);
    border-color: var(--c-line);
}

/* --- Меню burger и переключатель --- */
[data-theme="light"] .pulse-nav__burger {
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
    color: #fff;
}

/* --- Донат --- */
[data-theme="light"] .donate-block {
    background: linear-gradient(160deg, #ffffff, #efe6d6);
}
[data-theme="light"] .donate-block__title {
    color: var(--c-smoke);
}
[data-theme="light"] .donate-block__subtitle {
    color: var(--c-fog);
}
[data-theme="light"] .donate-requisites {
    color: var(--c-fog);
    border-top-color: var(--c-line);
}

/* --- Карта: в светлой теме карта светлая, плашка — тёмная с белым текстом --- */
[data-theme="light"] .map-section__frame iframe {
    filter: none;
}

[data-theme="light"] .map-section__frame:hover iframe {
    filter: brightness(1.05) contrast(1.02);
}

[data-theme="light"] .map-section__alert {
    background: linear-gradient(160deg, rgba(139, 26, 26, 0.35), rgba(58, 28, 8, 0.85));
    border-color: rgba(139, 26, 26, 0.5);
    box-shadow: 0 8px 24px rgba(58, 28, 8, 0.2);
}

[data-theme="light"] .map-section__alert-label {
    color: #ff3a3a;
}

[data-theme="light"] .map-section__alert-text {
    color: #d4c4b0;
}

[data-theme="light"] .map-section__alert-text.text-muted {
    color: rgba(212, 196, 176, 0.65);
}

/* ==========================================================================
   КНОПКА ПЕРЕКЛЮЧАТЕЛЯ ТЕМЫ
   ========================================================================== */
.theme-toggle {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(10, 8, 6, 0.5);
    border: 1px solid var(--c-line);
    color: var(--c-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: none;
    transition: transform var(--t-fast), box-shadow var(--t-mid), background var(--t-mid);
    overflow: hidden;
}

.theme-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(232, 160, 76, 0.4);
}

.theme-toggle i {
    position: absolute;
    font-size: 15px;
    transition: transform 0.5s var(--ease-out), opacity 0.4s;
}

.theme-toggle__sun  { opacity: 1; transform: translateY(0)   rotate(0); }
.theme-toggle__moon { opacity: 0; transform: translateY(20px) rotate(-90deg); }

[data-theme="light"] .theme-toggle {
    background: rgba(255, 255, 255, 0.9);
    color: var(--c-amber);
    border-color: rgba(170, 85, 14, 0.35);
}

[data-theme="light"] .theme-toggle__sun  { opacity: 0; transform: translateY(-20px) rotate(90deg); }
[data-theme="light"] .theme-toggle__moon { opacity: 1; transform: translateY(0)    rotate(0); }

@media (hover: none) {
    .theme-toggle { cursor: pointer; }
}

/* ==========================================================================
   ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКА RU / EN
   ========================================================================== */
.lang-switch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 6px 0;
    border-top: 1px solid var(--c-line);
    border-bottom: 1px solid var(--c-line);
}

.lang-switch__item {
    width: 32px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--c-fog);
    text-decoration: none;
    transition: all var(--t-fast);
    cursor: none;
}

.lang-switch__item:hover {
    color: var(--c-gold);
    background: rgba(232, 160, 76, 0.08);
}

.lang-switch__item.is-active {
    color: var(--c-void);
    background: linear-gradient(135deg, var(--c-gold), var(--c-amber));
    box-shadow: 0 0 12px rgba(232, 160, 76, 0.35);
}

[data-theme="light"] .lang-switch__item {
    color: var(--c-fog);
}

[data-theme="light"] .lang-switch__item:hover {
    color: var(--c-amber);
    background: rgba(170, 85, 14, 0.08);
}

[data-theme="light"] .lang-switch__item.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
}

@media (hover: none) {
    .lang-switch__item { cursor: pointer; }
}

/* На мобильных — горизонтально, как тема и бургер */
@media (max-width: 767px) {
    .lang-switch {
        flex-direction: row;
        gap: 4px;
        border-top: none;
        border-bottom: none;
        border-left: 1px solid var(--c-line);
        border-right: 1px solid var(--c-line);
        padding: 0 6px;
    }
}
/* ==========================================================================
   АДМИНКА /admin.php
   ========================================================================== */
.admin-login {
    max-width: 400px;
    margin: 60px auto;
    padding: 40px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.5), rgba(10, 8, 6, 0.9));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    text-align: center;
}

.admin-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.admin-logout {
    font-size: 13px;
    color: var(--c-fog);
    text-decoration: none;
    transition: color var(--t-fast);
}
.admin-logout:hover { color: var(--c-gold); }

.admin-msg {
    padding: 16px 20px;
    border-radius: var(--radius-s);
    margin-bottom: 20px;
    font-size: 14px;
}
.admin-msg--success {
    background: rgba(76, 175, 80, 0.15);
    border: 1px solid rgba(76, 175, 80, 0.4);
    color: #8dd98f;
}
.admin-msg--error {
    background: rgba(139, 26, 26, 0.2);
    border: 1px solid rgba(139, 26, 26, 0.5);
    color: #f18b8b;
}
.admin-msg--info {
    background: rgba(232, 160, 76, 0.1);
    border: 1px solid rgba(232, 160, 76, 0.3);
    color: var(--c-gold);
}

.admin-block {
    margin: 40px 0;
    padding: 32px;
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.85));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
}

.admin-block__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--c-gold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
}

.admin-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.admin-form--wide {
    max-width: 100%;
}

.admin-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 767px) {
    .admin-form__row { grid-template-columns: 1fr; }
}

.admin-form__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--c-smoke);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

.admin-form__input {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 12px 16px;
    font-family: inherit;
    font-size: 14px;
    color: var(--c-smoke);
    background: rgba(10, 8, 6, 0.6);
    border: 1px solid var(--c-line);
    border-radius: var(--radius-s);
    transition: border-color var(--t-fast), background var(--t-fast);
    cursor: auto;
}

.admin-form__input:focus {
    outline: none;
    border-color: var(--c-gold);
    background: rgba(10, 8, 6, 0.9);
}

.admin-form__textarea {
    resize: vertical;
    min-height: 80px;
}

.admin-form__hint {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    text-transform: none;
    letter-spacing: 0;
    color: var(--c-fog);
    font-weight: 400;
}

.admin-empty {
    text-align: center;
    color: var(--c-fog);
    padding: 40px 20px;
    font-size: 15px;
}

.admin-group {
    margin-bottom: 28px;
}

.admin-group__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--c-amber);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--c-line);
}

/* Сетка для карточек в админке */
.admin-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
    align-items: stretch;
}

/* Сама карточка */
.admin-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    background: rgba(10, 8, 6, 0.5);
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m); /* Скруглили углы посимпатичнее */
    transition: border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
    box-sizing: border-box;
    gap: 12px;
}

/* Эффект при наведении на карточку */
.admin-item:hover {
    border-color: rgba(232, 160, 76, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Информация внутри карточки */
.admin-item__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 14px;
    flex: 1; 
    min-width: 0; /* Важно для работы обрезки текста */
}

/* Обрезаем длинные названия документов и опекунов */
.admin-item__info strong, 
.admin-item__owner {
    display: block;
    width: 100%;
    white-space: nowrap;      /* Текст в одну строку */
    overflow: hidden;         /* Скрываем вылезающий текст */
    text-overflow: ellipsis;  /* Добавляем троеточие (...) */
}

.admin-item__info strong {
    color: var(--c-smoke);
    font-size: 15px;
}

.admin-item__owner {
    color: var(--c-gold);
    font-size: 13px;
    opacity: 0.8;
}

/* Кнопки действий (карандаш и корзина) */
.admin-item__actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.admin-item:hover {
    border-color: rgba(232, 160, 76, 0.4);
}

.admin-item__info {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: baseline;
    font-size: 14px;
}

.admin-item__info strong { color: var(--c-smoke); }
.admin-item__owner { color: var(--c-gold); }
.admin-item__type {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-fog);
    padding: 3px 8px;
    border: 1px solid var(--c-line);
    border-radius: 999px;
}

.admin-item__delete {
    flex-shrink: 0;
}

.admin-delete-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(139, 26, 26, 0.15);
    border: 1px solid rgba(139, 26, 26, 0.4);
    color: #f18b8b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: all var(--t-fast);
    cursor: pointer;
}

.admin-delete-btn:hover {
    background: rgba(139, 26, 26, 0.4);
    border-color: rgba(139, 26, 26, 0.7);
    color: #fff;
}

[data-theme="light"] .admin-login,
[data-theme="light"] .admin-block {
    background: linear-gradient(160deg, #ffffff, #f5efe4);
}

[data-theme="light"] .admin-form__input {
    background: rgba(245, 239, 228, 0.7);
}

[data-theme="light"] .admin-item {
    background: rgba(245, 239, 228, 0.5);
}

/* ==========================================================================
   АДМИНКА — ВКЛАДКИ
   ========================================================================== */
.admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 40px 0;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--c-line);
}

.admin-tab {
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-fog);
    background: transparent;
    border: 1px solid var(--c-line);
    border-radius: var(--radius-s);
    text-decoration: none;
    transition: all var(--t-fast);
    cursor: none;
}

.admin-tab:hover {
    color: var(--c-gold);
    border-color: var(--c-gold);
    background: rgba(232, 160, 76, 0.05);
}

.admin-tab.is-active {
    color: var(--c-void);
    background: linear-gradient(135deg, var(--c-gold), var(--c-amber));
    border-color: transparent;
    box-shadow: 0 4px 14px rgba(170, 85, 14, 0.3);
}

[data-theme="light"] .admin-tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--c-amber), var(--c-gold));
}

@media (max-width: 767px) {
    .admin-tab {
        flex: 1 0 calc(50% - 4px);
        text-align: center;
        padding: 12px 16px;
        font-size: 12px;
    }
}
/* ==========================================================================
   АДМИНКА — КНОПКИ РЕДАКТИРОВАНИЯ
   ========================================================================== */

/* Группа кнопок в строке списка */
.admin-item__actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

/* Кнопка «Редактировать» */
.admin-edit-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(232, 160, 76, 0.15);
    border: 1px solid rgba(232, 160, 76, 0.4);
    color: var(--c-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-decoration: none;
    transition: all var(--t-fast);
    cursor: pointer;
}

.admin-edit-btn:hover {
    background: rgba(232, 160, 76, 0.35);
    border-color: var(--c-gold);
    color: #fff;
    transform: rotate(-15deg);
}

/* Подсветка блока, который сейчас редактируется */
.admin-block--editing {
    border-color: var(--c-gold) !important;
    box-shadow: 0 0 30px rgba(232, 160, 76, 0.2), 0 8px 22px rgba(0, 0, 0, 0.35);
}

.admin-block--editing .admin-block__title {
    color: var(--c-gold);
}

/* Показ текущего изображения в форме редактирования */
.admin-current {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: rgba(10, 8, 6, 0.5);
    border: 1px dashed var(--c-line);
    border-radius: var(--radius-s);
    font-size: 13px;
    color: var(--c-fog);
}

.admin-current__img {
    max-height: 60px;
    max-width: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
    background: #fff;
    padding: 4px 6px;
    display: block;
}

.admin-current__img--round {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    object-fit: cover;
    padding: 0;
}

.admin-current a {
    color: var(--c-gold);
    text-decoration: underline;
}

/* Кнопка «Отмена» рядом с «Сохранить» */
.admin-form__actions {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-cancel {
    font-size: 13px;
    color: var(--c-fog);
    text-decoration: underline;
    transition: color var(--t-fast);
    cursor: none;
}

.admin-cancel:hover {
    color: var(--c-smoke);
}

[data-theme="light"] .admin-current {
    background: rgba(245, 239, 228, 0.6);
}

[data-theme="light"] .admin-edit-btn {
    background: rgba(170, 85, 14, 0.1);
    border-color: rgba(170, 85, 14, 0.35);
    color: var(--c-amber);
}

[data-theme="light"] .admin-edit-btn:hover {
    background: rgba(170, 85, 14, 0.3);
    color: #fff;
}

/* ==========================================================================
   АДМИНКА — ФОРМА СТАТИСТИКИ
   ========================================================================== */
.admin-stats-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
    padding: 20px;
    background: rgba(10, 8, 6, 0.4);
    border: 1px solid var(--c-line);
    border-radius: var(--radius-s);
}

.admin-stats-items__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--c-gold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.admin-stats-item {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 16px;
    align-items: end;
}

.admin-stats-item__count .admin-form__input,
.admin-stats-item__label .admin-form__input {
    margin-top: 6px;
}

@media (max-width: 600px) {
    .admin-stats-item {
        grid-template-columns: 1fr;
    }
}

[data-theme="light"] .admin-stats-items {
    background: rgba(245, 239, 228, 0.6);
}

.footer__social a img {
    width: 20px;
    height: 20px;
    filter: brightness(1.4) sepia(1) saturate(3) hue-rotate(-15deg);
    opacity: 0.6;
    transition: all var(--t-fast);
}

.footer__disclaimer {
    margin-top: 16px;
    font-size: 11px;
    line-height: 1.5;
    color: var(--c-fog);
    opacity: 0.7;
    max-width: 320px;
}

[data-theme="light"] .footer__disclaimer {
    color: var(--c-fog);
    opacity: 0.85;
}



/* ==========================================================================
   ДИСКЛЕЙМЕР В ФУТЕРЕ (Meta / YouTube)
   ========================================================================== */
.footer__disclaimer {
    margin-top: 16px;
    font-size: 11px;
    line-height: 1.5;
    color: var(--c-fog);
    opacity: 0.7;
    max-width: 320px;
}

[data-theme="light"] .footer__disclaimer {
    color: var(--c-fog);
    opacity: 0.85;
}


/* ==========================================================================
   ССЫЛКА НА ПОЛИТИКУ В ФУТЕРЕ
   ========================================================================== */
.footer__bottom a {
    color: var(--c-fog);
    font-size: 13px;
    text-decoration: none;
    transition: color var(--t-fast);
}

.footer__bottom a:hover {
    color: var(--c-gold);
}


/* ==========================================================================
   АДМИНКА — ЧЕКБОКСЫ
   ========================================================================== */
.admin-form__label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--c-gold);
    cursor: pointer;
    flex-shrink: 0;
}

.admin-form__label--check {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer;
}

[data-theme="light"] .admin-form__label input[type="checkbox"] {
    accent-color: var(--c-amber);
}


/* ==========================================================================
   АДМИНКА — МЕТКИ «СКРЫТА» / «БЕЗ LIVE» / «ПОРЯДОК»
   ========================================================================== */
.admin-item__type--hidden {
    color: #f18b8b !important;
    border-color: #8b1a1a !important;
}

@media (max-width: 767px) {
    .hide-on-mobile {
        display: none !important;
    }
}


/* ==========================================================================
   ФИКС МОБИЛЬНОГО ФУТЕРА (не трогает десктоп)
   ========================================================================== */
@media (max-width: 767px) {
    .footer__grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 30px !important;
    }

    .footer__col {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }

    .footer__col p {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }
    
    .footer__col p i {
        display: inline-block !important;
        margin-right: 8px !important;
    }

    .footer__social {
        justify-content: center !important;
        width: 100% !important;
    }

    .footer__bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 15px !important;
    }

    .footer__bottom > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .footer__disclaimer {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ==========================================================================
   РАЗДЕЛ «ЖИВОТНЫЕ» (Страница /animals и Модалка)
   ========================================================================== */

/* --- Сетка карточек --- */
.animals-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Центрируем ряды */
    gap: 30px; /* Отступ между карточками */
    max-width: 1200px;
    margin: 0 auto;
}
/* --- Карточка --- */
.animal-card {
    background: linear-gradient(160deg, rgba(58, 28, 8, 0.4), rgba(10, 8, 6, 0.85));
    border: 1px solid var(--c-line);
    border-radius: var(--radius-m);
    overflow: hidden;
    transition: transform var(--t-mid), border-color var(--t-mid);
    display: flex;
    flex-direction: column;
    
    /* ЖЕСТКИЕ РАЗМЕРЫ (идеальные) */
    width: 300px; 
    height: 480px; 
    max-width: 300px;
    flex: 0 0 300px; 
}

.animal-card:hover {
    border-color: rgba(232, 160, 76, 0.5);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4), 0 0 15px rgba(232, 160, 76, 0.15);
}

/* --- Фото --- */
.animal-card__photo {
    position: relative;
    width: 100%;
    height: 60%; /* Фото занимает ровно 60% высоты */
    overflow: hidden;
    flex-shrink: 0;
    border-radius: var(--radius-m) var(--radius-m) 0 0;
}

.animal-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%; 
    transition: filter 5.5s ease-in-out;
}

.animal-card__status {
    position: absolute;
    top: 15px;
    left: 15px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* --- Текстовый блок --- */
.animal-card__content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; 
    overflow: hidden; 
}

.animal-card__name {
    font-size: 20px;
    font-weight: 700;
    color: var(--c-smoke);
    margin-bottom: 8px;
}

.animal-card__desc {
    font-size: 14px;
    color: var(--c-fog);
    line-height: 1.4;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Модалка животного — делаем шире */
.modal__inner {
    max-width: 900px !important; /* Было 720px */
}

/* Сетка модалки */
.animal-modal__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    align-items: stretch; /* Растягиваем колонки на одну высоту */
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .animal-modal__grid { 
        grid-template-columns: 1fr; 
        gap: 20px; 
    }
}

@media (max-width: 767px) {
    .animal-modal__grid { 
        grid-template-columns: 1fr; 
        gap: 20px; 
    }
}

.animal-modal__left {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%; /* Фото и блоки под ним будут строго в рамках своей колонки */
}

.animal-modal__right {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* Принудительно растягиваем контейнер на всю доступную высоту */
    flex: 1 1 100%; 
}

.animal-modal__photo {
    width: 100%;
    border-radius: var(--radius-m);
    border: 2px solid var(--c-line);
    display: block;
}

.animal-modal__name {
    font-size: 36px;
    font-weight: 700;
    color: var(--c-smoke);
    margin-bottom: 20px;
}

/* --- Характеристики --- */
/* Список характеристик — строго в одну колонку */
.animal-modal__details {
    list-style: none;
    padding: 10px 0;
    margin-bottom: 0; /* Убираем отступ снизу, чтобы граница была ровно */
    border-top: 1px solid var(--c-line);
    border-bottom: 1px solid var(--c-line);
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1; /* Вот это заставит список растянуться, чтобы линия ушла вниз */
}

/* Сам элемент списка */
.animal-modal__details li {
    font-size: 15px; /* Чуть уменьшили шрифт для компактности */
    color: var(--c-smoke);
    display: flex;
    align-items: center;
    gap: 8px; /* Расстояние между иконкой и текстом */
    line-height: 1.3; /* <-- УМЕНЬШИЛИ ВЫСОТУ СТРОКИ (было 1.4, а где-то 1.6) */
}

.animal-modal__details li i {
    color: var(--c-gold);
    width: 18px; /* Чуть уменьшили иконку, чтобы не распирала строку */
    text-align: center;
    font-size: 15px;
    flex-shrink: 0;
}

.animal-modal__details li strong {
    font-weight: 600;
    color: var(--c-fog);
    display: inline-block;
    margin-right: 4px;
}

/* Блок с описанием (История) */
.animal-modal__bio {
    font-size: 15px;
    line-height: 1.6;
    color: var(--c-fog);
    margin-top: 15px;
    flex-grow: 1; /* Растягивает описание до низа */
    
    /* ДОБАВЛЯЕМ ЭТИ ТРИ СТРОЧКИ: */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Прижимает текст к верху, а невидимое место растягивает вниз */
}

.animal-modal__details li {
    font-size: 16px;
    color: var(--c-smoke);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.animal-modal__details li:last-child {
    margin-bottom: 0;
}

.animal-modal__details li i {
    color: var(--c-gold);
    width: 20px;
    text-align: center;
    font-size: 18px;
}

/* --- Блок "Особенности" (Красный) --- */
.animal-modal__medical {
    background: rgba(139, 26, 26, 0.15);
    border: 1px solid rgba(139, 26, 26, 0.3);
    padding: 16px;
    border-radius: var(--radius-s);
    color: #f18b8b;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 20px;
}

.animal-modal__medical i {
    color: #f18b8b;
    margin-right: 8px;
    font-size: 16px;
}

.animal-modal__medical strong {
    color: #ff5c5c;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 6px;
}

/* --- Блок "Операции" (Синий) --- */
.animal-modal__operations {
    background: rgba(74, 144, 226, 0.15);
    border: 1px solid rgba(74, 144, 226, 0.3);
    padding: 16px;
    border-radius: var(--radius-s);
    margin-top: 15px;
}

.animal-modal__operations h4 {
    color: #4a90e2;
    margin: 0 0 10px 0;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.animal-modal__operations h4 i {
    font-size: 16px;
}

.animal-modal__operations ul {
    list-style: disc;
    padding-left: 20px;
    font-size: 14px;
    color: var(--c-smoke);
    margin: 0;
}

.animal-modal__operations ul li {
    margin-bottom: 4px;
}

.animal-modal__operations ul li:last-child {
    margin-bottom: 0;
}

/* --- Бейджи поверх фото (Пол, статус) --- */
.animal-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* --- Кнопка "Поделиться" --- */
.animal-modal__share {
    margin-top: 30px;
    text-align: center;
    border-top: 1px solid var(--c-line);
    padding-top: 20px;
}

/* --- Галерея --- */
.animal-gallery {
    position: relative;
    margin-bottom: 20px;
}

.animal-gallery__thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 5px;
}

/* Стилизация скроллбара для галереи */
.animal-gallery__thumbs::-webkit-scrollbar {
    height: 4px;
}

.animal-gallery__thumbs::-webkit-scrollbar-thumb {
    background: rgba(232, 160, 76, 0.4);
    border-radius: 2px;
}

.animal-gallery__thumb {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s ease;
    border: 2px solid transparent;
    flex-shrink: 0;
}

.animal-gallery__thumb:hover,
.animal-gallery__thumb.is-active {
    opacity: 1;
    border-color: var(--c-gold);
}

/* Новые бейджи и кнопки */
.animal-modal__details li i.fa-microchip { color: #4a90e2; }
.animal-modal__details li i.fa-exclamation-triangle { color: #e25c4a; }
.animal-modal__details li i.fa-heartbeat { color: #e8a04c; }

/* Кнопка "Помочь" */
.btn-t--pulse {
    animation: pulse-glow 2.4s infinite;
}

/* Документы животного в модалке */
.animal-modal__documents ul li a {
    background: rgba(0,0,0,0.3);
    border: 1px solid var(--c-gold);
    color: var(--c-gold);
    text-decoration: none;
    transition: all var(--t-fast);
}

.animal-modal__documents ul li a:hover {
    background: var(--c-gold);
    color: var(--c-void);
    transform: translateY(-2px);
}

/* ==========================================================================
   АДМИНКА — КНОПКА УДАЛЕНИЯ ФОТО В ГАЛЕРЕЕ ЖИВОТНОГО
   ========================================================================== */
/* Аккуратный крестик на фото */
.admin-gallery-item .admin-gallery-remove {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #8b1a1a;
    border: 2px solid #fff;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.5);
    z-index: 10;
    padding: 0;
}

.admin-gallery-item .admin-gallery-remove:hover {
    background: #ff2e2e;
    transform: scale(1.1);
}

.admin-gallery-remove:focus-visible {
    outline: 2px solid var(--c-gold);
    outline-offset: 2px;
}

/* ==========================================================================
   МЕМОРИАЛЬНЫЕ КАРТОЧКИ (Умершие животные)
   ========================================================================== */

/* 1. Делаем фото черно-белым с медленным проявлением */
.animal-card.is-memorial .animal-card__photo img {
    position: relative;
    z-index: 1; 
    filter: grayscale(1) brightness(0.4);
    transition: filter 1.5s ease-in-out !important; /* Принудительно замедляем */
}

.animal-card.is-memorial:hover .animal-card__photo img {
    filter: grayscale(0) brightness(1) !important;
}

/* 2. Траурная черная лента в ПРАВОМ НИЖНЕМ углу */
.animal-card.is-memorial .animal-card__photo::before {
    content: 'ПАМЯТЬ';
    position: absolute;
    bottom: 25px;
    right: -40px; /* Сдвигаем за край */
    width: 160px;
    background: #000;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-align: center;
    padding: 6px 0;
    transform: rotate(-45deg); /* Поворачиваем */
    z-index: 20;
    box-shadow: 0 2px 10px rgba(0,0,0,0.8);
    pointer-events: none;
    border-top: 1px solid rgba(255,255,255,0.2);
    border-bottom: 1px solid rgba(255,255,255,0.2);
}

/* 3. Голубь в ПРАВОМ ВЕРХНЕМ углу (как и было) */
.animal-card.is-memorial .animal-card__photo::after {
    content: '🕊️';
    position: absolute;
    top: 10px;
    right: 10px; 
    font-size: 36px;
    z-index: 20;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.8)) drop-shadow(0 5px 15px rgba(0,0,0,1));
    pointer-events: none;
}

/* 4. Надпись "Помним и любим" в текстовом блоке карточки */
.animal-card.is-memorial .animal-card__content::before {
    content: 'Помним и любим...';
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-fog);
    margin-bottom: 12px;
    font-style: italic;
    opacity: 0.8;
}

/* 5. Легкая тень при наведении */
.animal-card.is-memorial:hover {
    border-color: rgba(232, 160, 76, 0.5) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), 0 0 20px rgba(232, 160, 76, 0.2) !important;
    transition: box-shadow 0.4s ease, border-color 0.4s ease !important;
}

/* Бейдж статуса всегда поверх */
.animal-card.is-memorial .animal-card__status {
    z-index: 25 !important;
}

/* --- Кнопка внутри карточки --- */
.animal-card__content .btn-t {
    margin-top: auto; 
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
    font-size: 13px;
}