/*
Theme Name: Listify Child
Template: listify
*/

/* === NEM DESIGN SYSTEM v3 === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --nem-dark: #080d1a;
  --nem-navy: #0f1f3d;
  --nem-navy-light: #1a3260;
  --nem-cream: #faf8f4;
  --nem-white: #ffffff;
  --nem-gold: #c8a84b;
  --nem-gold-light: #f0d98a;
  --nem-blue-glow: #2563eb;
  --nem-purple-glow: #7c3aed;
  --nem-text: #1a1a2e;
  --nem-text-muted: #6b7280;
  --nem-border: #e8e4dc;
  --nem-shadow: 0 2px 16px rgba(15,31,61,0.07);
  --nem-shadow-hover: 0 8px 40px rgba(15,31,61,0.14);
  --nem-radius: 14px;
  --nem-radius-sm: 8px;
}

/* === BASE === */
body {
  background-color: var(--nem-cream) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  color: var(--nem-text) !important;
  -webkit-font-smoothing: antialiased !important;
}

/* === HIDE SIDEBAR ON HOMEPAGE === */
.home #secondary,
.home .widget-area,
.home aside {
  display: none !important;
}
.home #primary,
.home .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
}
.home .site-content > .container,
.home .site-content > .wrap {
  max-width: 100% !important;
  padding: 0 !important;
}

/* === NAVIGATION === */
.site-header {
  background: var(--nem-dark) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}
.site-title a,
.site-branding .site-title a {
  color: var(--nem-white) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
}
.main-navigation a {
  color: rgba(255,255,255,0.7) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.02em !important;
  transition: color 0.2s !important;
}
.main-navigation a:hover { color: var(--nem-white) !important; }

/* Add Listing CTA in nav */
.main-navigation li:has(a[href*="add-listing"]) a {
  background: var(--nem-gold) !important;
  color: var(--nem-dark) !important;
  border-radius: 6px !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* === HERO === */
.page-header,
.hero,
.listify-hero {
  background: var(--nem-dark) !important;
  min-height: 420px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 24px !important;
}

/* Gradient orb accent (April Ford style) */
.page-header::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(37,99,235,0.25) 0%, rgba(124,58,237,0.15) 50%, transparent 70%);
  border-radius: 50%;
  top: -100px;
  right: -100px;
  z-index: 0;
  animation: orb-float 8s ease-in-out infinite;
}
.page-header::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(200,168,75,0.2) 0%, rgba(37,99,235,0.1) 50%, transparent 70%);
  border-radius: 50%;
  bottom: -80px;
  left: -80px;
  z-index: 0;
}
@keyframes orb-float {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-20px) scale(1.05); }
}

.page-header .entry-title,
.page-header h1,
.hero h1 {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(2.2rem, 6vw, 4rem) !important;
  font-weight: 900 !important;
  color: var(--nem-white) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* === HOMEPAGE CONTENT WRAPPER === */
.nem-homepage-listings {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 64px 32px !important;
}
.nem-homepage-listings h2 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: var(--nem-text-muted) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 24px !important;
  margin-top: 48px !important;
}

/* First h2 heading */
.nem-homepage-listings > h2:first-child { margin-top: 0 !important; }

/* === CATEGORY GRID === */
.geodir-category-list-view {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}
.geodir-category-list-view li {
  background: var(--nem-white) !important;
  border: 1px solid var(--nem-border) !important;
  border-radius: var(--nem-radius) !important;
  padding: 20px 16px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-align: center !important;
}
.geodir-category-list-view li:hover {
  border-color: var(--nem-navy) !important;
  box-shadow: var(--nem-shadow-hover) !important;
  transform: translateY(-2px) !important;
}
.geodir-category-list-view li a {
  color: var(--nem-navy) !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* === LISTING CARDS === */
.geodir-post {
  background: var(--nem-white) !important;
  border: 1px solid var(--nem-border) !important;
  border-radius: var(--nem-radius) !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--nem-shadow) !important;
}
.geodir-post:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--nem-shadow-hover) !important;
  border-color: rgba(15,31,61,0.15) !important;
}
.geodir-post-title a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: var(--nem-navy) !important;
  text-decoration: none !important;
}
.geodir-post-title a:hover { color: var(--nem-gold) !important; }
.geodir-post-meta,
.geodir-post-address {
  font-size: 0.78rem !important;
  color: var(--nem-text-muted) !important;
  font-family: 'Inter', sans-serif !important;
}

/* === FOOTER === */
.site-footer,
#colophon {
  background: var(--nem-dark) !important;
  border-top: 2px solid var(--nem-gold) !important;
  color: rgba(255,255,255,0.7) !important;
}
.site-footer p,
.site-footer .textwidget {
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.6) !important;
  font-family: 'Inter', sans-serif !important;
}
.site-footer strong,
.site-footer .widget-title h3 {
  color: var(--nem-white) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-family: 'Inter', sans-serif !important;
}
.site-footer a { color: rgba(255,255,255,0.55) !important; text-decoration: none !important; font-size: 0.85rem !important; }
.site-footer a:hover { color: var(--nem-gold-light) !important; }
.site-info {
  background: rgba(0,0,0,0.3) !important;
  color: rgba(255,255,255,0.3) !important;
  font-size: 0.72rem !important;
  font-family: 'Inter', sans-serif !important;
  padding: 14px 24px !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
}

/* === HIDE SIDEBAR BLOG WIDGETS === */
#secondary .widget_recent_entries,
#secondary .widget_recent_comments,
#secondary .widget_search {
  display: none !important;
}

/* === FULL-WIDTH HOMEPAGE BREAKOUT === */
.home .content-box-inner,
.home .content-box,
.home .entry-content,
.home .post-content,
.home article.hentry {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border: none !important;
}
.home .site-content .wrap,
.home .site-content .container {
  max-width: 100% !important;
  padding: 0 !important;
}
.home .page-header {
  margin-bottom: 0 !important;
}

/* === HOMEPAGE FULL-WIDTH GRID FIX === */
.home .site-main,
.home .site-main.col-md-8,
.home .site-main.col-sm-7,
.home .site-main[class*='col-'] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  -ms-flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.home .content-area,
.home .row.content-area {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.home .content-box-wrapper,
.home article.content-box {
  max-width: 100% !important;
  width: 100% !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
