/*
Theme Name: Experts France
Theme URI: https://experts-france.fr
Template: generatepress
Description: Thème Experts France - Design premium
Author: Atlas
Version: 1.1
*/

/* ========================================
   EXPERTS FRANCE — DESIGN PREMIUM
   ======================================== */

:root {
  --ef-primary: #1a1a2e;
  --ef-accent: #e94560;
  --ef-accent-hover: #d63851;
  --ef-green: #0a8754;
  --ef-green-hover: #097548;
  --ef-blue: #16213e;
  --ef-gray-50: #f8fafc;
  --ef-gray-100: #f1f5f9;
  --ef-gray-200: #e2e8f0;
  --ef-gray-300: #cbd5e1;
  --ef-gray-500: #64748b;
  --ef-gray-700: #334155;
  --ef-gray-900: #0f172a;
  --ef-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --ef-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
  --ef-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
  --ef-shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
  --ef-radius: 12px;
  --ef-radius-lg: 20px;
  --ef-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* === GLOBAL === */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--ef-gray-700);
  background: var(--ef-gray-50) !important;
  -webkit-font-smoothing: antialiased;
}

/* === HEADER PREMIUM === */
.site-header {
  background: linear-gradient(135deg, var(--ef-primary) 0%, var(--ef-blue) 100%) !important;
  border-bottom: 3px solid var(--ef-accent) !important;
  box-shadow: var(--ef-shadow-lg) !important;
  padding: 0 !important;
}

.site-header .inside-header {
  padding: 20px 40px !important;
}

.main-title a,
.site-title a {
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 1.6em !important;
  text-decoration: none !important;
  letter-spacing: -0.02em;
}

.site-description {
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.95em !important;
  font-weight: 400 !important;
}

/* === NAVIGATION === */
.main-navigation {
  background: transparent !important;
}

