/*
Theme Name: Adminoff
Theme URI: https://adminoff.fr
Author: Adminoff
Description: Thème one-page sur-mesure pour Adminoff, assistance administrative. Entièrement personnalisable depuis Apparence > Personnaliser (textes, images, couleurs, liens, formulaire de contact intégré).
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adminoff
*/

/* ===================== VARIABLES PAR DEFAUT ===================== */
/* Ces valeurs sont surchargées dynamiquement par inc/customizer.php
   via un bloc <style> injecté dans le <head> (voir header.php) */
:root{
  --cream:#F9F5EA;
  --blue:#94BBE4;
  --blue-light:#AED3EE;
  --orange:#FF9B69;
  --navy:#1B3357;
  --navy-soft:#2A4671;
  --fw-heading:700;
  --lh-heading:1.15;
  --fw-body:400;
  --lh-body:1.6;
  --root-font-size:16px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; font-size:var(--root-font-size);}
body{
  font-family:'Poppins',sans-serif;
  background:var(--cream);
  color:var(--navy);
  overflow-x:hidden;
}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
ul{list-style:none;}
section{position:relative;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.skip-link{position:absolute; left:-9999px; top:0; background:var(--navy); color:var(--cream); padding:12px 20px; z-index:9999;}
.skip-link:focus{left:10px; top:10px;}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--orange); outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- HEADER ---------- */
header.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(249,245,234,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(27,51,87,0.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; max-width:1180px; margin:0 auto;
}
.logo-svg{height:46px; width:auto;}
.logo-svg img{height:100%; width:auto; display:block;}
nav.main-nav ul{display:flex; gap:34px; align-items:center;}
nav.main-nav a{
  font-size:15px; color:var(--navy);
  position:relative;
  transition:color .25s, transform .2s, box-shadow .2s;
}
nav.main-nav a:not(.btn-nav){
  font-weight:500; padding:4px 0;
}
nav.main-nav a:not(.btn-nav)::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--orange); transition:width .25s;
}
nav.main-nav a:not(.btn-nav):hover::after{width:100%;}
.btn-nav{
  background:var(--orange); color:var(--navy) !important; font-weight:600;
  padding:10px 22px; border-radius:30px;
  box-shadow:0 4px 14px rgba(255,155,105,0.35);
}
.btn-nav:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(255,155,105,0.45);}
.burger{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.burger span{display:block; width:26px; height:2px; background:var(--navy); margin:6px 0; transition:.3s;}

/* ---------- HERO ---------- */
.hero{
  background:linear-gradient(180deg, var(--cream) 0%, var(--blue-light) 130%);
  padding:100px 0 160px;
  position:relative;
  overflow:hidden;
}
.hero-video-bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.hero-video-bg video{
  width:100%; height:100%; object-fit:cover; display:block;
}
.hero-video-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, var(--cream) 0%, var(--blue-light) 130%);
}
@media (prefers-reduced-motion: reduce){
  .hero-video-bg video{display:none;}
}
.hero-inner{
  position:relative; z-index:2;
  max-width:1180px; margin:0 auto; padding:0 32px;
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy); background:rgba(255,255,255,0.5); border:1px solid rgba(27,51,87,0.12);
  padding:8px 16px; border-radius:30px; margin-bottom:28px;
}
.eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--orange);}
.hero h1{
  font-size:clamp(2.4rem, 5.2vw, 4.1rem);
  font-weight:var(--fw-heading); line-height:var(--lh-heading); letter-spacing:-0.02em;
  color:var(--navy);
}
.hero h1 .off{color:var(--orange); position:relative; display:inline-block;}
.hero p.lead{
  margin-top:26px; font-size:1.15rem; line-height:var(--lh-body); color:var(--navy-soft);
  max-width:480px; font-weight:var(--fw-body);
}
.hero-ctas{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;}
.btn-primary{
  background:var(--navy); color:var(--cream) !important; font-weight:600; font-size:15px;
  padding:15px 30px; border-radius:30px; border:none; cursor:pointer;
  transition:transform .2s, background .2s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover{background:var(--navy-soft); transform:translateY(-2px);}
.btn-secondary{
  background:transparent; color:var(--navy) !important; font-weight:600; font-size:15px;
  padding:15px 30px; border-radius:30px; border:1.5px solid var(--navy);
  transition:.2s;
}
.btn-secondary:hover{background:var(--navy); color:var(--cream) !important;}

.hero-visual{position:relative; display:flex; align-items:center; justify-content:center;}
.wave-shape{width:100%; max-width:340px; opacity:0.9; animation:float 7s ease-in-out infinite;}
.wave-shape img{width:100%; height:auto;}
@keyframes float{
  0%,100%{transform:translateY(0px) rotate(0deg);}
  50%{transform:translateY(-14px) rotate(2deg);}
}
.hero-waves{
  position:absolute; width:560px; height:560px; max-width:88vw; max-height:88vw;
  display:flex; align-items:center; justify-content:center; z-index:0;
  animation:spin-slow 60s linear infinite;
}
.hero-waves svg{width:100%; height:100%;}
@keyframes spin-slow{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
.wave-shape{position:relative; z-index:1;}
.hero-wave-divider{position:absolute; bottom:-2px; left:0; width:100%; line-height:0; z-index:2;}
.hero-wave-divider svg{width:100%; height:auto; display:block;}

/* ---------- SECTION HEADINGS ---------- */
.section-head{max-width:640px; margin-bottom:56px;}
.section-tag{
  font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--orange); margin-bottom:14px; display:block;
}
.section-head h2{font-size:clamp(1.8rem, 3.4vw, 2.6rem); font-weight:var(--fw-heading); letter-spacing:-0.01em; line-height:var(--lh-heading);}
.section-head p{margin-top:16px; font-size:1.05rem; color:var(--navy-soft); line-height:var(--lh-body); font-weight:var(--fw-body);}

/* ---------- ABOUT ---------- */
.about{padding:120px 0; background:var(--cream);}
.about-inner{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;}
.about-photo{position:relative;}
.about-photo .frame{position:relative; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -20px rgba(27,51,87,0.35);}
.about-photo img{width:100%; aspect-ratio:1/1; object-fit:cover;}
.about-photo .badge{
  position:absolute; bottom:-22px; right:-22px;
  background:var(--orange); color:var(--navy);
  width:110px; height:110px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:12.5px; font-weight:700; line-height:1.3;
  box-shadow:0 12px 28px rgba(255,155,105,0.4);
  padding:8px;
}
.about-text .kicker{
  font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--orange);
  margin-bottom:14px; display:block;
}
.about-text h2{font-size:clamp(1.7rem,3vw,2.3rem); font-weight:var(--fw-heading); line-height:var(--lh-heading); margin-bottom:22px; letter-spacing:-0.01em;}
.about-text p{font-size:1.03rem; line-height:var(--lh-body); font-weight:var(--fw-body); color:var(--navy-soft); margin-bottom:16px;}
.about-text .signature-line{
  margin-top:26px; font-weight:600; font-size:1.05rem; color:var(--navy);
  padding-left:20px; border-left:3px solid var(--orange);
}

