/* =============================================================
   EllaCar — Design v4
   Objectif:
   - Header + footer: bleu navy
   - Corps du site: clair / blanc
   - UI: premium, sobre, très lisible
   ============================================================= */

:root{
  --ec-navy:#0b1b3a;
  --ec-navy2:#081734;
  --ec-brand:#ffb300;

  --ec-bg:#ffffff;
  --ec-text:#0f172a;
  --ec-muted:#475569;

  --ec-line:rgba(15,23,42,.10);
  --ec-line-strong:rgba(15,23,42,.14);

  --ec-soft:#f6f7fb;
  --ec-soft2:#eef2ff;

  --ec-surface:#ffffff;
  --ec-surface2:#f7f8fb;

  --ec-radius:18px;
  --ec-radius-sm:14px;

  --ec-shadow:0 18px 55px rgba(2,6,23,.08);
  --ec-shadow-sm:0 10px 28px rgba(2,6,23,.08);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ec-bg);
  color:var(--ec-text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3{letter-spacing:-.02em;line-height:1.15}
p{line-height:1.65}
a{color:inherit}

.ec-container{max-width:1180px;margin:0 auto;padding:20px}

/* =============================================================
   HEADER (navy)
   ============================================================= */
.ec-topbar{
  position:sticky;top:0;z-index:50;
  background:var(--ec-navy);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12)
}
.ec-topbar__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
  padding-top:10px;padding-bottom:10px
}
.ec-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900}
.ec-brand__mark{width:44px;height:44px;border-radius:14px;background:var(--ec-brand);flex-shrink:0}
.ec-brand__name{display:block;font-size:16px;line-height:1.1}
.ec-brand__sub{display:block;font-size:12px;opacity:.75;margin-top:2px}

.ec-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ec-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.ec-nav__list a{
  color:#fff;text-decoration:none;opacity:.84;
  padding:8px 12px;border-radius:999px;font-size:14px;font-weight:800;
  transition:background .12s ease,opacity .12s ease;
}
.ec-nav__list a:hover{opacity:1;background:rgba(255,255,255,.08)}

.ec-nav__client,
.ec-nav__cart{
  display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:800;
}

.ec-nav__cta{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;
  padding:10px 16px;border-radius:999px;
  background:var(--ec-brand);
  color:#111827;
  font-weight:950;
  box-shadow:0 10px 26px rgba(0,0,0,.14);
}
.ec-nav__cta:hover{filter:brightness(1.02)}

@media (max-width: 980px){
  .ec-topbar__inner{flex-wrap:wrap}
  .ec-nav__list{display:none}
}

/* =============================================================
   LAYOUT
   ============================================================= */
.ec-page{padding:18px 0 56px}
.ec-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
@media (max-width:960px){.ec-grid-2{grid-template-columns:1fr}}

.ec-card{
  background:var(--ec-surface);
  border:1px solid var(--ec-line);
  border-radius:var(--ec-radius);
  overflow:hidden;
  box-shadow:var(--ec-shadow-sm)
}
.ec-card--pad{padding:16px}
.ec-h1{font-size:30px;margin:0 0 16px}

/* =============================================================
   BUTTONS
   ============================================================= */
.ec-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  background:var(--ec-brand);
  color:#111827;
  border:0;
  border-radius:var(--ec-radius-sm);
  padding:14px 16px;
  font-weight:950;
  font-size:16px;
  text-decoration:none;
  cursor:pointer;
  transition:filter .12s ease, transform .10s ease;
}
.ec-btn:hover{filter:brightness(1.02)}
.ec-btn:active{transform:translateY(1px)}

.ec-btn-ghost,
.ec-btn--ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 16px;border-radius:var(--ec-radius-sm);
  border:1px solid var(--ec-line-strong);
  background:#fff;
  color:var(--ec-navy);
  font-weight:950;
  text-decoration:none;
  transition:background .12s ease;
}
.ec-btn-ghost:hover,.ec-btn--ghost:hover{background:rgba(15,23,42,.02)}

/* =============================================================
   FOOTER (navy)
   ============================================================= */
.ec-footer{
  border-top:1px solid rgba(255,255,255,.10);
  background:var(--ec-navy);
  color:#fff;
}
.ec-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ec-footer__links{color:rgba(255,255,255,.55)}
.ec-footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.ec-footer-menu li{margin:0;padding:0}
.ec-footer-menu a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:800}
.ec-footer-menu a:hover{text-decoration:underline}

/* =============================================================
   VEHICLE CARDS (archive)
   ============================================================= */
