/*
Theme Name: Moove Services
Theme URI: https://www.saagency.online
Author: Seventh Angel Agency (SAA)
Author URI: https://www.saagency.online
Description: Thème sur-mesure pour Moove Services Commerce Général SARL, site vitrine multi-services (voyage, transport, services aux entreprises). Développé par Seventh Angel Agency.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: moove-services
*/

/* ---------- Variables & reset ---------- */
:root{
  --teal: #0e6f9e;
  --teal-dark: #0a4d70;
  --green: #82b414;
  --gray-bg: #f4f7f5;
  --text-main: #26333a;
  --text-muted: #5c6b70;
  --white: #ffffff;
  --radius: 10px;
  --max-width: 1180px;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: var(--text-main);
  line-height: 1.65;
  background:var(--white);
}
img{ max-width:100%; display:block; }
a{ color:var(--teal); text-decoration:none; }
a:hover{ color:var(--teal-dark); }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:'Poppins', sans-serif; font-weight:700; line-height:1.25; margin:0 0 .6em; color:var(--teal-dark); }
h1{ font-size: clamp(2rem, 4vw, 3.2rem); }
h2{ font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3{ font-size: 1.25rem; }
p{ margin:0 0 1em; color: var(--text-muted); }
.container{ max-width: var(--max-width); margin:0 auto; padding:0 24px; }
.section{ padding: 72px 0; }
.section--alt{ background: var(--gray-bg); }
.text-center{ text-align:center; }
.section-head{ max-width:640px; margin:0 auto 32px; }
.section-head.text-left{ margin-left:0; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 13px 26px; border-radius: var(--radius);
  font-weight:600; font-size:.95rem; cursor:pointer; border:2px solid transparent;
  transition: all .2s ease;
}
.btn--primary{ background:var(--teal); color:var(--white); }
.btn--primary:hover{ background:var(--teal-dark); color:var(--white); }
.btn--outline{ background:transparent; border-color:var(--teal); color:var(--teal); }
.btn--outline:hover{ background:var(--teal); color:var(--white); }
.btn--whatsapp{ background:var(--green); color:var(--white); }
.btn--whatsapp:hover{ background:#6c9711; color:var(--white); }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50; background:var(--teal-dark);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header .container{
  display:grid; grid-template-columns: auto 1fr auto; align-items:center;
  gap:20px; padding:14px 24px;
}
.site-logo img{ height:46px; width:auto; }
.main-nav{ justify-self:center; }
.main-nav ul{ display:flex; gap:32px; align-items:center; }
.main-nav a{ color:#eaf3f7; font-weight:500; font-size:.98rem; }
.main-nav a:hover{ color:var(--green); }
.header-right{ justify-self:end; display:flex; align-items:center; gap:18px; }
.nav-toggle{ display:none; background:none; border:none; font-size:1.6rem; color:#eaf3f7; cursor:pointer; }

/* Bloc natif WordPress "Réseaux sociaux" (core/social-links), utilisé
   dans le header ET le footer via la même zone de widgets. */
.wp-block-social-links{ display:flex; gap:10px; margin:0; padding:0; list-style:none; }
.wp-block-social-links li{ margin:0; }
.wp-block-social-links a{
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; transition:background .2s ease;
}
.wp-block-social-links a:hover{ background:var(--green); }
.wp-block-social-links svg{ width:15px; height:15px; fill:currentColor; }
.footer-social .wp-block-social-links a{ background:rgba(255,255,255,.08); }

@media (max-width: 860px){
  .nav-toggle{ display:block; }
  .main-nav{
    position:absolute; top:100%; left:0; right:0; background:var(--teal-dark);
    border-bottom:1px solid rgba(255,255,255,.08); display:none; box-shadow:0 8px 16px rgba(0,0,0,.15);
  }
  .main-nav.is-open{ display:block; }
  .main-nav ul{ flex-direction:column; gap:0; padding:8px 0; }
  .main-nav li{ width:100%; }
  .main-nav a{ display:block; padding:14px 24px; border-top:1px solid rgba(255,255,255,.08); }
}
@media (max-width: 520px){
  .header-social{ display:none; }
}

/* ---------- Hero ---------- */
.hero{ padding: 96px 0 80px; background: linear-gradient(180deg, var(--gray-bg) 0%, var(--white) 100%); }
.hero .container{ display:grid; grid-template-columns: 1.1fr .9fr; gap:48px; align-items:center; }
.hero-tag{ display:inline-block; background:#e7f3ea; color:#4d7a0d; font-weight:600; font-size:.82rem; padding:6px 14px; border-radius:20px; margin-bottom:18px; }
.hero h1{ margin-bottom:.4em; }
.hero .lead{ font-size:1.1rem; margin-bottom:1.4em; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-visual{ background:var(--teal); border-radius:20px; min-height:300px; display:flex; align-items:center; justify-content:center; padding:20px; overflow:hidden; }
.hero-visual img{ width:100%; height:auto; }
@media (max-width: 860px){ .hero .container{ grid-template-columns:1fr; } .hero-visual{ min-height:220px; } }

/* ---------- Cards / poles ---------- */
.poles-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; }
.pole-card{
  background:var(--teal-dark); border:none; border-radius:14px; padding:32px 28px; color:#fff;
  transition: transform .2s ease, box-shadow .2s ease;
}
.pole-card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(10,77,112,.3); }
.pole-icon{ width:56px; height:56px; border-radius:14px; overflow:hidden; margin-bottom:18px; background:#fff; }
.pole-icon img{ width:100%; height:100%; }
.pole-card h3{ margin-bottom:.5em; color:#fff; }
.pole-card p{ color:#cfe3ea; }
.pole-card ul{ margin:14px 0 20px; }
.pole-card ul li{ padding:5px 0 5px 20px; position:relative; color:#cfe3ea; font-size:.94rem; }
.pole-card ul li::before{ content:"•"; color:var(--green); position:absolute; left:0; font-weight:700; }
.btn--outline-light{ background:transparent; border-color:#fff; color:#fff; }
.btn--outline-light:hover{ background:#fff; color:var(--teal-dark); }
@media (max-width: 900px){ .poles-grid{ grid-template-columns:1fr; } }

/* ---------- Reassurance strip ---------- */
.strip{ display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; padding:40px 0; border-top:1px solid #eceeec; border-bottom:1px solid #eceeec; }
.strip-item{ flex:1; min-width:200px; display:flex; gap:14px; align-items:flex-start; }
.strip-item span.dot{ width:38px; height:38px; border-radius:50%; background:var(--teal); flex:none; }
.strip-item h4{ margin:0 0 4px; font-size:1rem; color:var(--text-main); }
.strip-item p{ margin:0; font-size:.9rem; }

/* ---------- Team ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.team-card{ text-align:center; background:var(--white); border:1px solid #e9ece9; border-radius:14px; padding:32px 20px; }
.team-avatar{ width:76px; height:76px; border-radius:50%; background:var(--teal); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.3rem; margin:0 auto 16px; }
.team-card h4{ margin:0 0 4px; color:var(--text-main); }
.team-card p{ margin:0; font-size:.88rem; color:var(--green); font-weight:600; }
@media (max-width: 860px){ .team-grid{ grid-template-columns:1fr; } }

/* ---------- Services page ---------- */
.service-pole{ padding:56px 0; border-bottom:1px solid #eceeec; }
.service-pole:last-child{ border-bottom:none; }
.service-pole__head{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.service-pole__head .pole-icon{ margin:0; }
.sub-services{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.sub-service{ background:var(--gray-bg); border-radius:12px; padding:22px 24px; }
.sub-service h4{ color:var(--text-main); margin-bottom:6px; font-size:1.02rem; }
.sub-service p{ font-size:.92rem; margin-bottom:14px; }
.sub-service a{ font-size:.88rem; font-weight:600; }
@media (max-width: 700px){ .sub-services{ grid-template-columns:1fr; } }

/* ---------- Contact ---------- */
.contact-wrap{ display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:start; }
.contact-info-card{ background:var(--teal); color:#fff; border-radius:16px; padding:36px; }
.contact-info-card h3{ color:#fff; }
.contact-info-card p{ color:#d7ecf3; }
.contact-info-line{ display:flex; gap:12px; margin-bottom:18px; align-items:flex-start; }
.contact-info-line strong{ display:block; color:#fff; font-size:.9rem; }
.contact-form{ background:var(--white); border:1px solid #e9ece9; border-radius:16px; padding:36px; }
.form-group{ margin-bottom:18px; }
.form-group label{ display:block; font-size:.88rem; font-weight:600; margin-bottom:6px; color:var(--text-main); }
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border:1px solid #d9dedc; border-radius:8px; font-family:inherit; font-size:.95rem; background:#fff;
}
.form-group textarea{ min-height:120px; resize:vertical; }
.form-note{ font-size:.82rem; color:var(--text-muted); margin-top:10px; }
@media (max-width: 900px){ .contact-wrap{ grid-template-columns:1fr; } }

/* ---------- Footer ---------- */
.site-footer{ background:#0b2c3d; color:#c9d8dd; padding:56px 0 0; }
.footer-grid{ display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap:40px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-grid h4{ color:#fff; font-size:1rem; margin-bottom:16px; }
.footer-grid p, .footer-grid a{ color:#a9bdc4; font-size:.92rem; }
.footer-grid a:hover{ color:#fff; }
.footer-logo img{ height:38px; filter:brightness(0) invert(1); margin-bottom:14px; }
.footer-links li{ margin-bottom:10px; }
.footer-social{ display:flex; justify-content:flex-start; margin-top:20px; }

/* Normalise tous les widgets WordPress placés dans le footer (Archives,
   Catégories, texte...) pour qu'ils gardent la même taille que le reste
   du pied de page, au lieu d'hériter de la taille de texte par défaut. */
.footer-widget{ margin-bottom: 22px; }
.footer-widget:last-child{ margin-bottom:0; }
.footer-widget, .footer-widget p{ font-size:.92rem; color:#a9bdc4; }
.footer-widget ul{ margin:0; padding:0; list-style:none; }
.footer-widget ul li{ margin-bottom:8px; }
.footer-widget ul li a{ font-size:.92rem; color:#a9bdc4; }
.footer-widget ul li a:hover{ color:#fff; }
.footer-widget select{ font-size:.85rem; padding:6px 10px; width:100%; border-radius:6px; border:1px solid rgba(255,255,255,.2); background:#0e3e54; color:#fff; }
.footer-widget label{ font-size:.85rem; }
.site-credit{ text-align:center; padding:20px 0; font-size:.85rem; color:#8fa4ab; }
.site-credit a{ color:#cfe3e9; font-weight:600; }
.site-credit a:hover{ color:#fff; }
@media (max-width: 860px){ .footer-grid{ grid-template-columns:1fr; } }

/* ---------- Page hero (about/services/contact) ---------- */
.page-hero{ padding:56px 0 40px; background:var(--gray-bg); text-align:center; }
.page-hero p{ max-width:640px; margin:0 auto; }

/* ---------- About page ---------- */
.about-intro{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.about-intro__visual img{ border-radius:20px; }
.about-intro h2{ margin-bottom:.5em; }
@media (max-width: 860px){ .about-intro{ grid-template-columns:1fr; } .about-intro__visual{ order:-1; } }

.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:28px; }
.value-card{ text-align:center; padding:8px; }
.value-card .pole-icon{ margin:0 auto 14px; }
.value-card h4{ color:var(--text-main); margin-bottom:6px; }
.value-card p{ font-size:.92rem; margin:0; }
@media (max-width: 860px){ .values-grid{ grid-template-columns:1fr; } }
