/* ============================================================
   APULAZnya — тема для донат-магазина (EasyDonate / Colibri)
   Переносит визуальный язык с apulaznya.ru: тёмный фон, лаймовый
   акцент #bed603, стеклянные карточки со свечением на ховере.

   Вставить целиком в: Настройки магазина → Дизайн →
   Пользовательский CSS.

   ── ВАЖНО: почему у всех правил префикс "body" ──────────────
   Первая версия ломалась через одно: у EasyDonate свой style.css
   грузится ПОСЛЕ пользовательского CSS и переопределяет те же
   классы Bootstrap (.bg-light, .modal-content и т.п.) с тем же
   !important — при равной специфичности выигрывает тот, кто
   загрузился позже, то есть их файл, а не наш. Добавка "body "
   перед каждым селектором поднимает специфичность на одну
   ступень и гарантированно перебивает их правило, независимо
   от порядка загрузки файлов.
   ============================================================ */

/* ── База ──────────────────────────────────────────── */
body {
    background-color: #060a02 !important;
    color: #e8f0d0 !important;
}

body main.bg-light,
body .bg-light,
body .bg-light-dark {
    background-color: #060a02 !important;
}

body a {
    color: #bed603;
}
body a:hover {
    color: #d4f004;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
    color: #e8f0d0 !important;
    font-weight: 700;
    letter-spacing: 0.3px;
}

/* Bootstrap-утилита .text-black стоит на кучe мест (вкладки категорий,
   заголовки модалок) и рисует текст почти чёрным — без этого override
   он был бы невидим на тёмном фоне */
body .text-black,
body .text-black:hover {
    color: #e8f0d0 !important;
}

body ::selection {
    background: rgba(190, 214, 3, 0.35);
    color: #fff;
}

/* Полоса прокрутки — как на основном сайте */
::-webkit-scrollbar { width: 14px; height: 14px; }
::-webkit-scrollbar-track { background: rgba(6, 10, 2, 0.9); }
::-webkit-scrollbar-thumb {
    background-image: linear-gradient(rgba(190, 214, 3, 0.45), rgba(150, 180, 0, 0.3));
    background-clip: padding-box;
    border: 4px solid transparent;
    border-radius: 10px;
    min-height: 44px;
}
::-webkit-scrollbar-thumb:hover {
    background-image: linear-gradient(rgba(212, 238, 20, 0.9), rgba(174, 196, 0, 0.65));
}
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(190, 214, 3, 0.45) rgba(6, 10, 2, 0.9);
}

/* ── Навбар (хотбар) ───────────────────────────────── */
body nav.navbar {
    background: rgba(30, 35, 28, 0.85) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(190, 214, 3, 0.25);
}

/* Логотип покрупнее — было 40px */
body .navbar-brand-light,
body .navbar-brand img {
    height: 58px !important;
    width: auto !important;
    filter: drop-shadow(0 0 10px rgba(190, 214, 3, 0.4));
}

body .navbar-light .navbar-nav .nav-link,
body nav.navbar .nav-link {
    color: rgba(232, 240, 208, 0.9) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
    text-shadow: 0 0 10px rgba(190, 214, 3, 0.35);
    transition: color 0.2s, text-shadow 0.2s;
}

body .navbar-light .navbar-nav .nav-link:hover,
body nav.navbar .nav-link:hover {
    color: #bed603 !important;
    text-shadow: 0 0 16px rgba(190, 214, 3, 0.8);
}

body .navbar-toggler-icon {
    filter: invert(1);
}

/* ── Hero (баннер с названием сервера) ────────────── */
body #welcome-section {
    position: relative;
}

body #welcome-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 90% at 50% 10%, rgba(190, 214, 3, 0.1), transparent 60%);
    pointer-events: none;
}

body .shop-name {
    color: #bed603 !important;
    text-shadow: 0 0 26px rgba(190, 214, 3, 0.4);
    font-weight: 800 !important;
    letter-spacing: 0.5px;
}

body .shop-description {
    color: rgba(232, 240, 208, 0.8) !important;
}

