/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/
Description: Astra Child Theme
Version: 1.0.0
*/

/* =========================================================
   InfluencerDir - Extracted CSS
========================================================= */

:root{
  --bg:#F7F8FC;
  --white:#ffffff;
  --dark:#111827;
  --primary:#6C63FF;
  --secondary:#8B5CF6;
  --border:#E5E7EB;
  --border-soft:#EEF0F6;
  --muted:#6B7280;
  --light:#F8FAFC;
}

/* RESET & GLOBAL BACKGROUND FIX (Overriding Astra White) */
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body, #page, .site-content, #content { 
    font-family: Inter, sans-serif; 
    background-color: var(--bg) !important; 
    color: var(--dark); 
    overflow-x:hidden; 
}

img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
button, input, textarea, select{ font-family:inherit; outline:none; }

/* CONTAINER ALIGNMENT FIX */
.imd-container{ 
    width:100% !important; 
    max-width:1280px !important; 
    margin:0 auto !important; 
    padding-left:0 !important; 
    padding-right:0 !important; 
}

/* =========================================================
   HEADER
========================================================= */
.imd-header{ position:sticky; top:0; z-index:999; background:#fff; border-bottom:1px solid var(--border); }
.imd-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:20px 0; }
.imd-logo-wrap{ display:flex; align-items:center; gap:14px; }
.imd-logo-icon{ width:44px; height:44px; border-radius:18px; background:linear-gradient(135deg,var(--primary),var(--secondary)); }
.imd-logo-wrap h2{ font-size:22px; font-weight:800; margin:0; }
.imd-logo-wrap p{ font-size:14px; color:#9CA3AF; margin:0; }
.imd-nav{ display:flex; align-items:center; gap:32px; font-size:15px; color:#6B7280; font-weight:500; }
.imd-btn-dark{ display:inline-flex; align-items:center; justify-content:center; padding:14px 24px; border-radius:18px; background:var(--dark); color:#fff; font-weight:600; transition:.3s; border:none; cursor:pointer;}
.imd-btn-dark:hover{ transform:translateY(-2px); background:var(--primary) !important; box-shadow:0 10px 20px rgba(108,99,255,.2); }

.imd-mobile-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 10px; }
.imd-mobile-toggle span { width: 25px; height: 3px; background: var(--dark); border-radius: 5px; }
.imd-mobile-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; padding: 20px; flex-direction: column; gap: 15px; box-shadow: 0 10px 20px rgba(0,0,0,0.1); z-index: 999; }
.imd-mobile-menu.active { display: flex; }

/* =========================================================
   HERO (Gap: 96px, BG: #F7F8FC)
========================================================= */
.imd-hero{ padding:96px 0 !important; background-color: var(--bg) !important; }
.imd-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.imd-badge{ display:inline-flex; align-items:center; padding:12px 18px; border-radius:999px; border:1px solid var(--border); background:#fff; color:var(--primary); font-size:14px; font-weight:600; margin-bottom:28px; }
.imd-hero h1{ font-size:76px; line-height:1.05; font-weight:900; margin-bottom:28px; letter-spacing:-2px; }
.imd-hero h1 span{ display:block; color:var(--primary); }
.imd-hero-text{ max-width:600px; font-size:20px; line-height:1.8; color:var(--muted); margin-bottom:40px; }
.imd-hero-buttons{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:30px; }
.imd-btn-light{ display:inline-flex; align-items:center; justify-content:center; padding:14px 24px; border-radius:18px; border:1px solid var(--border); background:#fff; font-weight:600; transition:.3s; color:var(--dark); }
.imd-btn-light:hover{ background:var(--dark); color:#fff; }

/* FIX: STATS WITH BOTTOM LINE */
.imd-stats{ 
    display:grid; 
    grid-template-columns:repeat(3,1fr); 
    gap:24px; 
    margin-top:40px; 
    padding-bottom:24px; 
    border-bottom:2px solid var(--dark); /* THICK LINE UNDER STARS */
    max-width:520px; 
}
.imd-stats h3{ font-size:38px; font-weight:900; margin-bottom:8px; }
.imd-stats p{ color:#9CA3AF; font-size:14px; margin:0; }

/* FIX: HERO IMAGE (24px White Border) */
.imd-hero-card{ padding:0; border:none; background:transparent; box-shadow:0 20px 40px rgba(108,99,255,.15); border-radius:48px; }
.imd-hero-gradient{ 
    min-height:620px; 
    border-radius:48px; 
    padding:40px; 
    display:flex; 
    flex-direction:column; 
    justify-content:space-between; 
    color:#fff; 
    background:linear-gradient(to bottom, rgba(108, 99, 255, 0.35) 0%, rgba(67, 56, 202, 0.95) 100%), url('https://images.unsplash.com/photo-1524504388940-b1c1722653e1?q=80&w=800&auto=format&fit=crop') center/cover;
    border: 24px solid #ffffff; /* 24PX BORDER ADDED */
}
.imd-verified{ display:inline-flex; padding:10px 18px; border-radius:999px; background:rgba(255,255,255,.25); color:#fff; backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.4); font-size:14px; font-weight:600; }
.imd-hero-gradient h3{ font-size:52px; font-weight:900; margin-bottom:14px; color:#fff !important; text-shadow:0 4px 15px rgba(0,0,0,.3); }
.imd-hero-gradient p{ font-size:20px; margin-bottom:24px; opacity:0.95; color:#fff !important; }
.imd-tags{ display:flex; gap:12px; flex-wrap:wrap; }
.imd-tags span{ background:rgba(0,0,0,.4); color:#fff; backdrop-filter:blur(8px); padding:12px 18px; border-radius:14px; font-size:14px; border:1px solid rgba(255,255,255,.1); }

/* =========================================================
   SEARCH (Gap: 96px, BG: #F7F8FC)
========================================================= */
.imd-search-section{ padding-bottom:96px !important; background-color: var(--bg) !important; }
.imd-search-box{ background:#fff; border-radius:40px; border:1px solid var(--border-soft); padding:50px; box-shadow:0 8px 30px rgba(0,0,0,.04); }
.imd-section-head p{ color:var(--primary); font-weight:700; margin-bottom:14px; }
.imd-section-head h2{ font-size:54px; font-weight:900; margin-bottom:18px; line-height:1.1; }
.imd-section-head span{ display:block; font-size:18px; color:#6B7280; max-width:700px; }
.imd-search-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:18px; margin-top:42px; }
.imd-search-grid input, .imd-search-grid select, .imd-search-grid button{ height:58px; border-radius:18px; border:1px solid var(--border); background:var(--light); padding:0 18px; font-size:15px; }
.imd-search-grid button{ background:var(--dark); color:#fff; font-weight:600; cursor:pointer; border:none; transition:.3s; }
.imd-search-grid button:hover{ background:var(--primary); transform:translateY(-3px); box-shadow:0 10px 20px rgba(108,99,255,.2); }

/* =========================================================
   PLATFORM CREATORS (Gap: 96px, BG: #F7F8FC)
========================================================= */
.imd-platform-section{ padding-bottom:96px !important; background-color: var(--bg) !important; }
.imd-platform-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:30px; }
.imd-platform-head p{ color:var(--primary); font-weight:700; margin-bottom:8px; }
.imd-platform-head h2{ font-size:42px; font-weight:900; color:var(--dark); margin:0; }
.imd-creators-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

.imd-creator-card{ background:#fff; border-radius:30px; overflow:hidden; border:1px solid var(--border-soft); transition:.35s; display:flex; flex-direction:column; height:100%; }
.imd-creator-card:hover{ transform:translateY(-8px); box-shadow:0 25px 50px rgba(0,0,0,.12); }
.imd-card-image{ position:relative; height:250px; flex-shrink:0; }
.imd-card-image img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.imd-card-badge{ position:absolute; top:16px; left:16px; padding:6px 14px; border-radius:20px; background:#fff; color:#111; font-size:12px; font-weight:700; z-index:2; }
.imd-card-body{ padding:24px; display:flex; flex-direction:column; flex-grow:1; }
.imd-card-header{ margin-bottom:20px; }
.imd-card-header h3{ font-size:22px; font-weight:800; margin:0 0 4px 0; color:var(--dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imd-card-header p{ font-size:14px; margin:0; color:var(--muted); }
.imd-card-info{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:20px; }
.imd-card-info-left{ min-width:0; }
.imd-card-info strong{ font-size:15px; display:block; margin-bottom:2px; font-weight:800; color:var(--dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imd-card-info span{ font-size:12px; color:#9CA3AF; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imd-rating{ background:#F3F4F6; padding:6px 12px; border-radius:12px; font-weight:800; color:#111827; font-size:14px; flex-shrink:0; }
.imd-small-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:24px; }
.imd-small-tags span{ padding:6px 12px; border-radius:10px; background:#F3F4F6; color:#374151; font-size:12px; font-weight:600; }
.imd-card-body button{ width:100%; padding:14px; border:none; border-radius:14px; background:var(--dark); color:#fff; font-size:15px; font-weight:700; cursor:pointer; transition:.3s; margin-top:auto; }
.imd-card-body button:hover{ background:var(--primary); transform:translateY(-3px); box-shadow:0 10px 20px rgba(108,99,255,.2); }
.center { text-align: center !important; }

/* =========================================================
   TRENDING (Left Aligned, Gap: 96px, BG: #F7F8FC)
========================================================= */
.imd-trending{ padding-bottom:96px !important; background-color: var(--bg) !important; }
.imd-trending .center { text-align: left !important; }
.imd-trending .center p, .imd-trending .center h2 { text-align: left !important; margin-left: 0 !important; }

.imd-trending-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:50px; }

.imd-trend-card{ background:#fff; border-radius:30px; overflow:hidden; border:1px solid var(--border-soft); display:flex; flex-direction:column; height:100%; transition:all .3s ease; }
.imd-trend-card:hover{ transform:translateY(-8px); box-shadow:0 25px 50px rgba(0,0,0,.12); }
.imd-trend-gradient{ position:relative; height:250px; flex-shrink:0; }
.imd-trend-gradient img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:1; }
.imd-trend-gradient::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,0.15); }
.imd-trend-tags{ position:absolute; top:16px; left:16px; display:flex; gap:8px; z-index:2; }
.imd-trend-tags span{ background:rgba(255,255,255,.25); color:#fff; padding:6px 12px; border-radius:20px; font-size:12px; font-weight:700; backdrop-filter:blur(10px); }
.imd-trend-content{ padding:24px; display:flex; flex-direction:column; flex-grow:1; }
.imd-trend-content h3{ font-size:22px; font-weight:800; margin:0 0 4px 0; color:var(--dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imd-trend-content p{ font-size:14px; margin:0; color:var(--muted); }
.imd-price-row{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:auto; padding-top:20px; border-top:1px solid var(--border-soft); }
.imd-price-left{ min-width:0; }
.imd-price-left span{ font-size:12px; color:#9CA3AF; display:block; line-height:1; }
.imd-price-left strong{ font-size:18px; font-weight:900; display:block; margin-top:4px; color:var(--dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imd-price-row button{ padding:10px 16px; border:none; border-radius:12px; background:var(--dark); color:#fff; font-size:14px; font-weight:700; cursor:pointer; flex-shrink:0; white-space:nowrap; transition:.3s; }
.imd-price-row button:hover{ background:var(--primary); transform:translateY(-3px); box-shadow:0 10px 20px rgba(108,99,255,.2); }

/* =========================================================
   FIX: CATEGORIES FULL WIDTH STRETCH (Gap: 96px, BG: WHITE)
========================================================= */
.imd-categories{ 
    padding:96px 0 !important; 
    background-color:#ffffff !important; 
    border-top:1px solid var(--border-soft); 
    border-bottom:1px solid var(--border-soft); 
    
    /* STRETCH FULL WIDTH TRICK */
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.imd-category-grid{ margin-top:50px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

.imd-category-card {
  background: #F8FAFC;
  border: 1px solid #EEF0F6;
  border-radius: 30px;
  padding: 32px;
  transition: .35s ease;
  position: relative;
  overflow: hidden;
  text-align: left !important;
}

.imd-category-card:hover {
  background: #111827;
  transform: translateY(-8px);
  box-shadow: 0 25px 50px rgba(0,0,0,.08);
}

.imd-category-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(108,99,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 24px;
  transition: .35s ease;
}

.imd-category-card:hover .imd-category-icon {
  background: rgba(255,255,255,.12);
  transform: scale(1.08);
}

.imd-category-card h3 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  margin-bottom: 14px;
  color: #111827;
  transition: .35s ease;
}

.imd-category-card:hover h3 {
  color: #fff;
}

.imd-category-card p {
  color: #6B7280;
  line-height: 1.7;
  margin: 0;
  font-size: 14px;
  transition: .35s ease;
}

.imd-category-card:hover p {
  color: rgba(255,255,255,.72);
}

/* =========================================================
   AFFILIATE (FORM/CAMPAIGN) (Gap: 96px, Revert to #F7F8FC)
========================================================= */
.imd-affiliate{ padding:96px 0 !important; background-color: var(--bg) !important; }
.imd-affiliate-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; background:linear-gradient(135deg,#EEF2FF,#ECFEFF); border:1px solid var(--border); border-radius:40px; padding:60px; }
.imd-affiliate-wrap h2{ font-size:56px; line-height:1.1; margin:20px 0; font-weight:900; }
.imd-affiliate-wrap span{ color:#6B7280; font-size:18px; line-height:1.8; }
.imd-affiliate-form{ background:#fff; border-radius:32px; border:1px solid var(--border); padding:36px; box-shadow:0 8px 30px rgba(0,0,0,.04); }
.imd-affiliate-form input, .imd-affiliate-form textarea{ width:100%; border:1px solid var(--border); background:var(--light); border-radius:18px; padding:18px; margin-bottom:18px; }
.imd-affiliate-form textarea{ min-height:140px; resize:none; }
.imd-affiliate-form button{ width:100%; height:58px; border:none; border-radius:18px; background:var(--dark); color:#fff; font-weight:700; cursor:pointer; transition:.3s; }
.imd-affiliate-form button:hover{ background:var(--primary); transform:translateY(-3px); box-shadow:0 10px 20px rgba(108,99,255,.2); }

/* =========================================================
   CTA & FOOTER (Gap: 96px, BG: #F7F8FC)
========================================================= */
.imd-cta{ padding-bottom:96px !important; background-color: var(--bg) !important; }
.imd-cta-box{ position:relative; overflow:hidden; text-align:center; color:#fff; padding:80px 50px; border-radius:40px; background:linear-gradient(135deg,#6C63FF,#8B5CF6,#14B8A6); }
.imd-cta-box h2{ font-size:58px; line-height:1.1; max-width:900px; margin:20px auto; font-weight:900; }
.imd-cta-box span{ display:block; max-width:700px; margin:auto; font-size:18px; line-height:1.8; color:rgba(255,255,255,.8); }
.center-btns{ display:flex; justify-content:center; gap:16px; margin-top:40px; }
.imd-btn-white{ background:#fff; color:var(--dark); padding:15px 28px; border-radius:18px; font-weight:700; transition:.3s; }
.imd-btn-outline{ padding:15px 28px; border-radius:18px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; font-weight:700; transition:.3s; }

.imd-footer{ background:#fff !important; border-top:1px solid var(--border); }
.imd-footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding:90px 0 60px; }
.imd-footer h3{ font-size:32px; margin-bottom:18px; font-weight:900; }
.imd-footer p{ color:#6B7280; line-height:1.8; }
.imd-footer h4{ margin-bottom:22px; font-size:20px; }
.imd-footer a{ display:block; margin-bottom:14px; color:#6B7280; }
.imd-footer-bottom{ padding:28px 0; border-top:1px solid var(--border-soft); color:#9CA3AF; font-size:14px; text-align:center; }

/* Astra Hide rules */
.ast-main-header-wrap, .site-footer:not(.imd-footer), .ast-footer-builder-1 .footer-bar, .ast-footer-builder-1 .site-below-footer-wrap, .ast-footer-builder-1 .site-above-footer-wrap, #secondary.widget-area, .ast-footer-builder-1 .ast-builder-footer-grid, .footer-adv, .ast-footer-overlay { display: none !important; }
.site-footer { border: none !important; background: transparent !important; }
footer.imd-footer { display: block !important; visibility: visible !important; height: auto !important; opacity: 1 !important; margin-top: 0 !important; }
.page-id-all-listings .site-footer:not(.imd-footer) { display: none !important; }

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1200px){
  .imd-creators-grid, .imd-trending-grid{ grid-template-columns:repeat(3,1fr); }
  .imd-category-grid{ grid-template-columns:repeat(2,1fr); }
  .imd-hero h1{ font-size:64px; }
}

@media(max-width:991px){
  .imd-nav{ display:none; }
  .imd-hero-grid, .imd-affiliate-wrap{ grid-template-columns:1fr; }
  .imd-search-grid{ grid-template-columns:1fr; }
  .imd-creators-grid, .imd-trending-grid{ grid-template-columns:repeat(2,1fr); }
  
  .imd-footer-grid{ grid-template-columns:1fr 1fr; text-align: center; gap: 40px 20px; padding: 60px 0 30px; }
  .imd-footer-grid > div:first-child{ grid-column: span 2; border-bottom: 1px solid var(--border-soft); padding-bottom: 30px; }
  .imd-footer-grid > div:first-child p{ max-width: 400px; margin: 0 auto; }
  .imd-footer-grid > div:last-child{ grid-column: span 2; border-top: 1px solid var(--border-soft); padding-top: 30px; }
  
  .imd-stats{ max-width:100%; justify-content: center; }
  .imd-stats > div { text-align: center; }

  .imd-hero h1, .imd-section-head h2, .imd-platform-head h2, .imd-affiliate-wrap h2, .imd-cta-box h2{ font-size:48px; }
}

@media(max-width:767px){
  .imd-hero{ padding:80px 0 !important; }
  .imd-creators-grid, .imd-trending-grid, .imd-category-grid{ grid-template-columns:1fr; }
  
  .imd-container { padding-left: 20px !important; padding-right: 20px !important; } /* Mobile Edge Fix */

  .imd-footer-grid{ grid-template-columns:1fr 1fr; gap:30px 15px; padding:50px 0 20px; }
  .imd-footer-grid > div{ padding:0; margin:0; border:none; }
  
  .imd-footer-grid > div:first-child{ grid-column: span 2; text-align: center; border-bottom: 1px solid var(--border-soft); padding-bottom: 30px; margin-bottom: 10px; }
  .imd-footer-grid > div:first-child p{ max-width: 300px; margin: 0 auto; }
  
  .imd-footer h4{ font-size: 18px; margin-bottom: 16px; }
  .imd-footer a{ font-size: 14px; margin-bottom: 12px; }

  .imd-hero h1, .imd-section-head h2, .imd-platform-head h2, .imd-affiliate-wrap h2, .imd-cta-box h2{ font-size:38px; }
  .imd-search-box, .imd-affiliate-wrap, .imd-cta-box{ padding:32px 24px; }
  .imd-hero-gradient{ min-height:520px; }
  .imd-hero-buttons{ flex-direction:column; }
  
  .imd-stats{ grid-template-columns:1fr 1fr; gap:20px; padding-top:32px; border-top:none; border-bottom:1px solid var(--dark); padding-bottom: 20px; }
  .imd-stats div:nth-child(3){ grid-column:span 2; text-align:center; padding-top:20px; border-top:1px dashed var(--border-soft); margin-top:8px; }

  .imd-mobile-toggle { display: flex !important; }
  .imd-header-btns .imd-btn-dark { display: none; }
}

/* Fix My Account Button Text Color on All Inner Pages */
.imd-btn-dark, .imd-btn-dark a, li.imd-btn-dark > a { color: #ffffff !important; }
.imd-btn-dark:hover, .imd-btn-dark a:hover, li.imd-btn-dark > a:hover { color: #ffffff !important; opacity: 0.9; }
