/* ================================================================
   TravauxAix.fr — Design System
   ================================================================ */
:root {
  --green:        #16a34a;
  --green-dark:   #15803d;
  --green-light:  #dcfce7;
  --orange:       #ea580c;
  --orange-dark:  #c2410c;
  --navy:         #1e293b;
  --white:        #ffffff;
  --gray-50:      #f8faff;
  --gray-100:     #f1f5f9;
  --gray-200:     #e2e8f0;
  --gray-300:     #cbd5e1;
  --gray-400:     #94a3b8;
  --gray-500:     #64748b;
  --gray-700:     #334155;
  --gray-900:     #0f172a;
  --primary:      var(--green);
  --primary-dark: var(--green-dark);
  --accent:       var(--orange);
  --text:         var(--gray-900);
  --text-muted:   var(--gray-500);
  --bg-page:      var(--gray-50);
  --bg-card:      var(--white);
  --border:       var(--gray-200);
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-pill:9999px;
  --sh-sm:0 2px 8px rgba(22,163,74,.10);
  --sh-md:0 4px 16px rgba(22,163,74,.12);
  --sh-lg:0 8px 32px rgba(22,163,74,.14);
}
*,*::before,*::after{box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg-page);color:var(--text);margin:0}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-dark)}

/* HEADER */
.site-header{background:linear-gradient(135deg,var(--navy) 0%,var(--green-dark) 100%);color:#fff;padding:14px 0;text-align:center}
.header-title{font-size:1.25rem;font-weight:700;margin:0 0 4px}
.header-sub{font-size:.9rem;opacity:.85;margin:0}

/* TRUST STRIP */
.trust-strip{background:#fff;border-bottom:1px solid var(--border);padding:8px 0}
.trust-strip-inner{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 28px}
.trust-item{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--gray-700)}
.trust-item i{color:var(--primary);font-size:.95rem}

/* NAVBAR */
.navbar{background:#fff!important;border-bottom:2px solid var(--green-light);box-shadow:0 2px 8px rgba(0,0,0,.06);padding-top:0!important;padding-bottom:0!important}
.navbar-brand img{height:60px}
.nav-link{color:var(--gray-700)!important;font-weight:500;padding:.5rem .75rem!important;border-radius:var(--r-sm);transition:.15s}
.nav-link:hover,.nav-link.active{color:var(--primary)!important;background:var(--green-light)}
.btn-nav-cta{background:var(--accent)!important;color:#fff!important;border-radius:var(--r-pill)!important;font-weight:700!important;padding:.45rem 1.1rem!important}
.btn-nav-cta:hover{background:var(--orange-dark)!important;color:#fff!important}

/* HERO / BENEFITS */
.benefits-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:1rem 0}
.benefits-list li{background:#fff;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--r-md);padding:10px 14px;font-weight:500;box-shadow:var(--sh-sm)}
.benefits-list li::before{content:'✓ ';color:var(--primary);font-weight:700}

/* HOW IT WORKS */
.how-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;min-width:640px}
@media(max-width:767px){.how-grid{grid-template-columns:repeat(4,220px)}}
.how-slide{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 16px;text-align:center;box-shadow:var(--sh-sm)}
.how-slide-num{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 10px}
.how-slide-icon{font-size:1.8rem;color:var(--primary);margin-bottom:8px}
.how-slide-title{font-size:.95rem;font-weight:700;margin-bottom:6px}
.how-slide-text{font-size:.82rem;color:var(--text-muted)}

/* FORM */
.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:28px;box-shadow:var(--sh-md)}
.form-label{font-weight:600;font-size:.9rem;margin-bottom:4px}
.form-control,.form-select{border:1.5px solid var(--border);border-radius:var(--r-md);padding:10px 14px;font-size:.95rem;transition:.2s}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,163,74,.15);outline:none}
.btn-primary{background:var(--accent);border:none;border-radius:var(--r-pill);font-weight:700;padding:12px 28px;font-size:1rem;cursor:pointer;transition:.2s;color:#fff}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-1px)}
.btn-outline-primary{border:2px solid var(--primary);color:var(--primary);background:transparent;border-radius:var(--r-pill);font-weight:600;padding:8px 20px;cursor:pointer;transition:.2s}
.btn-outline-primary:hover{background:var(--primary);color:#fff}

/* SERVICE CARDS */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:1.5rem 0}
.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 12px;text-align:center;cursor:pointer;transition:.2s;box-shadow:var(--sh-sm)}
.service-card:hover{border-color:var(--primary);box-shadow:var(--sh-md);transform:translateY(-2px)}
.service-card i{font-size:1.8rem;color:var(--primary);margin-bottom:8px}
.service-card span{display:block;font-size:.85rem;font-weight:600;color:var(--gray-700)}

/* ZONE CARD */
.zone-card{transition:.2s;border:1px solid var(--border)!important}
.zone-card:hover{border-color:var(--primary)!important;box-shadow:var(--sh-md)!important;transform:translateY(-2px)}

/* FOOTER */
footer{background:var(--navy);color:rgba(255,255,255,.85);padding:48px 0 0}
footer h5{color:#fff;font-weight:700;margin-bottom:14px;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}
footer a{display:block;color:rgba(255,255,255,.65);font-size:.88rem;margin-bottom:6px;transition:.15s}
footer a:hover{color:#fff}
footer p{font-size:.88rem}
footer .footer-tagline{color:rgba(255,255,255,.5);font-style:italic;font-size:.82rem}
.footer-bottom{background:rgba(0,0,0,.25);padding:14px 0;margin-top:32px;text-align:center;font-size:.8rem;color:rgba(255,255,255,.4)}

/* BADGES */
.badge-service{background:var(--green-light);color:var(--green-dark);padding:4px 10px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600}

/* ADMIN */
.admin-table th{background:var(--navy);color:#fff}
.admin-table tr:hover{background:var(--gray-50)}
.btn-sm{padding:4px 10px;font-size:.8rem;border-radius:var(--r-sm)}

/* PARTENAIRE DASHBOARD */
.dash-stat{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;text-align:center;box-shadow:var(--sh-sm)}
.dash-stat-num{font-size:2rem;font-weight:700;color:var(--primary)}
.dash-stat-label{font-size:.85rem;color:var(--text-muted)}

/* ALERTS */
.alert-success{background:var(--green-light);border-color:var(--primary);color:var(--green-dark)}

/* MULTI-STEP FORM */
.step-indicator{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}
.step-dot{width:10px;height:10px;border-radius:50%;background:var(--gray-300);transition:.3s}
.step-dot.active{background:var(--primary);transform:scale(1.3)}
.form-step{display:none}.form-step.active{display:block}