/* ---------- MISSIONS ---------- */
.missions{padding:120px 0; background:var(--navy); color:var(--cream); position:relative;}
.missions .section-tag{color:var(--orange);}
.missions .section-head p{color:rgba(249,245,234,0.7);}
.missions-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;}
.mission-card{
  background:var(--navy-soft);
  border-radius:20px;
  padding:34px 26px;
  position:relative;
  overflow:hidden;
  min-height:290px;
  transition:transform .35s, box-shadow .35s;
  border:1px solid rgba(255,255,255,0.06);
}
.mission-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px -10px rgba(0,0,0,0.4);}
.mission-icon{width:56px; height:56px; margin-bottom:22px;}
.mission-icon img{width:100%; height:100%;}
.mission-card h3{font-size:1.15rem; font-weight:var(--fw-heading); margin-bottom:12px; line-height:var(--lh-heading);}
.mission-card > p{font-size:0.92rem; line-height:var(--lh-body); font-weight:var(--fw-body); color:rgba(249,245,234,0.75);}
.mission-sub{
  position:absolute; inset:0; background:var(--orange); color:var(--navy);
  padding:30px 24px; opacity:0; transform:translateY(12px);
  transition:opacity .3s, transform .3s;
  display:flex; flex-direction:column; justify-content:center;
  pointer-events:none;
}
.mission-card:hover .mission-sub, .mission-card:focus-within .mission-sub{
  opacity:1; transform:translateY(0); pointer-events:auto;
}
.mission-sub h4{font-size:0.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; margin-bottom:12px;}
.mission-sub p{font-size:0.87rem; line-height:var(--lh-body); font-weight:500;}

/* ---------- AVIS ---------- */
.avis{padding:120px 0; background:var(--cream);}
.avis-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.avis-card{
  background:#fff; border-radius:20px; padding:36px 30px;
  border:1px solid rgba(27,51,87,0.08);
  box-shadow:0 10px 30px -14px rgba(27,51,87,0.15);
  display:flex; flex-direction:column; gap:20px;
}
.avis-quote-icon{color:var(--blue); font-size:2.6rem; font-weight:800; line-height:1; font-family:Georgia,serif;}
.avis-card p.text{font-size:0.98rem; line-height:var(--lh-body); font-weight:var(--fw-body); color:var(--navy-soft); flex-grow:1;}
.avis-person{display:flex; align-items:center; gap:12px;}
.avis-avatar{width:44px; height:44px; border-radius:50%; overflow:hidden; flex-shrink:0;}
.avis-avatar img{width:100%; height:100%;}
.avis-person strong{font-size:0.95rem; font-weight:600;}

