/* ============================================
   KOVARIS BLACK PINK THEME — FINAL
   ============================================ */

:root {
  --kovaris-primary: #FF38FF;
  --kovaris-secondary: #00FFFF;
  --kovaris-bg: #000000;
  --kovaris-surface: #1A1A1A;
  --kovaris-surface-light: #2A2A2A;
  --kovaris-text: #E0E0E0;
  --kovaris-text-muted: #888888;
  --kovaris-gradient-pink: linear-gradient(95deg, #FF38FF, #FF69B4);
  --kovaris-gradient-blue: linear-gradient(95deg, #00BFFF, #00FFFF);
}

/* --- ГЛОБАЛЬНЫЕ --- */
body, .page-wrapper, .region-content, .main-content { background-color: var(--kovaris-bg); }
body, p, span, li, .text-content, .content { color: var(--kovaris-text); }
h1, h2, h3, h4, h5, h6, .page-title, .block-title, .node-title, .title { color: var(--kovaris-primary); font-weight: 700; text-shadow: 0 0 4px rgba(255,56,255,0.3); }
a { color: var(--kovaris-primary); transition: all 0.3s ease; }
a:hover { color: var(--kovaris-secondary); text-shadow: 0 0 4px rgba(0,255,255,0.5); }
::selection { background-color: var(--kovaris-primary); color: #fff; }
::-moz-selection { background-color: var(--kovaris-primary); color: #fff; }

/* --- КАРТОЧКИ --- */
.node, .card, .comment, .views-row { background: var(--kovaris-surface); border-radius: 20px; border: 1px solid var(--kovaris-primary); padding: 20px; margin-bottom: 20px; transition: all 0.3s ease; }
.node:hover, .card:hover, .comment:hover, .views-row:hover { transform: translateY(-4px); box-shadow: 0 0 20px rgba(255,56,255,0.2); border-color: var(--kovaris-secondary); }

/* --- КНОПКИ --- */
button, .button, .btn, input[type="submit"], .flag-link, .flag a, a.flag-link, .button:link, .button:visited, .form-submit, .dropbutton__button, .action-link, .pager__item a { display: inline-block; border-radius: 60px; padding: 12px 32px; border: none; font-weight: 700; font-size: 1rem; text-decoration: none; text-align: center; cursor: pointer; transition: all 0.3s ease; background: var(--kovaris-gradient-pink); color: #fff; box-shadow: 0 0 8px rgba(255,56,255,0.4); }
button:hover, .button:hover, .btn:hover, input[type="submit"]:hover, .flag-link:hover, .flag a:hover, a.flag-link:hover, .form-submit:hover, .dropbutton__button:hover, .pager__item a:hover { background: var(--kovaris-gradient-blue); color: #0a0a0a; box-shadow: 0 0 20px #00ffff, 0 0 8px #00bfff; transform: translateY(-3px); }
button:active, .button:active, .btn:active, .flag-link:active { transform: translateY(2px); box-shadow: 0 0 5px #00ffff; }

/* --- ШАПКА И МЕНЮ --- */
.site-header, .region-header, .region-primary-menu, .navbar, .menu--main, nav[role="navigation"] { background: #000; border-bottom: 2px solid var(--kovaris-primary); backdrop-filter: blur(10px); }
.region-primary-menu { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
.region-primary-menu .block { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; }
.region-primary-menu h5 { display: none !important; }
.region-primary-menu ul { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.menu > li, .navbar > li, .region-primary-menu > li, .menu-item { display: inline-block; margin: 0; padding: 0; }
.region-primary-menu a { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: #fff !important; background: var(--kovaris-surface) !important; padding: 8px 16px !important; border-radius: 50px !important; font-size: 0.9rem !important; font-weight: 500 !important; transition: all 0.5s cubic-bezier(0.4,0,0.2,1) !important; border: 1px solid var(--kovaris-primary) !important; text-decoration: none !important; white-space: nowrap !important; }
.region-primary-menu a:hover { color: #000 !important; background: var(--kovaris-gradient-blue) !important; border-color: var(--kovaris-secondary) !important; box-shadow: 0 0 12px rgba(0,255,255,0.4) !important; transform: translateY(-2px) !important; }
.region-primary-menu a.is-active { color: #000 !important; background: var(--kovaris-gradient-blue) !important; border-color: var(--kovaris-secondary) !important; box-shadow: 0 0 12px rgba(0,255,255,0.4) !important; }

/* --- ИКОНКА СООБЩЕНИЙ В ШАПКЕ --- */
#block-aspiration-uvedomleniyalichnykhsoobshcheniy { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; margin: 0 8px !important; width: auto !important; height: auto !important; overflow: visible !important; }
.private-message-notification-wrapper { display: flex !important; align-items: center !important; gap: 6px !important; padding: 8px 16px !important; background: var(--kovaris-surface) !important; border: 1px solid var(--kovaris-primary) !important; border-radius: 50px !important; transition: all 0.5s cubic-bezier(0.4,0,0.2,1) !important; text-decoration: none !important; box-sizing: border-box !important; }
.private-message-notification-wrapper:hover { background: var(--kovaris-gradient-blue) !important; border-color: var(--kovaris-secondary) !important; box-shadow: 0 0 12px rgba(0,255,255,0.4) !important; transform: translateY(-2px) !important; }
.private-message-notification-image { position: static !important; width: 20px !important; height: 20px !important; max-width: 20px !important; object-fit: contain !important; filter: none !important; flex-shrink: 0 !important; }
.private-message-page-link { position: static !important; width: auto !important; height: auto !important; color: #fff !important; font-size: 0.9rem !important; font-weight: 600 !important; line-height: 1 !important; text-decoration: none !important; }
.private-message-notification-wrapper:hover .private-message-page-link { color: #000 !important; }
.unread-threads .private-message-page-link { color: #ff38ff !important; }
.unread-threads { border-color: #ff38ff !important; box-shadow: 0 0 10px rgba(255,56,255,0.4) !important; }

/* --- ЛИЧНЫЕ СООБЩЕНИЯ — ЧАТ --- */
#private-message-page { max-width: 800px; margin: 20px auto; }
.private-message-thread { background: transparent !important; border: none !important; padding: 0 !important; }
.private-message-recipients { display: none; }
.private-message-thread-messages { max-height: 60vh; overflow-y: auto; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.private-message-wrapper { margin-bottom: 0; }
.private-message { max-width: 75% !important; padding: 12px 18px !important; border-radius: 20px !important; position: relative; animation: msgIn 0.3s ease; }
@keyframes msgIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.private-message-author-self .private-message { background: linear-gradient(135deg, #FF38FF, #FF69B4) !important; color: #fff !important; align-self: flex-end; margin-left: auto !important; border-bottom-right-radius: 6px !important; }
.private-message-author-other .private-message { background: var(--kovaris-surface) !important; border: 1px solid var(--kovaris-primary) !important; color: var(--kovaris-text) !important; align-self: flex-start; margin-right: auto !important; border-bottom-left-radius: 6px !important; }
.private-message .field--name-owner, .private-message .field__label, .private-message article.profile, .private-message .flag { display: none !important; }
.private-message .field--name-created { font-size: 0.65rem !important; color: rgba(255,255,255,0.5) !important; margin-top: 4px !important; text-align: right; }
.private-message-author-other .field--name-created { color: var(--kovaris-text-muted) !important; }
.private-message .field--name-message { font-size: 0.95rem !important; line-height: 1.5 !important; color: inherit !important; }
.private-message .field--name-message p { margin: 0; }
.private-message-thread-messages::-webkit-scrollbar { width: 4px; }
.private-message-thread-messages::-webkit-scrollbar-track { background: transparent; }
.private-message-thread-messages::-webkit-scrollbar-thumb { background: var(--kovaris-primary); border-radius: 10px; }

/* Форма отправки */
.private-message-add-form { background: var(--kovaris-surface) !important; border: 1px solid var(--kovaris-primary) !important; border-radius: 24px !important; padding: 15px 20px !important; margin-top: 20px !important; }
.private-message-add-form .layout__region--content { display: flex; align-items: flex-end; gap: 12px; }
.private-message-add-form .js-form-type-textarea { flex: 1; margin: 0 !important; }
.private-message-add-form textarea { background: var(--kovaris-bg) !important; border: 1px solid rgba(255,56,255,0.3) !important; border-radius: 16px !important; color: #fff !important; padding: 10px 14px !important; font-size: 0.9rem !important; min-height: 44px !important; max-height: 100px !important; resize: none !important; }
.private-message-add-form textarea:focus { border-color: var(--kovaris-secondary) !important; box-shadow: 0 0 10px rgba(0,255,255,0.2) !important; outline: none; }
.private-message-add-form .form-actions { margin: 0 !important; flex-shrink: 0; }
.private-message-add-form #edit-submit { padding: 10px 24px !important; font-size: 0.9rem !important; border-radius: 50px !important; }
.private-message-add-form .filter-wrapper, .private-message-add-form .filter-guidelines, .private-message-add-form .filter-help, .private-message-add-form #edit-message-0-format { display: none !important; }
.private-message-thread-messages .field__label { display: none; }

/* --- ПРОФИЛЬ --- */
article.profile { max-width: 600px; margin: 40px auto; padding: 40px 30px 30px !important; background: var(--kovaris-surface) !important; border: 1px solid var(--kovaris-primary) !important; border-radius: 30px !important; text-align: center; }
article.profile .field--name-user-picture img { width: 130px !important; height: 130px !important; border-radius: 50% !important; border: 4px solid var(--kovaris-primary) !important; box-shadow: 0 0 25px rgba(255,56,255,0.3); object-fit: cover; margin-bottom: 20px; }
article.profile .field--name-field-svetlye-impulsy { background: linear-gradient(135deg, rgba(255,56,255,0.15), rgba(255,56,255,0.05)); border: 1px solid rgba(255,56,255,0.3); border-radius: 20px; padding: 20px; margin: 20px 0; }
article.profile .field--name-field-svetlye-impulsy .field__label { color: var(--kovaris-primary); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
article.profile .field--name-field-svetlye-impulsy .field__item { font-size: 3rem; font-weight: 800; color: #fff; text-shadow: 0 0 20px rgba(255,56,255,0.5); }
article.profile .field--name-field-znak-zodiaka, article.profile .field--name-field-data-rozhdeniya { display: inline-block; margin: 10px 15px; padding: 15px 20px; background: var(--kovaris-surface-light); border-radius: 16px; border: 1px solid rgba(255,56,255,0.2); text-align: center; }
article.profile .field--name-field-znak-zodiaka .field__label, article.profile .field--name-field-data-rozhdeniya .field__label { color: var(--kovaris-primary); font-size: 0.8rem; text-transform: uppercase; margin-bottom: 5px; }
article.profile .field--name-field-znak-zodiaka .field__item, article.profile .field--name-field-data-rozhdeniya .field__item { color: #fff; font-weight: 600; font-size: 1.1rem; }
article.profile .field--name-field-gorod, article.profile .field--name-field-o-sebe, article.profile .field--name-field-todays-deed { margin: 15px 0; padding: 15px 20px; background: var(--kovaris-surface-light); border-radius: 16px; border: 1px solid rgba(255,56,255,0.2); text-align: left; }
article.profile .field--name-field-gorod .field__label, article.profile .field--name-field-o-sebe .field__label, article.profile .field--name-field-todays-deed .field__label { color: var(--kovaris-primary); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; }
article.profile .field--name-field-gorod .field__item, article.profile .field--name-field-o-sebe .field__item, article.profile .field--name-field-todays-deed .field__item { color: #fff; font-size: 1rem; line-height: 1.5; }
article.profile .astro-compatibility { margin-top: 20px; padding: 15px 20px; background: linear-gradient(135deg, rgba(255,56,255,0.1), rgba(0,255,255,0.05)); border: 1px solid rgba(255,56,255,0.3); border-radius: 16px; color: #fff; font-size: 1rem; }
.block-private-message-actions-block { text-align: center; margin: 25px 0; background: transparent !important; border: none !important; padding: 0 !important; }
.block-private-message-actions-block h2 { display: none; }
.block-private-message-actions-block a { display: inline-block; margin: 5px 8px; padding: 10px 24px; background: var(--kovaris-surface); border: 1px solid var(--kovaris-primary); border-radius: 50px; color: #fff; font-size: 0.9rem; font-weight: 600; text-decoration: none; transition: all 0.5s cubic-bezier(0.4,0,0.2,1); }
.block-private-message-actions-block a:hover { background: var(--kovaris-gradient-blue); border-color: var(--kovaris-secondary); color: #000; transform: translateY(-2px); box-shadow: 0 0 12px rgba(0,255,255,0.4); }
.user-profile .block-private-message-actions-block { display: none; }

/* --- РЕДАКТИРОВАНИЕ ПРОФИЛЯ --- */
.user-form { max-width: 700px; margin: 30px auto; background: var(--kovaris-surface); border: 1px solid var(--kovaris-primary); border-radius: 24px; padding: 30px; }
.user-form fieldset { background: var(--kovaris-surface-light); border: 1px solid rgba(255,56,255,0.2); border-radius: 16px; padding: 20px; margin-bottom: 20px; }
.user-form legend { color: var(--kovaris-primary); font-size: 1.1rem; font-weight: 700; }
.user-form label { color: #ccc; font-weight: 500; margin-bottom: 5px; }
.user-form input[type="text"], .user-form input[type="email"], .user-form input[type="password"], .user-form input[type="date"], .user-form input[type="time"], .user-form textarea, .user-form select { background: #111; border: 1px solid rgba(255,56,255,0.3); border-radius: 12px; color: #fff; padding: 10px 14px; font-size: 0.95rem; }
.user-form input:focus, .user-form textarea:focus, .user-form select:focus { border-color: var(--kovaris-secondary); box-shadow: 0 0 8px rgba(0,255,255,0.2); outline: none; }
.user-form .description { color: #888; font-size: 0.8rem; margin-top: 4px; }
.user-form .form-actions { text-align: center; margin-top: 20px; }
.user-form #edit-submit { padding: 12px 40px; font-size: 1rem; }
.user-form .button--danger { background: transparent; border: 1px solid #ff3860; color: #ff3860; padding: 10px 24px; border-radius: 50px; margin-left: 10px; font-size: 0.85rem; cursor: pointer; transition: all 0.3s; }
.user-form .button--danger:hover { background: #ff3860; color: #fff; }
.user-form #edit-user-picture-wrapper, .user-form #edit-field-photos-wrapper { background: var(--kovaris-surface-light); border: 1px solid rgba(255,56,255,0.2); border-radius: 16px; padding: 20px; margin-bottom: 20px; }
.user-form #edit-user-picture-wrapper label, .user-form #edit-field-photos-wrapper label { color: var(--kovaris-primary); font-size: 1.1rem; font-weight: 700; display: block; margin-bottom: 15px; }
.user-form .image-preview img { border-radius: 50%; border: 4px solid var(--kovaris-primary); width: 120px; height: 120px; object-fit: cover; box-shadow: 0 0 20px rgba(255,56,255,0.3); }
.user-form .image-widget .button { padding: 8px 20px; font-size: 0.85rem; }
.user-form #edit-user-picture-0-remove-button, .user-form .image-widget [id*="remove-button"] { background: transparent; border: 1px solid #ff3860; color: #ff3860; border-radius: 50px; padding: 6px 18px; transition: all 0.3s; }
.user-form #edit-user-picture-0-remove-button:hover, .user-form .image-widget [id*="remove-button"]:hover { background: #ff3860; color: #fff; }
.user-form .image-widget input[type="file"] { background: #111; border: 1px solid rgba(255,56,255,0.3); border-radius: 12px; color: #fff; padding: 8px 12px; }

/* --- СКРЫТИЕ --- */
.filter-wrapper, .filter-guidelines, .filter-help, .js-filter-wrapper, .text-format-wrapper .filter-wrapper { display: none; }
#edit-private-messages-notify-when-using--wrapper--description, #edit-contact, #edit-language, label[for="edit-preferred-langcode"], #edit-timezone, #edit-field-data-rozhdeniya-0-value-time, label[for="edit-field-data-rozhdeniya-0-value-time"], .user-form .file--image a, .user-form .tabledrag-toggle-weight-wrapper, .user-form .tabledrag-toggle-weight, .user-form .field-multiple-table .tabledrag-toggle-weight { display: none !important; }
#edit-field-svetlye-impulsy-0-value,
label[for="edit-field-svetlye-impulsy-0-value"],
.form-item-field-svetlye-impulsy-0-value { display: none !important; }

/* --- ЛЕНТА НОВОСТЕЙ --- */
.homepage .region-content { display: grid !important; grid-template-columns: 1fr !important; max-width: 700px !important; margin: 0 auto !important; padding: 20px !important; }
.homepage .views-row { max-width: 700px !important; background: var(--kovaris-surface); border-radius: 24px; border: 1px solid var(--kovaris-primary); padding: 25px; margin: 0 auto 30px; text-align: center; }
.homepage .views-field-title a { font-size: 1.8rem; font-weight: 700; color: var(--kovaris-primary); text-decoration: none; display: block; margin-bottom: 15px; }
.homepage .views-field-body .field-content { font-size: 1.2rem; line-height: 1.8; color: var(--kovaris-text); margin-bottom: 15px; }
.homepage .views-field-created { font-size: 0.8rem; color: var(--kovaris-text-muted); margin-top: 10px; }

/* --- ФУТЕР --- */
.footer__bottom .copyright-text p a { color: #FFFFFF !important; }

/* --- АДАПТИВ --- */
@media (max-width: 992px) {
  .homepage .region-content { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) { .region-content { padding: 0 5px; } .homepage .region-content { padding: 5px; } }

.private-message-thread .profile { display: none !important; }

/* ============================================
   ФОРМА ДОБРОЙ НОВОСТИ
   ============================================ */
.node-good-news-form { max-width: 650px; margin: 30px auto; background: var(--kovaris-surface); border: 1px solid var(--kovaris-primary); border-radius: 24px; padding: 30px; }
.node-good-news-form label { color: var(--kovaris-primary) !important; font-weight: 600; font-size: 1rem; margin-bottom: 8px; }
.node-good-news-form input[type="text"],
.node-good-news-form textarea { background: #111 !important; border: 1px solid rgba(255,56,255,0.3) !important; border-radius: 14px !important; color: #fff !important; padding: 12px 16px !important; font-size: 0.95rem !important; width: 100% !important; }
.node-good-news-form input:focus,
.node-good-news-form textarea:focus { border-color: var(--kovaris-secondary) !important; box-shadow: 0 0 10px rgba(0,255,255,0.2) !important; outline: none; }
.node-good-news-form .smileys-box { margin: 15px 0; }
.node-good-news-form details { background: var(--kovaris-surface-light) !important; border: 1px solid rgba(255,56,255,0.2) !important; border-radius: 12px !important; padding: 10px 15px !important; }
.node-good-news-form details summary { color: var(--kovaris-primary) !important; cursor: pointer; font-weight: 500; }
.node-good-news-form .smiley img { width: 28px; height: 28px; margin: 3px; transition: transform 0.2s; }
.node-good-news-form .smiley img:hover { transform: scale(1.3); }
.node-good-news-form .form-actions { display: flex; gap: 12px; margin-top: 20px; }
.node-good-news-form #edit-submit { flex: 1; padding: 12px 28px !important; font-size: 1rem !important; }
.node-good-news-form #edit-preview { background: transparent; border: 1px solid var(--kovaris-primary); color: var(--kovaris-primary); padding: 12px 28px !important; font-size: 0.9rem !important; }
.node-good-news-form #edit-preview:hover { background: var(--kovaris-primary); color: #000; }
.node-good-news-form .filter-wrapper, .node-good-news-form .filter-guidelines, .node-good-news-form .filter-help, .node-good-news-form .vertical-tabs, .node-good-news-form .entity-meta { display: none !important; }

/* ============================================
   СТРАНИЦА РЕГИСТРАЦИИ
   ============================================ */
.user-register-form { max-width: 550px; margin: 30px auto; background: var(--kovaris-surface); border: 1px solid var(--kovaris-primary); border-radius: 24px; padding: 30px; }
.user-register-form fieldset, .user-register-form details { background: var(--kovaris-surface-light); border: 1px solid rgba(255,56,255,0.2); border-radius: 16px; padding: 20px; margin-bottom: 20px; }
.user-register-form legend, .user-register-form summary { color: var(--kovaris-primary) !important; font-size: 1.1rem; font-weight: 700; }
.user-register-form label { color: #ccc; font-weight: 500; margin-bottom: 5px; }
.user-register-form input[type="text"], .user-register-form input[type="email"], .user-register-form input[type="password"], .user-register-form input[type="date"], .user-register-form input[type="time"], .user-register-form textarea, .user-register-form select { background: #111; border: 1px solid rgba(255,56,255,0.3); border-radius: 12px; color: #fff; padding: 10px 14px; font-size: 0.95rem; width: 100%; }
.user-register-form input:focus, .user-register-form textarea:focus, .user-register-form select:focus { border-color: var(--kovaris-secondary); box-shadow: 0 0 8px rgba(0,255,255,0.2); outline: none; }
.user-register-form .description { color: #888; font-size: 0.8rem; margin-top: 4px; }
.user-register-form .form-actions { text-align: center; margin-top: 20px; }
.user-register-form #edit-submit { padding: 14px 40px; font-size: 1.1rem; width: auto; }
.user-register-form #edit-field-svetlye-impulsy-wrapper, .user-register-form #edit-field-todays-deed-wrapper, .user-register-form #edit-field-vremya-vybora-dela-wrapper, .user-register-form #edit-contact, .user-register-form #edit-field-data-rozhdeniya-0-value-time, .user-register-form label[for="edit-field-data-rozhdeniya-0-value-time"], .user-register-form #edit-language, .user-register-form #edit-timezone { display: none !important; }
.user-register-form .image-preview img { border-radius: 50%; border: 3px solid var(--kovaris-primary); width: 100px; height: 100px; object-fit: cover; }
.user-register-form .image-widget input[type="file"] { background: #111; border: 1px solid rgba(255,56,255,0.3); border-radius: 12px; color: #fff; padding: 8px 12px; }

/* Цвет ссылок в футере */
.footer__bottom a {
  color: #FF38FF !important;
}
.footer__bottom a:hover {
  color: #00FFFF !important;
}
