/* ========================================================================== 
   EllaCar Premium v2 — couche visuelle finale
   Version 1.4.3

   Cette feuille ne modifie aucune logique métier. Elle harmonise l'accueil,
   les véhicules, la réservation, le paiement, WooCommerce et l'espace client.
   ========================================================================== */

:root {
  --ecp-navy-950: #04132d;
  --ecp-navy-900: #071a38;
  --ecp-navy-850: #0a234a;
  --ecp-navy-800: #0d2d5c;
  --ecp-gold-500: #ffb800;
  --ecp-gold-400: #ffc733;
  --ecp-gold-100: #fff6d7;
  --ecp-blue-50: #f3f8ff;
  --ecp-blue-100: #e7f1ff;
  --ecp-page: #f5f7fb;
  --ecp-surface: #ffffff;
  --ecp-text: #0d1b34;
  --ecp-muted: #60708a;
  --ecp-line: #dce4ef;
  --ecp-line-soft: #e9eef5;
  --ecp-success: #15803d;
  --ecp-danger: #b42318;
  --ecp-radius-xs: 10px;
  --ecp-radius-sm: 14px;
  --ecp-radius-md: 18px;
  --ecp-radius-lg: 24px;
  --ecp-radius-xl: 30px;
  --ecp-shadow-xs: 0 5px 16px rgba(5, 24, 52, 0.06);
  --ecp-shadow-sm: 0 10px 30px rgba(5, 24, 52, 0.08);
  --ecp-shadow-md: 0 20px 55px rgba(5, 24, 52, 0.12);
  --ecp-shadow-lg: 0 28px 80px rgba(5, 24, 52, 0.18);
  --ecp-transition: 180ms ease;

  /* Compatibilité avec les anciennes feuilles du thème. */
  --ec-navy: var(--ecp-navy-900);
  --ec-navy2: var(--ecp-navy-950);
  --ec-brand: var(--ecp-gold-500);
  --navy: var(--ecp-navy-900);
  --navy-2: var(--ecp-navy-850);
  --navy-3: var(--ecp-navy-800);
  --gold: var(--ecp-gold-500);
  --text: var(--ecp-text);
  --muted: var(--ecp-muted);
  --line: var(--ecp-line);
  --surface: var(--ecp-surface);
  --bg: var(--ecp-page);
  --r-xs: var(--ecp-radius-xs);
  --r-sm: var(--ecp-radius-sm);
  --r-md: var(--ecp-radius-md);
  --r-lg: var(--ecp-radius-lg);
  --sh-sm: var(--ecp-shadow-sm);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  background: var(--ecp-page);
  color: var(--ecp-text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

body.ec-nav-open {
  overflow: hidden;
}

img {
  max-width: 100%;
}

a,
button,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}

button,
input,
select,
textarea {
  font: inherit;
}

:focus-visible {
  outline: 3px solid rgba(255, 184, 0, 0.5);
  outline-offset: 3px;
}

.ec-container,
.ecl-container,
.ed-wrap {
  width: min(100% - 40px, 1240px);
  max-width: 1240px;
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
}

.ec-svg-icon {
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: -0.18em;
}

/* ========================================================================== 
   Header
   ========================================================================== */

.ec-topstrip {
  background: var(--ecp-navy-950);
  color: rgba(255, 255, 255, 0.82);
  border: 0;
  min-height: 34px;
}

.ec-topstrip__inner {
  min-height: 34px;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 12px;
}

.ec-topstrip__phone {
  color: var(--ecp-gold-400);
  border: 0;
  background: transparent;
  font-weight: 800;
}

.ec-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  background: rgba(7, 26, 56, 0.98);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 35px rgba(3, 15, 35, 0.12);
  backdrop-filter: blur(16px);
}

body.admin-bar .ec-header {
  top: 32px;
}

.ec-header--scrolled {
  box-shadow: 0 14px 42px rgba(3, 15, 35, 0.22);
}

.ec-header__inner {
  min-height: 76px;
  padding-top: 0;
  padding-bottom: 0;
  gap: 30px;
}

.ec-brand {
  flex: 0 0 auto;
  min-width: 190px;
  gap: 12px;
  color: #fff;
}

.ec-brand__logo {
  width: auto !important;
  max-width: 185px;
  height: 48px !important;
  object-fit: contain;
  object-position: left center;
}

.ec-brand__mark {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 2px solid var(--ecp-gold-500);
  background: rgba(255, 184, 0, 0.08);
}

.ec-brand__name {
  font-size: 21px;
  letter-spacing: 0.02em;
}

.ec-brand__sub {
  margin-top: 3px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.62);
}

.ec-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
}

.ec-nav__list {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-right: 8px;
}

.ec-nav__link,
.ec-nav__list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 13px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: -0.01em;
  opacity: 1;
  transition: color var(--ecp-transition), background var(--ecp-transition);
}

.ec-nav__link:hover,
.ec-nav__link--active,
.ec-nav__list a:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.ec-nav__client,
.ec-nav__call,
.ec-nav__cta,
.ec-header .ec-btn {
  width: auto;
  min-height: 44px;
  padding: 0 15px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: none;
}

.ec-nav__client,
.ec-nav__call {
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.ec-nav__client:hover,
.ec-nav__call:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.34);
  transform: none;
}

.ec-nav__call {
  gap: 8px;
}

.ec-nav__cta,
.ec-header .ec-btn--primary {
  min-width: 104px;
  color: var(--ecp-navy-950);
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 25px rgba(255, 184, 0, 0.22);
}

.ec-nav__cta:hover,
.ec-header .ec-btn--primary:hover {
  filter: brightness(1.03);
  transform: translateY(-1px);
}

.ec-nav__burger {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
}

.ec-burger__bar {
  width: 21px;
  height: 2px;
  border-radius: 99px;
}

/* ========================================================================== 
   Global cards, titles, forms and buttons
   ========================================================================== */

.ec-page {
  padding-top: 44px;
  padding-bottom: 80px;
}

.ec-page-head,
.ec-pay-head,
.ec-arc-head {
  margin-bottom: 26px;
}

.ec-h1,
.ec-page-title,
.ec-arc-title,
.ed-single__title,
.ec-account-title {
  color: var(--ecp-text);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 900;
}

.ec-h2,
.ec-account-section-title {
  color: var(--ecp-text);
  letter-spacing: -0.025em;
}

.ec-sub,
.ec-page-sub,
.ec-arc-sub,
.ed-single__sub,
.ec-account-sub {
  color: var(--ecp-muted);
  font-size: 15px;
}

.ec-card,
.ec-pay-card,
.ec-pay-payment,
.ec-checkout-panel,
.ec-checkout-order-summary,
.ec-cart-items,
.ec-cart-summary,
.ec-account-section,
.ec-account-detail-card,
.ec-account-form-block {
  border: 1px solid var(--ecp-line-soft);
  border-radius: var(--ecp-radius-lg);
  background: var(--ecp-surface);
  box-shadow: var(--ecp-shadow-sm);
}

.ec-card__head,
.ec-checkout-panel-head,
.ec-checkout-order-summary-head,
.ec-cart-items-head,
.ec-cart-summary-head {
  border-bottom: 1px solid var(--ecp-line-soft);
  background: linear-gradient(180deg, #fff, #fbfcfe);
}

.ec-btn,
.ec-account-submit,
.ec-checkout-confirm,
.ec-cart-checkout-btn,
button.button,
a.button,
input.button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  min-height: 50px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  color: var(--ecp-navy-950);
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(255, 184, 0, 0.2);
  transition: transform var(--ecp-transition), box-shadow var(--ecp-transition), filter var(--ecp-transition);
}

.ec-btn:hover,
.ec-account-submit:hover,
.ec-checkout-confirm:hover,
.ec-cart-checkout-btn:hover,
button.button:hover,
a.button:hover,
input.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
  color: var(--ecp-navy-950);
  filter: brightness(1.025);
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(255, 184, 0, 0.25);
}

.ec-btn-ghost,
.ec-btn--ghost,
.ec-pay-back,
.ec-cart-continue,
.ec-account-link,
.ec-account-back {
  border: 1px solid var(--ecp-line);
  border-radius: 13px;
  background: #fff;
  color: var(--ecp-navy-900);
  box-shadow: none;
}

.ec-btn-ghost:hover,
.ec-btn--ghost:hover,
.ec-pay-back:hover,
.ec-cart-continue:hover,
.ec-account-link:hover,
.ec-account-back:hover {
  border-color: #b7c5d8;
  background: var(--ecp-blue-50);
}

.ec-account-input,
.ec-checkout-input,
.ec-arc-input,
.ec-arc-select,
.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="number"],
select,
textarea {
  min-height: 50px;
  border: 1px solid #cfd9e7;
  border-radius: 12px;
  background: #fff;
  color: var(--ecp-text);
  box-shadow: 0 1px 2px rgba(5, 24, 52, 0.02);
  transition: border-color var(--ecp-transition), box-shadow var(--ecp-transition), background var(--ecp-transition);
}

textarea {
  min-height: 120px;
}

.ec-account-input:focus,
.ec-checkout-input:focus,
.ec-arc-input:focus,
.ec-arc-select:focus,
.woocommerce input.input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ecp-gold-500);
  box-shadow: 0 0 0 4px rgba(255, 184, 0, 0.14);
  outline: 0;
}

.ec-alert {
  border-radius: 14px;
  border-width: 1px;
  box-shadow: var(--ecp-shadow-xs);
}

/* ========================================================================== 
   Homepage
   ========================================================================== */

.ecl-home {
  --ecl-navy: var(--ecp-navy-900);
  --ecl-gold: var(--ecp-gold-500);
  --ecl-ink: var(--ecp-text);
  --ecl-muted: var(--ecp-muted);
  --ecl-line: var(--ecp-line);
  --ecl-shadow: var(--ecp-shadow-lg);
  overflow: hidden;
  background: #fff;
}

.ecl-home .ecl-container {
  width: min(100% - 40px, 1240px);
  max-width: 1240px;
}