/* ── Полоса категорий/сортировки товаров ───────────── */
body .categories.filter-button-group {
    background: rgba(15, 20, 10, 0.75) !important;
    border: 1px solid rgba(190, 214, 3, 0.15);
    border-radius: 16px;
    padding: 6px 10px;
    backdrop-filter: blur(10px);
}

body .category.filter-button {
    color: rgba(232, 240, 208, 0.75) !important;
    background: transparent !important;
    border-radius: 10px;
    transition: color 0.2s, background 0.2s;
}

body .category.filter-button:hover {
    color: #bed603 !important;
    background: rgba(190, 214, 3, 0.08) !important;
}

body .category.filter-button.active {
    color: #0a0e02 !important;
    background: linear-gradient(135deg, #c8ff00, #8ed600) !important;
}

/* Вся секция магазина (плашка категорий + карточки товаров) залезала
   на hero-картинку из-за инлайнового style="margin-top:-2rem" на
   <section>, оборачивающей #shop — это тянуло вверх всю секцию
   целиком, а не только видимую плашку фильтров. Отменяем этот
   отрицательный отступ и добавляем небольшой запас, чтобы секция
   полностью ушла из-под скруглённого низа картинки. :has(#shop)
   ограничивает правило именно этой секцией на главной, не задевая
   другие section.section-md.pt-0 на других страницах. */
body section.section-md.pt-0:has(#shop) {
    margin-top: 1rem !important;
}

/* ── Волнистые декоративные полосы (recent-payments, футер) ──
   Чисто декоративная белая SVG-волна — убираем целиком. */
body .pattern {
    display: none !important;
}

/* Серая полоса под последними покупками — красится инлайновым
   style="background: rgb(32,32,32)" прямо в разметке, поэтому
   бьём по id с максимальной специфичностью */
body #last-payments {
    background-color: #060a02 !important;
}

