/*
Theme Name: Makutano Mining 2026 design (Astra child)
Theme URI: https://preview.makutano.events
Template: astra
Author: Intégralité Consulting (Nami)
Author URI: https://integralite.co
Description: Child theme custom Astra pour preview.makutano.events. Applique la charte graphique Makutano Mining 2026 — palette ink-950/signal/gold/paper, typographies Bebas Neue / Anton / Playfair Display / Inter, design éditorial minimaliste avec sceau filigrane.
Version: 2.0
License: GPL-2.0+
Text Domain: makutano-mining-astra-child
*/

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bebas+Neue&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ============================================================
   PALETTE MAKUTANO MINING 2026
   ============================================================ */
:root {
  --makutano-ink-950: #070932;
  --makutano-ink-900: #0F1248;
  --makutano-ink-800: #171C5C;
  --makutano-ink-500: #1F2676;
  --makutano-ink-100: #D8DCED;
  --makutano-ink-50:  #EEF0FA;

  --makutano-signal:     #E03A2C;
  --makutano-signal-600: #C92E22;
  --makutano-signal-700: #A1241B;
  --makutano-signal-100: #FBD9D5;

  --makutano-gold:     #C26A3F;
  --makutano-gold-600: #9F5530;
  --makutano-gold-100: #F4D8C4;

  --makutano-paper:     #FAF8F2;
  --makutano-paper-100: #FFFCF5;
  --makutano-paper-200: #F2EFE6;
}

/* ============================================================
   BASELINE — BODY
   ============================================================ */
body,
.ast-container {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  color: var(--makutano-ink-950) !important;
  background-color: var(--makutano-paper) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body p,
body li,
body td,
body span:not([class*="elementor-icon"]):not([class*="ast-icon"]) {
  font-family: 'Inter', system-ui, sans-serif !important;
  color: var(--makutano-ink-950);
}

/* ============================================================
   HEADINGS — BEBAS NEUE / ANTON, uppercase, kerning off
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.ast-site-title,
.elementor-heading-title,
.ast-archive-title,
.entry-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
  font-family: 'Bebas Neue', 'Anton', 'Impact', sans-serif !important;
  letter-spacing: 0.01em !important;
  font-feature-settings: "kern" 0, "liga" 0 !important;
  font-variant-ligatures: none !important;
  text-transform: uppercase !important;
  color: var(--makutano-ink-950) !important;
  line-height: 0.95 !important;
  font-weight: 400;
}
h1, .elementor-widget-heading h1 { font-size: clamp(2.5rem, 6vw, 5rem) !important; }
h2, .elementor-widget-heading h2 { font-size: clamp(2rem, 4.5vw, 3.75rem) !important; }
h3, .elementor-widget-heading h3 { font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important; }
h4, .elementor-widget-heading h4 { font-size: clamp(1.5rem, 2.8vw, 2.25rem) !important; }
h5, .elementor-widget-heading h5 { font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important; }
h6, .elementor-widget-heading h6 { font-size: clamp(1.05rem, 1.8vw, 1.35rem) !important; }

/* ============================================================
   EYEBROW — Inter uppercase tracking-eyebrow signal
   ============================================================ */
.eyebrow,
.ast-archive-subtitle,
.ast-blog-meta-container,
.elementor-widget-post-info .elementor-icon-list-item span,
.ast-meta {
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 11px !important;
  font-weight: 600;
  color: var(--makutano-signal) !important;
}

/* ============================================================
   EDITORIAL — Playfair italic
   ============================================================ */
em,
i,
blockquote,
blockquote p,
.elementor-widget-blockquote .elementor-blockquote__content,
.ast-post-format-quote {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic;
}

/* ============================================================
   LINKS + BUTTONS
   ============================================================ */
a {
  color: var(--makutano-signal);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover, a:focus {
  color: var(--makutano-gold);
}

.elementor-button,
.button,
.ast-button,
.ast-custom-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"],
.menu-toggle {
  background-color: var(--makutano-signal) !important;
  color: var(--makutano-paper) !important;
  border: 1px solid var(--makutano-signal) !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 12px !important;
  line-height: 1 !important;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
  box-shadow: none !important;
}

.elementor-button:hover,
.button:hover,
.ast-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: var(--makutano-ink-950) !important;
  color: var(--makutano-paper) !important;
  border-color: var(--makutano-ink-950) !important;
  transform: translateY(-2px);
}

/* Bouton outline secondaire (sur certaines pages) */
.elementor-button.elementor-button-link,
.ast-button-outline {
  background-color: transparent !important;
  color: var(--makutano-ink-950) !important;
  border: 1px solid var(--makutano-ink-950) !important;
}
.elementor-button.elementor-button-link:hover,
.ast-button-outline:hover {
  background-color: var(--makutano-ink-950) !important;
  color: var(--makutano-paper) !important;
}

/* ============================================================
   HEADER + NAVIGATION (Astra structure)
   ============================================================ */
.ast-main-header-wrap,
.site-header,
.ast-primary-header,
.ast-primary-header-bar,
.main-header-bar {
  background-color: var(--makutano-paper) !important;
  border-bottom: 1px solid rgba(7, 9, 50, 0.08) !important;
  box-shadow: none !important;
}

.site-title,
.site-title a,
.ast-site-title-wrap a,
.site-branding .site-title {
  font-family: 'Bebas Neue', 'Anton', sans-serif !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--makutano-ink-950) !important;
  font-weight: 400 !important;
}