.ecl-hero {
  position: relative;
  z-index: 1;
  min-height: 590px;
  overflow: visible;
  background:
    radial-gradient(circle at 74% 24%, rgba(52, 137, 201, 0.4), transparent 32%),
    linear-gradient(105deg, #071a38 0%, #0b315d 55%, #135784 100%);
}

.ecl-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(3, 15, 35, 0.9) 0%, rgba(3, 18, 42, 0.74) 45%, rgba(3, 18, 42, 0.16) 78%, rgba(3, 18, 42, 0.2) 100%);
  pointer-events: none;
}

.ecl-hero.ecl-hero--has-image {
  background-image: var(--ecl-hero-image);
  background-size: cover;
  background-position: center 48%;
  background-repeat: no-repeat;
}

.ecl-hero.ecl-hero--has-image .ecl-hero__bg {
  display: none;
}

.ecl-hero__bg {
  z-index: 0;
}

.ecl-hero__inner {
  position: relative;
  z-index: 2;
  min-height: 590px;
  padding-top: 78px;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.ecl-hero__copy {
  width: min(650px, 58%);
  max-width: 650px;
}

.ecl-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  color: var(--ecp-gold-400);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ecl-eyebrow::before {
  width: 8px;
  height: 8px;
  background: var(--ecp-gold-500);
  box-shadow: 0 0 0 5px rgba(255, 184, 0, 0.12);
}

.ecl-hero h1 {
  max-width: 700px;
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(44px, 5.2vw, 67px);
  line-height: 0.99;
  letter-spacing: -0.058em;
  font-weight: 950;
  text-wrap: balance;
  text-shadow: 0 8px 30px rgba(0, 0, 0, 0.22);
}

.ecl-hero h1 strong {
  display: block;
  color: var(--ecp-gold-500);
}

.ecl-hero__copy > p {
  max-width: 600px;
  margin: 0 0 24px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  line-height: 1.6;
}

.ecl-hero__mini-trust {
  gap: 13px 24px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.ecl-hero__mini-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ecl-hero__mini-trust .ec-svg-icon {
  width: 20px;
  height: 20px;
  padding: 3px;
  border: 1px solid var(--ecp-gold-500);
  border-radius: 50%;
  color: var(--ecp-gold-500);
}

.ecl-search {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: none;
  margin-top: 38px;
  transform: translateY(38px);
  display: grid;
  grid-template-columns: 1.25fr 1.25fr 0.95fr 0.95fr 150px;
  gap: 14px;
  align-items: end;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 70px rgba(3, 18, 42, 0.24);
  backdrop-filter: blur(18px);
}

.ecl-search__field label {
  display: block;
  margin: 0 0 8px;
  color: #263752;
  font-size: 11px;
  font-weight: 900;
}

.ecl-search__control {
  position: relative;
}

.ecl-search__control > .ec-svg-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 2;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  color: var(--ecp-navy-800);
  pointer-events: none;
}

.ecl-search select,
.ecl-search input {
  width: 100%;
  height: 54px;
  min-height: 54px;
  padding: 0 13px 0 43px;
  border: 1px solid #d7e0ec;
  border-radius: 12px;
  background-color: #fff;
  color: var(--ecp-text);
  font-size: 13px;
  font-weight: 750;
  box-shadow: none;
}

.ecl-search select:focus,
.ecl-search input:focus {
  border-color: var(--ecp-gold-500);
  box-shadow: 0 0 0 4px rgba(255, 184, 0, 0.13);
}

.ecl-search__submit {
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  color: var(--ecp-navy-950);
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(255, 184, 0, 0.25);
  cursor: pointer;
}

.ecl-search__submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(255, 184, 0, 0.31);
}

.ecl-search__submit .ec-svg-icon {
  width: 19px;
  height: 19px;
  stroke-width: 2.3;
}

.ecl-trust {
  position: relative;
  z-index: 3;
  margin-top: 62px;
  padding-bottom: 18px;
  background: #fff;
}

.ecl-trust__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.ecl-trust article {
  min-height: 78px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  border-right: 1px solid var(--ecp-line-soft);
}

.ecl-trust article:last-child {
  border-right: 0;
}

.ecl-trust article > span {
  grid-row: auto;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  flex: 0 0 45px;
  border-radius: 50%;
  background: var(--ecp-navy-900);
  color: var(--ecp-gold-500);
  font-size: 19px;
}

.ecl-trust article > span .ec-svg-icon {
  width: 21px;
  height: 21px;
}

.ecl-trust article > div {
  min-width: 0;
}

.ecl-trust strong,
.ecl-trust small {
  display: block;
}

.ecl-trust strong {
  margin-bottom: 3px;
  color: var(--ecp-text);
  font-size: 12px;
  line-height: 1.22;
  font-weight: 900;
}

.ecl-trust small {
  color: var(--ecp-muted);
  font-size: 10px;
  line-height: 1.35;
}

.ecl-steps,
.ecl-fleet,
.ecl-why,
.ecl-reviews,
.ecl-faq {
  padding: 70px 0;
}

.ecl-steps {
  background: linear-gradient(180deg, #fff 0%, #f6f9fd 100%);
}

.ecl-section-heading,
.ecl-section-title {
  margin-bottom: 30px;
}

.ecl-section-heading {
  text-align: center;
}

.ecl-section-heading h2,
.ecl-section-title h2,
.ecl-steps h2 {
  margin: 0;
  color: var(--ecp-text);
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.ecl-section-heading h2 span,
.ecl-section-title h2 span,
.ecl-steps h2 span,
.ecl-reviews h2 span {
  color: var(--ecp-gold-500);
}

.ecl-section-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--ecp-navy-800);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.ecl-steps__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 28px;
  border: 1px solid #cfe0f3;
  border-radius: 18px;
  background: linear-gradient(135deg, #f7fbff, #eef6ff);
  box-shadow: 0 10px 34px rgba(27, 78, 130, 0.06);
}

.ecl-steps article {
  position: relative;
  display: grid;
  grid-template-columns: 42px 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 0 31px;
}

.ecl-steps article:first-child {
  padding-left: 0;
}

.ecl-steps article:last-child {
  padding-right: 0;
}

.ecl-steps article:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -7px;
  width: 13px;
  height: 13px;
  border-top: 2px solid #8ab1d9;
  border-right: 2px solid #8ab1d9;
  transform: translateY(-50%) rotate(45deg);
}

.ecl-steps b {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ecp-navy-900);
  color: #fff;
  font-size: 14px;
  box-shadow: 0 7px 16px rgba(7, 26, 56, 0.18);
}

.ecl-step-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--ecp-navy-800);
  background: rgba(255, 184, 0, 0.12);
}

.ecl-step-icon .ec-svg-icon {
  width: 25px;
  height: 25px;
}

.ecl-steps h3 {
  margin: 0 0 5px;
  color: var(--ecp-text);
  font-size: 15px;
  font-weight: 900;
}

.ecl-steps p {
  margin: 0;
  color: var(--ecp-muted);
  font-size: 12px;
  line-height: 1.5;
}

.ecl-fleet {
  background: #fff;
}

.ecl-section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.ecl-section-title > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ecp-navy-800);
  font-size: 13px;
  font-weight: 900;
}

.ecl-section-title > a .ec-svg-icon {
  width: 17px;
  transition: transform var(--ecp-transition);
}

.ecl-section-title > a:hover .ec-svg-icon {
  transform: translateX(3px);
}

.ecl-fleet__grid {
  gap: 24px;
}

.ecl-car-card {
  border: 1px solid var(--ecp-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: var(--ecp-shadow-sm);
  overflow: hidden;
  transition: transform var(--ecp-transition), box-shadow var(--ecp-transition), border-color var(--ecp-transition);
}

.ecl-car-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 184, 0, 0.65);
  box-shadow: 0 22px 54px rgba(5, 24, 52, 0.14);
}

.ecl-car-card__badge {
  top: 13px;
  left: 13px;
  padding: 6px 9px;
  border-radius: 8px;
  background: var(--ecp-navy-900);
  color: #fff;
  font-size: 9px;
  letter-spacing: 0.025em;
}

.ecl-car-card__image {
  height: 240px;
  padding: 32px 28px 8px;
  background: linear-gradient(180deg, #fff 0%, #f3f6fa 100%);
}

.ecl-car-card__image img {
  max-height: 202px;
  filter: drop-shadow(0 17px 17px rgba(5, 24, 52, 0.16));
  transition: transform 260ms ease;
}

.ecl-car-card:hover .ecl-car-card__image img {
  transform: scale(1.025);
}

.ecl-car-card__placeholder .ec-svg-icon {
  width: 75px;
  height: 75px;
  color: #9aabc0;
}

.ecl-car-card__body {
  padding: 18px 20px 20px;
}

.ecl-car-card h3 {
  margin-bottom: 13px;
  font-size: 18px;
  font-weight: 900;
}

.ecl-car-card__specs {
  grid-template-columns: repeat(4, auto);
  justify-content: start;
  gap: 8px 15px;
  margin-bottom: 19px;
  color: #516079;
  font-size: 10px;
  font-weight: 750;
}

.ecl-car-card__specs span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.ecl-car-card__specs .ec-svg-icon {
  width: 13px;
  height: 13px;
  color: #1a5a98;
}

.ecl-car-card__bottom {
  padding-top: 17px;
  border-top: 1px solid var(--ecp-line-soft);
}

.ecl-car-card__price small {
  margin-bottom: 1px;
  color: var(--ecp-muted);
  font-size: 10px;
}

.ecl-car-card__price strong {
  color: var(--ecp-text);
  font-size: 32px;
  letter-spacing: -0.045em;
}

.ecl-car-card__price em {
  color: var(--ecp-muted);
  font-size: 11px;
}

.ecl-car-card__cta {
  min-width: 118px;
  height: 45px;
  border-radius: 11px;
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  color: var(--ecp-navy-950);
  box-shadow: 0 9px 20px rgba(255, 184, 0, 0.2);
}

.ecl-car-card__cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 13px 27px rgba(255, 184, 0, 0.27);
}

