/* ==============================================
   ALIVE WEB — WordPress Theme
   Matches aliveweb.ru landing: brutalist dark,
   ube purple #8387C3, Montserrat + Manrope
   ============================================== */

/* === Reset & Base === */
* { box-sizing: border-box; }

body {
  background: #080808 !important;
  color: #F8FAFC !important;
  font-family: 'Manrope', -apple-system, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  -webkit-font-smoothing: antialiased !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.custom-background { background: #080808 !important; }

/* === Typography === */
h1, h2, h3, h4, h5, h6, .entry-title, .widget-title, .site-title {
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
}

h1, .entry-title { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; }
h2 { font-size: clamp(1.5rem, 2.5vw, 2rem) !important; }
h3 { font-size: 1.25rem !important; }

a {
  color: #8387C3 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
a:hover { color: #A0A3D6 !important; }

p, li { color: #959885 !important; }

/* === Container === */
.ast-container {
  max-width: 1200px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* =============================================
   HEADER — glass morphism
   ============================================= */
.ast-primary-header-bar,
.ast-main-header-bar-alignment,
#ast-desktop-header,
#ast-mobile-header {
  background: transparent !important;
  border: none !important;
}

.ast-primary-header-bar {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 48px) !important;
  max-width: 1200px !important;
  z-index: 100 !important;
  background: rgba(10, 17, 35, 0.75) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(131, 135, 195, 0.12) !important;
  border-radius: 14px !important;
  padding: 0 24px !important;
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
}

.ast-mobile-header-wrap {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 48px) !important;
  max-width: 1200px !important;
  z-index: 100 !important;
}

.ast-mobile-header-content {
  background: rgba(10, 17, 35, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(131, 135, 195, 0.12) !important;
  border-radius: 0 0 14px 14px !important;
}

/* === Logo / Site Title === */
.site-title {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
}
.site-title a {
  color: #F8FAFC !important;
  transition: color 0.25s !important;
}
.site-title a:hover {
  color: #8387C3 !important;
}

.custom-logo-link img {
  filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(131, 135, 195, 0.5)) !important;
  max-height: 44px !important;
}

/* === Navigation === */
.main-navigation a,
.main-header-menu a,
.ast-nav-menu a {
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  color: #959885 !important;
  padding: 0 12px !important;
  position: relative !important;
}

.main-navigation a:hover,
.main-header-menu a:hover {
  color: #F8FAFC !important;
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
  color: #8387C3 !important;
}

/* Underline effect on hover */
.main-navigation a::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  bottom: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: #8387C3 !important;
  transition: width 0.25s ease !important;
}
.main-navigation a:hover::after { width: calc(100% - 24px) !important; }

/* Mobile toggle */
.ast-mobile-menu-buttons .ast-button-wrap .menu-toggle {
  color: #F8FAFC !important;
  background: transparent !important;
  border: 1px solid rgba(131, 135, 195, 0.28) !important;
  border-radius: 8px !important;
  font-size: 1.5rem !important;
}

/* =============================================
   CONTENT AREA
   ============================================= */
.site-content {
  background: #080808 !important;
}

#primary { padding-top: 120px !important; }

/* === Page Header === */
.entry-header,
.page-header,
.ast-archive-title {
  margin-bottom: 3rem !important;
  border: none !important;
}

.page-title { color: #F8FAFC !important; }

/* === Blog Posts Grid === */
article.post,
article.ast-article-post,
.ast-row article {
  background: #0A1123 !important;
  border: 1px solid rgba(131, 135, 195, 0.18) !important;
  border-radius: 16px !important;
  padding: 36px !important;
  margin-bottom: 24px !important;
  transition: border-color 0.3s, transform 0.25s, box-shadow 0.3s !important;
}

article.post:hover,
article.ast-article-post:hover {
  border-color: #8387C3 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(131, 135, 195, 0.08) !important;
}

/* Post card gradient overlay on hover */
article.post::after,
article.ast-article-post::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: 16px !important;
  background: radial-gradient(ellipse at 30% 20%, rgba(131,135,195,0.06) 0%, transparent 60%) !important;
  opacity: 0 !important;
  transition: opacity 0.3s !important;
}

article.post:hover::after,
article.ast-article-post:hover::after {
  opacity: 1 !important;
}

/* Post thumbnail */
.post-thumbnail img {
  border-radius: 12px !important;
  border: 1px solid rgba(131, 135, 195, 0.12) !important;
}

/* Read more link */
.ast-blog-featured-section .read-more,
.read-more,
.more-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.063rem !important;
  color: #8387C3 !important;
  padding: 0.5rem 1rem !important;
  border: 2px solid rgba(131, 135, 195, 0.28) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: all 0.25s !important;
}

.read-more:hover,
.more-link:hover {
  background: #8387C3 !important;
  color: #080808 !important;
  border-color: #8387C3 !important;
}

/* Post meta */
.entry-meta, .entry-meta a, .ast-article-post .entry-meta {
  color: #6B6F7A !important;
  font-size: 0.813rem !important;
}
.entry-meta .posted-by a { color: #8387C3 !important; font-weight: 600 !important; }

/* === Single Post === */
.ast-single-post .entry-content {
  color: #959885 !important;
  font-size: 1.063rem !important;
  line-height: 1.75 !important;
}

.ast-single-post .entry-content h2 { margin-top: 3rem !important; }
.ast-single-post .entry-content h3 { margin-top: 2rem !important; }
.ast-single-post .entry-content p { margin-bottom: 1.25rem !important; }
.ast-single-post .entry-content a { text-decoration: underline !important; text-underline-offset: 4px !important; }
.ast-single-post .entry-content blockquote {
  border-left: 3px solid #8387C3 !important;
  background: rgba(131, 135, 195, 0.05) !important;
  padding: 1rem 1.5rem !important;
  margin: 2rem 0 !important;
  color: #F8FAFC !important;
  font-style: italic !important;
}

/* === Navigation between posts === */
.post-navigation .nav-links {
  border-top: 1px solid rgba(131, 135, 195, 0.08) !important;
  padding-top: 2rem !important;
}
.post-navigation a {
  color: #8387C3 !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-weight: 700 !important;
}

/* =============================================
   SIDEBAR
   ============================================= */
.widget {
  background: #0A1123 !important;
  border: 1px solid rgba(131, 135, 195, 0.18) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  color: #959885 !important;
}

.widget-title {
  font-size: 1.125rem !important;
  margin-bottom: 1rem !important;
  color: #F8FAFC !important;
}

.widget a { color: #8387C3 !important; }
.widget a:hover { color: #A0A3D6 !important; }

.widget ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.widget li {
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid rgba(131, 135, 195, 0.08) !important;
}
.widget li:last-child { border-bottom: none !important; }

/* Search widget */
.widget_search .search-field {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border-radius: 8px !important;
  border: 1px solid rgba(131, 135, 195, 0.15) !important;
  background: rgba(10, 17, 35, 0.6) !important;
  color: #F8FAFC !important;
  font-size: 0.875rem !important;
  outline: none !important;
  font-family: 'Manrope', -apple-system, sans-serif !important;
}
.widget_search .search-field:focus {
  border-color: #8387C3 !important;
  box-shadow: 0 0 0 3px rgba(131, 135, 195, 0.1) !important;
}
.widget_search .search-submit {
  background: #8387C3 !important;
  color: #080808 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.75rem 1.5rem !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.25s, box-shadow 0.25s !important;
}
.widget_search .search-submit:hover {
  background: #A0A3D6 !important;
  box-shadow: 0 0 28px rgba(131, 135, 195, 0.25) !important;
}

/* =============================================
   COMMENTS
   ============================================= */
.comments-area {
  background: #0A1123 !important;
  border: 1px solid rgba(131, 135, 195, 0.18) !important;
  border-radius: 16px !important;
  padding: 36px !important;
  margin-top: 3rem !important;
}

.comment-reply-title, .comments-title {
  font-size: 1.375rem !important;
  color: #F8FAFC !important;
}

.comment-body {
  border-bottom: 1px solid rgba(131, 135, 195, 0.08) !important;
  padding: 1.5rem 0 !important;
  color: #959885 !important;
}

.comment-author cite { color: #F8FAFC !important; font-style: normal !important; }
.comment-meta a { color: #6B6F7A !important; }

textarea#comment {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border-radius: 8px !important;
  border: 1px solid rgba(131, 135, 195, 0.15) !important;
  background: rgba(10, 17, 35, 0.6) !important;
  color: #F8FAFC !important;
  font-family: 'Manrope', -apple-system, sans-serif !important;
  resize: vertical !important;
}
textarea#comment:focus {
  border-color: #8387C3 !important;
  outline: none !important;
}

/* =============================================
   BUTTONS
   ============================================= */
button, .button, input[type="submit"], .ast-button,
.wp-block-button__link, .submit, #submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  padding: 0 32px !important;
  height: 56px !important;
  border-radius: 0 !important;
  background: #8387C3 !important;
  color: #080808 !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.25s, transform 0.15s, box-shadow 0.25s !important;
  white-space: nowrap !important;
}

button:hover, .button:hover, input[type="submit"]:hover,
.wp-block-button__link:hover, .submit:hover {
  background: #A0A3D6 !important;
  box-shadow: 0 0 28px rgba(131, 135, 195, 0.25) !important;
}

button:active { transform: scale(0.97) !important; }

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #F8FAFC !important;
  border: 2px solid rgba(131, 135, 195, 0.28) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: #8387C3 !important;
  color: #8387C3 !important;
  background: transparent !important;
}

/* =============================================
   PAGINATION
   ============================================= */
.ast-pagination .page-numbers,
.navigation.pagination .page-numbers {
  color: #8387C3 !important;
  background: #0A1123 !important;
  border: 1px solid rgba(131, 135, 195, 0.18) !important;
  border-radius: 0 !important;
  padding: 0.5rem 1rem !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-weight: 700 !important;
  transition: all 0.2s !important;
}

.ast-pagination .page-numbers:hover,
.navigation.pagination .page-numbers:hover {
  border-color: #8387C3 !important;
  color: #F8FAFC !important;
}

.ast-pagination .page-numbers.current,
.navigation.pagination .current {
  background: #8387C3 !important;
  color: #080808 !important;
  border-color: #8387C3 !important;
}

/* =============================================
   FOOTER
   ============================================= */
.site-footer, .ast-small-footer, footer.ast-footer-styling {
  background: #080808 !important;
  border-top: 1px solid rgba(131, 135, 195, 0.08) !important;
  padding: 40px 0 !important;
  color: #6B6F7A !important;
}

.site-footer a, .ast-small-footer a {
  color: #6B6F7A !important;
  font-size: 0.875rem !important;
  transition: color 0.2s !important;
}
.site-footer a:hover, .ast-small-footer a:hover {
  color: #F8FAFC !important;
}

.ast-small-footer-section { padding: 0 !important; }

/* =============================================
   MISC
   ============================================= */
/* Remove admin bar */
#wpadminbar { display: none !important; }

/* Selection */
::selection {
  background: rgba(131, 135, 195, 0.3) !important;
  color: #F8FAFC !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0A1123; }
::-webkit-scrollbar-thumb { background: #3A3E6C; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #8387C3; }

/* Astra fixes */
.ast-separate-container {
  background: #080808 !important;
}

.ast-separate-container .ast-article-post {
  background: #0A1123 !important;
  border: 1px solid rgba(131, 135, 195, 0.18) !important;
  border-radius: 16px !important;
}

/* Responsive */
@media (max-width: 767px) {
  .ast-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .ast-primary-header-bar {
    width: calc(100% - 36px) !important;
    height: 64px !important;
  }
  #primary { padding-top: 100px !important; }
  article.post, article.ast-article-post {
    padding: 24px !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}
