/* =====================================================================
   UNIVERS AUTOMOBILE — Feuille de style principale
   Charte reprise de la maquette de référence.
   Les couleurs sont pilotées par les variables CSS définies dans
   les réglages du plugin (Univers Auto → Réglages → Charte graphique).
   ===================================================================== */

:root{
  --ua-primary:#FFB700;
  --ua-primary-dark:#E0A000;
  --ua-on-primary:#18161A;
  --ua-primary-ink:#996E00;
  --ua-primary-soft:#FFF6E0;
  --ua-dark:#18161A;
  --ua-body:#5A5F66;
  --ua-soft:#FAF9F7;
  --ua-line:#E7E5E1;
  --ua-accent:#FFB700;
  --ua-white:#FFFFFF;
  --ua-radius:12px;
  --ua-radius-lg:18px;
  --ua-shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --ua-shadow:0 4px 16px rgba(15,23,42,.07);
  --ua-shadow-lg:0 18px 45px rgba(15,23,42,.10);
  --ua-container:1200px;
  --ua-font-heading:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ua-font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------- Base ---------------------------------------------------- */

/* Les règles de base utilisent :where() : leur spécificité est nulle,
   ce qui garantit que toute règle de composant l'emporte sur elles. */
.ua-site{ font-family:var(--ua-font-body); color:var(--ua-dark); background:var(--ua-white); }
:where(.ua-site) h1,:where(.ua-site) h2,:where(.ua-site) h3,:where(.ua-site) h4{ font-family:var(--ua-font-heading); color:var(--ua-dark); letter-spacing:-.02em; }
:where(.ua-site) p{ color:var(--ua-body); line-height:1.7; }
:where(.ua-site) a{ color:var(--ua-primary-ink, #996E00); text-decoration:none; }
:where(.ua-site) a:hover{ color:var(--ua-primary-dark); }
:where(.ua-site) img{ max-width:100%; height:auto; }

.ua-container,
.ua-section,
.ua-contact-strip,
.ua-search-wrap{ max-width:var(--ua-container); margin-inline:auto; padding-inline:20px; }

.ua-section{ padding-block:56px; }
.ua-icon{ flex:0 0 auto; }

/* ---------- Boutons ------------------------------------------------- */

.ua-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 24px; border-radius:8px; border:1px solid transparent;
  font-family:var(--ua-font-heading); font-size:15px; font-weight:600; line-height:1;
  cursor:pointer; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
  text-decoration:none;
}
.ua-btn:hover{ transform:translateY(-1px); }
.ua-btn--primary{ background:var(--ua-primary); color:var(--ua-on-primary); box-shadow:0 6px 16px rgba(0,0,0,.14); }
.ua-btn--primary:hover{ background:var(--ua-primary-dark); color:var(--ua-on-primary); }
.ua-btn--ghost{ background:#fff; color:var(--ua-dark); border-color:var(--ua-line); }
.ua-btn--ghost:hover{ border-color:var(--ua-primary); color:var(--ua-primary-ink, #996E00); }
.ua-btn--white{ background:#fff; color:var(--ua-primary-ink, #996E00); }
.ua-btn--white:hover{ background:var(--ua-soft); color:var(--ua-primary-dark); }
.ua-btn--dark{ background:var(--ua-dark); color:#fff; }
.ua-btn--lg{ padding:16px 30px; font-size:16px; }
.ua-btn--block{ width:100%; }

/* ---------- Titres de section --------------------------------------- */

.ua-section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; flex-wrap:wrap; }
.ua-section__head--center{ justify-content:center; text-align:center; }
.ua-section__title{ font-size:clamp(24px,2.4vw,30px); font-weight:800; margin:0; }
.ua-section__title--center{ text-align:center; margin-bottom:32px; }
.ua-section__title--left{ margin-bottom:28px; }
.ua-section__sub{ margin:8px 0 0; font-size:15px; }
.ua-section__link{ display:inline-flex; align-items:center; gap:6px; font-size:14.5px; font-weight:600; color:var(--ua-primary-ink, #996E00); white-space:nowrap; }
.ua-section__link:hover{ gap:9px; }

/* ---------- Héros --------------------------------------------------- */

.ua-hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,#F4F8FF 0%,#FBFCFE 62%,#fff 100%);
  padding:56px 20px 40px;
}
.ua-hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:120px;
  background:radial-gradient(60% 100% at 70% 100%,rgba(37,99,235,.07),transparent 70%);
  pointer-events:none;
}
.ua-hero__inner{
  position:relative; z-index:1; max-width:var(--ua-container); margin-inline:auto;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:40px; align-items:center;
}
.ua-hero__title{ font-size:clamp(34px,4.6vw,54px); font-weight:800; line-height:1.1; margin:0 0 18px; }
.ua-hero__hl{ color:var(--ua-primary-ink, #996E00); }
.ua-hero__sub{ font-size:16.5px; max-width:46ch; margin:0 0 26px; }
.ua-hero__actions{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:34px; }
.ua-hero__stats{ display:flex; gap:30px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.ua-hero__stats li{ display:flex; align-items:center; gap:10px; }
.ua-hero__stat-ico{
  width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  background:var(--ua-primary-soft); color:var(--ua-primary-ink, #996E00);
}
.ua-hero__stats strong{ display:block; font-family:var(--ua-font-heading); font-size:15px; font-weight:700; color:var(--ua-dark); }
.ua-hero__stats em{ display:block; font-style:normal; font-size:12.5px; color:var(--ua-body); }
.ua-hero__media img{ width:100%; border-radius:var(--ua-radius-lg); object-fit:cover; aspect-ratio:16/10; box-shadow:var(--ua-shadow-lg); }
.ua-hero__placeholder{ display:grid; place-items:center; aspect-ratio:16/10; border-radius:var(--ua-radius-lg); background:var(--ua-primary-soft); color:var(--ua-primary-ink, #996E00); }

/* ---------- Diaporama d'accueil -------------------------------------- */

.ua-slider{
  position:relative; overflow:hidden; isolation:isolate;
  min-height:560px !important;
  display:grid; background:#0B1220;
}
.ua-slider[style*="--ua-slider-h"]{ min-height:var(--ua-slider-h); }
.ua-slider__track{ display:grid; grid-template-areas:"s"; min-height:inherit; }
.ua-slide{
  grid-area:s; position:relative; display:flex; align-items:center;
  min-height:560px !important;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .75s cubic-bezier(.4,0,.2,1), visibility .75s;
}
.ua-slide.is-active{ opacity:1; visibility:visible; pointer-events:auto; z-index:2; }
.ua-slide.is-leaving-left,.ua-slide.is-leaving-right{ opacity:0; visibility:visible; z-index:1; }

.ua-slide__bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  transform:scale(1.06); transition:transform 9s linear;
}
.ua-slide.is-active .ua-slide__bg{ transform:scale(1); }
.ua-slide__veil{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(7,13,26,calc(var(--ua-veil,.6) + .18)) 0%, rgba(7,13,26,var(--ua-veil,.6)) 42%, rgba(7,13,26,.15) 100%),
    linear-gradient(0deg, rgba(7,13,26,.72) 0%, rgba(7,13,26,0) 46%);
}
.ua-slide.is-align-center .ua-slide__veil{
  background:
    radial-gradient(70% 90% at 50% 50%, rgba(7,13,26,var(--ua-veil,.6)) 0%, rgba(7,13,26,calc(var(--ua-veil,.6) + .12)) 100%),
    linear-gradient(0deg, rgba(7,13,26,.7) 0%, rgba(7,13,26,0) 46%);
}

.ua-slide__inner{
  position:relative; z-index:2; width:100%; max-width:var(--ua-container);
  margin-inline:auto; padding:56px 20px 118px; color:#fff;
}
.ua-slide.is-align-center .ua-slide__inner{ text-align:center; }
.ua-slide.is-align-center .ua-slide__actions,
.ua-slide.is-align-center .ua-slide__over{ justify-content:center; }
.ua-slide.is-align-center .ua-slide__text{ margin-inline:auto; }

.ua-slide__over{
  display:inline-flex; align-items:center; gap:9px; margin:0 0 16px; padding:7px 15px 7px 12px;
  border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(8px); color:#EAF1FF !important;
  font-family:var(--ua-font-heading); font-size:12.5px; font-weight:650; letter-spacing:.02em;
  text-shadow:0 1px 5px rgba(0,0,0,.45);
}
.ua-slide__dot{ width:7px; height:7px; border-radius:50%; background:#60A5FA; box-shadow:0 0 0 4px rgba(96,165,250,.25); flex:0 0 auto; }

.ua-slide__title{
  font-size:clamp(30px,4vw,50px); font-weight:800; line-height:1.08; letter-spacing:-.025em;
  margin:0 0 16px; color:#fff; max-width:17ch; text-wrap:balance;
  text-shadow:0 2px 30px rgba(0,0,0,.4);
}
.ua-slide.is-align-center .ua-slide__title{ max-width:22ch; margin-inline:auto; }
.ua-slide__hl{
  color:var(--ua-primary);
  background-image:linear-gradient(90deg,var(--ua-primary),transparent);
  background-repeat:no-repeat; background-size:100% 2px; background-position:0 100%;
  padding-bottom:.06em;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.ua-slide__text{
  font-size:clamp(15px,1.3vw,17.5px); line-height:1.65; color:rgba(255,255,255,.88) !important;
  max-width:52ch; margin:0 0 30px; text-shadow:0 1px 3px rgba(0,0,0,.45), 0 2px 18px rgba(0,0,0,.4);
}
.ua-slide__actions{ display:flex; gap:12px; flex-wrap:wrap; }

.ua-slide__stats{
  list-style:none; margin:0 0 28px; padding:0; display:flex; gap:26px; flex-wrap:wrap;
}
.ua-slide__stats li{ display:flex; align-items:center; gap:10px; }
.ua-slide__stat-ico{
  width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex:0 0 auto;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.20); color:#9CC0FF;
  backdrop-filter:blur(8px);
}
.ua-slide__stats strong{
  display:block; font-family:var(--ua-font-heading); font-size:15px; font-weight:750; color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
.ua-slide__stats em{
  display:block; font-style:normal; font-size:12px; color:rgba(255,255,255,.82);
  text-shadow:0 1px 6px rgba(0,0,0,.6);
}
.ua-slide.is-align-center .ua-slide__stats{ justify-content:center; }

.ua-btn--glass{
  background:rgba(255,255,255,.13); color:#fff; border-color:rgba(255,255,255,.32);
  backdrop-filter:blur(10px);
}
.ua-btn--glass:hover{ background:rgba(255,255,255,.22); color:#fff; border-color:rgba(255,255,255,.5); }
.ua-site a.ua-btn--glass{ color:#fff; }

.ua-slider__controls{
  position:absolute; left:50%; transform:translateX(-50%); bottom:74px; z-index:5;
  width:100%; max-width:var(--ua-container); padding-inline:20px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; pointer-events:none;
}
.ua-slider__controls > *{ pointer-events:auto; }

.ua-slider__arrows{ display:flex; gap:9px; }
.ua-slider__arrow{
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,.28); background:rgba(12,20,38,.42); color:#fff;
  display:grid; place-items:center; cursor:pointer; backdrop-filter:blur(8px); transition:.2s;
}
.ua-slider__arrow:hover{ background:var(--ua-primary); border-color:var(--ua-primary); color:var(--ua-on-primary); transform:translateY(-2px); }

.ua-slider__dots{ display:flex; gap:8px; align-items:center; }
.ua-slider__dot{
  width:30px; height:4px; padding:0; border:0; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.34); overflow:hidden; transition:width .3s, background .3s;
}
.ua-slider__dot.is-active{ width:52px; background:rgba(255,255,255,.38); }
.ua-slider__dot-fill{ display:block; height:100%; width:0; background:#fff; border-radius:999px; }
.ua-slider__dot.is-active .ua-slider__dot-fill{ width:100%; transition:width .5s ease; }

@media (min-width:1100px){
  .ua-slider,.ua-slide{ min-height:640px !important; }
}
@media (max-width:900px){
  .ua-slider,.ua-slide{ min-height:540px !important; }
  .ua-slide__inner{ padding:44px 20px 130px; }
  .ua-slider__controls{ bottom:84px; }
  .ua-slider__arrows{ display:none; }
  .ua-slider__dots{ margin-inline:auto; }
}
@media (max-width:560px){
  .ua-slide__title{ max-width:none; }
  .ua-slide__stats{ gap:14px; margin-bottom:22px; }
  .ua-slide__stats li:nth-child(3){ display:none; }
}

/* ---------- Barre de recherche --------------------------------------- */

.ua-search-wrap{ max-width:var(--ua-container); margin-inline:auto; padding-inline:20px; }
.ua-search-wrap.is-float{ position:relative; z-index:6; margin-top:-58px; }

.ua-search{
  background:#fff; border:1px solid rgba(226,232,240,.9); border-radius:20px;
  box-shadow:0 24px 60px -18px rgba(15,23,42,.28), 0 2px 6px rgba(15,23,42,.05);
  padding:18px 20px 20px;
}

.ua-search__title{ font-size:19px; margin:2px 0 14px; }

.ua-search__tabs{
  display:inline-flex; gap:3px; flex-wrap:wrap; padding:4px;
  background:var(--ua-soft); border:1px solid var(--ua-line); border-radius:12px; margin-bottom:18px;
}
.ua-search__tab{
  display:inline-flex; align-items:center; gap:7px; padding:9px 15px; border-radius:9px;
  border:0; background:transparent; color:var(--ua-body); font-family:var(--ua-font-heading);
  font-size:13.5px; font-weight:650; cursor:pointer; transition:.18s; white-space:nowrap;
}
.ua-search__tab .ua-icon{ color:#94A3B8; transition:color .18s; }
.ua-search__tab:hover{ color:var(--ua-dark); }
.ua-search__tab.is-active{ background:#fff; color:var(--ua-primary-ink, #996E00); box-shadow:0 1px 3px rgba(15,23,42,.12); }
.ua-search__tab.is-active .ua-icon{ color:var(--ua-primary-ink, #996E00); }

.ua-search__body{ display:flex; align-items:flex-end; gap:0; }
.ua-search__pane{ display:none; flex:1; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:0; min-width:0; }
.ua-search__pane.is-active{ display:grid; }

.ua-field{ display:flex; flex-direction:column; gap:5px; min-width:0; padding:2px 16px; position:relative; }
.ua-field + .ua-field::before{
  content:""; position:absolute; left:0; top:8px; bottom:8px; width:1px; background:var(--ua-line);
}
.ua-field > span{
  font-size:11px; font-weight:700; color:#94A3B8; text-transform:uppercase; letter-spacing:.06em;
}
.ua-field select,.ua-field input{
  width:100%; padding:8px 26px 8px 0; border:0; border-radius:0;
  background:transparent; font-size:15px; font-weight:600; color:var(--ua-dark); font-family:inherit;
  appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23996E00' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 2px center;
}
.ua-field input{ background-image:none; cursor:text; }
.ua-field select:focus,.ua-field input:focus{ outline:0; color:var(--ua-primary-ink, #996E00); }
.ua-field:focus-within > span{ color:var(--ua-primary-ink, #996E00); }

.ua-search__submit{ flex:0 0 auto; margin-left:16px; padding:15px 28px; border-radius:12px; }

@media (max-width:900px){
  .ua-search-wrap.is-float{ margin-top:-34px; }
  .ua-search__body{ display:block; }
  .ua-search__pane.is-active{ grid-template-columns:1fr 1fr; gap:4px 0; }
  .ua-search__submit{ width:100%; margin:16px 0 0; }
  .ua-search__tab span{ display:none; }
  .ua-search__tab{ padding:10px 15px; }
}
@media (max-width:560px){
  .ua-search{ padding:14px; border-radius:16px; }
  .ua-search__pane.is-active{ grid-template-columns:1fr; }
  .ua-field{ padding:6px 0; }
  .ua-field + .ua-field::before{ left:0; right:0; top:0; bottom:auto; width:auto; height:1px; }
}
.ua-search--sidebar .ua-search__pane{ grid-template-columns:1fr; }
.ua-search--sidebar .ua-search__body{ display:block; }
.ua-search--sidebar .ua-search__submit{ width:100%; margin:16px 0 0; }

/* ---------- Grille & cartes véhicule -------------------------------- */

.ua-grid{ display:grid; gap:20px; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
.ua-grid--2{ grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); }
.ua-grid--3{ grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); }
.ua-grid--4{ grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.ua-grid--5{ grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); }

.ua-card{
  background:#fff; border:1px solid var(--ua-line); border-radius:var(--ua-radius);
  overflow:hidden; display:flex; flex-direction:column; transition:.2s; position:relative;
}
.ua-card:hover{ box-shadow:var(--ua-shadow); transform:translateY(-3px); border-color:#CBD5E1; }
.ua-card__media{ position:relative; display:block; aspect-ratio:4/3; background:var(--ua-soft); overflow:hidden; }
.ua-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.ua-card:hover .ua-card__media img{ transform:scale(1.05); }
.ua-card__noimg{ position:absolute; inset:0; display:grid; place-items:center; color:#94A3B8; }
.ua-card__badges{ position:absolute; top:10px; left:10px; display:flex; gap:6px; flex-wrap:wrap; max-width:80%; }
.ua-badge{
  display:inline-block; padding:4px 9px; border-radius:999px; font-size:11px; font-weight:700;
  font-family:var(--ua-font-heading); letter-spacing:.02em; background:rgba(15,23,42,.78); color:#fff; backdrop-filter:blur(4px);
}
.ua-badge.is-type{ background:rgba(255,255,255,.94); color:var(--ua-dark); }
.ua-badge.is-new{ background:#16A34A; }
.ua-badge.is-soft{ background:var(--ua-primary); color:var(--ua-on-primary); }
.ua-badge.is-muted{ background:#94A3B8; }
.ua-card__fav{
  position:absolute; top:9px; right:9px; width:32px; height:32px; border-radius:50%;
  border:0; background:rgba(255,255,255,.94); color:var(--ua-body);
  display:grid; place-items:center; cursor:pointer; transition:.18s; box-shadow:var(--ua-shadow-sm);
}
.ua-card__fav:hover,.ua-card__fav.is-on{ color:#EF4444; }
.ua-card__fav.is-on .ua-icon{ fill:currentColor; }
.ua-card__body{ padding:14px 14px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.ua-card__title{ font-size:15px; font-weight:700; line-height:1.35; margin:0; }
.ua-card__title a{ color:var(--ua-dark); }
.ua-card__title a:hover{ color:var(--ua-primary-ink, #996E00); }
.ua-card__subtitle{ font-size:12.5px; color:var(--ua-body); margin:0; }
.ua-card__price{ font-family:var(--ua-font-heading); font-size:19px; font-weight:800; color:var(--ua-primary-ink, #996E00); margin:4px 0 2px; }
.ua-card__price span{ font-size:11px; font-weight:600; color:var(--ua-body); margin-left:4px; }
.ua-card__meta{ list-style:none; margin:4px 0 0; padding:8px 0 0; border-top:1px solid var(--ua-line); display:flex; flex-wrap:wrap; gap:10px; }
.ua-card__meta li{ display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--ua-body); }
.ua-card__meta .ua-icon{ color:#94A3B8; }
.ua-card__loc{ display:flex; align-items:center; gap:5px; font-size:12px; color:var(--ua-body); margin:2px 0 0; }
.ua-card__loc .ua-icon{ color:#94A3B8; }

/* ---------- Panneaux marques / catégories ---------------------------- */

.ua-panels{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ua-panel{ border-radius:var(--ua-radius-lg); padding:26px; }
.ua-panel__title{ font-size:19px; font-weight:700; margin:0 0 6px; }
.ua-panel__sub{ font-size:13.5px; margin:0 0 18px; }
.ua-panel__title + .ua-brands,
.ua-panel__title + .ua-cats{ margin-top:18px; }

/* Marques : tuiles à logo */
.ua-panel--brands{ background:var(--ua-soft); border:1px solid var(--ua-line); }
.ua-brands{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:12px; }
.ua-brands a{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.ua-brands__tile{
  width:100%; aspect-ratio:16/10; border-radius:12px; background:#fff; border:1px solid var(--ua-line);
  display:grid; place-items:center; padding:12px 13px; transition:.2s; overflow:hidden;
}
.ua-brands__tile img{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
  filter:grayscale(1); opacity:.72; transition:.2s;
}
.ua-brands a:hover .ua-brands__tile{ border-color:var(--ua-primary); box-shadow:0 6px 18px -6px rgba(0,0,0,.22); transform:translateY(-2px); }
.ua-brands a:hover .ua-brands__tile img{ filter:none; opacity:1; }
.ua-brands__initials{
  font-family:var(--ua-font-heading); font-weight:800; font-size:16px; letter-spacing:.02em;
  color:#475569; transition:color .2s;
}
.ua-brands a:hover .ua-brands__initials{ color:var(--ua-primary-ink, #996E00); }
.ua-brands__name{ font-size:11.5px; font-weight:600; color:var(--ua-dark); line-height:1.25; }
.ua-brands__count{ font-size:10.5px; color:#94A3B8; margin-top:-4px; }

/* Catégories : vignettes rondes photo */
.ua-panel--cats{
  background:linear-gradient(140deg,var(--ua-primary-dark) 0%,var(--ua-primary) 68%,#3B7BF5 100%);
  color:#fff; text-align:center; position:relative; overflow:hidden;
}
.ua-panel--cats::before{
  content:""; position:absolute; width:280px; height:280px; right:-90px; top:-110px; border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);
}
.ua-panel--cats .ua-panel__title{ color:#fff; text-align:left; position:relative; }
.ua-cats{
  list-style:none; margin:0 0 22px; padding:0; position:relative;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(104px,1fr)); gap:16px 10px;
}
.ua-cats a{ display:flex; flex-direction:column; align-items:center; gap:9px; color:#fff; }
.ua-cats__ring{
  width:82px; height:82px; border-radius:50%; padding:3px; flex:0 0 auto;
  background:rgba(255,255,255,.28); transition:.22s;
  display:grid; place-items:center;
}
.ua-cats__photo{
  width:100%; height:100%; border-radius:50%; display:grid; place-items:center;
  background-size:cover; background-position:center; background-color:#EAF1FF;
  box-shadow:0 6px 18px -6px rgba(5,15,40,.5);
}
.ua-cats__letter{ font-family:var(--ua-font-heading); font-size:26px; font-weight:800; color:var(--ua-primary-ink, #996E00); }
.ua-cats a:hover .ua-cats__ring{ background:#fff; transform:translateY(-3px) scale(1.03); }
.ua-cats__name{ font-family:var(--ua-font-heading); font-size:13px; font-weight:700; line-height:1.2; }
.ua-cats__count{ font-size:11px; opacity:.78; margin-top:-5px; }
.ua-panel--cats .ua-btn{ position:relative; }

@media (max-width:520px){
  .ua-cats{ grid-template-columns:repeat(auto-fit,minmax(88px,1fr)); }
  .ua-cats__ring{ width:70px; height:70px; }
}

/* ---------- Pourquoi nous choisir ----------------------------------- */

.ua-why__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:26px; }
.ua-why__ico{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  background:var(--ua-primary-soft); color:var(--ua-primary-ink, #996E00); margin-bottom:12px;
}
.ua-why__list h3{ font-size:15px; font-weight:700; margin:0 0 6px; }
.ua-why__list p{ font-size:13.5px; margin:0; line-height:1.65; }

/* ---------- Étapes -------------------------------------------------- */

.ua-steps__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; counter-reset:ua; }
.ua-steps__list li{ position:relative; background:#fff; border:1px solid var(--ua-line); border-radius:var(--ua-radius); padding:24px 20px 20px; }
.ua-steps__num{
  position:absolute; top:-14px; left:20px; width:30px; height:30px; border-radius:50%;
  background:var(--ua-primary); color:var(--ua-on-primary); display:grid; place-items:center;
  font-family:var(--ua-font-heading); font-weight:800; font-size:14px;
}
.ua-steps__ico{ display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:var(--ua-soft); color:var(--ua-primary-ink, #996E00); margin:6px 0 12px; }
.ua-steps__list h3{ font-size:15.5px; margin:0 0 6px; }
.ua-steps__list p{ font-size:13.5px; margin:0; }

/* ---------- Avis clients -------------------------------------------- */

.ua-testi__wrap{ position:relative; display:flex; align-items:center; gap:12px; }
.ua-testi__list{ list-style:none; margin:0; padding:4px; display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.ua-testi__list::-webkit-scrollbar{ display:none; }
.ua-testi__item{
  flex:0 0 min(340px,86%); scroll-snap-align:start; background:#fff; border:1px solid var(--ua-line);
  border-radius:var(--ua-radius); padding:22px;
}
.ua-testi__stars{ display:flex; gap:2px; color:var(--ua-accent); margin-bottom:12px; }
.ua-testi__item blockquote{ margin:0 0 16px; padding:0; border:0; font-size:14px; line-height:1.7; color:var(--ua-body); }
.ua-testi__item footer{ display:flex; align-items:center; gap:11px; }
.ua-testi__avatar{
  width:38px; height:38px; border-radius:50%; background:var(--ua-primary-soft); color:var(--ua-primary-ink, #996E00);
  display:grid; place-items:center; font-family:var(--ua-font-heading); font-weight:800; font-size:13px;
}
.ua-testi__item footer strong{ display:block; font-size:13.5px; font-family:var(--ua-font-heading); }
.ua-testi__item footer em{ display:block; font-style:normal; font-size:12px; color:var(--ua-body); }
.ua-testi__nav{
  flex:0 0 auto; width:38px; height:38px; border-radius:50%; border:1px solid var(--ua-line);
  background:#fff; color:var(--ua-body); display:grid; place-items:center; cursor:pointer; transition:.18s;
}
.ua-testi__nav:hover{ border-color:var(--ua-primary); color:var(--ua-primary-ink, #996E00); }

/* ---------- Bandeau CTA ---------------------------------------------- */

.ua-cta{ max-width:var(--ua-container); margin:24px auto 60px; padding:0 20px; }
.ua-cta__inner{
  position:relative; overflow:hidden; border-radius:var(--ua-radius-lg);
  color:#fff; padding:52px 46px; isolation:isolate;
}
.ua-cta__bg{
  position:absolute; inset:0; z-index:-2;
  background-image:var(--ua-cta-img); background-size:cover; background-position:center;
  transform:scale(1.02);
}
.ua-cta__inner::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg, rgba(9,22,58,.90) 0%, rgba(23,58,140,.80) 46%, rgba(37,99,235,.62) 100%);
}
.ua-cta__grid{ display:grid; grid-template-columns:1.15fr .95fr; gap:44px; align-items:center; }
.ua-cta__over{
  display:inline-flex; align-items:center; gap:9px; margin:0 0 14px; padding:6px 14px 6px 11px;
  border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
  color:#EAF1FF !important; font-family:var(--ua-font-heading); font-size:11.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
}
.ua-cta__dot{ width:6px; height:6px; border-radius:50%; background:#7FB0FF; box-shadow:0 0 0 3px rgba(127,176,255,.3); }
.ua-cta__title{ font-size:clamp(26px,2.8vw,36px); font-weight:800; color:#fff; margin:0 0 14px; line-height:1.12; letter-spacing:-.02em; }
.ua-cta__text{ color:rgba(255,255,255,.88) !important; max-width:52ch; margin:0 0 26px; font-size:15.5px; line-height:1.7; }

.ua-cta__cards{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.ua-cta__cards li{
  display:flex; gap:13px; align-items:flex-start; padding:15px 17px; border-radius:13px;
  background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.17);
  backdrop-filter:blur(10px); transition:.2s;
}
.ua-cta__cards li:hover{ background:rgba(255,255,255,.17); transform:translateX(3px); }
.ua-cta__ico{
  width:38px; height:38px; border-radius:10px; flex:0 0 auto; display:grid; place-items:center;
  background:rgba(255,255,255,.18); color:#fff;
}
.ua-cta__cards strong{ display:block; font-family:var(--ua-font-heading); font-size:14.5px; color:#fff; }
.ua-cta__cards em{ display:block; font-style:normal; font-size:12.5px; color:rgba(255,255,255,.75); line-height:1.55; margin-top:3px; }

@media (max-width:900px){
  .ua-cta__grid{ grid-template-columns:1fr; gap:30px; }
  .ua-cta__inner{ padding:38px 26px; }
}

/* ---------- Bandeau contact ----------------------------------------- */

.ua-contact-strip{ display:grid; grid-template-columns:minmax(240px,1fr) 2fr; gap:32px; align-items:center; padding-block:36px 48px; }
.ua-contact-strip h2{ font-size:22px; margin:0 0 6px; }
.ua-contact-strip p{ margin:0; font-size:14px; }
.ua-contact-strip__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:24px; }
.ua-contact-strip__list li{ display:flex; align-items:flex-start; gap:12px; }
.ua-contact-strip__ico{ width:40px; height:40px; border-radius:10px; background:var(--ua-primary-soft); color:var(--ua-primary-ink, #996E00); display:grid; place-items:center; flex:0 0 auto; }
.ua-contact-strip__list em{ display:block; font-style:normal; font-size:12px; color:var(--ua-body); margin-bottom:3px; }
.ua-contact-strip__list a,.ua-contact-strip__list strong{ font-family:var(--ua-font-heading); font-size:14px; font-weight:700; color:var(--ua-dark); line-height:1.45; }
.ua-contact-strip__list a:hover{ color:var(--ua-primary-ink, #996E00); }

/* ---------- Chiffres clés ------------------------------------------- */

.ua-stats{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:20px; text-align:center; }
.ua-stats li{ background:var(--ua-soft); border-radius:var(--ua-radius); padding:22px 16px; color:var(--ua-primary-ink, #996E00); }
.ua-stats strong{ display:block; font-family:var(--ua-font-heading); font-size:26px; font-weight:800; color:var(--ua-dark); margin:8px 0 4px; }
.ua-stats em{ font-style:normal; font-size:13px; color:var(--ua-body); }

/* ---------- FAQ ------------------------------------------------------ */

.ua-faq__list{ display:grid; gap:10px; }
.ua-faq__item{ border:1px solid var(--ua-line); border-radius:var(--ua-radius); background:#fff; overflow:hidden; }
.ua-faq__item summary{
  list-style:none; cursor:pointer; padding:17px 20px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; font-family:var(--ua-font-heading);
  font-size:15px; font-weight:650; color:var(--ua-dark);
}
.ua-faq__item summary::-webkit-details-marker{ display:none; }
.ua-faq__item summary .ua-icon{ color:var(--ua-body); transition:transform .2s; flex:0 0 auto; }
.ua-faq__item[open] summary{ color:var(--ua-primary-ink, #996E00); }
.ua-faq__item[open] summary .ua-icon{ transform:rotate(180deg); color:var(--ua-primary-ink, #996E00); }
.ua-faq__answer{ padding:0 20px 18px; }
.ua-faq__answer p{ margin:0 0 10px; font-size:14.5px; }
.ua-faq__answer p:last-child{ margin-bottom:0; }

/* ---------- Fiche produit ------------------------------------------- */

.ua-price-suffix{ display:block; font-size:12.5px; font-weight:500; color:var(--ua-body); margin-top:4px; }

.ua-highlights{ list-style:none; margin:20px 0; padding:18px 0; border-block:1px solid var(--ua-line); display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:18px; }
.ua-highlights li{ display:flex; align-items:center; gap:11px; }
.ua-highlights__ico{ width:40px; height:40px; border-radius:11px; background:var(--ua-primary-soft); color:var(--ua-primary-ink, #996E00); display:grid; place-items:center; flex:0 0 auto; }
.ua-highlights em{ display:block; font-style:normal; font-size:11.5px; color:var(--ua-body); text-transform:uppercase; letter-spacing:.03em; }
.ua-highlights strong{ display:block; font-family:var(--ua-font-heading); font-size:14.5px; font-weight:700; }

.ua-reassurance{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
.ua-reassurance li{ display:flex; gap:11px; align-items:flex-start; }
.ua-reassurance .ua-icon{ color:var(--ua-primary-ink, #996E00); margin-top:2px; }
.ua-reassurance strong{ display:block; font-family:var(--ua-font-heading); font-size:14px; }
.ua-reassurance em{ display:block; font-style:normal; font-size:12.5px; color:var(--ua-body); }

.ua-specs{ margin:44px 0; }
.ua-specs__title{ font-size:24px; font-weight:800; margin:0 0 22px; }
.ua-specs__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:20px; }
.ua-specs__group{ background:var(--ua-soft); border:1px solid var(--ua-line); border-radius:var(--ua-radius); padding:20px; }
.ua-specs__group h3{ display:flex; align-items:center; gap:9px; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin:0 0 14px; color:var(--ua-primary-ink, #996E00); }
.ua-specs__group dl{ margin:0; }
.ua-specs__row{ display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px dashed var(--ua-line); }
.ua-specs__row:last-child{ border-bottom:0; }
.ua-specs__row dt{ font-size:13.5px; color:var(--ua-body); margin:0; }
.ua-specs__row dd{ font-size:13.5px; font-weight:650; font-family:var(--ua-font-heading); color:var(--ua-dark); margin:0; text-align:right; }

.ua-list-check{ list-style:none; margin:14px 0; padding:0; display:grid; gap:9px; }
.ua-list-check li{ position:relative; padding-left:26px; font-size:14.5px; color:var(--ua-body); line-height:1.65; }
.ua-list-check li::before{
  content:""; position:absolute; left:0; top:6px; width:16px; height:16px; border-radius:50%;
  background:var(--ua-primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23996E00' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E") center/11px no-repeat;
}

/* ---------- Fil d'Ariane -------------------------------------------- */

.ua-breadcrumb{ max-width:var(--ua-container); margin-inline:auto; padding:16px 20px; }
.ua-breadcrumb ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; font-size:13px; }
.ua-breadcrumb li+li::before{ content:"›"; margin-right:8px; color:#94A3B8; }
.ua-breadcrumb a{ color:var(--ua-body); }
.ua-breadcrumb a:hover{ color:var(--ua-primary-ink, #996E00); }
.ua-breadcrumb span[aria-current]{ color:var(--ua-dark); font-weight:600; }

/* ---------- Tableau des mentions légales ---------------------------- */

.ua-legal-table{ width:100%; border-collapse:collapse; margin:18px 0 28px; border:1px solid var(--ua-line); border-radius:var(--ua-radius); overflow:hidden; }
.ua-legal-table th,.ua-legal-table td{ padding:12px 16px; text-align:left; font-size:14px; border-bottom:1px solid var(--ua-line); }
.ua-legal-table th{ width:38%; background:var(--ua-soft); font-weight:650; color:var(--ua-body); font-family:var(--ua-font-body); }
.ua-legal-table td{ font-weight:600; color:var(--ua-dark); }
.ua-legal-table tr:last-child th,.ua-legal-table tr:last-child td{ border-bottom:0; }

/* ---------- Carte --------------------------------------------------- */

.ua-map{ position:relative; border-radius:var(--ua-radius-lg); overflow:hidden; border:1px solid var(--ua-line); }
.ua-map iframe{ display:block; width:100%; height:var(--ua-map-h,360px); border:0; }
.ua-map__link{ position:absolute; right:10px; bottom:10px; background:#fff; border-radius:6px; padding:6px 10px; font-size:12px; box-shadow:var(--ua-shadow-sm); }

/* ---------- Responsive ---------------------------------------------- */

@media (max-width:1024px){
  .ua-hero__inner{ grid-template-columns:1fr; }
  .ua-hero__media{ order:-1; }
  .ua-panels{ grid-template-columns:1fr; }
  .ua-contact-strip{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .ua-section{ padding-block:40px; }
  .ua-hero{ padding-top:32px; }
  .ua-hero__stats{ gap:18px; }
  .ua-cta__inner{ padding:32px 24px; }
  .ua-search__tab span{ display:none; }
  .ua-search__tab{ padding:10px 14px; }
  .ua-grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; }
  .ua-specs__row{ flex-direction:column; gap:2px; }
  .ua-specs__row dd{ text-align:left; }
}

@media (prefers-reduced-motion:reduce){
  .ua-site *{ animation:none !important; transition:none !important; }
}


/* =====================================================================
   BLINDAGE — priorité sur les styles globaux d'Elementor
   ---------------------------------------------------------------------
   Elementor applique les couleurs et les polices de son « kit global »
   à tous les titres, boutons et textes de la page. Ces règles garantissent
   que les composants du site conservent la charte définie dans
   Univers Auto → Réglages → Charte graphique.
   La classe est doublée volontairement : cela augmente la priorité de la
   règle sans dépendre d'aucune classe sur la balise <body>.
   Elles ne concernent que les classes « ua- » : rien d'autre n'est touché.
   ===================================================================== */

.ua-section__title.ua-section__title,
.ua-panel__title.ua-panel__title,
.ua-specs__title.ua-specs__title,
.ua-hero__title.ua-hero__title,
.ua-why__list.ua-why__list h3,
.ua-steps__list.ua-steps__list h3,
.ua-contact-strip.ua-contact-strip h2,
.ua-pagehead.ua-pagehead h1,
.ua-card__title.ua-card__title,
.ua-card__title.ua-card__title a,
.ua-faq__item.ua-faq__item summary{
  color:var(--ua-dark) !important;
  font-family:var(--ua-font-heading) !important;
}
.ua-card__title.ua-card__title a:hover,
.ua-faq__item.ua-faq__item[open] summary{ color:var(--ua-primary-ink, #996E00) !important; }

.ua-slide__title.ua-slide__title,
.ua-cta__title.ua-cta__title{ color:#fff !important; font-family:var(--ua-font-heading) !important; }
.ua-slide__hl.ua-slide__hl{ color:var(--ua-primary) !important; }
.ua-slide__text.ua-slide__text,
.ua-cta__text.ua-cta__text{ color:rgba(255,255,255,.88) !important; }
.ua-slide__over.ua-slide__over,
.ua-cta__over.ua-cta__over{ color:#EAF1FF !important; }
.ua-slide__stats.ua-slide__stats strong,
.ua-cta__cards.ua-cta__cards strong{ color:#fff !important; }

/* Boutons */
.ua-btn.ua-btn{ font-family:var(--ua-font-heading) !important; }
.ua-btn--primary.ua-btn--primary{ background:var(--ua-primary) !important; color:var(--ua-on-primary) !important; border-color:transparent !important; }
.ua-btn--primary.ua-btn--primary:hover{ background:var(--ua-primary-dark) !important; color:var(--ua-on-primary) !important; }
.ua-btn--ghost.ua-btn--ghost{ background:#fff !important; color:var(--ua-dark) !important; border-color:var(--ua-line) !important; }
.ua-btn--ghost.ua-btn--ghost:hover{ color:var(--ua-primary-ink, #996E00) !important; border-color:var(--ua-primary) !important; }
.ua-btn--white.ua-btn--white{ background:#fff !important; color:var(--ua-primary-ink, #996E00) !important; border-color:transparent !important; }
.ua-btn--glass.ua-btn--glass{ background:rgba(255,255,255,.13) !important; color:#fff !important; border-color:rgba(255,255,255,.32) !important; }
.ua-btn--dark.ua-btn--dark{ background:var(--ua-dark) !important; color:#fff !important; }

/* Recherche */
.ua-search__tab.ua-search__tab{ color:var(--ua-body) !important; background:transparent !important; border:0 !important; font-family:var(--ua-font-heading) !important; }
.ua-search__tab.ua-search__tab .ua-icon{ color:#94A3B8 !important; }
.ua-search__tab.ua-search__tab.is-active{ color:var(--ua-primary-ink, #996E00) !important; background:#fff !important; }
.ua-search__tab.ua-search__tab.is-active .ua-icon{ color:var(--ua-primary-ink, #996E00) !important; }
.ua-field.ua-field > span{ color:#94A3B8 !important; }
.ua-field.ua-field select,
.ua-field.ua-field input{ color:var(--ua-dark) !important; background-color:transparent !important; border:0 !important; }

/* Boutons ronds et pastilles */
.ua-card__fav.ua-card__fav,
.ua-testi__nav.ua-testi__nav{ color:var(--ua-body) !important; background:#fff !important; }
.ua-card__fav.ua-card__fav:hover,
.ua-card__fav.ua-card__fav.is-on{ color:#EF4444 !important; }
.ua-testi__nav.ua-testi__nav:hover{ color:var(--ua-primary-ink, #996E00) !important; border-color:var(--ua-primary) !important; }
.ua-slider__arrow.ua-slider__arrow{ color:#fff !important; background:rgba(12,20,38,.42) !important; }
.ua-slider__arrow.ua-slider__arrow:hover{ background:var(--ua-primary) !important; border-color:var(--ua-primary) !important; color:var(--ua-on-primary) !important; }

/* Prix, liens et accents */
.ua-card__price.ua-card__price{ color:var(--ua-primary-ink, #996E00) !important; font-family:var(--ua-font-heading) !important; }
.ua-card__price.ua-card__price span{ color:var(--ua-body) !important; }
.ua-section__link.ua-section__link{ color:var(--ua-primary-ink, #996E00) !important; }
.ua-testi__stars.ua-testi__stars{ color:var(--ua-accent) !important; }
.ua-card__meta.ua-card__meta li,
.ua-card__loc.ua-card__loc,
.ua-card__subtitle.ua-card__subtitle,
.ua-section__sub.ua-section__sub,
.ua-why__list.ua-why__list p,
.ua-steps__list.ua-steps__list p,
.ua-testi__item.ua-testi__item blockquote{ color:var(--ua-body) !important; }

/* Panneaux */
.ua-panel--cats.ua-panel--cats,
.ua-panel--cats.ua-panel--cats .ua-panel__title,
.ua-cats.ua-cats a{ color:#fff !important; }
.ua-brands__name.ua-brands__name{ color:var(--ua-dark) !important; }
.ua-brands__initials.ua-brands__initials{ color:#475569 !important; }
.ua-cats__letter.ua-cats__letter{ color:var(--ua-primary-ink, #996E00) !important; }

/* Icônes en pastille */
.ua-why__ico.ua-why__ico,
.ua-highlights__ico.ua-highlights__ico,
.ua-contact-strip__ico.ua-contact-strip__ico,
.ua-steps__ico.ua-steps__ico{ background:var(--ua-primary-soft) !important; color:var(--ua-primary-ink, #996E00) !important; }
.ua-steps__num.ua-steps__num{ background:var(--ua-primary) !important; color:var(--ua-on-primary) !important; }