.main-navigation a,
.ast-builder-menu a,
.main-header-menu a,
.ast-header-menu a,
#site-navigation a,
.menu-item a {
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  color: var(--makutano-ink-950) !important;
  transition: color 0.2s ease !important;
}
.main-navigation a:hover,
.ast-builder-menu a:hover,
.main-header-menu a:hover,
#site-navigation a:hover,
.menu-item a:hover,
.menu-item.current-menu-item a,
.menu-item.current_page_item a {
  color: var(--makutano-signal) !important;
}

/* Mobile menu toggle */
.menu-toggle,
.ast-mobile-menu-trigger-fill,
.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-outline {
  background-color: transparent !important;
  color: var(--makutano-ink-950) !important;
  border: 1px solid var(--makutano-ink-950) !important;
}

/* Sub-menus */
.sub-menu,
.children {
  background-color: var(--makutano-paper) !important;
  border: 1px solid rgba(7, 9, 50, 0.08) !important;
  box-shadow: 0 8px 24px rgba(7, 9, 50, 0.08) !important;
}

/* ============================================================
   FOOTER — INK-950
   ============================================================ */
.site-footer,
.ast-footer-overlay,
footer.site-footer,
.footer-adv,
.ast-small-footer,
.ast-footer-widget-area {
  background-color: var(--makutano-ink-950) !important;
  color: var(--makutano-paper) !important;
  position: relative;
  overflow: hidden;
}

.site-footer *,
.ast-footer-overlay *,
.footer-adv *,
.ast-small-footer * {
  color: var(--makutano-paper) !important;
}
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.footer-adv h1, .footer-adv h2, .footer-adv h3, .footer-adv h4, .footer-adv h5, .footer-adv h6 {
  color: var(--makutano-paper) !important;
}

.site-footer a:hover,
.ast-footer-overlay a:hover,
.footer-adv a:hover,
.ast-small-footer a:hover {
  color: var(--makutano-signal) !important;
}

/* Sceau ∫ filigrane sur le footer */
.site-footer::before {
  content: "∫";
  position: absolute;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 30rem;
  color: var(--makutano-signal);
  opacity: 0.05;
  right: -5%;
  bottom: -15%;
  pointer-events: none;
  z-index: 0;
  line-height: 1;
}
.site-footer > * {
  position: relative;
  z-index: 1;
}