.ecl-fleet__all {
  display: none;
}

.ecl-why {
  background: linear-gradient(180deg, #fff, #fff9ea);
}

.ecl-why__grid {
  gap: 17px;
}

.ecl-why article {
  min-height: 116px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 21px;
  border: 1px solid #ebdfc7;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--ecp-shadow-xs);
  transition: transform var(--ecp-transition), box-shadow var(--ecp-transition), border-color var(--ecp-transition);
}

.ecl-why article:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 184, 0, 0.62);
  box-shadow: var(--ecp-shadow-sm);
}

.ecl-why article > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--ecp-gold-100);
  border: 1px solid rgba(255, 184, 0, 0.35);
  color: var(--ecp-gold-500);
}

.ecl-why article > span .ec-svg-icon {
  width: 25px;
  height: 25px;
  stroke-width: 2;
}

.ecl-why h3 {
  margin: 0 0 5px;
  color: var(--ecp-text);
  font-size: 15px;
  font-weight: 900;
}

.ecl-why p {
  margin: 0;
  color: var(--ecp-muted);
  font-size: 12px;
  line-height: 1.55;
}

.ecl-reviews {
  background: #fff;
}

.ecl-reviews__wrap {
  display: grid;
  grid-template-columns: 0.9fr 1.35fr 1.35fr 0.9fr;
  gap: 15px;
  align-items: stretch;
  padding: 26px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(35, 101, 171, 0.28), transparent 28%),
    linear-gradient(135deg, var(--ecp-navy-950), var(--ecp-navy-850));
  box-shadow: 0 24px 65px rgba(5, 24, 52, 0.2);
}

.ecl-reviews__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 8px 6px;
}

.ecl-reviews h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 31px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.ecl-reviews__intro p {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 12px;
}

.ecl-review {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.13);
}

.ecl-review__avatar {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, #f5d26b, #0e5598);
  font-size: 17px;
}

.ecl-review strong {
  color: var(--ecp-gold-500);
  font-size: 13px;
}

.ecl-review p {
  margin: 5px 0 7px;
  color: #24334c;
  font-size: 11px;
  line-height: 1.55;
}

.ecl-review small {
  color: #6d7b90;
  font-size: 10px;
}

.ecl-rating {
  min-height: 100%;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 15px;
  background: rgba(6, 28, 59, 0.6);
  color: #fff;
}

.ecl-rating strong {
  font-size: 32px;
  letter-spacing: -0.035em;
}

.ecl-rating span {
  color: var(--ecp-gold-500);
  letter-spacing: 0.06em;
}

.ecl-rating small {
  font-size: 10px;
  line-height: 1.4;
}

.ecl-rating a {
  margin-top: 7px;
  color: #fff;
  font-size: 10px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ecl-faq {
  background: #f6f8fc;
}

.ecl-faq__list {
  max-width: 850px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}

.ecl-faq__item {
  border: 1px solid var(--ecp-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: var(--ecp-shadow-xs);
  overflow: hidden;
}

.ecl-faq__item[open] {
  border-color: rgba(255, 184, 0, 0.62);
  box-shadow: var(--ecp-shadow-sm);
}

.ecl-faq__item summary {
  position: relative;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 60px 15px 20px;
  color: var(--ecp-text);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.ecl-faq__item summary::-webkit-details-marker {
  display: none;
}

.ecl-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 19px;
  top: 50%;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--ecp-blue-50);
  color: var(--ecp-navy-900);
  font-size: 20px;
  line-height: 1;
}

.ecl-faq__item[open] summary::after {
  content: "−";
  background: var(--ecp-navy-900);
  color: var(--ecp-gold-500);
}

.ecl-faq__item > div {
  padding: 0 20px 19px;
  color: var(--ecp-muted);
  font-size: 13px;
  line-height: 1.65;
}

.ecl-final-cta {
  padding: 76px 0;
  background:
    radial-gradient(circle at 82% 20%, rgba(255, 184, 0, 0.22), transparent 28%),
    linear-gradient(135deg, var(--ecp-navy-950), var(--ecp-navy-800));
}

.ecl-final-cta__eyebrow {
  display: block;
  margin-bottom: 9px;
  color: var(--ecp-gold-500);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.ecl-final-cta h2 {
  max-width: 820px;
  margin-inline: auto;
  color: #fff;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.03;
}

.ecl-final-cta p {
  font-size: 16px;
}

.ecl-final-cta__btn,
.ecl-final-cta__phone {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 23px;
  border-radius: 13px;
}

.ecl-final-cta__btn {
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  box-shadow: 0 13px 30px rgba(255, 184, 0, 0.24);
}

.ecl-final-cta__phone {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.08);
}

/* ========================================================================== 
   Vehicle archive and search results
   ========================================================================== */

.ec-arc {
  min-height: 70vh;
  padding: 0 0 80px;
  background: var(--ecp-page);
}

.ec-arc-head {
  padding: 48px 0 32px;
  background:
    radial-gradient(circle at 83% 20%, rgba(255, 184, 0, 0.18), transparent 27%),
    linear-gradient(135deg, var(--ecp-navy-950), var(--ecp-navy-800));
  color: #fff;
}

.ec-arc-title {
  color: #fff;
}

.ec-arc-sub,
.ec-arc-back {
  color: rgba(255, 255, 255, 0.72);
}

.ec-arc-back:hover {
  color: var(--ecp-gold-500);
}

.ec-arc-bar {
  margin-top: -8px;
  padding: 19px;
  border: 1px solid var(--ecp-line-soft);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--ecp-shadow-md);
}

.ec-arc-form {
  gap: 14px;
}

.ec-arc-field label {
  color: #36465f;
  font-size: 11px;
  font-weight: 900;
}

.ec-arc-btn {
  min-height: 50px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  color: var(--ecp-navy-950);
  font-weight: 900;
  box-shadow: 0 10px 25px rgba(255, 184, 0, 0.22);
}

.ec-arc-body {
  padding-top: 34px;
}

.ec-arc-grid {
  gap: 24px;
}

.ec-arc-card {
  border: 1px solid var(--ecp-line-soft);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--ecp-shadow-sm);
  overflow: hidden;
  transition: transform var(--ecp-transition), box-shadow var(--ecp-transition), border-color var(--ecp-transition);
}

.ec-arc-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 184, 0, 0.6);
  box-shadow: var(--ecp-shadow-md);
}

.ec-arc-card__imgwrap {
  background: linear-gradient(180deg, #fff, #f2f5f9);
}

.ec-arc-card__img {
  object-fit: contain;
  filter: drop-shadow(0 15px 17px rgba(5, 24, 52, 0.15));
}

.ec-arc-card__body {
  padding: 22px;
}

.ec-arc-card__title {
  font-size: 22px;
  font-weight: 900;
}

.ec-arc-card__cta {
  min-height: 47px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--ecp-gold-400), var(--ecp-gold-500));
  color: var(--ecp-navy-950);
  font-weight: 900;
}

.ec-arc-card__avail {
  color: var(--ecp-success);
  font-weight: 800;
}

/* ========================================================================== 
   Single vehicle
   ========================================================================== */

.ed-single {
  padding-top: 36px;
  padding-bottom: 80px;
  background: var(--ecp-page);
}

.ed-breadcrumb {
  margin-bottom: 24px;
  color: var(--ecp-muted);
  font-size: 13px;
}

.ed-single__grid {
  gap: 34px;
}

.ed-single__img-card,
.ed-single__panel {
  border: 1px solid var(--ecp-line-soft);
  border-radius: var(--ecp-radius-lg);
  background: #fff;
  box-shadow: var(--ecp-shadow-sm);
}

.ed-single__img-card {
  padding: 28px;
  background: linear-gradient(180deg, #fff, #f1f5f9);
}

.ed-single__img-card img {
  filter: drop-shadow(0 22px 24px rgba(5, 24, 52, 0.16));
}

.ed-single__status {
  border-radius: 999px;
  background: #eaf8ef;
  color: var(--ecp-success);
}

.ed-single__specs {
  gap: 12px;
}

.ed-single__spec {
  border: 1px solid var(--ecp-line-soft);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ecp-shadow-xs);
}

.ed-single__panel {
  padding: 24px;
}

/* ========================================================================== 
   Reservation, payment and thank-you pages
   ========================================================================== */

.ec-res-page,
.ec-pay-page,
body.woocommerce-cart,
body.woocommerce-checkout {
  background: var(--ecp-page);
}

.ec-res-layout,
.ec-pay-grid,
.ec-cart-layout,
.ec-checkout-layout {
  gap: 26px;
}

.ec-res-summary,
.ec-res-total,
.ec-res-profile,
.ec-pay-card,
.ec-pay-payment {
  padding: 23px;
}

.ec-res-total,
.ec-pay-right,
.ec-cart-summary,
.ec-checkout-order-summary {
  position: sticky;
  top: 104px;
}

.ec-res-row,
.ec-pay-line,
.ec-checkout-total-row,
.ec-cart-total-line {
  border-color: var(--ecp-line-soft);
}

.ec-res-item,
.ec-pay-opts,
.ec-cart-row,
.ec-checkout-item {
  border-radius: 14px;
  border-color: var(--ecp-line-soft);
  background: #fbfcfe;
}

.ec-pay-secure,
.ec-cart-secure,
.ec-checkout-secure {
  border: 1px solid #d8eadf;
  border-radius: 13px;
  background: #f2fbf5;
  color: #166534;
}

.ec-journey,
.ec-booking-journey {
  border-radius: 18px;
  box-shadow: var(--ecp-shadow-xs);
}

/* ========================================================================== 
   WooCommerce cart and checkout
   ========================================================================== */

.ec-cart,
.ec-checkout {
  padding: 48px 0 80px;
}

.ec-cart-row,
.ec-checkout-item {
  padding: 16px;
}

.ec-cart-thumb,
.ec-checkout-item__img {
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #eef2f7);
}

.ec-cart-summary-body,
.ec-checkout-order-body,
.ec-checkout-panel-body {
  padding: 22px;
}