.ec-vehicles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:960px){.ec-vehicles-grid{grid-template-columns:1fr}}

.ec-vehicle-card{
  background:#fff;
  border:1px solid var(--ec-line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  transition:transform .12s ease, box-shadow .12s ease;
  position:relative;
}
.ec-vehicle-card:before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:4px;
  background:linear-gradient(90deg, var(--ec-brand), rgba(255,179,0,.3));
}
.ec-vehicle-card:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(2,6,23,.10)}
.ec-vehicle-card__link{text-decoration:none;display:block}
.ec-vehicle-card__img{height:clamp(140px, 14vw, 190px);background:var(--ec-soft2);border-bottom:1px solid var(--ec-line);overflow:hidden}
.ec-vehicle-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.ec-vehicle-card__body{padding:14px}
.ec-vehicle-card__title{margin:0 0 8px;font-size:18px;font-weight:950}
.ec-vehicle-card__meta{color:var(--ec-muted);font-size:14px;margin-bottom:10px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.ec-vehicle-card__cta{display:inline-flex;gap:8px;font-weight:950}

.ec-vehicle-card__prices{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ec-vehicle-price{font-weight:900;color:var(--ec-navy)}
.ec-vehicle-total{color:var(--ec-muted);font-weight:700;font-size:14px;opacity:.95}

.ec-vehicle-card__deposit{
  margin-top:10px;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(11,27,58,.06);
  color:var(--ec-navy);
  font-weight:800;
  width:fit-content;
}

/* =============================================================
   ALERTS
   ============================================================= */
.ec-alert{
  border:1px solid var(--ec-line);
  background:#fff;
  padding:12px 14px;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  font-weight:800
}
.ec-alert--error{border-color:rgba(255,42,0,.25);background:rgba(255,42,0,.06);color:#7a1b0a}
.ec-alert--info{border-color:rgba(2,6,23,.18);background:rgba(2,6,23,.04);color:var(--ec-text)}

/* =============================================================
   CLIENT DASHBOARD (Woo)
   ============================================================= */
.ec-client-dash__top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.ec-client-dash__kicker{font-weight:950;letter-spacing:.02em;color:var(--ec-muted);text-transform:uppercase;font-size:12px;margin-bottom:4px}
.ec-client-dash__title{margin:0;font-size:26px;font-weight:950}
.ec-client-dash__sub{margin:6px 0 0;color:var(--ec-muted)}
.ec-client-dash__actions{display:flex;gap:10px;flex-wrap:wrap}

.ec-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.ec-stat{border:1px solid var(--ec-line);background:#fff;border-radius:16px;padding:14px;box-shadow:0 10px 30px rgba(2,6,23,.04)}
.ec-stat__label{color:var(--ec-muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.02em}
.ec-stat__value{margin-top:6px;font-size:28px;font-weight:950}
.ec-stat--wide{grid-column:span 1}
.ec-muted{color:var(--ec-muted)}

.ec-orders{display:flex;flex-direction:column;gap:12px}
.ec-order-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--ec-line);background:#fff;border-radius:18px;padding:14px 14px;box-shadow:0 10px 30px rgba(2,6,23,.04)}
.ec-order-card__title{font-weight:950;font-size:16px;margin-bottom:4px}
.ec-order-card__meta{font-size:13px}
.ec-order-card__metaItem{color:var(--ec-muted)}
.ec-order-card__dot{margin:0 8px;color:var(--ec-muted)}
.ec-order-card__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;text-align:right}
.ec-order-card__total{font-weight:950}

.ec-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-weight:950;font-size:12px;border:1px solid var(--ec-line);background:var(--ec-soft2);color:var(--ec-text)}
.ec-badge--processing{border-color:rgba(255,168,0,.25);background:rgba(255,168,0,.12)}
.ec-badge--completed{border-color:rgba(16,185,129,.25);background:rgba(16,185,129,.12)}
.ec-badge--cancelled,.ec-badge--failed,.ec-badge--refunded{border-color:rgba(255,42,0,.25);background:rgba(255,42,0,.10)}

.ec-empty{border:1px dashed var(--ec-line);border-radius:18px;padding:18px;background:var(--ec-soft2)}
.ec-empty__title{font-weight:950}
.ec-empty__sub{margin-top:4px;color:var(--ec-muted)}

@media (max-width: 900px){
  .ec-client-dash__top{flex-direction:column}
  .ec-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ec-stat--wide{grid-column:span 2}
  .ec-order-card{flex-direction:column;align-items:flex-start}
  .ec-order-card__right{width:100%;justify-content:space-between}
}
