/* =====================================================================
   Thème UNIVERS AUTOMOBILE — en-tête, pied de page, gabarits
   Les variables de couleur proviennent du plugin Univers Auto — Core.
   ===================================================================== */

:root{
  --ua-primary:#2563EB; --ua-primary-dark:#1D4ED8; --ua-primary-soft:#EFF4FF;
  --ua-dark:#0F172A; --ua-body:#64748B; --ua-soft:#F8FAFC; --ua-line:#E2E8F0;
  --ua-accent:#FBBF24; --ua-radius:12px; --ua-radius-lg:18px; --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;
}

body.ua-site{ margin:0; font-family:var(--ua-font-body); color:var(--ua-dark); background:#fff; -webkit-font-smoothing:antialiased; }
:where(body.ua-site) h1,:where(body.ua-site) h2,:where(body.ua-site) h3,:where(body.ua-site) h4{ font-family:var(--ua-font-heading); }

.ua-skip{
  position:absolute; left:-9999px; top:0; background:var(--ua-primary); color:#fff;
  padding:10px 18px; z-index:100000; border-radius:0 0 8px 0;
}
.ua-skip:focus{ left:0; }

.ua-main{ display:block; min-height:40vh; }

/* ==================================================================
   EN-TÊTE
   ================================================================== */

.ua-header{
  position:sticky; top:0; z-index:900; background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--ua-line);
  transition:box-shadow .2s;
}
.ua-header.is-stuck{ box-shadow:0 2px 14px rgba(15,23,42,.07); }
.ua-header__inner{
  max-width:var(--ua-container); margin-inline:auto; padding:12px 20px;
  display:flex; align-items:center; gap:14px;
}
.ua-header__left{ flex:0 0 auto; }
.ua-header__left img,.custom-logo{ max-height:44px; width:auto; display:block; }

.ua-header__brand{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; }
.ua-header__mark{
  width:38px; height:38px; border-radius:10px; background:var(--ua-primary); color:#fff;
  display:grid; place-items:center; flex:0 0 auto;
}
.ua-header__name{ font-family:var(--ua-font-heading); font-size:17px; font-weight:800; color:var(--ua-dark); letter-spacing:-.02em; }

.ua-header__nav{ flex:1 1 auto; min-width:0; display:flex; justify-content:center; }
.ua-menu{ display:flex; flex-wrap:nowrap; justify-content:center; gap:2px; list-style:none; margin:0; padding:0; align-items:center; }
.ua-menu a{
  display:block; padding:9px 11px; border-radius:8px; text-decoration:none;
  font-family:var(--ua-font-heading); font-size:13px; font-weight:650;
  color:var(--ua-body); letter-spacing:0; transition:.16s; white-space:nowrap;
}
.ua-menu a:hover{ color:var(--ua-primary); background:var(--ua-primary-soft); }
.ua-menu .current-menu-item > a,
.ua-menu .current_page_item > a{ color:var(--ua-primary); }
.ua-menu .current-menu-item > a::after,
.ua-menu .current_page_item > a::after{
  content:""; display:block; height:2px; background:var(--ua-primary);
  border-radius:2px; margin:5px 12px -4px;
}

/* Sous-menus */
.ua-menu li{ position:relative; }
.ua-menu .sub-menu{
  position:absolute; top:100%; left:0; min-width:220px; list-style:none; margin:6px 0 0; padding:8px;
  background:#fff; border:1px solid var(--ua-line); border-radius:12px;
  box-shadow:0 14px 36px rgba(15,23,42,.12); opacity:0; visibility:hidden;
  transform:translateY(-6px); transition:.18s; display:block;
}
.ua-menu li:hover > .sub-menu,
.ua-menu li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:none; }
.ua-menu .sub-menu a{ font-size:13.5px; }

.ua-header__right{ flex:0 0 auto; display:flex; align-items:center; gap:10px; }
.ua-header__icon{
  position:relative; width:38px; height:38px; border-radius:9px; display:grid; place-items:center;
  color:var(--ua-body); transition:.16s;
}
.ua-header__icon:hover{ background:var(--ua-soft); color:var(--ua-primary); }
.ua-header__count{
  position:absolute; top:3px; right:3px; min-width:16px; height:16px; padding:0 4px;
  border-radius:999px; background:#EF4444; color:#fff; font-size:10px; font-weight:800;
  display:grid; place-items:center;
}
.ua-header__phone{
  display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:8px;
  color:var(--ua-dark); text-decoration:none; font-size:13.5px; font-weight:650;
  font-family:var(--ua-font-heading);
}
.ua-header__phone:hover{ background:var(--ua-soft); color:var(--ua-primary); }
.ua-header__phone .ua-icon{ color:var(--ua-primary); }
.ua-header__cta{ padding:11px 20px; font-size:14px; }
.ua-header__burger{
  display:none; width:40px; height:40px; border:1px solid var(--ua-line); border-radius:9px;
  background:#fff; color:var(--ua-dark); place-items:center; cursor:pointer;
}