.ec-pay-method {
  border: 1px solid var(--ecp-line);
  border-radius: 13px;
  background: #fff;
}

.ec-pay-method.active {
  border-color: var(--ecp-gold-500);
  box-shadow: 0 0 0 3px rgba(255, 184, 0, 0.12);
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border: 1px solid var(--ecp-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ecp-shadow-xs);
}

/* ========================================================================== 
   Customer account
   ========================================================================== */

.ec-account {
  min-height: 70vh;
  padding: 46px 0 80px;
  background: var(--ecp-page);
}

.ec-account-layout {
  gap: 26px;
}

.ec-account-sidebar {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 184, 0, 0.17), transparent 30%),
    linear-gradient(155deg, var(--ecp-navy-950), var(--ecp-navy-800));
  box-shadow: var(--ecp-shadow-md);
}

.ec-account-sidebar__name,
.ec-account-sidebar__email {
  color: #fff;
}

.ec-account-sidebar__email {
  opacity: 0.66;
}

.ec-account-avatar {
  border: 3px solid rgba(255, 184, 0, 0.55);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.ec-account-nav__item {
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.75);
}

.ec-account-nav__item:hover,
.ec-account-nav__item.active {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.ec-account-nav__item.active {
  box-shadow: inset 3px 0 0 var(--ecp-gold-500);
}

.ec-account-sidebar__cta {
  border-radius: 13px;
  background: var(--ecp-gold-500);
  color: var(--ecp-navy-950);
}

.ec-account-main {
  min-width: 0;
}

.ec-account-welcome,
.ec-account-next,
.ec-account-stat,
.ec-account-invoice,
.ec-account-auth__card {
  border: 1px solid var(--ecp-line-soft);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--ecp-shadow-sm);
}

.ec-account-next {
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 184, 0, 0.14), transparent 28%),
    linear-gradient(135deg, #fff, #f5f9ff);
}

.ec-account-stat__val {
  color: var(--ecp-navy-900);
}

.ec-account-status {
  border-radius: 999px;
}

.ec-account-auth {
  background:
    radial-gradient(circle at 75% 20%, rgba(255, 184, 0, 0.16), transparent 28%),
    linear-gradient(135deg, #eef4fb, #fff);
}

.ec-auth-tab.active {
  color: var(--ecp-navy-900);
  border-color: var(--ecp-gold-500);
}

/* ========================================================================== 
   Footer
   ========================================================================== */

.ed-footer {
  position: relative;
  border-top: 0;
  background:
    radial-gradient(circle at 90% 8%, rgba(255, 184, 0, 0.11), transparent 23%),
    linear-gradient(145deg, var(--ecp-navy-950), #061b3b 60%, #082449);
  color: #fff;
}

.ed-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 184, 0, 0.65), transparent);
}

.ed-footer .ed-wrap {
  padding-top: 62px;
  padding-bottom: 0;
}

.ed-footer__grid {
  gap: 42px;
}

.ed-footer__logo {
  max-width: 180px;
  max-height: 56px;
  object-fit: contain;
  object-position: left center;
}

.ed-footer__tagline,
.ed-footer__link,
.ed-footer__zone,
.ed-footer__hours-row,
.ed-footer__copy,
.ed-footer__legal a {
  color: rgba(255, 255, 255, 0.66);
}

.ed-footer__col-title {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.01em;
}

.ed-footer__link:hover,
.ed-footer__legal a:hover {
  color: var(--ecp-gold-500);
}

.ed-footer__contact {
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.76);
}

.ed-footer__contact:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
}

.ed-footer__hours {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.045);
}

.ed-footer__callout {
  margin-top: 20px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 184, 0, 0.22);
  border-radius: 15px;
  background: rgba(255, 184, 0, 0.08);
}