.main-navigation .main-nav ul li a {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500 !important;
  font-size: 0.95em !important;
  padding: 12px 18px !important;
  transition: var(--ef-transition) !important;
  border-radius: 8px !important;
  letter-spacing: 0.01em;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a {
  color: #ffffff !important;
  background: rgba(233, 69, 96, 0.2) !important;
}

/* Bouton CTA menu Devis gratuit — dernier item */
.main-navigation .main-nav ul li:last-child a {
  background: var(--ef-accent) !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  padding: 10px 24px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 14px rgba(233, 69, 96, 0.4) !important;
  transition: var(--ef-transition) !important;
}

.main-navigation .main-nav ul li:last-child a:hover {
  background: var(--ef-accent-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(233, 69, 96, 0.5) !important;
}

/* === CONTENU === */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header {
  border: none !important;
  border-radius: var(--ef-radius-lg) !important;
  box-shadow: var(--ef-shadow) !important;
  padding: 40px !important;
  margin-bottom: 30px !important;
  background: #ffffff !important;
}

.entry-title,
.page-title {
  color: var(--ef-gray-900) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

.entry-content {
  font-size: 1.05em !important;
  line-height: 1.8 !important;
  color: var(--ef-gray-700) !important;
}

.entry-content h2 {
  color: var(--ef-primary) !important;
  font-weight: 700 !important;
  margin-top: 2em !important;
  margin-bottom: 0.8em !important;
  padding-bottom: 0.4em !important;
  border-bottom: 2px solid var(--ef-gray-200) !important;
}

.entry-content h3 {
  color: var(--ef-gray-900) !important;
  font-weight: 600 !important;
}

.entry-content a {
  color: var(--ef-accent) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  border-bottom: 2px solid transparent !important;
  transition: var(--ef-transition) !important;
}

.entry-content a:hover {
  color: var(--ef-accent-hover) !important;
  border-bottom-color: var(--ef-accent) !important;
}

/* === BOUTONS === */
.wp-block-button__link,
a.button,
button,
input[type=submit] {
  background: var(--ef-accent) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  font-weight: 600 !important;
  font-size: 1em !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 14px rgba(233, 69, 96, 0.3) !important;
  transition: var(--ef-transition) !important;
  cursor: pointer !important;
}

.wp-block-button__link:hover,
a.button:hover,
button:hover,
input[type=submit]:hover {
  background: var(--ef-accent-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(233, 69, 96, 0.4) !important;
}

/* === FORMULAIRES === */
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
textarea,
select {
  border: 2px solid var(--ef-gray-200) !important;
  border-radius: var(--ef-radius) !important;
  padding: 14px 18px !important;
  font-size: 1em !important;
  transition: var(--ef-transition) !important;
  background: #ffffff !important;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus {
  border-color: var(--ef-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(233, 69, 96, 0.15) !important;
}

/* === FOOTER === */
.site-footer {
  background: linear-gradient(135deg, var(--ef-primary) 0%, var(--ef-blue) 100%) !important;
  color: rgba(255,255,255,0.8) !important;
  padding: 50px 0 30px !important;
  margin-top: 60px !important;
}

.site-footer a {
  color: rgba(255,255,255,0.9) !important;
  transition: var(--ef-transition) !important;
}

.site-footer a:hover {
  color: var(--ef-accent) !important;
}

.site-info {
  text-align: center !important;
  font-size: 0.9em !important;
  opacity: 0.7;
}

/* === BLOG LISTING === */
.post-image img {
  border-radius: var(--ef-radius-lg) !important;
  transition: var(--ef-transition) !important;
}

.post-image img:hover {
  transform: scale(1.02) !important;
  box-shadow: var(--ef-shadow-xl) !important;
}

.entry-meta {
  color: var(--ef-gray-500) !important;
  font-size: 0.9em !important;
}

/* === NO SIDEBAR FORCE === */
.sidebar,
#right-sidebar,
#left-sidebar,
.widget-area {
  display: none !important;
}

.content-area {
  width: 100% !important;
  max-width: 100% !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .site-header .inside-header {
    padding: 15px 20px !important;
    text-align: center !important;
  }
  
  .main-title a, .site-title a {
    font-size: 1.3em !important;
  }
  
  .main-navigation .main-nav ul li a {
    padding: 10px 12px !important;
    font-size: 0.9em !important;
  }
  
  .separate-containers .inside-article {
    padding: 24px 20px !important;
    border-radius: var(--ef-radius) !important;
  }
}

/* === ANIMATIONS SUBTILES === */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.inside-article {
  animation: fadeInUp 0.5s ease-out !important;
}

/* === SELECTION === */
::selection {
  background: var(--ef-accent);
  color: #ffffff;
}

/* === SCROLLBAR CUSTOM === */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--ef-gray-100);
}
::-webkit-scrollbar-thumb {
  background: var(--ef-gray-300);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--ef-gray-500);
}

/* === PAGE D'ACCUEIL — Full width hero === */
.page-id-6 .inside-article {
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.page-id-6 .entry-header {
  display: none !important;
}

/* === PAGES — Masquer le titre auto-généré (on le met dans le contenu) === */
.page .entry-header {
  display: none !important;
}

/* === BLOG — Cards style === */
.blog .post,
.archive .post {
  transition: var(--ef-transition) !important;
}

.blog .post:hover,
.archive .post:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--ef-shadow-xl) !important;
}

/* === BREADCRUMBS (si ajoutés plus tard) === */
.entry-meta a {
  color: var(--ef-accent) !important;
}

/* === TAGS VILLES (pills sur homepage) === */
.page-id-6 .entry-content a[href*="annuaire"] {
  transition: all 0.2s ease !important;
}

.page-id-6 .entry-content a[href*="annuaire"]:hover {
  background: var(--ef-accent) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(233, 69, 96, 0.3) !important;
}

/* === MOBILE MENU TOGGLE === */
.menu-toggle {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
}

/* Fix CTA button text color - prevent theme link color override */
a[style*="border-radius: 50px"],
a[style*="border-radius:50px"] {
  color: #fff !important;
  text-decoration: none !important;
}
a[style*="border-radius: 50px"]:hover,
a[style*="border-radius:50px"]:hover {
  color: #fff !important;
  opacity: 0.9;
  transform: translateY(-2px);
  transition: all 0.2s ease;
}