/* ---------- CONTACT ---------- */
.contact{padding:120px 0; background:var(--blue-light); position:relative; overflow:hidden;}
.contact-inner{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px;}
.contact-info .section-tag{color:var(--navy); opacity:0.6;}
.contact-info h2{font-size:clamp(1.7rem,3vw,2.3rem); font-weight:var(--fw-heading); line-height:var(--lh-heading); margin-bottom:20px; letter-spacing:-0.01em;}
.contact-info p.desc{font-size:1.02rem; line-height:var(--lh-body); font-weight:var(--fw-body); color:var(--navy-soft); margin-bottom:34px;}
.contact-detail{display:flex; align-items:center; gap:14px; margin-bottom:18px; font-weight:500; font-size:1rem;}
.contact-detail .ico{
  width:40px; height:40px; border-radius:50%; background:var(--navy);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.contact-detail .ico img{width:18px; height:18px; display:block;}
.contact-detail a:hover{text-decoration:underline;}
.social-btns{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.social-btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--navy); color:var(--cream) !important; font-weight:600; font-size:14px;
  padding:12px 20px; border-radius:30px; transition:transform .2s, background .2s;
}
.social-btn.whatsapp{background:#25D366; color:#0b3320 !important;}
.social-btn.linkedin{background:#0A66C2; color:#fff !important;}
.social-btn:hover{transform:translateY(-3px);}

.contact-form{
  background:var(--cream); border-radius:24px; padding:42px;
  box-shadow:0 30px 60px -20px rgba(27,51,87,0.3);
}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{margin-bottom:20px;}
.field label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:7px; color:var(--navy);}
.field input, .field textarea{
  width:100%; border:1.5px solid rgba(27,51,87,0.18); border-radius:12px;
  padding:13px 16px; font-family:'Poppins',sans-serif; font-size:0.95rem; color:var(--navy);
  background:#fff; transition:border-color .2s;
}
.field input:focus, .field textarea:focus{border-color:var(--orange); outline:none;}
.field textarea{resize:vertical; min-height:110px;}
.hp-field{position:absolute; left:-9999px; opacity:0;}
.form-submit{
  width:100%; background:var(--orange); color:var(--navy); font-weight:700; font-size:15px;
  padding:15px; border-radius:30px; border:none; cursor:pointer; margin-top:6px;
  transition:transform .2s, box-shadow .2s;
}
.form-submit:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(255,155,105,0.4);}
.form-note{font-size:0.78rem; color:var(--navy-soft); margin-top:12px; text-align:center; opacity:0.7;}
.form-message{border-radius:14px; padding:16px 20px; margin-bottom:22px; font-size:0.92rem; font-weight:500;}
.form-message.success{background:rgba(37,211,102,0.15); color:#1c5c33; border:1px solid rgba(37,211,102,0.4);}
.form-message.error{background:rgba(220,60,60,0.1); color:#8a2323; border:1px solid rgba(220,60,60,0.3);}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--navy); color:var(--cream); padding:48px 0 32px;}
.footer-inner{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;
  padding-bottom:28px; border-bottom:1px solid rgba(249,245,234,0.12);
}
.footer-logo img{height:26px; width:auto;}
.footer-links{display:flex; gap:28px; flex-wrap:wrap;}
.footer-links a{font-size:0.88rem; color:rgba(249,245,234,0.75); transition:color .2s;}
.footer-links a:hover{color:var(--orange);}
.footer-bottom{
  padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:0.82rem; color:rgba(249,245,234,0.55);
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  nav.main-nav ul{display:none;}
  .burger{display:block;}
  .hero-inner{grid-template-columns:1fr; text-align:center;}
  .hero p.lead{margin-left:auto; margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .hero-visual{order:-1; margin-bottom:20px;}
  .about-inner{grid-template-columns:1fr;}
  .about-photo{max-width:340px; margin:0 auto;}
  .missions-grid{grid-template-columns:repeat(2,1fr);}
  .avis-grid{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .missions-grid{grid-template-columns:1fr;}
  .header-inner{padding:14px 20px;}
  section .wrap, .hero-inner, .about-inner, .contact-inner{padding-left:20px; padding-right:20px;}
  .contact-form{padding:28px 22px;}
}

/* Mobile nav drawer */
.mobile-nav{
  position:fixed; inset:0; background:var(--navy); z-index:200;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:32px;
  transform:translateX(100%); transition:transform .35s ease;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav a{color:var(--cream); font-size:1.4rem; font-weight:600;}
.mobile-nav .close-btn{position:absolute; top:24px; right:28px; background:none; border:none; color:var(--cream); font-size:1.8rem; cursor:pointer;}
