/*
Theme Name: Immo Actu Design
Theme URI: https://immoactusen.com/
Description: Child theme pour Immo Actu Sénégal — design moderne tech/éditorial. Compatible Newspaper Theme par tagDiv. VERSION 2 (renforcée).
Author: Immo Actu Sénégal
Author URI: https://immoactusen.com/
Template: Newspaper
Version: 2.0.0
Text Domain: immoactu-design
*/

/* ========================================
   IMMO ACTU — DESIGN SYSTEM v2
   Sélecteurs ultra-spécifiques pour battre
   les styles inline de tagDiv Composer
   ======================================== */

:root {
  --ia-ink: #0A1628;
  --ia-ink-soft: #1B2A41;
  --ia-blue: #0B5FFF;
  --ia-blue-deep: #003BA6;
  --ia-blue-soft: #E8F0FF;
  --ia-gold: #C8A96A;
  --ia-paper: #FAFBFC;
  --ia-line: #E5E9F0;
  --ia-muted: #5A6B82;
  --ia-red: #D63A2B;
}

/* ============ TYPOGRAPHIE GLOBALE ============ */
html body,
html body .tdc-row,
html body .td-main-content-wrap,
html body .td-page-wrap,
html body .td-container,
html body p,
html body span,
html body div,
html body .tdb-block-inner {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;
}

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .entry-title,
html body .entry-title a,
html body .tdb-title-text,
html body .td-module-title,
html body .td-module-title a,
html body .td-block-title,
html body .tdb-block-title,
html body .td-pb-title {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--ia-ink) !important;
}

html body .td-post-date,
html body .td-post-author-name,
html body .entry-date,
html body time,
html body .tdb-author-date,
html body .td-module-date {
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  color: var(--ia-muted) !important;
  text-transform: uppercase !important;
}

/* ============ COULEURS LIENS ============ */
html body a,
html body a:visited {
  color: var(--ia-ink);
  transition: color 0.2s;
}
html body a:hover,
html body a:focus {
  color: var(--ia-blue) !important;
}

/* ============ TOP MENU ============ */
html body .td-header-top-menu-full,
html body .td-header-top-menu,
html body .td-header-bg .td-header-top-menu-full,
html body .tdb-header-top {
  background-color: var(--ia-ink) !important;
  background: var(--ia-ink) !important;
  border-bottom: none !important;
}
html body .td-header-top-menu-full *,
html body .td-header-top-menu *,
html body .td-header-top-menu .top-header-menu li a {
  color: rgba(255,255,255,0.7) !important;
}
html body .td-header-top-menu-full a:hover,
html body .td-header-top-menu .top-header-menu li a:hover {
  color: var(--ia-gold) !important;
}

/* ============ HEADER MAIN ============ */
html body .td-header-wrap,
html body .td-header-style-1 .td-header-main-menu,
html body .td-header-style-5 .td-header-main-menu,
html body .td-header-menu-wrap-full,
html body .td-header-menu-wrap {
  background-color: #fff !important;
  background: #fff !important;
  border-bottom: 2px solid var(--ia-ink) !important;
}

/* Logo */
html body .td-header-logo-wrap img,
html body .td-logo-wrap img,
html body .tdb-header-logo img {
  max-height: 56px !important;
  width: auto !important;
}

/* ============ MAIN MENU (très spécifique) ============ */
html body .sf-menu > li > a,
html body .td-main-menu .sf-menu > li > a,
html body .td-header-menu-wrap .sf-menu > li > a,
html body .td-affix .sf-menu > li > a {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--ia-ink) !important;
  padding: 18px 22px !important;
  border-right: 1px solid var(--ia-line);
}

html body .sf-menu > li > a:hover,
html body .sf-menu > li:hover > a {
  background-color: var(--ia-blue-soft) !important;
  color: var(--ia-blue-deep) !important;
}

html body .sf-menu > .current-menu-item > a,
html body .sf-menu > .current_page_item > a,
html body .sf-menu > .current-menu-ancestor > a {
  background-color: var(--ia-ink) !important;
  color: #fff !important;
}

/* ============ CATÉGORIES (badges) ============ */
html body .td-post-category,
html body .entry-category a,
html body .td-module-meta-info .td-post-category,
html body a.td-post-category,
html body .tdb-entry-category {
  background-color: var(--ia-blue) !important;
  background: var(--ia-blue) !important;
  color: #fff !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  border-radius: 0 !important;
  border: none !important;
}
html body .td-post-category:hover,
html body a.td-post-category:hover {
  background-color: var(--ia-blue-deep) !important;
  color: #fff !important;
}

/* ============ ARTICLE CARDS / MODULES ============ */
html body .td_module_wrap,
html body .td_module_flex,
html body .td-block-row {
  background: #fff !important;
}

html body .td_module_wrap .entry-title,
html body .td_module_flex .entry-title,
html body .td-module-title,
html body .td-module-title a,
html body .td-module-meta-info .entry-title a {
  font-family: 'Fraunces', serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: var(--ia-ink) !important;
}

html body .td_module_wrap .entry-title a:hover {
  color: var(--ia-blue) !important;
}

/* ============ SINGLE POST ============ */
html body .td-post-header .entry-title,
html body .td-post-title .entry-title,
html body .tdb-title-text,
html body article .entry-title {
  font-size: 44px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  font-family: 'Fraunces', serif !important;
  font-weight: 700 !important;
  color: var(--ia-ink) !important;
}