@media (max-width:1320px){
  .ua-header__phone span{ display:none; }
  .ua-menu a{ padding:9px 8px; font-size:12.5px; }
  .ua-header__cta{ padding:11px 14px; font-size:13px; }
}
@media (max-width:1150px){
  .ua-header__phone{ display:none; }
  .ua-header__cta{ padding:10px 12px; font-size:12.5px; }
}
@media (max-width:1000px){
  .ua-header__name{ display:none; }
}
@media (max-width:900px){
  .ua-header__burger{ display:grid; }
  .ua-header__nav{
    position:fixed; inset:64px 0 auto 0; background:#fff; border-bottom:1px solid var(--ua-line);
    padding:16px 20px 24px; display:none; box-shadow:0 16px 30px rgba(15,23,42,.12);
    max-height:calc(100vh - 64px); overflow-y:auto;
  }
  .ua-header__nav.is-open{ display:block; }
  .ua-menu{ flex-direction:column; flex-wrap:wrap; align-items:stretch; gap:2px; }
  .ua-header__name{ display:inline; }
  .ua-menu a{ padding:13px 12px; font-size:15px; border-radius:9px; }
  .ua-menu .current-menu-item > a::after{ display:none; }
  .ua-menu .sub-menu{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    border:0; border-left:2px solid var(--ua-line); border-radius:0; margin:0 0 0 12px; padding:0 0 0 8px;
  }
  body.ua-nav-open{ overflow:hidden; }
}
@media (max-width:560px){
  .ua-header__cta{ display:none; }
  .ua-header__inner{ gap:12px; padding:10px 16px; }
}

/* ==================================================================
   BANDEAU DE TITRE DES PAGES
   ================================================================== */

.ua-pagehead{ max-width:var(--ua-container); margin:0 auto; padding:14px 20px 30px; }
.ua-pagehead h1{ font-size:clamp(28px,3.4vw,40px); font-weight:800; margin:0 0 12px; line-height:1.15; }
.ua-pagehead p{ font-size:16px; color:var(--ua-body); max-width:62ch; margin:0; line-height:1.7; }

/* ==================================================================
   CONTENU ÉDITORIAL
   ================================================================== */