.ed-footer__callout-label {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.ed-footer__callout-phone {
  display: block;
  margin-bottom: 3px;
  color: var(--ecp-gold-500);
  font-size: 18px;
  font-weight: 900;
}

.ed-footer__callout-note {
  color: rgba(255, 255, 255, 0.52);
  font-size: 11px;
}

.ed-footer__bottom {
  margin-top: 48px;
  border-top-color: rgba(255, 255, 255, 0.09);
}

/* ========================================================================== 
   Mobile CTA
   ========================================================================== */

.ec-mobile-cta {
  border-top: 1px solid rgba(7, 26, 56, 0.12);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 -12px 35px rgba(5, 24, 52, 0.14);
  backdrop-filter: blur(14px);
}

.ec-mobile-cta__item {
  color: var(--ecp-navy-900);
}

.ec-mobile-cta__book {
  color: var(--ecp-navy-950);
  background: var(--ecp-gold-500);
}

/* ========================================================================== 
   Responsive
   ========================================================================== */

@media (max-width: 1180px) {
  .ec-header__inner {
    gap: 18px;
  }

  .ec-nav__link,
  .ec-nav__list a {
    padding-inline: 9px;
    font-size: 12px;
  }

  .ec-nav__client,
  .ec-nav__call,
  .ec-nav__cta,
  .ec-header .ec-btn {
    padding-inline: 12px;
    font-size: 12px;
  }

  .ecl-search {
    grid-template-columns: 1.15fr 1.15fr 0.85fr 0.85fr 140px;
  }

  .ecl-car-card__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ecl-reviews__wrap {
    grid-template-columns: 0.8fr 1.25fr 1.25fr;
  }

  .ecl-rating {
    grid-column: 1 / -1;
    min-height: auto;
    flex-direction: row;
    gap: 14px;
  }
}

@media (max-width: 980px) {
  body.admin-bar .ec-header {
    top: 46px;
  }

  .ec-header__inner {
    min-height: 68px;
  }

  .ec-brand {
    min-width: 0;
  }

  .ec-brand__logo {
    max-width: 150px;
    height: 42px !important;
  }

  .ec-nav {
    position: fixed;
    inset: 68px 12px auto;
    z-index: 1200;
    display: none;
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(4, 19, 45, 0.98);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
  }

  .ec-nav.is-open {
    display: grid;
    gap: 10px;
  }

  .ec-nav__list {
    display: grid;
    gap: 4px;
    margin: 0;
  }

  .ec-nav__link,
  .ec-nav__list a {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    font-size: 14px;
  }

  .ec-nav__client,
  .ec-nav__call,
  .ec-nav__cta,
  .ec-header .ec-btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
    font-size: 14px;
  }

  .ec-nav__burger {
    display: inline-flex;
  }

  .ecl-hero {
    min-height: auto;
  }

  .ecl-hero::before {
    background: linear-gradient(90deg, rgba(3, 15, 35, 0.9), rgba(3, 15, 35, 0.58));
  }

  .ecl-hero__inner {
    min-height: auto;
    padding-top: 70px;
  }

  .ecl-hero__copy {
    width: 100%;
    max-width: 660px;
  }

  .ecl-search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: translateY(34px);
  }

  .ecl-search__submit {
    grid-column: 1 / -1;
  }

  .ecl-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ecl-trust article:nth-child(3) {
    border-right: 0;
  }

  .ecl-trust article:nth-child(-n + 3) {
    border-bottom: 1px solid var(--ecp-line-soft);
  }

  .ecl-steps__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ecl-steps article,
  .ecl-steps article:first-child,
  .ecl-steps article:last-child {
    padding: 19px 0;
  }

  .ecl-steps article:not(:last-child) {
    border-bottom: 1px solid #d9e6f4;
  }

  .ecl-steps article:not(:last-child)::after {
    display: none;
  }

  .ecl-fleet__grid,
  .ecl-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ecl-reviews__wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ecl-reviews__intro,
  .ecl-rating {
    grid-column: 1 / -1;
  }

  .ec-res-total,
  .ec-pay-right,
  .ec-cart-summary,
  .ec-checkout-order-summary {
    position: static;
  }

  .ed-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  html {
    scroll-padding-top: 76px;
  }

  body {
    padding-bottom: 68px;
  }

  .ec-container,
  .ecl-container,
  .ed-wrap,
  .ecl-home .ecl-container {
    width: min(100% - 28px, 1240px);
  }

  .ec-topstrip {
    display: none;
  }

  .ec-header__inner {
    min-height: 64px;
  }

  .ec-nav {
    top: 64px;
  }

  .ec-brand__logo {
    max-width: 135px;
    height: 38px !important;
  }

  .ecl-hero {
    background-position: 63% center;
  }

  .ecl-hero::before {
    background: linear-gradient(90deg, rgba(3, 15, 35, 0.94), rgba(3, 15, 35, 0.68));
  }

  .ecl-hero__inner {
    padding-top: 54px;
  }

  .ecl-hero h1 {
    font-size: clamp(38px, 11vw, 52px);
  }

  .ecl-hero__copy > p {
    font-size: 15px;
  }

  .ecl-hero__mini-trust {
    gap: 11px 16px;
    font-size: 11px;
  }

  .ecl-search {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 17px;
  }

  .ecl-search__submit {
    grid-column: auto;
  }

  .ecl-trust {
    margin-top: 56px;
  }

  .ecl-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ecl-trust article,
  .ecl-trust article:nth-child(3) {
    min-height: 76px;
    border-right: 1px solid var(--ecp-line-soft);
    border-bottom: 1px solid var(--ecp-line-soft);
  }

  .ecl-trust article:nth-child(2n) {
    border-right: 0;
  }

  .ecl-trust article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .ecl-trust article > span {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .ecl-steps,
  .ecl-fleet,
  .ecl-why,
  .ecl-reviews,
  .ecl-faq {
    padding: 52px 0;
  }

  .ecl-section-title {
    align-items: flex-start;
  }

  .ecl-section-title > a {
    display: none;
  }

  .ecl-fleet__grid,
  .ecl-why__grid,
  .ecl-reviews__wrap {
    grid-template-columns: 1fr;
  }

  .ecl-fleet__all {
    display: block;
  }

  .ecl-car-card__image {
    height: 220px;
  }

  .ecl-car-card__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ecl-reviews__wrap {
    padding: 20px;
  }

  .ecl-reviews__intro,
  .ecl-rating {
    grid-column: auto;
  }

  .ecl-rating {
    flex-direction: column;
  }

  .ecl-final-cta {
    padding: 58px 0;
  }

  .ecl-final-cta__btn,
  .ecl-final-cta__phone {
    width: 100%;
    margin: 5px 0;
  }

  .ec-page,
  .ec-account,
  .ec-cart,
  .ec-checkout {
    padding-top: 32px;
    padding-bottom: 60px;
  }

  .ec-arc-head {
    padding-top: 35px;
  }

  .ec-arc-bar {
    margin-top: 0;
  }

  .ed-footer .ed-wrap {
    padding-top: 48px;
  }

  .ed-footer__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .ed-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 430px) {
  .ecl-trust__grid {
    grid-template-columns: 1fr;
  }

  .ecl-trust article,
  .ecl-trust article:nth-child(2n),
  .ecl-trust article:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--ecp-line-soft);
  }

  .ecl-trust article:last-child {
    border-bottom: 0;
  }

  .ecl-steps__grid {
    padding: 20px;
  }

  .ecl-steps article {
    grid-template-columns: 38px 44px minmax(0, 1fr);
    gap: 11px;
  }

  .ecl-car-card__bottom {
    align-items: center;
  }

  .ecl-car-card__cta {
    min-width: 105px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ========================================================================== 
   EllaCar 1.4.1 — correction typographique

   Objectif : supprimer les graisses synthétiques 850/900/950 qui rendaient
   les textes trop épais sur Windows et harmoniser toutes les pages avec une
   typographie système nette, stable et sans dépendance externe.
   ========================================================================== */

:root {
  --ecp-font-sans: "Segoe UI Variable Text", "Segoe UI Variable", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
summary {
  font-family: var(--ecp-font-sans) !important;
}

body {
  font-weight: 400;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Titres généraux : forts mais moins massifs. */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .ec-page-title,
body .ec-section-title,
body .ec-client-dash__title,
body .ec-empty__title {
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

body p,
body li,
body dd,
body .ec-muted,
body .ec-arc-sub,
body .ed-breadcrumb {
  font-weight: 400 !important;
}

body strong,
body b {
  font-weight: 700;
}

/* En-tête et navigation. */
body .ec-brand,
body .ec-brand__name {
  font-weight: 700 !important;
}

body .ec-nav__link,
body .ec-nav__list a {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body .ec-nav__client,
body .ec-nav__call,
body .ec-nav__cta,
body .ec-header .ec-btn,
body .ec-topstrip__phone {
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

/* Accueil. */
body .ecl-hero h1,
body .ecl-section-heading h2,
body .ecl-section-title h2,
body .ecl-steps h2,
body .ecl-reviews h2,
body .ecl-final-cta h2 {
  font-weight: 700 !important;
  letter-spacing: -0.032em !important;
}

body .ecl-eyebrow,
body .ecl-section-kicker,
body .ecl-search__field label {
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
}

body .ecl-search select,
body .ecl-search input,
body .ecl-car-card__specs,
body .ecl-review small {
  font-weight: 500 !important;
}

body .ecl-search__submit,
body .ecl-car-card h3,
body .ecl-car-card__cta,
body .ecl-car-card__price strong,
body .ecl-steps h3,
body .ecl-trust strong,
body .ecl-section-title > a,
body .ecl-final-cta__btn,
body .ecl-final-cta__phone {
  font-weight: 700 !important;
}

/* Résultats véhicules : neutralise les anciennes graisses 950 !important. */
body .ec-arc-bar::before,
body .ec-arc-title {
  font-weight: 700 !important;
  letter-spacing: -0.028em !important;
}

body .ec-arc-bar::after,
body .ec-arc-sub {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body .ec-arc-field label,
body .ec-arc-check,
body .ec-arc-reset {
  font-weight: 600 !important;
}

body .ec-arc-select,
body .ec-arc-input {
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body .ec-arc-btn,
body .ec-arc-back,
body .ec-arc-card__avail,
body .ec-arc-card__title,
body .ec-arc-price,
body .ec-arc-card__cta {
  font-weight: 700 !important;
}

body .ec-arc-price em,
body .ec-arc-total,
body .ec-arc-deposit {
  font-weight: 600 !important;
}

body .ec-arc-card__title {
  letter-spacing: -0.018em !important;
}

body .ec-arc-price {
  letter-spacing: -0.025em !important;
}

/* Le titre était assombri par une ancienne règle !important. */
body .ec-arc .ec-arc-title {
  color: #ffffff !important;
}

body .ec-arc .ec-arc-sub,
body .ec-arc .ec-arc-back {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Fiche véhicule, réservation, paiement et espace client. */
body .ed-single h1,
body .ed-single h2,
body .ed-single h3,
body .ec-res-page h1,
body .ec-res-page h2,
body .ec-res-page h3,
body .ec-pay-page h1,
body .ec-pay-page h2,
body .ec-pay-page h3,
body .ec-account h1,
body .ec-account h2,
body .ec-account h3,
body.woocommerce h1,
body.woocommerce h2,
body.woocommerce h3 {
  font-weight: 700 !important;
  letter-spacing: -0.022em !important;
}

body .ec-kv span,
body .ec-account-field label,
body .woocommerce form .form-row label {
  font-weight: 600 !important;
  letter-spacing: 0.035em !important;
}

body .ec-kv strong,
body .ec-res-item__title,
body .ec-res-item__price,
body .ec-res-row strong,
body .ec-recap__row strong,
body .ec-recap__total,
body .ec-order-card__title,
body .ec-order-card__total,
body .ec-stat__value,
body .ec-badge {
  font-weight: 700 !important;
}

body .button,
body button,
body input[type="submit"],
body input[type="button"],
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button {
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

body input,
body select,
body textarea {
  font-weight: 500 !important;
}

/* Mobile : évite des titres trop lourds et trop serrés. */
@media (max-width: 760px) {
  body .ecl-hero h1,
  body .ec-arc-title,
  body .ec-arc-bar::before,
  body .ed-single h1,
  body .ec-res-page h1,
  body .ec-pay-page h1,
  body .ec-account h1 {
    letter-spacing: -0.022em !important;
  }
}


/* ========================================================================== 
   Correctif contraste v1.4.2
   Restaure une lisibilité forte sur les surfaces claires
   malgré les anciennes règles dark de WooCommerce.
   ========================================================================== */

/* Notices WooCommerce sur fond clair */
body .woocommerce-message,
body .woocommerce-info {
  background: #fff7df !important;
  color: #16304d !important;
  border: 1px solid #efd58b !important;
  border-top-color: var(--ecp-gold-500) !important;
}

body .woocommerce-message a,
body .woocommerce-info a {
  color: #0a2d61 !important;
}

body ul.woocommerce-error {
  background: #fff1f1 !important;
  color: #8c1d1d !important;
  border: 1px solid #f0b7b7 !important;
  border-top-color: #dc2626 !important;
}

/* Tableaux WooCommerce */
body .woocommerce table.shop_table,
body .woocommerce-page table.shop_table,
body .woocommerce-checkout-review-order-table {
  background: #fff !important;
  color: var(--ecp-text) !important;
  border: 1px solid var(--ecp-line-soft) !important;
  box-shadow: var(--ecp-shadow-sm) !important;
}

body .woocommerce table.shop_table th,
body .woocommerce table.shop_table td,
body .woocommerce-page table.shop_table th,
body .woocommerce-page table.shop_table td,
body .woocommerce-checkout-review-order-table th,
body .woocommerce-checkout-review-order-table td,
body .woocommerce-checkout-review-order-table strong,
body .woocommerce-checkout-review-order-table small,
body .woocommerce-checkout-review-order-table .amount {
  color: var(--ecp-text) !important;
  background: transparent !important;
  border-color: var(--ecp-line-soft) !important;
}

/* Champs et labels WooCommerce / Select2 */
body .woocommerce form .form-row label,
body .woocommerce-page form .form-row label,
body .woocommerce-account .woocommerce-form__label,
body .woocommerce-checkout .form-row label,
body .woocommerce form .form-row label .required,
body .woocommerce-checkout .form-row .optional {
  color: #31445f !important;
  opacity: 1 !important;
}

body .woocommerce form .form-row input.input-text,
body .woocommerce form .form-row textarea,
body .woocommerce form .form-row select,
body .woocommerce-page form .form-row input.input-text,
body .woocommerce-page form .form-row textarea,
body .woocommerce-page form .form-row select {
  background: #fff !important;
  color: var(--ecp-text) !important;
  border: 1px solid #cfd9e7 !important;
  box-shadow: none !important;
}

body .woocommerce form .form-row input.input-text::placeholder,
body .woocommerce form .form-row textarea::placeholder,
body .woocommerce-page form .form-row input.input-text::placeholder,
body .woocommerce-page form .form-row textarea::placeholder {
  color: #8090a5 !important;
}

body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
  background: #fff !important;
  color: var(--ecp-text) !important;
  border: 1px solid #cfd9e7 !important;
}

body .select2-container--default .select2-selection--single .select2-selection__rendered,
body .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body .select2-container--default .select2-selection--multiple .select2-selection__choice,
body .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--ecp-text) !important;
}

body .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #8090a5 !important;
}

body .select2-dropdown {
  background: #fff !important;
  color: var(--ecp-text) !important;
  border: 1px solid #cfd9e7 !important;
}

body .select2-container--default .select2-results__option,
body .select2-results__option,
body .select2-search--dropdown .select2-search__field {
  background: #fff !important;
  color: var(--ecp-text) !important;
}

body .select2-container--default .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option--highlighted[data-selected],
body .select2-container--default .select2-results__option--highlighted,
body .select2-results__option--highlighted {
  background: #fff4cc !important;
  color: #0f2745 !important;
}

/* Bloc paiement / panier / compte */
body .woocommerce .cart-collaterals .cart_totals,
body .woocommerce-checkout .woocommerce,
body .woocommerce-checkout #payment,
body .woocommerce .woocommerce-customer-details,
body .woocommerce .woocommerce-order,
body .woocommerce .woocommerce-MyAccount-content,
body .woocommerce .woocommerce-Addresses,
body .woocommerce .woocommerce-address-fields {
  background: #fff !important;
  color: var(--ecp-text) !important;
  border-color: var(--ecp-line-soft) !important;
}

body .woocommerce #payment label,
body .woocommerce #payment div.payment_box,
body .woocommerce #payment div.payment_box p,
body .woocommerce .payment_methods label,
body .woocommerce .woocommerce-MyAccount-content p,
body .woocommerce .woocommerce-MyAccount-content li,
body .woocommerce .woocommerce-Address-title h3,
body .woocommerce .addresses address {
  color: var(--ecp-text) !important;
}

/* Réservation : détails de périodes et options */
body .ec-note,
body .ec-res-actions .ec-note,
body .ec-res-periods .ec-note {
  color: #45566f !important;
}

body .ec-note strong,
body .ec-res-actions .ec-note strong,
body .ec-res-periods .ec-note strong {
  color: var(--ecp-navy-900) !important;
}

/* Sécurité supplémentaire : texte des petits encarts blancs */
body .ec-card,
body .ec-checkout-panel,
body .ec-checkout-order-summary,
body .ec-account-welcome,
body .ec-account-next,
body .ec-account-stat,
body .ec-account-invoice,
body .ec-arc-card,
body .ecl-car-card,
body .ecl-review,
body .ecl-faq details,
body .ecl-why article,
body .ecl-trust__item,
body .ecl-search {
  color: var(--ecp-text);
}


/* ========================================================================== 
   Harmonisation visuelle v1.4.3
   - jaune limité aux actions de conversion principales
   - boutons rectangulaires, sobres et cohérents
   - états focus et survol harmonisés sur toutes les pages
   ========================================================================== */

:root {
  --ecp-button-radius: 9px;
  --ecp-button-height: 46px;
  --ecp-navy-action: #0a2b57;
  --ecp-navy-action-hover: #061f43;
  --ecp-focus: #4f7eae;
}

/* Focus moins jaune et plus discret. */
body :focus-visible {
  outline: 3px solid rgba(79, 126, 174, 0.36) !important;
  outline-offset: 2px;
}

body input:focus,
body select:focus,
body textarea:focus,
body .woocommerce input.input-text:focus,
body .woocommerce select:focus,
body .woocommerce textarea:focus,
body .select2-container--focus .select2-selection,
body .select2-container--open .select2-selection {
  border-color: var(--ecp-focus) !important;
  box-shadow: 0 0 0 3px rgba(79, 126, 174, 0.13) !important;
}

/* Base commune : boutons moins ronds et moins volumineux. */
body .ec-btn,
body .ec-account-submit,
body .ec-checkout-confirm,
body .ec-cart-checkout-btn,
body button.button,
body a.button,
body input.button,
body .woocommerce button.button,
body .woocommerce a.button,
body .woocommerce input.button,
body .ec-nav__client,
body .ec-nav__call,
body .ec-nav__cta,
body .ecl-search__submit,
body .ecl-car-card__cta,
body .ecl-final-cta__btn,
body .ecl-final-cta__phone,
body .ec-arc-btn,
body .ec-arc-back,
body .ec-arc-card__cta,
body .ec-pay-back,
body .ec-cart-continue,
body .ec-account-link,
body .ec-account-back,
body .ec-account-sidebar__cta,
body .ec-mobile-cta__item {
  border-radius: var(--ecp-button-radius) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

body .ec-btn,
body .ec-account-submit,
body button.button,
body a.button,
body input.button,
body .woocommerce button.button,
body .woocommerce a.button,
body .woocommerce input.button {
  min-height: var(--ecp-button-height) !important;
  padding: 0 18px !important;
}

/* Boutons standards : bleu marine au lieu de jaune. */
body .ec-btn,
body .ec-account-submit,
body button.button,
body a.button,
body input.button,
body .woocommerce button.button,
body .woocommerce a.button,
body .woocommerce input.button,
body .ecl-car-card__cta,
body .ec-arc-btn,
body .ec-arc-card__cta,
body .ec-account-sidebar__cta {
  border: 1px solid var(--ecp-navy-action) !important;
  background: var(--ecp-navy-action) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(5, 31, 67, 0.15) !important;
}

body .ec-btn:hover,
body .ec-account-submit:hover,
body button.button:hover,
body a.button:hover,
body input.button:hover,
body .woocommerce button.button:hover,
body .woocommerce a.button:hover,
body .woocommerce input.button:hover,
body .ecl-car-card__cta:hover,
body .ec-arc-btn:hover,
body .ec-arc-card__cta:hover,
body .ec-account-sidebar__cta:hover {
  border-color: var(--ecp-navy-action-hover) !important;
  background: var(--ecp-navy-action-hover) !important;
  color: #fff !important;
  filter: none !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(5, 31, 67, 0.2) !important;
}

/* Jaune réservé aux véritables actions principales. */
body .ec-nav__cta,
body .ec-header .ec-btn--primary,
body .ecl-search__submit,
body .ecl-final-cta__btn,
body .ec-checkout-confirm,
body .ec-cart-checkout-btn,
body .woocommerce a.checkout-button,
body .woocommerce button#place_order,
body .woocommerce button[name="woocommerce_checkout_place_order"],
body .woocommerce input#place_order,
body .ec-mobile-cta__book {
  border: 1px solid #e8a700 !important;
  background: #ffb800 !important;
  color: var(--ecp-navy-950) !important;
  box-shadow: 0 7px 18px rgba(255, 184, 0, 0.16) !important;
}

body .ec-nav__cta:hover,
body .ec-header .ec-btn--primary:hover,
body .ecl-search__submit:hover,
body .ecl-final-cta__btn:hover,
body .ec-checkout-confirm:hover,
body .ec-cart-checkout-btn:hover,
body .woocommerce a.checkout-button:hover,
body .woocommerce button#place_order:hover,
body .woocommerce button[name="woocommerce_checkout_place_order"]:hover,
body .woocommerce input#place_order:hover,
body .ec-mobile-cta__book:hover {
  border-color: #d99d00 !important;
  background: #f2ae00 !important;
  color: var(--ecp-navy-950) !important;
  filter: none !important;
  box-shadow: 0 10px 22px rgba(255, 184, 0, 0.2) !important;
}

/* Header : le téléphone et le compte redeviennent secondaires. */
body .ec-header .ec-nav__client,
body .ec-header .ec-nav__call {
  min-height: 42px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}

body .ec-header .ec-nav__client:hover,
body .ec-header .ec-nav__call:hover {
  border-color: rgba(255, 255, 255, 0.38) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

body .ec-header .ec-nav__cta {
  min-height: 42px !important;
  min-width: 100px;
}

/* Secondaires : fond blanc, contour fin, texte marine. */
body .ec-btn-ghost,
body .ec-btn--ghost,
body .ec-pay-back,
body .ec-cart-continue,
body .ec-account-link,
body .ec-account-back {
  border: 1px solid #c9d5e4 !important;
  background: #fff !important;
  color: var(--ecp-navy-action) !important;
  box-shadow: none !important;
}

body .ec-btn-ghost:hover,
body .ec-btn--ghost:hover,
body .ec-pay-back:hover,
body .ec-cart-continue:hover,
body .ec-account-link:hover,
body .ec-account-back:hover {
  border-color: #9fb2ca !important;
  background: #f5f8fc !important;
  color: var(--ecp-navy-action-hover) !important;
}

/* Boutons véhicules : plus sobres, plus courts. */
body .ecl-car-card__cta,
body .ec-arc-card__cta {
  min-height: 43px !important;
  height: 43px !important;
  padding: 0 17px !important;
}

body .ec-arc-card__cta {
  width: auto !important;
}

/* Bouton retour sur le bandeau véhicules : plus discret. */
body .ec-arc-back {
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body .ec-arc-back:hover {
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

/* Téléphone de la CTA finale : secondaire, pas jaune. */
body .ecl-final-cta__phone {
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body .ecl-final-cta__phone:hover {
  background: rgba(255, 255, 255, 0.13) !important;
  color: #fff !important;
}

/* Réduction des accents jaunes dans les surfaces et survols. */
body .ecl-why {
  background: linear-gradient(180deg, #fff, #f7f9fc) !important;
}

body .ecl-car-card:hover,
body .ec-arc-card:hover,
body .ecl-why article:hover,
body .ecl-faq details:hover {
  border-color: #b9c9dc !important;
}

body .ec-account-sidebar {
  background:
    radial-gradient(circle at 100% 0%, rgba(48, 107, 169, 0.22), transparent 34%),
    linear-gradient(155deg, var(--ecp-navy-950), var(--ecp-navy-800)) !important;
}

body .ec-pay-method.active {
  border-color: #7c9fc5 !important;
  box-shadow: 0 0 0 3px rgba(79, 126, 174, 0.12) !important;
}

/* Cartes et champs : rayon unifié, légèrement plus droit. */
body .ec-card,
body .ec-pay-card,
body .ec-pay-payment,
body .ec-checkout-panel,
body .ec-checkout-order-summary,
body .ec-cart-items,
body .ec-cart-summary,
body .ec-account-section,
body .ec-account-detail-card,
body .ec-account-form-block,
body .ecl-search,
body .ec-arc-bar,
body .ec-arc-card,
body .ed-single__img-card,
body .ed-single__panel,
body .ec-account-welcome,
body .ec-account-next,
body .ec-account-stat,
body .ec-account-invoice,
body .ec-account-auth__card {
  border-radius: 16px !important;
}

body input,
body select,
body textarea,
body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
  border-radius: 9px !important;
}

/* Mobile : les deux actions restent distinctes et non en capsules. */
body .ec-mobile-cta__item {
  min-height: 45px;
}

body .ec-mobile-cta__call {
  border: 1px solid #cad5e2 !important;
  background: #fff !important;
  color: var(--ecp-navy-action) !important;
}

/* ========================================================================== 
   Espace client clair et compact v1.4.4
   Corrige les textes blancs, les cartes étirées et les réservations illisibles.
   ========================================================================== */

body .ec-account {
  color: var(--ecp-text);
}

body .ec-account .ec-container {
  width: min(1320px, calc(100% - 40px));
}

body .ec-account-layout {
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 28px;
}

body .ec-account-main {
  width: 100%;
  min-width: 0;
}

body .ec-account-section {
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--ecp-line-soft);
  border-radius: 18px !important;
  background: #fff;
  box-shadow: var(--ecp-shadow-sm);
}

body .ec-account-section__head {
  min-height: 34px;
}

body .ec-account-section-title,
body .ec-account-title,
body .ec-account-form-title,
body .ec-account-detail-card__val,
body .ec-account-invoice__name,
body .ec-account-invoice__amount {
  color: var(--ecp-navy-950) !important;
}

body .ec-account-section-count,
body .ec-account-sub,
body .ec-account-detail-card__sub,
body .ec-account-invoice__id,
body .ec-account-invoice__date {
  color: #65758b !important;
}

/* Authentification et profil sur surfaces blanches. */
body .ec-account-auth__card {
  background: #fff !important;
  color: var(--ecp-text) !important;
}

body .ec-account-auth__title {
  color: var(--ecp-navy-950) !important;
}

body .ec-account-auth__sub {
  color: #65758b !important;
}

body .ec-auth-tabs {
  background: #eef3f8 !important;
}

body .ec-auth-tab {
  color: #5d6d82 !important;
}

body .ec-auth-tab.active {
  background: #fff !important;
  color: var(--ecp-navy-950) !important;
  box-shadow: 0 3px 10px rgba(7, 26, 56, 0.08);
}

body .ec-account-field label {
  color: #40516a !important;
}

body .ec-account-input {
  background: #fff !important;
  color: var(--ecp-text) !important;
  border-color: #cfd9e7 !important;
}

body .ec-account-input::placeholder {
  color: #8997aa !important;
}

/* Bienvenue et statistiques. */
body .ec-account-welcome {
  padding: 0 0 2px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .ec-account-title {
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.08;
}

body .ec-account-stats {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 12px;
}

body .ec-account-stat {
  min-height: 94px;
  padding: 17px 18px;
  border: 1px solid #dfe7f1 !important;
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
  box-shadow: 0 7px 18px rgba(7, 26, 56, 0.055) !important;
}

body .ec-account-stat__val {
  margin-bottom: 8px;
  color: var(--ecp-navy-950) !important;
  font-size: 27px;
  line-height: 1;
}

body .ec-account-stat__label {
  color: #66758a !important;
  font-size: 12px;
  line-height: 1.35;
}

body .ec-account-stat--attention {
  border-color: #f0d58d !important;
  background: #fff9e8 !important;
}

body .ec-account-stat--attention .ec-account-stat__val {
  color: #a56600 !important;
}

/* Alerte de paiement. */
body .ec-account-payment-alert {
  padding: 17px 18px;
  border: 1px solid #ecd28b !important;
  border-left: 4px solid #d89600 !important;
  background: #fff9e8 !important;
  color: var(--ecp-text) !important;
  box-shadow: 0 7px 18px rgba(128, 86, 0, 0.06);
}

body .ec-account-payment-alert strong {
  color: #704800 !important;
}

body .ec-account-payment-alert p {
  color: #6f624c !important;
  line-height: 1.5;
}

body .ec-account-payment-alert .ec-btn {
  flex: 0 0 auto;
  min-width: 210px;
  background: var(--ecp-navy-action) !important;
  border-color: var(--ecp-navy-action) !important;
  color: #fff !important;
}

/* Prochaine réservation. */
body .ec-account-next {
  padding: 18px 20px;
  border-color: #dce6f1 !important;
  background: linear-gradient(135deg, #f8fbff, #fff) !important;
}

body .ec-account-next__label {
  color: #68788e !important;
}

body .ec-account-next__vehicle {
  color: var(--ecp-navy-950) !important;
}

body .ec-account-next__period,
body .ec-account-next__lieux {
  color: #5c6d84 !important;
}

body .ec-account-next__countdown {
  border: 1px solid #d7e2ee;
  border-radius: 11px;
  background: #f4f7fb !important;
  color: var(--ecp-navy-900) !important;
}

/* Liste des réservations. */
body .ec-account-bookings {
  gap: 14px;
}

body .ec-booking-card {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr);
  width: 100%;
  min-height: 154px;
  border: 1px solid #dfe7f1 !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(7, 26, 56, 0.065);
  overflow: hidden;
}

body .ec-booking-card:hover {
  border-color: #b9c9dc !important;
  box-shadow: 0 13px 30px rgba(7, 26, 56, 0.1);
}

body .ec-booking-card__img {
  width: 132px !important;
  min-width: 132px;
  height: 100%;
  min-height: 154px;
  border-right: 1px solid #e5ebf3 !important;
  background: linear-gradient(180deg, #f8fafc, #eef3f8) !important;
}

body .ec-booking-card__img img {
  width: 100% !important;
  height: 100% !important;
  min-height: 154px;
  object-fit: cover !important;
  object-position: center;
}

body .ec-booking-card__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 17px 19px;
}

body .ec-booking-card__row {
  align-items: flex-start;
  margin: 0 0 12px;
}

body .ec-booking-card__row > div:first-child {
  min-width: 0;
}

body .ec-booking-card__title {
  margin: 0 0 7px;
  font-size: 17px;
  line-height: 1.25;
}

body .ec-booking-card__title a {
  color: var(--ecp-navy-950) !important;
}

body .ec-booking-card__title a:hover {
  color: #0d579b !important;
}

body .ec-booking-card__period {
  margin-bottom: 5px;
  color: #42546d !important;
  font-size: 13px;
}

body .ec-booking-card__lieu,
body .ec-booking-card__days {
  color: #6c7b8f !important;
  line-height: 1.45;
}

body .ec-booking-card__right {
  flex: 0 0 auto;
  margin-left: 14px;
}

body .ec-booking-card__countdown {
  min-width: 72px;
  padding: 8px 10px;
  border: 1px solid #d7e2ee !important;
  background: #f5f8fc !important;
}

body .ec-booking-card__countdown strong {
  color: var(--ecp-navy-900) !important;
}

body .ec-booking-card__countdown span {
  color: #748298 !important;
}

body .ec-booking-card__footer {
  min-height: 42px;
  padding-top: 12px;
  border-top: 1px solid #e9eef5 !important;
}

body .ec-booking-card__total {
  color: var(--ecp-navy-950) !important;
  font-size: 17px;
}

body .ec-booking-card__actions {
  gap: 9px;
}

body .ec-booking-card__cta,
body .ec-booking-card__pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 13px;
  border-radius: 8px !important;
  font-size: 12px;
  font-weight: 700 !important;
  text-decoration: none;
}

body .ec-booking-card__cta {
  border: 1px solid #cbd7e5 !important;
  background: #fff !important;
  color: var(--ecp-navy-action) !important;
}

body .ec-booking-card__cta:hover {
  border-color: #9fb2ca !important;
  background: #f5f8fc !important;
  color: var(--ecp-navy-action-hover) !important;
}

body .ec-booking-card__pay {
  border: 1px solid var(--ecp-navy-action) !important;
  background: var(--ecp-navy-action) !important;
  color: #fff !important;
  box-shadow: 0 6px 15px rgba(5, 31, 67, 0.14);
}

body .ec-booking-card__pay:hover {
  border-color: var(--ecp-navy-action-hover) !important;
  background: var(--ecp-navy-action-hover) !important;
  color: #fff !important;
}

/* Badges lisibles sur fond blanc. */
body .ec-account-status {
  border-radius: 8px !important;
  background: #edf2f7 !important;
  border-color: #d4dee9 !important;
  color: #465872 !important;
}

body .ec-account-status--payment-pending,
body .ec-account-status--payment-failed,
body .ec-account-status--processing,
body .ec-account-status--on-hold {
  border-color: #efcf75 !important;
  background: #fff8df !important;
  color: #8a5b00 !important;
}

body .ec-account-status--confirmed,
body .ec-account-status--completed {
  border-color: #8cddbd !important;
  background: #ecfbf5 !important;
  color: #087a55 !important;
}

body .ec-account-status--cancelled,
body .ec-account-status--failed,
body .ec-account-status--refunded {
  border-color: #efb1b1 !important;
  background: #fff1f1 !important;
  color: #a12626 !important;
}

/* États vides, détails, factures et profil. */
body .ec-account-empty {
  border-color: #cfd9e7 !important;
  background: #f8fafc;
}

body .ec-account-empty strong {
  color: var(--ecp-navy-950) !important;
}

body .ec-account-empty p {
  color: #68788e !important;
}

body .ec-account-detail-card,
body .ec-account-invoice,
body .ec-account-form-block {
  border-color: #dfe7f1 !important;
  background: #fff !important;
  color: var(--ecp-text) !important;
}

body .ec-account-detail-card__title {
  color: #67768a !important;
}

body .ec-account-detail-opt {
  color: #42546d !important;
  border-color: #e6ecf3 !important;
}

body .ec-account-status-note {
  border-color: #dce5ef !important;
  background: #f8fafc !important;
}

body .ec-account-status-note strong {
  color: var(--ecp-navy-950) !important;
}

body .ec-account-status-note span {
  color: #63738a !important;
}

/* Sidebar : conserve le fond sombre mais réduit les accents jaunes. */
body .ec-account-nav__item.active {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.11) !important;
  box-shadow: inset 3px 0 0 #4f8bc5 !important;
}

body .ec-account-nav__badge {
  background: #dce9f6 !important;
  color: var(--ecp-navy-900) !important;
}

body .ec-account-sidebar__cta {
  border-color: rgba(255, 255, 255, 0.25) !important;
  background: #fff !important;
  color: var(--ecp-navy-900) !important;
  box-shadow: none !important;
}

body .ec-account-sidebar__cta:hover {
  border-color: #fff !important;
  background: #f1f5f9 !important;
  color: var(--ecp-navy-950) !important;
}

@media (max-width: 980px) {
  body .ec-account-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
  }

  body .ec-account-section {
    padding: 21px;
  }
}

@media (max-width: 860px) {
  body .ec-account .ec-container {
    width: min(100% - 28px, 760px);
  }

  body .ec-account-layout {
    grid-template-columns: 1fr;
  }

  body .ec-account-sidebar {
    position: static;
  }
}

@media (max-width: 650px) {
  body .ec-account {
    padding-top: 26px;
  }

  body .ec-account-section {
    padding: 17px;
  }

  body .ec-account-title {
    font-size: 28px;
  }

  body .ec-account-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .ec-account-payment-alert {
    align-items: stretch;
  }

  body .ec-account-payment-alert .ec-btn {
    width: 100%;
    min-width: 0;
  }

  body .ec-booking-card {
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 142px;
  }

  body .ec-booking-card__img {
    width: 96px !important;
    min-width: 96px;
    min-height: 142px;
  }

  body .ec-booking-card__img img {
    min-height: 142px;
  }

  body .ec-booking-card__body {
    padding: 14px;
  }

  body .ec-booking-card__row {
    flex-direction: column;
  }

  body .ec-booking-card__right {
    width: 100%;
    margin-left: 0;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }

  body .ec-booking-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  body .ec-booking-card__actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 460px) {
  body .ec-account-stats {
    grid-template-columns: 1fr;
  }

  body .ec-booking-card {
    grid-template-columns: 1fr;
  }

  body .ec-booking-card__img {
    width: 100% !important;
    min-width: 0;
    height: 180px;
    min-height: 180px;
    border-right: 0 !important;
    border-bottom: 1px solid #e5ebf3 !important;
  }

  body .ec-booking-card__img img {
    min-height: 180px;
  }
}

/* ========================================================================== 
   Page véhicules — rééquilibrage v1.4.5
   ========================================================================== */

@media (min-width: 981px) {
  body .ec-arc {
    width: min(1460px, calc(100vw - 56px)) !important;
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr) !important;
    gap: 30px !important;
    padding-top: 32px !important;
    overflow: visible !important;
  }

  /* Un seul panneau de recherche cohérent : titre + aide + formulaire. */
  body .ec-arc-bar {
    top: 104px !important;
    padding: 22px !important;
    border: 1px solid #dce4ee !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(7, 27, 59, 0.10) !important;
  }

  body.admin-bar .ec-arc-bar {
    top: 136px !important;
  }

  body .ec-arc-bar::before {
    content: "Recherche" !important;
    margin: 0 0 5px !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
  }

  body .ec-arc-bar::after {
    content: "Filtrez les véhicules selon vos dates et vos lieux." !important;
    margin: 0 0 20px !important;
    color: #66758b !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
  }

  body .ec-arc-form {
    gap: 13px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .ec-arc-field label {
    margin-bottom: 7px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.07em !important;
  }

  body .ec-arc-select,
  body .ec-arc-input {
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 15px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  body .ec-arc-check {
    margin: 1px 0 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  body .ec-arc-btn {
    min-height: 50px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  body .ec-arc-btn::before {
    margin-right: 7px !important;
    font-size: 14px !important;
  }

  body .ec-arc-reset {
    min-height: 36px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
  }

  body .ec-arc-head {
    min-height: 164px !important;
    margin-bottom: 26px !important;
    padding: 34px 34px !important;
    border-radius: 0 !important;
  }

  body .ec-arc-title {
    font-size: clamp(34px, 2.6vw, 45px) !important;
  }

  body .ec-arc-sub {
    margin-top: 10px !important;
    font-size: 16px !important;
  }

  body .ec-arc-back {
    min-height: 42px !important;
    padding: 0 15px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  body .ec-arc-grid {
    gap: 20px !important;
  }

  body .ec-arc-card {
    border-radius: 17px !important;
  }

  body .ec-arc-card__imgwrap {
    min-height: 205px !important;
    padding: 18px 18px 0 !important;
  }

  body .ec-arc-card__img {
    height: 190px !important;
  }

  body .ec-arc-card__body {
    padding: 18px !important;
    gap: 12px 16px !important;
  }

  body .ec-arc-card__title {
    font-size: 20px !important;
  }

  body .ec-arc-price {
    font-size: 24px !important;
  }

  body .ec-arc-card__cta {
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }
}

/* Trois cartes uniquement lorsque la zone de résultats est réellement assez large. */
@media (min-width: 981px) and (max-width: 1599px) {
  body .ec-arc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1600px) {
  body .ec-arc-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  body .ec-arc-bar::before {
    content: "Rechercher un véhicule" !important;
    font-size: 27px !important;
    font-weight: 700 !important;
  }

  body .ec-arc-bar::after {
    font-size: 14px !important;
  }

  body .ec-arc-form,
  body .ec-arc-card,
  body .ec-arc-head {
    border-radius: 16px !important;
  }
}


/* ========================================================================== 
   Correctif cartes voitures v1.4.6
   Refonte visuelle des cartes véhicules (accueil + résultats)
   ========================================================================== */

/* Cartes véhicules accueil */
body .ecl-car-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #dde6f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(8, 28, 58, 0.08);
}

body .ecl-car-card:hover {
  transform: translateY(-4px);
  border-color: #c8d7e8;
  box-shadow: 0 18px 40px rgba(8, 28, 58, 0.12);
}

body .ecl-car-card__badge {
  border-radius: 999px;
  padding: 7px 11px;
  background: rgba(255, 255, 255, 0.96);
  color: #10365d;
  border: 1px solid rgba(16, 54, 93, 0.1);
  box-shadow: 0 8px 18px rgba(5, 24, 52, 0.08);
  font-size: 10px;
  font-weight: 800;
}

body .ecl-car-card__image {
  height: 220px;
  padding: 26px 22px 10px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);
  border-bottom: 1px solid #e6edf5;
}

body .ecl-car-card__image img {
  max-height: 188px;
  filter: drop-shadow(0 14px 18px rgba(7, 26, 56, 0.14));
}

body .ecl-car-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px 18px 18px;
}

body .ecl-car-card h3 {
  margin: 0 0 12px;
  color: #0b2447;
  font-size: 19px;
  line-height: 1.18;
  font-weight: 700 !important;
}

body .ecl-car-card__specs {
  gap: 9px 14px;
  margin-bottom: 16px;
  color: #5f6f84;
  font-size: 11px;
}

body .ecl-car-card__bottom {
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #e8eef5;
}

body .ecl-car-card__price small {
  color: #708199;
  font-size: 11px;
}

body .ecl-car-card__price strong {
  color: #0b2447;
  font-size: 30px;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
}

body .ecl-car-card__price em {
  color: #5f6f84;
  font-size: 12px;
}

body .ecl-car-card__cta {
  min-width: 0;
  height: 44px;
  padding: 0 18px;
  border-radius: 10px;
  background: #0f3667;
  color: #fff;
  box-shadow: none;
}

body .ecl-car-card__cta:hover {
  background: #123f78;
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(15, 54, 103, 0.16);
}

/* Cartes véhicules résultats / archive */
body .ec-arc-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #dde6f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(8, 28, 58, 0.08);
}

body .ec-arc-card:hover {
  transform: translateY(-4px);
  border-color: #c8d7e8;
  box-shadow: 0 18px 40px rgba(8, 28, 58, 0.12);
}

body .ec-arc-card__imgwrap {
  position: relative;
  display: block;
  overflow: hidden;
  background: linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);
  border-bottom: 1px solid #e6edf5;
}

body .ec-arc-card__img {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  padding: 22px 22px 12px;
  filter: none;
}

body .ec-arc-card__img img {
  width: auto;
  max-width: 100%;
  max-height: 188px;
  object-fit: contain;
  filter: drop-shadow(0 14px 18px rgba(7, 26, 56, 0.14));
}

body .ec-arc-card__avail {
  top: 14px;
  left: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(16, 54, 93, 0.1);
  box-shadow: 0 8px 18px rgba(5, 24, 52, 0.08);
  color: #14532d;
  font-size: 12px;
  font-weight: 700 !important;
}

body .ec-arc-dot {
  width: 10px;
  height: 10px;
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.13);
}

body .ec-arc-card__body {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 14px;
  flex: 1;
  padding: 18px 20px 20px;
}

body .ec-arc-card__title {
  margin: 0;
  color: #0b2447;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 700 !important;
}

body .ec-arc-card__title a {
  color: inherit;
}

body .ec-arc-card__pricing {
  display: grid;
  gap: 6px;
  align-content: start;
}

body .ec-arc-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: #0b2447;
  font-size: 17px;
  line-height: 1;
  font-weight: 700 !important;
}

body .ec-arc-price em {
  color: #5f6f84;
  font-size: 12px;
  font-style: normal;
  font-weight: 600 !important;
}

body .ec-arc-total {
  color: #5f6f84;
  font-size: 12px;
  font-weight: 600 !important;
}

body .ec-arc-deposit {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #5f6f84;
  font-size: 12px;
  font-weight: 600 !important;
}

body .ec-arc-deposit strong {
  color: #0b2447;
  font-weight: 700 !important;
}

body .ec-arc-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  border-radius: 10px;
  background: #0f3667;
  color: #fff;
  font-weight: 700 !important;
  text-decoration: none;
  box-shadow: none;
}

body .ec-arc-card__cta:hover {
  background: #123f78;
  color: #fff;
  box-shadow: 0 10px 20px rgba(15, 54, 103, 0.16);
}

@media (max-width: 980px) {
  body .ec-arc-card__img {
    min-height: 210px;
  }

  body .ec-arc-card__img img {
    max-height: 170px;
  }
}

@media (max-width: 640px) {
  body .ecl-car-card__image,
  body .ec-arc-card__img {
    min-height: 190px;
    height: 190px;
    padding: 18px 18px 10px;
  }

  body .ecl-car-card__image img,
  body .ec-arc-card__img img {
    max-height: 150px;
  }

  body .ecl-car-card h3,
  body .ec-arc-card__title {
    font-size: 18px;
  }
}