/* ============================================================
   CARDS / SECTIONS GÉNÉRIQUES
   ============================================================ */
.elementor-section,
article.post,
.ast-row {
  background-color: transparent;
}

article.post,
.ast-blog-list-1-col article,
.ast-blog-grid article {
  background-color: var(--makutano-paper-100) !important;
  border: 1px solid rgba(7, 9, 50, 0.08);
  border-radius: 0 !important;
  padding: 32px;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
article.post:hover {
  border-color: var(--makutano-signal);
}

.entry-meta,
.ast-blog-meta-container {
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px !important;
  color: var(--makutano-signal) !important;
  font-weight: 600;
}

/* Read more "→" style éditorial */
.read-more a,
.ast-readmore-link {
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--makutano-signal) !important;
  border-bottom: 1px solid var(--makutano-signal);
  padding-bottom: 2px;
}

/* ============================================================
   ELEMENTOR — SECTIONS SOMBRES Mining 2026 signature
   ============================================================ */
.elementor-section.has-background,
.elementor-section[style*="background-color: #070932"],
.elementor-section[style*="background-color:#070932"],
.elementor-section[style*="background-color: rgb(7"] {
  background-color: var(--makutano-ink-950) !important;
}

.elementor-section.has-background[style*="background-color: #070932"] *,
.elementor-section[style*="background-color: #070932"] *:not(.elementor-button):not(a),
.elementor-section[style*="background-color:#070932"] *:not(.elementor-button):not(a) {
  color: var(--makutano-paper) !important;
}

/* ============================================================
   FORMS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
  background-color: var(--makutano-paper-100) !important;
  border: 1px solid rgba(7, 9, 50, 0.15) !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
  color: var(--makutano-ink-950) !important;
  padding: 12px 16px !important;
  transition: border-color 0.2s ease;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--makutano-signal) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--makutano-signal) !important;
}

/* ============================================================
   MAGAZINE RULE (séparateur signal 3px x 48px)
   ============================================================ */
hr,
.elementor-divider-separator {
  border: 0 !important;
  height: 3px !important;
  background: var(--makutano-signal) !important;
  width: 48px !important;
  margin: 24px auto !important;
}

/* ============================================================
   RESPONSIVE MOBILE
   ============================================================ */
@media (max-width: 768px) {
  h1, .elementor-widget-heading h1 { font-size: clamp(2rem, 8vw, 3rem) !important; }
  h2, .elementor-widget-heading h2 { font-size: clamp(1.6rem, 6.5vw, 2.4rem) !important; }
  h3, .elementor-widget-heading h3 { font-size: clamp(1.4rem, 5.5vw, 2rem) !important; }

  .elementor-button, .button, .wp-block-button__link {
    padding: 12px 20px !important;
    font-size: 11px !important;
  }

  .main-navigation a,
  .ast-builder-menu a,
  .menu-item a {
    font-size: 14px !important;
    padding: 14px 16px !important;
  }

  article.post,
  .ast-blog-list-1-col article {
    padding: 20px;
  }

  body {
    overflow-x: hidden;
  }
}

@media (max-width: 480px) {
  h1, .elementor-widget-heading h1 { font-size: clamp(1.75rem, 9vw, 2.5rem) !important; }
}

/* ============================================================
   ASTRA CONTAINER OVERRIDES — pleine cohérence visuelle
   ============================================================ */
.ast-container,
.site-content,
.entry-content {
  background-color: transparent !important;
}

/* Astra : retirer la box-shadow par défaut sur les cards */
.ast-article-single,
.ast-article-post {
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Pagination */
.page-numbers {
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px !important;
  font-weight: 600;
  border-radius: 0 !important;
  color: var(--makutano-ink-950) !important;
}
.page-numbers.current,
.page-numbers:hover {
  background-color: var(--makutano-signal) !important;
  color: var(--makutano-paper) !important;
}

/* Selection */
::selection {
  background: var(--makutano-signal);
  color: var(--makutano-paper);
}