html body .td-post-content,
html body .tdb_single_content,
html body .td-post-content p,
html body .tdb_single_content p {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 19px !important;
  line-height: 1.7 !important;
  color: var(--ia-ink) !important;
}

html body .td-post-content p,
html body .tdb_single_content p {
  margin-bottom: 28px !important;
}

html body .td-post-content h2,
html body .tdb_single_content h2 {
  font-size: 30px !important;
  margin-top: 48px !important;
  margin-bottom: 20px !important;
  padding-left: 20px !important;
  border-left: 6px solid var(--ia-blue) !important;
  color: var(--ia-ink) !important;
}

html body .td-post-content h3,
html body .tdb_single_content h3 {
  font-size: 22px !important;
  margin-top: 32px !important;
  color: var(--ia-ink-soft) !important;
}

html body .td-post-content blockquote,
html body .tdb_single_content blockquote {
  border-left: 4px solid var(--ia-blue) !important;
  background-color: var(--ia-blue-soft) !important;
  background: var(--ia-blue-soft) !important;
  padding: 28px 32px !important;
  margin: 36px 0 !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 24px !important;
  line-height: 1.4 !important;
  color: var(--ia-ink) !important;
  border-radius: 0 !important;
}

html body .td-post-content a,
html body .tdb_single_content a {
  color: var(--ia-blue) !important;
  border-bottom: 1px solid var(--ia-blue) !important;
  text-decoration: none !important;
}
html body .td-post-content a:hover,
html body .tdb_single_content a:hover {
  color: var(--ia-blue-deep) !important;
  border-bottom-width: 2px !important;
}

/* Drop cap sur premier paragraphe */
html body .td-post-content > p:first-of-type::first-letter,
html body .tdb_single_content > p:first-of-type::first-letter {
  font-family: 'Fraunces', serif !important;
  font-weight: 700 !important;
  font-size: 72px !important;
  line-height: 0.85 !important;
  float: left !important;
  margin: 8px 12px 0 0 !important;
  color: var(--ia-blue) !important;
}

/* ============ BOUTONS ============ */
html body .wpb_button,
html body .td-pb-row .vc_btn3,
html body .td-subscribe-btn,
html body button[type="submit"],
html body input[type="submit"],
html body .td-search-btn {
  background-color: var(--ia-blue) !important;
  background: var(--ia-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  font-size: 13px !important;
  transition: background 0.2s !important;
  box-shadow: none !important;
}
html body .wpb_button:hover,
html body .td-pb-row .vc_btn3:hover,
html body button[type="submit"]:hover,
html body input[type="submit"]:hover {
  background-color: var(--ia-blue-deep) !important;
}

/* ============ INPUTS ============ */
html body input[type="text"],
html body input[type="email"],
html body input[type="search"],
html body input[type="url"],
html body textarea,
html body .td-search-input input[type="text"] {
  border: 1px solid var(--ia-line) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-family: 'Manrope', sans-serif !important;
  background: #fff !important;
}
html body input:focus,
html body textarea:focus {
  border-color: var(--ia-blue) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ============ FOOTER ============ */
html body .td-footer-wrap,
html body .td-sub-footer-container,
html body .td-footer-container,
html body footer.td-footer-wrap {
  background-color: var(--ia-ink) !important;
  background: var(--ia-ink) !important;
  color: rgba(255,255,255,0.7) !important;
}
html body .td-footer-wrap *,
html body .td-sub-footer-container *,
html body .td-footer-wrap p,
html body .td-footer-wrap span {
  color: rgba(255,255,255,0.7) !important;
}
html body .td-footer-wrap a,
html body .td-sub-footer-container a {
  color: rgba(255,255,255,0.7) !important;
}
html body .td-footer-wrap a:hover,
html body .td-sub-footer-container a:hover {
  color: var(--ia-gold) !important;
}
html body .td-footer-wrap h1,
html body .td-footer-wrap h2,
html body .td-footer-wrap h3,
html body .td-footer-wrap h4,
html body .td-footer-wrap .td-block-title,
html body .td-footer-wrap .td-pb-title {
  color: #fff !important;
  font-family: 'Fraunces', serif !important;
}

/* ============ TAGS ============ */
html body .td-post-source-tags a,
html body .td-tags a {
  background-color: #fff !important;
  background: #fff !important;
  border: 1px solid var(--ia-line) !important;
  color: var(--ia-ink) !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: capitalize !important;
  padding: 6px 14px !important;
  border-radius: 0 !important;
}
html body .td-post-source-tags a:hover,
html body .td-tags a:hover {
  background-color: var(--ia-ink) !important;
  color: #fff !important;
  border-color: var(--ia-ink) !important;
}

/* ============ SUPPRIMER LES PROMOS THEMEFOREST ============ */
html body .td-pb-row .td_block_advert,
html body .td-pb-row [class*="reclama"],
html body [class*="advert-buy"],
html body .td-block-title-wrap .td-pb-padding-side a[href*="themeforest"],
html body a[href*="themeforest"][target="_blank"] {
  display: none !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 768px) {
  html body .td-post-header .entry-title,
  html body .td-post-title .entry-title {
    font-size: 28px !important;
  }
  html body .td-post-content,
  html body .tdb_single_content {
    font-size: 17px !important;
  }
  html body .sf-menu > li > a {
    padding: 14px 16px !important;
    font-size: 12px !important;
  }
}
