
/* ==========================================================================
   Macteck Divi Child — 99 Theme Foundation
   Version: 3.1.0-alpha1-theme-foundation

   Objectif :
   - couche finale sécuritaire pour harmoniser le rendu Divi/Macteck;
   - ne modifie jamais le logo;
   - respecte les classes existantes mck-theme-* et macteck-mode-*;
   - prépare une base premium light/dark sans imposer un template unique.
   ========================================================================== */

:root {
  --mck-foundation-bg: #f5f8fb;
  --mck-foundation-surface: #ffffff;
  --mck-foundation-surface-soft: #f1f6fb;
  --mck-foundation-text: #121820;
  --mck-foundation-muted: #56616f;
  --mck-foundation-border: rgba(18, 24, 32, .10);
  --mck-foundation-blue: #179ed9;
  --mck-foundation-blue-strong: #0b7cff;
  --mck-foundation-orange: #ef5024;
  --mck-foundation-radius: 22px;
  --mck-foundation-shadow: 0 22px 60px rgba(18, 24, 32, .10);
  --mck-foundation-shadow-soft: 0 14px 34px rgba(18, 24, 32, .075);
}

body.mck-theme-dark,
body.mck-theme-auto,
body.macteck-mode-dark,
body.macteck-mode-auto {
  --mck-foundation-bg: #020813;
  --mck-foundation-surface: rgba(8, 18, 31, .86);
  --mck-foundation-surface-soft: rgba(14, 30, 50, .72);
  --mck-foundation-text: #f3f7fb;
  --mck-foundation-muted: #a7b3c2;
  --mck-foundation-border: rgba(255, 255, 255, .10);
  --mck-foundation-shadow: 0 26px 80px rgba(0, 0, 0, .38);
  --mck-foundation-shadow-soft: 0 18px 50px rgba(0, 0, 0, .28);
}

body.macteck-theme,
body.macteck-divi-child-futuristic {
  background:
    radial-gradient(circle at 84% 12%, rgba(23, 158, 217, .12), transparent 34rem),
    radial-gradient(circle at 10% 68%, rgba(239, 80, 36, .06), transparent 30rem),
    var(--mck-foundation-bg);
  color: var(--mck-foundation-text);
  font-family: Inter, Poppins, Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

/* Logo guard — ne jamais styliser/recolorer/redessiner le logo Macteck. */
#logo,
.et_pb_menu__logo img,
.custom-logo,
.mck-logo,
.mck-logo img,
.mck-logo-exact {
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  object-fit: contain !important;
  height: auto !important;
}

/* Typographie globale */
.macteck-theme h1,
.macteck-theme h2,
.macteck-theme h3,
.macteck-theme h4,
.macteck-theme h5,
.macteck-theme h6,
.macteck-divi-child-futuristic h1,
.macteck-divi-child-futuristic h2,
.macteck-divi-child-futuristic h3,
.macteck-divi-child-futuristic h4,
.macteck-divi-child-futuristic h5,
.macteck-divi-child-futuristic h6 {
  color: var(--mck-foundation-text);
  letter-spacing: -.035em;
}

.macteck-theme p,
.macteck-theme li,
.macteck-divi-child-futuristic p,
.macteck-divi-child-futuristic li {
  color: var(--mck-foundation-muted);
}

.macteck-theme a,
.macteck-divi-child-futuristic a {
  color: var(--mck-foundation-blue-strong);
  text-underline-offset: 3px;
}

/* Header Divi classique et Theme Builder */
#main-header,
.et-l--header .et_builder_inner_content {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.mck-theme-light #main-header,
body.macteck-mode-light #main-header {
  background: rgba(255, 255, 255, .88) !important;
  border-bottom: 1px solid rgba(18, 24, 32, .08);
  box-shadow: 0 14px 44px rgba(18, 24, 32, .08);
}

body.mck-theme-dark #main-header,
body.mck-theme-auto #main-header,
body.macteck-mode-dark #main-header,
body.macteck-mode-auto #main-header {
  background: rgba(2, 8, 19, .72) !important;
  border-bottom: 1px solid rgba(85, 145, 210, .14);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .22);
}

/* Menu */
#top-menu li a,
.et-menu a,
.et_pb_menu .et-menu > li > a {
  color: var(--mck-foundation-text) !important;
  font-weight: 650;
  letter-spacing: .005em;
}

#top-menu li.current-menu-item > a,
.et-menu li.current-menu-item > a,
.et_pb_menu .et-menu > li.current-menu-item > a,
#top-menu li a:hover,
.et-menu a:hover,
.et_pb_menu .et-menu > li > a:hover {
  color: var(--mck-foundation-orange) !important;
  opacity: 1 !important;
}