.ua-site .entry-content h2,
.elementor-widget-text-editor h2{ font-size:24px; font-weight:800; margin:38px 0 14px; }
.ua-site .entry-content h3,
.elementor-widget-text-editor h3{ font-size:18px; font-weight:700; margin:26px 0 10px; }
.elementor-widget-text-editor p,
.ua-site .entry-content p{ font-size:15.5px; line-height:1.75; color:#334155; margin:0 0 14px; }
.elementor-widget-text-editor ul:not(.ua-list-check),
.ua-site .entry-content ul:not(.ua-list-check){ padding-left:22px; margin:0 0 18px; }
.elementor-widget-text-editor li,
.ua-site .entry-content li{ font-size:15.5px; line-height:1.75; color:#334155; margin-bottom:7px; }
.elementor-widget-text-editor ol,
.ua-site .entry-content ol{ padding-left:22px; margin:0 0 18px; }
.elementor-widget-text-editor blockquote{
  border-left:3px solid var(--ua-primary); background:var(--ua-soft);
  margin:20px 0; padding:16px 20px; border-radius:0 10px 10px 0;
}
.elementor-widget-text-editor blockquote p{ margin:0 0 8px; font-size:14.5px; }

/* ==================================================================
   WOOCOMMERCE
   ================================================================== */

.woocommerce-products-header{ max-width:var(--ua-container); margin:0 auto; padding:10px 20px 0; }
.woocommerce-products-header__title{ font-size:clamp(26px,3vw,36px); font-weight:800; margin:0 0 10px; }
.term-description{ max-width:70ch; color:var(--ua-body); font-size:15px; line-height:1.7; }

.woocommerce .products,
.woocommerce ul.products{
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:22px; list-style:none; margin:26px 0 0 !important; padding:0;
  max-width:var(--ua-container); margin-inline:auto !important;
}
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; text-align:left;
  background:#fff; border:1px solid var(--ua-line); border-radius:var(--ua-radius);
  overflow:hidden; display:flex; flex-direction:column; transition:.2s; position:relative;
}
.woocommerce ul.products li.product:hover{ box-shadow:0 6px 20px rgba(15,23,42,.09); transform:translateY(-3px); }
.woocommerce ul.products li.product .ua-card__media{ display:block; position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--ua-soft); }
.woocommerce ul.products li.product img{ width:100%; height:100%; object-fit:cover; margin:0; border-radius:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15px !important; font-weight:700; padding:14px 14px 0 !important; margin:0; line-height:1.35;
}
.woocommerce ul.products li.product .ua-card__subtitle{ padding:0 14px; margin:4px 0 0; font-size:12.5px; }
.woocommerce ul.products li.product .price{
  padding:6px 14px 0; font-family:var(--ua-font-heading); font-size:19px; font-weight:800;
  color:var(--ua-primary) !important; display:block;
}
.woocommerce ul.products li.product .price del{ font-size:14px; color:var(--ua-body); font-weight:500; }
.woocommerce ul.products li.product .ua-price-suffix{ padding:0 14px; }
.woocommerce ul.products li.product .ua-card__meta,
.woocommerce ul.products li.product .ua-card__loc{ padding-inline:14px; }
.woocommerce ul.products li.product .uad-btn--small{ margin:12px 14px 14px; width:calc(100% - 28px); }
.woocommerce ul.products li.product .onsale{ display:none; }

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{ max-width:var(--ua-container); margin-inline:auto; }
.woocommerce nav.woocommerce-pagination{ margin:36px auto; max-width:var(--ua-container); }
.woocommerce nav.woocommerce-pagination ul{ border:0; gap:6px; display:flex; justify-content:center; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--ua-line); border-radius:8px; min-width:40px; padding:9px 12px;
  font-weight:650; color:var(--ua-body);
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ua-primary); border-color:var(--ua-primary); color:#fff;
}

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

.woocommerce div.product{ max-width:var(--ua-container); margin-inline:auto; padding-inline:20px; }
.woocommerce div.product .product_title{ font-size:clamp(24px,2.6vw,32px); font-weight:800; margin:0 0 10px; line-height:1.2; }
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--ua-font-heading); font-size:30px; font-weight:800; color:var(--ua-primary);
  margin:0 0 4px;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:15px; line-height:1.7; color:var(--ua-body); margin-bottom:18px;
}
.woocommerce div.product form.cart{ display:none; }
.woocommerce div.product .product_meta{ font-size:13px; color:var(--ua-body); margin-top:18px; }

.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; margin:0 0 22px; border-bottom:1px solid var(--ua-line); display:flex; gap:4px; flex-wrap:wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:8px 8px 0 0; margin:0; padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:13px 18px; font-family:var(--ua-font-heading); font-size:14.5px; font-weight:650;
  color:var(--ua-body);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--ua-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ box-shadow:inset 0 -2px 0 var(--ua-primary); }
.woocommerce div.product .woocommerce-tabs .panel{ padding:0; }
.woocommerce div.product .woocommerce-tabs .panel h2{ font-size:20px; margin-top:0; }

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2{ font-size:24px; font-weight:800; margin:44px 0 20px; }

/* ==================================================================
   PIED DE PAGE
   ================================================================== */

