/* EllaCar — page véhicules alignée avec l'accueil client validé */

body .ec-arc{
  --ec-navy:#071b3b;
  --ec-navy-2:#0b2c55;
  --ec-gold:#ffb300;
  --ec-cream:#fff9ed;
  --ec-soft:#f6f9fd;
  --ec-text:#0a1d3d;
  --ec-muted:#5f6f86;
  background:linear-gradient(180deg,#fff9ed 0,#ffffff 360px,#f8fbff 100%) !important;
  color:var(--ec-text) !important;
  min-height:70vh !important;
  overflow:hidden !important;
}

body .ec-arc .ec-container{
  width:min(1240px, calc(100% - 48px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:0 !important;
}

/* Barre de recherche */
body .ec-arc-bar{
  position:relative !important;
  padding:36px 0 34px !important;
  background:
    radial-gradient(circle at 78% 12%, rgba(255,179,0,.18), transparent 28%),
    linear-gradient(135deg,#fff8ea 0%,#ffffff 52%,#eef7ff 100%) !important;
  border-bottom:1px solid rgba(7,27,59,.08) !important;
  box-shadow:none !important;
}

body .ec-arc-bar::before{
  content:"Trouvez votre véhicule" !important;
  display:block !important;
  width:min(1240px, calc(100% - 48px)) !important;
  margin:0 auto 16px !important;
  color:var(--ec-navy) !important;
  font-size:clamp(28px,3vw,44px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

body .ec-arc-bar::after{
  content:"Sélectionnez vos dates et lieux pour afficher les véhicules disponibles en Guadeloupe." !important;
  display:block !important;
  width:min(1240px, calc(100% - 48px)) !important;
  margin:-8px auto 22px !important;
  color:var(--ec-muted) !important;
  font-size:17px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
}

body .ec-arc-form{
  display:grid !important;
  grid-template-columns:1.15fr 1.15fr .9fr .9fr .95fr !important;
  gap:16px !important;
  align-items:end !important;
  padding:22px !important;
  background:#fff !important;
  border:1px solid rgba(7,27,59,.10) !important;
  border-radius:28px !important;
  box-shadow:0 24px 70px rgba(7,27,59,.10) !important;
}

body .ec-arc-field{
  min-width:0 !important;
}

body .ec-arc-field label{
  display:block !important;
  margin:0 0 9px !important;
  color:#60708a !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body .ec-arc-select,
body .ec-arc-input{
  width:100% !important;
  max-width:100% !important;
  min-height:58px !important;
  height:58px !important;
  padding:0 18px !important;
  border:1px solid rgba(7,27,59,.13) !important;
  border-radius:17px !important;
  background:#fff !important;
  color:var(--ec-navy) !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-shadow:0 1px 0 rgba(7,27,59,.03) !important;
}

body .ec-arc-select:focus,
body .ec-arc-input:focus{
  outline:none !important;
  border-color:rgba(255,179,0,.75) !important;
  box-shadow:0 0 0 4px rgba(255,179,0,.16) !important;
}

body .ec-arc-field--btn{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  justify-content:flex-end !important;
}

body .ec-arc-check{
  order:2 !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 !important;
  color:#334155 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:normal !important;
}

body .ec-arc-check input{
  width:18px !important;
  height:18px !important;
  accent-color:var(--ec-gold) !important;
}

body .ec-arc-btn{
  order:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:58px !important;
  padding:0 22px !important;
  border:0 !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#ffc83d,#ffb300) !important;
  color:var(--ec-navy) !important;
  font-size:16px !important;
  font-weight:950 !important;
  text-decoration:none !important;
  box-shadow:0 18px 36px rgba(255,179,0,.28) !important;
  cursor:pointer !important;
}

body .ec-arc-btn::before{
  content:"🔎" !important;
  margin-right:8px !important;
  font-size:15px !important;
}

body .ec-arc-reset{
  order:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  margin:0 !important;
  border:1px solid rgba(7,27,59,.10) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--ec-navy) !important;
  font-size:13px !important;
  font-weight:850 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

/* Corps résultats */
body .ec-arc-body{
  padding:56px 0 76px !important;
  background:linear-gradient(180deg,#fff 0,#f8fbff 100%) !important;
}

body .ec-arc-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin:0 0 28px !important;
}

body .ec-arc-title{
  margin:0 !important;
  color:var(--ec-navy) !important;
  font-size:clamp(34px,3.2vw,50px) !important;
  line-height:.98 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
}

body .ec-arc-sub{
  max-width:720px !important;
  margin:12px 0 0 !important;
  color:var(--ec-muted) !important;
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}

body .ec-arc-back{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 18px !important;
  border:1px solid rgba(7,27,59,.12) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--ec-navy) !important;
  font-size:15px !important;
  font-weight:950 !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(7,27,59,.06) !important;
  white-space:nowrap !important;
}

body .ec-arc-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
}

body .ec-arc-card{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(7,27,59,.10) !important;
  border-radius:28px !important;
  box-shadow:0 22px 70px rgba(7,27,59,.09) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body .ec-arc-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(255,179,0,.42) !important;
  box-shadow:0 30px 90px rgba(7,27,59,.14) !important;
}

body .ec-arc-card__imgwrap{
  position:relative !important;
  display:block !important;
  padding:24px 24px 0 !important;
  background:linear-gradient(180deg,#f7faff 0,#eef4fb 100%) !important;
  text-decoration:none !important;
  overflow:hidden !important;
}

body .ec-arc-card__img{
  aspect-ratio:16/10 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}

body .ec-arc-card__img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 18px 18px rgba(7,27,59,.14)) !important;
  mix-blend-mode:multiply !important;
}

body .ec-arc-card__avail{
  position:absolute !important;
  left:20px !important;
  top:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:9px 13px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(7,27,59,.10) !important;
  color:#166534 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:950 !important;
  box-shadow:0 12px 28px rgba(7,27,59,.09) !important;
}

body .ec-arc-dot{
  width:9px !important;
  height:9px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  box-shadow:0 0 0 5px rgba(34,197,94,.15) !important;
}

body .ec-arc-card__body{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-areas:
    "title price"
    "cta cta" !important;
  gap:16px !important;
  padding:22px !important;
  flex:1 1 auto !important;
  background:#fff !important;
}

body .ec-arc-card__title{
  grid-area:title !important;
  margin:0 !important;
  color:var(--ec-navy) !important;
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}

body .ec-arc-card__title a{
  color:inherit !important;
  text-decoration:none !important;
}

body .ec-arc-card__pricing{
  grid-area:price !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  gap:5px !important;
  min-width:116px !important;
  color:var(--ec-muted) !important;
  text-align:right !important;
}

body .ec-arc-price{
  color:var(--ec-navy) !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

body .ec-arc-price em{
  color:var(--ec-muted) !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:800 !important;
}

body .ec-arc-total,
body .ec-arc-deposit{
  color:var(--ec-muted) !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}

body .ec-arc-card__cta{
  grid-area:cta !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:50px !important;
  width:100% !important;
  margin-top:2px !important;
  border:1px solid rgba(255,179,0,.55) !important;
  border-radius:16px !important;
  background:#fff9e8 !important;
  color:var(--ec-navy) !important;
  font-size:15px !important;
  font-weight:950 !important;
  text-decoration:none !important;
}

body .ec-arc-card__cta:hover{
  background:var(--ec-gold) !important;
}

body .ec-arc-empty{
  grid-column:1 / -1 !important;
  padding:30px !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(7,27,59,.10) !important;
  box-shadow:0 22px 70px rgba(7,27,59,.09) !important;
}

body .ec-date-native{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:1px !important;
  height:1px !important;
}

@media (max-width:1100px){
  body .ec-arc-form{
    grid-template-columns:1fr 1fr !important;
  }
  body .ec-arc-field--btn{
    grid-column:1 / -1 !important;
  }
  body .ec-arc-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width:760px){
  body .ec-arc .ec-container,
  body .ec-arc-bar::before,
  body .ec-arc-bar::after{
    width:min(100% - 28px, 1240px) !important;
  }
  body .ec-arc-bar{
    padding:26px 0 24px !important;
  }
  body .ec-arc-form{
    grid-template-columns:1fr !important;
    padding:16px !important;
    border-radius:22px !important;
  }
  body .ec-arc-head{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  body .ec-arc-title{
    font-size:34px !important;
  }
  body .ec-arc-sub{
    font-size:16px !important;
  }
  body .ec-arc-grid{
    grid-template-columns:1fr !important;
  }
  body .ec-arc-card__body{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "price" "cta" !important;
  }
  body .ec-arc-card__pricing{
    align-items:flex-start !important;
    text-align:left !important;
  }
}

/* Patch v2 — page véhicules : recherche à gauche, véhicules à droite */
@media (min-width: 981px){
  body .ec-arc{
    display:grid !important;
    grid-template-columns:minmax(300px, 370px) minmax(0, 1fr) !important;
    gap:34px !important;
    align-items:start !important;
    width:min(1500px, calc(100% - 56px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:38px 0 80px !important;
    background:linear-gradient(180deg,#fff9ed 0,#ffffff 260px,#f8fbff 100%) !important;
    overflow:visible !important;
  }

  body .ec-arc .ec-container,
  body .ec-arc-bar::before,
  body .ec-arc-bar::after{
    width:100% !important;
    max-width:none !important;
  }

  body .ec-arc-bar{
    grid-column:1 !important;
    position:sticky !important;
    top:112px !important;
    z-index:5 !important;
    align-self:start !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

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

  body .ec-arc-bar::before{
    content:"Recherche" !important;
    margin:0 0 8px !important;
    font-size:30px !important;
    line-height:1.05 !important;
    letter-spacing:-.035em !important;
  }

  body .ec-arc-bar::after{
    content:"Choisissez vos lieux et dates pour filtrer les véhicules." !important;
    margin:0 0 18px !important;
    font-size:15px !important;
    line-height:1.45 !important;
  }

  body .ec-arc-form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:stretch !important;
    padding:22px !important;
    border-radius:26px !important;
    background:#fff !important;
    border:1px solid rgba(7,27,59,.10) !important;
    box-shadow:0 24px 70px rgba(7,27,59,.12) !important;
  }

  body .ec-arc-form > .ec-arc-field,
  body .ec-arc-form > .ec-arc-field[style]{
    grid-column:auto !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  body .ec-arc-field--btn,
  body .ec-arc-field--btn[style]{
    grid-column:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
  }

  body .ec-arc-select,
  body .ec-arc-input{
    min-height:54px !important;
    height:54px !important;
    font-size:15px !important;
    border-radius:16px !important;
  }

  body .ec-arc-btn{
    min-height:56px !important;
    border-radius:17px !important;
  }

  body .ec-arc-check{
    justify-content:flex-start !important;
    align-items:flex-start !important;
    line-height:1.35 !important;
  }

  body .ec-arc-body{
    grid-column:2 !important;
    padding:0 !important;
    background:transparent !important;
  }

  body .ec-arc-head{
    margin:0 0 24px !important;
    align-items:flex-start !important;
  }

  body .ec-arc-title{
    font-size:clamp(34px, 3vw, 46px) !important;
    line-height:1.02 !important;
  }

  body .ec-arc-sub{
    max-width:740px !important;
    font-size:17px !important;
    line-height:1.5 !important;
  }

  body .ec-arc-grid{
    grid-template-columns:repeat(auto-fit, minmax(285px, 1fr)) !important;
    gap:22px !important;
  }

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

  body .ec-arc-card__imgwrap{
    padding:22px 22px 0 !important;
  }

  body .ec-arc-card__img{
    aspect-ratio:16/9.5 !important;
  }

  body .ec-arc-card__body{
    padding:20px !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px){
  body .ec-arc{
    grid-template-columns:minmax(280px, 330px) minmax(0, 1fr) !important;
    gap:24px !important;
    width:min(100% - 36px, 1500px) !important;
  }

  body .ec-arc-grid{
    grid-template-columns:1fr !important;
  }
}

/* Patch v3 — cartes véhicules mieux proportionnées et sans débordement */
body .ec-arc{
  box-sizing:border-box !important;
  max-width:100vw !important;
}

body .ec-arc *,
body .ec-arc *::before,
body .ec-arc *::after{
  box-sizing:border-box !important;
}

@media (min-width: 981px){
  body .ec-arc{
    width:min(1380px, calc(100vw - 48px)) !important;
    grid-template-columns:minmax(280px, 340px) minmax(0, 1fr) !important;
    gap:28px !important;
    overflow:hidden !important;
  }

  body .ec-arc-body,
  body .ec-arc-body .ec-container{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  body .ec-arc-head{
    gap:18px !important;
  }

  body .ec-arc-title{
    font-size:clamp(32px, 2.45vw, 42px) !important;
    letter-spacing:-.035em !important;
  }

  body .ec-arc-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:22px !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
  }

  body .ec-arc-card{
    min-width:0 !important;
    width:100% !important;
    border-radius:24px !important;
    box-shadow:0 18px 46px rgba(7,27,59,.08) !important;
  }

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

  body .ec-arc-card__img{
    aspect-ratio:auto !important;
    height:210px !important;
    overflow:hidden !important;
  }

  body .ec-arc-card__img img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  body .ec-arc-card__avail{
    left:18px !important;
    top:18px !important;
    padding:8px 12px !important;
    font-size:13px !important;
  }

  body .ec-arc-card__body{
    grid-template-columns:minmax(0, 1fr) auto !important;
    gap:12px 18px !important;
    padding:20px !important;
  }

  body .ec-arc-card__title{
    min-width:0 !important;
    font-size:22px !important;
    line-height:1.12 !important;
    overflow-wrap:anywhere !important;
  }

  body .ec-arc-card__pricing{
    min-width:102px !important;
    gap:4px !important;
  }

  body .ec-arc-price{
    font-size:26px !important;
    white-space:nowrap !important;
  }

  body .ec-arc-total,
  body .ec-arc-deposit{
    font-size:13px !important;
    white-space:nowrap !important;
  }

  body .ec-arc-card__cta{
    min-height:48px !important;
    border-radius:15px !important;
    font-size:15px !important;
  }
}

@media (min-width: 1500px){
  body .ec-arc{
    width:min(1480px, calc(100vw - 64px)) !important;
    grid-template-columns:minmax(300px, 360px) minmax(0, 1fr) !important;
  }

  body .ec-arc-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:22px !important;
  }

  body .ec-arc-card__imgwrap{
    min-height:210px !important;
  }

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

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

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

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

@media (min-width: 981px) and (max-width: 1180px){
  body .ec-arc{
    width:min(100vw - 32px, 1180px) !important;
    grid-template-columns:minmax(260px, 310px) minmax(0, 1fr) !important;
    gap:22px !important;
  }

  body .ec-arc-grid{
    grid-template-columns:1fr !important;
  }

  body .ec-arc-card__imgwrap{
    min-height:230px !important;
  }

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

@media (max-width: 980px){
  body .ec-arc{
    overflow:hidden !important;
  }

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

  body .ec-arc-card__img{
    height:210px !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }

  body .ec-arc-card__img img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}