/* Sections */
.macteck-theme .et_pb_section,
.macteck-divi-child-futuristic .et_pb_section {
  background-color: transparent;
}

.mck-section-premium,
.et_pb_section.mck-section-premium {
  position: relative;
  overflow: clip;
  padding-block: clamp(76px, 8vw, 132px);
}

.mck-section-soft,
.et_pb_section.mck-section-soft {
  background:
    radial-gradient(circle at 90% 0%, rgba(23, 158, 217, .10), transparent 26rem),
    var(--mck-foundation-surface-soft);
}

/* Surfaces / cards */
.mck-card,
.mck-glass,
.mck-panel,
.mck-service-card,
.mck-action-card,
.et_pb_module.mck-card,
.et_pb_module.mck-glass,
.et_pb_module.mck-panel {
  border: 1px solid var(--mck-foundation-border);
  border-radius: var(--mck-foundation-radius);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mck-foundation-surface) 96%, transparent), color-mix(in srgb, var(--mck-foundation-surface) 88%, transparent));
  box-shadow: var(--mck-foundation-shadow-soft);
  overflow: hidden;
}

.mck-card:hover,
.mck-glass:hover,
.mck-panel:hover,
.mck-service-card:hover,
.mck-action-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--mck-foundation-shadow);
}

/* Boutons Divi et classes Macteck */
.et_pb_button,
.mck-btn,
.et_pb_button.mck-btn {
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 20px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.et_pb_button::before,
.et_pb_button::after {
  display: none !important;
}

.et_pb_button:hover,
.mck-btn:hover,
.et_pb_button.mck-btn:hover {
  transform: translateY(-1px);
  text-decoration: none !important;
}

.mck-btn-primary,
.et_pb_button.mck-btn-primary,
.et_pb_button.mck-btn-support,
.mck-btn-support {
  color: #fff !important;
  background: linear-gradient(135deg, var(--mck-foundation-blue-strong), var(--mck-foundation-blue)) !important;
  border-color: rgba(23, 158, 217, .64) !important;
  box-shadow: 0 14px 32px rgba(23, 158, 217, .26);
}

.mck-btn-accent,
.et_pb_button.mck-btn-accent {
  color: #fff !important;
  background: linear-gradient(135deg, #ef5024, #ff7a3d) !important;
  border-color: rgba(239, 80, 36, .70) !important;
  box-shadow: 0 14px 32px rgba(239, 80, 36, .24);
}

.mck-btn-secondary,
.et_pb_button.mck-btn-secondary,
.mck-btn-ghost,
.et_pb_button.mck-btn-ghost {
  color: var(--mck-foundation-text) !important;
  background: color-mix(in srgb, var(--mck-foundation-surface) 92%, transparent) !important;
  border-color: var(--mck-foundation-border) !important;
}

/* Formulaires Divi */
.et_pb_contact_field input,
.et_pb_contact_field textarea,
.et_pb_contact_field select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea,
select {
  border-radius: 14px;
  border: 1px solid var(--mck-foundation-border);
  background: color-mix(in srgb, var(--mck-foundation-surface) 94%, transparent);
  color: var(--mck-foundation-text);
}

.et_pb_contact_field input:focus,
.et_pb_contact_field textarea:focus,
.et_pb_contact_field select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: rgba(23, 158, 217, .68);
  box-shadow: 0 0 0 3px rgba(23, 158, 217, .14);
  outline: none;
}

/* Footer */
#main-footer,
.et-l--footer {
  background: #07111c;
  color: #dce7f3;
}

#main-footer a,
.et-l--footer a {
  color: #dce7f3;
}

#main-footer a:hover,
.et-l--footer a:hover {
  color: var(--mck-foundation-orange);
}

/* Responsive */
@media (max-width: 980px) {
  .et_pb_menu__logo img,
  #logo {
    max-width: 190px;
  }

  .mck-header {
    width: calc(100% - 28px);
    min-height: 72px;
    padding-inline: 16px;
  }

  .mck-nav {
    gap: 14px;
  }
}

@media (max-width: 640px) {
  .mck-section-premium,
  .et_pb_section.mck-section-premium {
    padding-block: 64px;
  }

  .et_pb_button,
  .mck-btn,
  .et_pb_button.mck-btn {
    width: 100%;
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mck-card,
  .mck-glass,
  .mck-panel,
  .mck-service-card,
  .mck-action-card,
  .et_pb_button,
  .mck-btn {
    transition: none !important;
    transform: none !important;
  }
}