.ua-footer{ background:var(--ua-dark); color:#CBD5E1; margin-top:60px; }
.ua-footer__inner{
  max-width:var(--ua-container); margin-inline:auto; padding:52px 20px 40px;
  display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:34px;
}
.ua-footer__name{ display:flex; align-items:center; gap:10px; margin:0 0 14px; }
.ua-footer__name .ua-icon{ color:var(--ua-primary); }
.ua-footer__name span{ font-family:var(--ua-font-heading); font-size:18px; font-weight:800; color:#fff; }
.ua-footer__logo img{ max-height:46px; width:auto; margin-bottom:14px; filter:brightness(0) invert(1); }
.ua-footer__desc{ font-size:13.5px; line-height:1.75; color:#94A3B8; margin:0 0 20px; max-width:36ch; }

.ua-footer__social{ display:flex; gap:9px; list-style:none; margin:0; padding:0; }
.ua-footer__social a{
  width:34px; height:34px; border-radius:9px; background:rgba(255,255,255,.08); color:#CBD5E1;
  display:grid; place-items:center; transition:.16s;
}
.ua-footer__social a:hover{ background:var(--ua-primary); color:#fff; }

.ua-footer__col h3{
  font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
  color:#fff; margin:0 0 16px;
}
.ua-footer__menu{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ua-footer__menu a{ color:#94A3B8; text-decoration:none; font-size:13.5px; transition:.16s; }
.ua-footer__menu a:hover{ color:#fff; }
.ua-footer__contact .ua-footer__menu li{ display:flex; gap:8px; align-items:flex-start; font-size:13.5px; color:#94A3B8; line-height:1.6; }
.ua-footer__contact .ua-icon{ color:var(--ua-primary); flex:0 0 auto; margin-top:2px; }

.ua-footer__bottom{ border-top:1px solid rgba(255,255,255,.09); }
.ua-footer__bottom-inner{
  max-width:var(--ua-container); margin-inline:auto; padding:20px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.ua-footer__bottom p{ margin:0; font-size:12.5px; color:#64748B; }
.ua-footer__legal{ text-align:right; }

@media (max-width:1080px){
  .ua-footer__inner{ grid-template-columns:1fr 1fr 1fr; }
  .ua-footer__brand{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .ua-footer__inner{ grid-template-columns:1fr 1fr; gap:26px; padding:40px 20px 30px; }
  .ua-footer__bottom-inner{ flex-direction:column; }
  .ua-footer__legal{ text-align:left; }
}

/* ==================================================================
   IMPRESSION
   ================================================================== */

@media print{
  .ua-header,.ua-footer,.uad-form-wrap,.ua-breadcrumb,.uad-modal{ display:none !important; }
  body.ua-site{ font-size:11pt; }
}


/* Lien d'évitement : couleur forcée malgré la règle de lien générique. */
:where(body.ua-site) .ua-skip{ color:#fff; }

/* =====================================================================
   BLINDAGE — en-tête et pied de page face aux styles globaux d'Elementor
   ===================================================================== */

body.ua-site .ua-header{ background:rgba(255,255,255,.96) !important; }
body.ua-site .ua-header__name{ color:var(--ua-dark) !important; font-family:var(--ua-font-heading) !important; }
body.ua-site .ua-header__mark{ background:var(--ua-primary) !important; color:#fff !important; }
body.ua-site .ua-menu a{ color:var(--ua-body) !important; font-family:var(--ua-font-heading) !important; }
body.ua-site .ua-menu a:hover,
body.ua-site .ua-menu .current-menu-item > a,
body.ua-site .ua-menu .current_page_item > a{ color:var(--ua-primary) !important; }
body.ua-site .ua-header__icon{ color:var(--ua-body) !important; }
body.ua-site .ua-header__count{ background:#EF4444 !important; color:#fff !important; }
body.ua-site .ua-header__phone{ color:var(--ua-dark) !important; }
body.ua-site .ua-header__phone .ua-icon{ color:var(--ua-primary) !important; }
body.ua-site .ua-header__burger{ color:var(--ua-dark) !important; background:#fff !important; }

body.ua-site .ua-footer{ background:var(--ua-dark) !important; color:#CBD5E1 !important; }
body.ua-site .ua-footer__name span,
body.ua-site .ua-footer__col h3{ color:#fff !important; font-family:var(--ua-font-heading) !important; }
body.ua-site .ua-footer__name .ua-icon{ color:var(--ua-primary) !important; }
body.ua-site .ua-footer__desc,
body.ua-site .ua-footer__menu a,
body.ua-site .ua-footer__contact .ua-footer__menu li{ color:#94A3B8 !important; }
body.ua-site .ua-footer__menu a:hover{ color:#fff !important; }
body.ua-site .ua-footer__contact .ua-icon{ color:var(--ua-primary) !important; }
body.ua-site .ua-footer__social a{ background:rgba(255,255,255,.08) !important; color:#CBD5E1 !important; }
body.ua-site .ua-footer__social a:hover{ background:var(--ua-primary) !important; color:#fff !important; }
body.ua-site .ua-footer__bottom p{ color:#64748B !important; }

body.ua-site .ua-pagehead h1{ font-family:var(--ua-font-heading) !important; color:var(--ua-dark) !important; }
body.ua-site .ua-breadcrumb a{ color:var(--ua-body) !important; }
body.ua-site .ua-breadcrumb span[aria-current]{ color:var(--ua-dark) !important; }
