/*
Theme Name: DarkHoster
Theme URI: https://darkhoster.com
Description: DarkHoster custom GeneratePress child theme.
Author: DarkHoster
Author URI: https://darkhoster.com
Template: generatepress
Version: 1.0.0
Text Domain: darkhoster
*/

/* 
 * DarkHoster GeneratePress Child Theme Master Stylesheet
 * Authority CSS resets and layout integrity protection
 */

/* 1. Global Reset against GP & WordPress Theme Anchor & Underline Overrides */
.dh-site-header a,
.dh-site-header a:link,
.dh-site-header a:visited,
.dh-site-header a:hover,
.dh-site-header a:active,
.dh-site-header a:focus,
.dh-dropdown-menu a,
.dh-dropdown-menu a:link,
.dh-dropdown-menu a:visited,
.dh-dropdown-menu a:hover,
.dh-dropdown-menu a:active,
.dh-dropdown-menu a:focus,
.dh-dropdown-rich-link,
.dh-dropdown-rich-link:link,
.dh-dropdown-rich-link:visited,
.dh-dropdown-rich-link:hover,
.dh-dropdown-rich-link:active,
.dh-dropdown-rich-link:focus,
.dh-mobile-drawer a,
.dh-mobile-drawer a:link,
.dh-mobile-drawer a:visited,
.dh-mobile-drawer a:hover,
.dh-mobile-drawer a:active,
.dh-mobile-drawer a:focus {
  text-decoration: none !important;
  box-shadow: none !important;
  border-bottom: none !important;
  outline: none !important;
}

/* 2. Navigation Header Root */
.dh-site-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 76px !important;
  background-color: rgba(7, 10, 15, 0.9) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  z-index: 9999 !important;
}

.dh-header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* 3. Site Branding */
.dh-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.dh-brand-text-accent {
  color: #38bdf8 !important;
}

/* 4. Desktop Nav & Dropdown Menus */
.dh-nav-list {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dh-nav-item {
  position: relative !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dh-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: color 0.15s ease, background-color 0.15s ease !important;
  text-decoration: none !important;
}

.dh-nav-link:hover,
.dh-nav-link:focus,
.dh-nav-item.is-open > .dh-nav-link {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
}

.dh-dropdown-chevron {
  width: 14px !important;
  height: 14px !important;
  transition: transform 0.2s ease !important;
  color: #64748b !important;
  display: inline-flex !important;
}

.dh-nav-item.is-open .dh-dropdown-chevron,
.dh-nav-item:hover .dh-dropdown-chevron {
  transform: rotate(180deg) !important;
  color: #38bdf8 !important;
}

/* 5. Dropdown Cards & Floating Menus */
.dh-dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 300px !important;
  background-color: #0b0f19 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px !important;
  padding: 8px !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  list-style: none !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(6px) !important;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease !important;
  z-index: 1000 !important;
}

.dh-dropdown-menu.dh-dropdown-wide {
  min-width: 340px !important;
}

.dh-dropdown-menu.dh-dropdown-right {
  left: auto !important;
  right: 0 !important;
}

/* Hover bridge */
.dh-dropdown-menu::before {
  content: '' !important;
  position: absolute !important;
  top: -12px !important;
  left: 0 !important;
  right: 0 !important;
  height: 14px !important;
}

.dh-nav-item.is-open .dh-dropdown-menu,
.dh-nav-item:hover .dh-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(4px) !important;
}

.dh-dropdown-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* 6. Rich Dropdown Link Item (Flex Row) */
.dh-dropdown-rich-link {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  background-color: transparent !important;
  transition: background-color 0.15s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.dh-dropdown-rich-link:hover,
.dh-dropdown-rich-link:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
  text-decoration: none !important;
}

.dh-dropdown-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  color: #38bdf8 !important;
}

.dh-dropdown-icon.dh-text-secondary {
  color: #94a3b8 !important;
}

.dh-dropdown-icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  fill: none !important;
}

.dh-dropdown-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  text-align: left !important;
  min-width: 0 !important;
  gap: 2px !important;
}

.dh-dropdown-title {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  letter-spacing: -0.01em !important;
}

.dh-dropdown-desc {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #94a3b8 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.dh-dropdown-rich-link:hover .dh-dropdown-title {
  color: #ffffff !important;
  text-decoration: none !important;
}

.dh-dropdown-rich-link:hover .dh-dropdown-desc {
  color: #cbd5e1 !important;
  text-decoration: none !important;
}

/* 7. Badges inside Dropdowns */
.dh-dropdown-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  background-color: rgba(16, 185, 129, 0.18) !important;
  color: #34d399 !important;
  border: 1px solid rgba(16, 185, 129, 0.35) !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.dh-dropdown-price-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #38bdf8 !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.dh-dropdown-divider {
  height: 1px !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  margin: 6px 4px !important;
  list-style: none !important;
  padding: 0 !important;
}