/* ── Карточки товаров ──────────────────────────────── */
body .card {
    background-color: rgba(15, 20, 10, 0.65) !important;
    border: 1px solid rgba(190, 214, 3, 0.15) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

body .product-card:hover {
    border-color: rgba(190, 214, 3, 0.5) !important;
    transform: translateY(-3px);
    box-shadow: 0 0 24px rgba(190, 214, 3, 0.18), 0 14px 30px rgba(0, 0, 0, 0.5) !important;
}

body .card-header,
body .card-footer {
    background-color: transparent !important;
    border-color: rgba(190, 214, 3, 0.12) !important;
}

body .card-body {
    color: #e8f0d0 !important;
}

body .card-body h4,
body .card-body h5 {
    color: #e8f0d0 !important;
}

/* Заглушки-скелетоны на время загрузки товаров */
body .skeleton-box {
    background: linear-gradient(90deg,
        rgba(190, 214, 3, 0.05) 25%,
        rgba(190, 214, 3, 0.14) 37%,
        rgba(190, 214, 3, 0.05) 63%) !important;
    background-size: 400% 100% !important;
}

/* ── Кнопки («Купить», «Подробнее» и подобные) ─────── */
body .btn-success,
body .btn-primary,
body .btn-info,
body #shop .btn,
body .card-footer .btn {
    background: linear-gradient(135deg, #c8ff00 0%, #8ed600 50%, #6aaa00 100%) !important;
    border: none !important;
    color: #0a0e02 !important;
    font-weight: 700 !important;
    box-shadow: 0 0 14px rgba(190, 214, 3, 0.3);
    transition: box-shadow 0.2s, transform 0.15s;
}

body .btn-success:hover,
body .btn-primary:hover,
body .btn-info:hover,
body #shop .btn:hover,
body .card-footer .btn:hover {
    box-shadow: 0 0 22px rgba(190, 214, 3, 0.5) !important;
    transform: translateY(-1px);
}

body .badge-success,
body .badge-primary {
    background-color: #bed603 !important;
    color: #0a0e02 !important;
}

/* ── Плавающая кнопка корзины ──────────────────────── */
body .basket-button {
    background: linear-gradient(135deg, #c8ff00, #6aaa00) !important;
    box-shadow: 0 0 20px rgba(190, 214, 3, 0.4) !important;
}

/* ── Модальное окно товара (выбор варианта, описание) ─ */
body .modal-content {
    background-color: #0c1206 !important;
    color: #e8f0d0 !important;
    border: 1px solid rgba(190, 214, 3, 0.2) !important;
}

body .modal-content .card,
body .modal-content .card-header,
body .modal-content .card-footer {
    background-color: rgba(15, 20, 10, 0.5) !important;
}

/* ── Корзина: форма, чекбоксы, текст условий ───────── */
body .cart,
body .cart-content {
    background-color: #0c1206 !important;
    color: #e8f0d0 !important;
}

body .modal input,
body .modal textarea,
body .modal select,
body .cart input,
body .cart textarea {
    background-color: rgba(190, 214, 3, 0.06) !important;
    border: 1px solid rgba(190, 214, 3, 0.25) !important;
    color: #e8f0d0 !important;
}

body .modal input::placeholder,
body .cart input::placeholder {
    color: rgba(232, 240, 208, 0.4) !important;
}

body .form-check-input {
    accent-color: #bed603;
}

body .modal .text-muted,
body .cart .text-muted {
    color: rgba(232, 240, 208, 0.55) !important;
}

/* Цена товара в строке корзины — свой класс на каждый товар
   (basket-pricelist-<id>), поэтому ловим по подстроке */
body .cart [class*="basket-pricelist"],
body .cart-content [class*="basket-pricelist"],
body .cart-cost {
    color: #e8f0d0 !important;
}

/* Кнопка «Купить» в корзине красится инлайновым style="background:#10ab7c"
   прямо в разметке — перебиваем именно по onclick, чтобы не задеть
   соседние кнопки (удалить/±) */
body [onclick*="onBuy"] {
    background: linear-gradient(135deg, #c8ff00 0%, #8ed600 50%, #6aaa00 100%) !important;
    color: #0a0e02 !important;
    font-weight: 700 !important;
    box-shadow: 0 0 14px rgba(190, 214, 3, 0.3);
    transition: box-shadow 0.2s, transform 0.15s;
}

body [onclick*="onBuy"]:hover {
    box-shadow: 0 0 22px rgba(190, 214, 3, 0.5) !important;
    transform: translateY(-1px);
}

/* Кнопка «Отмена» в корзине — раньше просто текст-ссылка, делаем
   такой же кнопкой, как «Купить», только в красном варианте */
body .text-underline.cursor-pointer.text-danger {
    display: inline-block !important;
    text-decoration: none !important;
    text-align: center;
    background: linear-gradient(135deg, #ff6b5a 0%, #e6402b 50%, #b82c1a 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 8.8px 15.2px !important;
    border-radius: 4.8px !important;
    box-shadow: 0 0 14px rgba(230, 64, 43, 0.35);
    transition: box-shadow 0.2s, transform 0.15s;
}
body .text-underline.cursor-pointer.text-danger:hover {
    color: #fff !important;
    box-shadow: 0 0 22px rgba(230, 64, 43, 0.55) !important;
    transform: translateY(-1px);
}

/* Чекбоксы согласия («Я принимаю условия...», «Я подтверждаю...») —
   были блёкло-синим (rgb(134,154,184)), приводим к общему парчаментному */
body .form-check-label {
    color: rgba(232, 240, 208, 0.75) !important;
}

/* Текст правил/условий покупки (описание товара, невозврат, IP сервера)
   заворачиваем в аккуратную рамку в стиле карточек сайта */
body .more-products .m-3.mt-4 {
    background: rgba(15, 20, 10, 0.6) !important;
    border: 1px solid rgba(190, 214, 3, 0.2) !important;
    border-radius: 12px !important;
    padding: 16px 18px !important;
    color: rgba(232, 240, 208, 0.85) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* ── Футер ─────────────────────────────────────────── */
body .footer.bg-elegant-night {
    background-color: #060a02 !important;
    border-top: 1px solid rgba(190, 214, 3, 0.12);
}

body .footer a {
    color: rgba(232, 240, 208, 0.7);
}
body .footer a:hover {
    color: #bed603;
}

body .footer h5 {
    color: #bed603 !important;
}

body .footer .btn-link {
    color: rgba(232, 240, 208, 0.7) !important;
}
body .footer .btn-link:hover {
    color: #bed603 !important;
}
