
:root{--blue:#00347d;--blue-dark:#002b73;--red:#d71920;--line:#7ea3d6;--ink:#111827}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--ink)}a{color:var(--blue-dark)}img{max-width:100%;height:auto}
.page-shell{padding:10px 16px 24px}.wrap{width:min(1840px,calc(100vw - 32px));margin:0 auto;background:#fff}
.site-header{border:2px solid var(--line);background:#fff}.brand-strip{display:grid;grid-template-columns:150px 1fr 540px;align-items:center;min-height:186px}.brand-flag{display:flex;align-items:flex-start;justify-content:center;padding-top:22px;border-right:2px solid var(--line)}.brand-flag img{width:104px;border:1px solid #d4dbe8}.brand-copy{padding:18px 12px 14px 28px}.brand-title{margin:0;color:var(--blue);font-family:Impact,'Arial Black',Arial,sans-serif;font-size:98px;line-height:.92;letter-spacing:.5px}.brand-address{margin-top:24px;font-size:19px;font-weight:bold}.brand-truck{display:flex;justify-content:center;align-items:center;padding:6px 8px}.brand-truck img{max-width:520px;max-height:185px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15))}
.nav{display:grid;grid-template-columns:repeat(6,1fr);background:var(--blue);border:2px solid var(--line);border-top:none;margin-bottom:10px}.nav a{color:#fff;text-decoration:none;text-align:center;font-size:15px;font-weight:bold;padding:13px 8px;border-right:1px solid #6d96cb}.nav a:last-child{border-right:none}.nav a.active{box-shadow:inset 0 -4px 0 var(--red)}
.home-layout{display:grid;grid-template-columns:430px minmax(760px,1fr) 430px;gap:10px;align-items:start}.accessory-side{min-width:0}.accessory-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.acc-photo{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;padding:8px;min-height:132px}.acc-photo img{width:100%;height:112px;object-fit:contain}
.main-column{min-width:0}.top-panels{display:grid;grid-template-columns:1fr 1.02fr;gap:10px}.kit-panel,.specialist-panel,.building-panel,.contact-card,.stock-panel{border:2px solid var(--line);background:#fff}.kit-panel{display:block;text-decoration:none;padding:14px;min-height:460px}.kit-head{font-family:'Arial Narrow',Arial,sans-serif;font-size:38px;line-height:1.03;color:var(--blue);font-weight:900;text-transform:uppercase;text-align:center;margin-bottom:14px}.kit-visual{border:1px solid #d6e0ee;background:#fff;padding:6px}.kit-visual img{display:block;width:100%;height:100%;object-fit:contain}.kit-visual-big{height:270px;margin-bottom:12px}.kit-visual-big img{object-fit:contain}.kit-yellow-only{padding:8px;background:#fafcff}.kit-textbox{border:1px solid #d6e0ee;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 14px;text-align:center;background:#fff;min-height:126px}.kit-textbox p{margin:0 0 10px;color:var(--blue);font-family:'Arial Narrow',Arial,sans-serif;font-size:28px;line-height:1.03;font-weight:900;text-transform:uppercase}.kit-textbox small{display:block;margin:0 0 14px;font-size:15px;line-height:1.35;color:#333}.kit-textbox span{background:var(--red);color:#fff;font-size:28px;font-weight:900;line-height:1;padding:12px 18px;display:inline-block}.kit-textbox-full{margin-top:auto}
.specialist-panel{padding:18px 18px 12px;min-height:460px}.specialist-panel h2{margin:0 0 28px;font-family:'Arial Narrow',Arial,sans-serif;font-size:38px;line-height:1.1;color:var(--blue);text-transform:uppercase}.specialist-panel p{margin:0 0 18px;font-size:22px;line-height:1.5;font-weight:bold;text-transform:uppercase}.specialist-panel .intro-strong{font-size:24px;margin-bottom:26px}
.building-panel{margin-top:10px}.building-panel img{display:block;width:100%;height:340px;object-fit:cover}.team-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.contact-card{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:8px;min-height:180px}.contact-card img{width:120px;height:158px;object-fit:cover;border:1px solid #d6e0ee}.contact-copy h3{margin:0 0 10px;font-size:26px;line-height:1;color:var(--blue);font-family:'Arial Narrow',Arial,sans-serif}.contact-copy p{margin:6px 0;font-size:14px;line-height:1.28;text-align:center}.contact-copy a{color:#111;text-decoration:none;font-size:13px}
.stock-panel{margin-top:10px}.section-title{margin:0;background:var(--blue);color:#fff;text-align:center;padding:11px 10px;font-size:28px;line-height:1.1;text-transform:uppercase;font-family:'Arial Narrow',Arial,sans-serif}.vehicle-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:10px}.vehicle-card{border:1px solid #b5c8e5;background:#fff;padding:6px;text-align:center;display:flex;flex-direction:column;min-height:226px}.vehicle-card img{width:100%;height:98px;object-fit:cover;border:1px solid #dbe3f1}.vehicle-ref{color:#ff8000;font-size:11px;font-weight:bold;margin-top:6px}.vehicle-card h3{margin:5px 0 8px;font-size:12px;line-height:1.15;min-height:42px;color:var(--blue);text-transform:uppercase}.btn{display:block;margin-top:auto;background:var(--blue);color:#fff!important;text-decoration:none;font-weight:bold;font-size:11px;padding:8px 4px}
.footer{margin-top:10px;border:2px solid var(--line);background:#eef5ff;padding:14px;text-align:center;font-size:14px;line-height:1.55}.footer a{text-decoration:none}
.content{padding:26px;border:2px solid var(--line);margin-top:10px;line-height:1.6}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.gallery img{border:1px solid #ddd}.notice{background:#fff7e6;border:1px solid #ffd591;padding:12px}.contactbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.cta{background:#f8fbff;border:1px solid #aac1e2;padding:14px}.cta h3{color:var(--blue);margin:0 0 8px}
@media(max-width:1680px){.wrap{width:min(1600px,calc(100vw - 24px))}.home-layout{grid-template-columns:360px minmax(700px,1fr) 360px}.brand-strip{grid-template-columns:145px 1fr 450px}.brand-title{font-size:84px}.brand-truck img{max-width:430px;max-height:165px}.kit-head{font-size:33px}.specialist-panel h2{font-size:33px}.specialist-panel p{font-size:19px}.acc-photo{min-height:118px}.acc-photo img{height:98px}}
@media(max-width:1360px){.home-layout{grid-template-columns:300px minmax(560px,1fr) 300px}.vehicle-grid{grid-template-columns:repeat(4,1fr)}.brand-title{font-size:72px}.brand-strip{grid-template-columns:130px 1fr 350px}.kit-panel{min-height:auto}.kit-visual-big{height:230px}.kit-textbox p{font-size:24px}}
@media(max-width:1024px){.page-shell{padding:8px}.brand-strip{grid-template-columns:1fr}.brand-flag{border-right:none;border-bottom:1px solid var(--line);padding:12px}.brand-copy{text-align:center;padding:14px}.brand-title{font-size:52px}.brand-address{margin-top:12px;font-size:15px}.brand-truck img{max-width:320px;max-height:130px}.nav{grid-template-columns:1fr 1fr}.home-layout{display:block}.accessory-grid{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.top-panels,.team-row{grid-template-columns:1fr}.specialist-panel{min-height:0}.vehicle-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.accessory-grid{grid-template-columns:repeat(2,1fr)}.nav{grid-template-columns:1fr}.vehicle-grid{grid-template-columns:1fr}.contact-card{grid-template-columns:92px 1fr}.contact-card img{width:92px;height:120px}.kit-head{font-size:28px}.kit-visual-big{height:190px}.kit-textbox p{font-size:20px}.kit-textbox small{font-size:13px}.kit-textbox span{font-size:22px}}


/* --- V9 home page layout refinements --- */
.brand-strip{grid-template-columns:150px 1fr 650px;min-height:196px}
.brand-title{font-size:102px}
.brand-trucks{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;padding:8px 10px 8px 0}
.brand-trucks img{display:block;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.12))}
.brand-trucks .truck-small{max-width:250px;max-height:150px}
.brand-trucks .truck-large{max-width:360px;max-height:190px}
.brand-truck{display:none}
.home-top-stack{display:flex;flex-direction:column;gap:12px}
.after-contact{margin-top:8px}
.building-panel img{height:330px}
.team-row{margin-top:0}
.top-panels{grid-template-columns:1fr 1.02fr;align-items:stretch}
.kit-panel{min-height:0;padding:14px;display:flex;flex-direction:column;justify-content:flex-start}
.kit-head{font-size:40px;margin-bottom:14px}
.kit-export-only{height:360px;margin-bottom:0}
.kit-export-only img{width:100%;height:100%;object-fit:cover}
.specialist-panel{min-height:420px}
.specialist-panel h2,.specialist-panel p,.specialist-panel .intro-strong{font-weight:900}
.featured-ad{margin-top:28px;border:2px solid var(--line);background:#fff}
.featured-ad-body{display:grid;grid-template-columns:1.1fr .95fr;gap:16px;padding:14px}
.featured-ad-image{border:1px solid #d6e0ee;background:#fff;padding:6px;min-height:340px;display:flex;align-items:center;justify-content:center}
.featured-ad-image img{display:block;width:100%;height:326px;object-fit:cover}
.featured-ad-copy{display:flex;flex-direction:column;justify-content:center;padding:6px 4px}
.featured-ref{color:#ff8000;font-weight:900;font-size:20px;margin-bottom:6px}
.featured-ad-copy h3{margin:0 0 14px;color:var(--blue);font-family:'Arial Narrow',Arial,sans-serif;font-size:36px;line-height:1.08;text-transform:uppercase}
.featured-ad-copy ul{margin:0 0 18px 20px;padding:0;font-size:18px;line-height:1.55;font-weight:bold}
.featured-actions{margin-top:auto}
.featured-btn{font-size:16px;padding:12px 16px;display:inline-block;min-width:230px;text-align:center}
.stock-panel{margin-top:20px}
@media(max-width:1680px){
  .brand-strip{grid-template-columns:145px 1fr 520px}
  .brand-title{font-size:88px}
  .brand-trucks .truck-small{max-width:210px;max-height:130px}
  .brand-trucks .truck-large{max-width:300px;max-height:165px}
  .kit-export-only{height:300px}
  .featured-ad-body{grid-template-columns:1fr 1fr}
}
@media(max-width:1360px){
  .brand-strip{grid-template-columns:130px 1fr 400px}
  .brand-title{font-size:74px}
  .brand-trucks .truck-small{max-width:150px;max-height:100px}
  .brand-trucks .truck-large{max-width:220px;max-height:135px}
  .kit-head{font-size:33px}
  .kit-export-only{height:250px}
  .featured-ad-copy h3{font-size:28px}
  .featured-ad-copy ul{font-size:16px}
}
@media(max-width:1024px){
  .brand-strip{grid-template-columns:1fr}
  .brand-trucks{justify-content:center;padding:0 0 12px}
  .brand-title{font-size:54px}
  .featured-ad-body{grid-template-columns:1fr}
  .featured-ad-image{min-height:0}
  .featured-ad-image img{height:auto}
}
@media(max-width:620px){
  .kit-head{font-size:28px}
  .kit-export-only{height:180px}
  .featured-ref{font-size:16px}
  .featured-ad-copy h3{font-size:22px}
  .featured-ad-copy ul{font-size:14px}
}


/* --- V10 header/logo/accessories refinements --- */
.brand-strip{grid-template-columns:360px 1fr 690px !important;min-height:210px !important;align-items:center !important;}
.brand-flag{display:none !important;}
.brand-logo{display:flex;align-items:center;justify-content:center;border-right:2px solid var(--line);padding:10px 12px;min-height:210px;background:#fff;}
.brand-logo img{display:block;width:100%;max-width:320px;max-height:185px;object-fit:contain;}
.brand-copy{padding:18px 18px 14px 30px !important;}
.brand-title{font-size:96px !important;line-height:.92;}
.brand-address{margin-top:20px !important;font-size:19px;font-weight:700;}
.brand-trucks{display:grid !important;grid-template-columns:1fr 1fr;align-items:end;justify-items:center;gap:28px !important;padding:8px 18px 8px 10px !important;min-height:210px;}
.brand-trucks img{display:block;width:100%;height:170px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 8px rgba(0,0,0,.12));}
.brand-trucks .truck-small,.brand-trucks .truck-large{max-width:none !important;max-height:none !important;}

/* Accessoires uniformes */
.accessory-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-auto-rows:150px !important;}
.acc-photo{height:150px !important;min-height:150px !important;padding:10px !important;overflow:hidden;display:flex !important;align-items:center;justify-content:center;}
.acc-photo img{width:100% !important;height:128px !important;object-fit:contain !important;object-position:center center !important;display:block;}

@media(max-width:1680px){
  .brand-strip{grid-template-columns:320px 1fr 560px !important;}
  .brand-title{font-size:82px !important;}
  .brand-trucks img{height:150px;}
}
@media(max-width:1360px){
  .brand-strip{grid-template-columns:240px 1fr 430px !important;}
  .brand-title{font-size:68px !important;}
  .brand-logo img{max-width:220px;max-height:140px;}
  .brand-trucks{gap:18px !important;}
  .brand-trucks img{height:120px;}
  .accessory-grid{grid-auto-rows:130px !important;}
  .acc-photo{height:130px !important;min-height:130px !important;}
  .acc-photo img{height:108px !important;}
}
@media(max-width:1024px){
  .brand-strip{grid-template-columns:1fr !important;min-height:0 !important;}
  .brand-logo{border-right:none;border-bottom:1px solid var(--line);min-height:0;}
  .brand-logo img{max-width:280px;max-height:140px;}
  .brand-copy{text-align:center;padding:14px !important;}
  .brand-title{font-size:52px !important;}
  .brand-address{margin-top:12px !important;font-size:15px;}
  .brand-trucks{grid-template-columns:1fr 1fr;gap:14px !important;justify-content:center;padding:0 10px 12px !important;min-height:0;}
  .brand-trucks img{height:120px;}
  .accessory-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:115px !important;}
  .acc-photo{height:115px !important;min-height:115px !important;}
  .acc-photo img{height:95px !important;}
}
@media(max-width:620px){
  .brand-logo img{max-width:210px;max-height:110px;}
  .brand-title{font-size:34px !important;}
  .brand-trucks{grid-template-columns:1fr 1fr;gap:10px !important;}
  .brand-trucks img{height:78px;}
  .accessory-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:100px !important;}
  .acc-photo{height:100px !important;min-height:100px !important;}
  .acc-photo img{height:80px !important;}
}


/* --- V11: suppression menu + annonces plus grosses --- */
.nav{display:none !important;}
.site-header{margin-bottom:10px;}
.stock-panel{margin-top:20px;}
.vehicle-grid{
  grid-template-columns:repeat(4,1fr) !important;
  gap:14px !important;
  padding:14px !important;
}
.vehicle-card{
  min-height:320px !important;
  padding:10px !important;
}
.vehicle-card img{
  height:170px !important;
}
.vehicle-ref{
  font-size:14px !important;
  margin-top:8px !important;
}
.vehicle-card h3{
  font-size:17px !important;
  line-height:1.2 !important;
  min-height:64px !important;
  margin:8px 0 12px !important;
}
.btn{
  font-size:14px !important;
  padding:12px 8px !important;
}
@media(max-width:1360px){
  .vehicle-grid{grid-template-columns:repeat(3,1fr) !important;}
  .vehicle-card{min-height:300px !important;}
  .vehicle-card img{height:155px !important;}
}
@media(max-width:1024px){
  .vehicle-grid{grid-template-columns:repeat(2,1fr) !important;}
  .vehicle-card{min-height:280px !important;}
  .vehicle-card img{height:145px !important;}
}
@media(max-width:620px){
  .vehicle-grid{grid-template-columns:1fr !important;}
  .vehicle-card{min-height:0 !important;}
  .vehicle-card img{height:190px !important;}
}


/* --- V12: uniformiser toutes les petites annonces --- */
.vehicle-grid{
  align-items:stretch !important;
}
.vehicle-card{
  height:320px !important;
  min-height:320px !important;
  max-height:320px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}
.vehicle-card > a:first-child{
  display:block !important;
}
.vehicle-card img{
  width:100% !important;
  height:170px !important;
  min-height:170px !important;
  max-height:170px !important;
  object-fit:cover !important;
  flex:0 0 170px !important;
}
.vehicle-ref{
  min-height:18px !important;
  max-height:18px !important;
  overflow:hidden !important;
}
.vehicle-card h3{
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:center !important;
}
.vehicle-card p{
  display:none !important;
}
.vehicle-card .btn{
  margin-top:auto !important;
}
@media(max-width:1360px){
  .vehicle-card{height:300px !important;min-height:300px !important;max-height:300px !important;}
  .vehicle-card img{height:155px !important;min-height:155px !important;max-height:155px !important;flex-basis:155px !important;}
  .vehicle-card h3{height:58px !important;min-height:58px !important;max-height:58px !important;}
}
@media(max-width:1024px){
  .vehicle-card{height:280px !important;min-height:280px !important;max-height:280px !important;}
  .vehicle-card img{height:145px !important;min-height:145px !important;max-height:145px !important;flex-basis:145px !important;}
  .vehicle-card h3{height:54px !important;min-height:54px !important;max-height:54px !important;}
}
@media(max-width:620px){
  .vehicle-card{height:auto !important;min-height:0 !important;max-height:none !important;}
  .vehicle-card img{height:190px !important;min-height:190px !important;max-height:190px !important;flex-basis:190px !important;}
  .vehicle-card h3{height:auto !important;min-height:0 !important;max-height:none !important;}
}


/* --- V13: remonter le bouton VOIR L'ANNONCE --- */
.vehicle-card{
  height:334px !important;
  min-height:334px !important;
  max-height:334px !important;
  padding-bottom:12px !important;
}
.vehicle-card img{
  height:164px !important;
  min-height:164px !important;
  max-height:164px !important;
  flex-basis:164px !important;
}
.vehicle-card h3{
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin-bottom:8px !important;
}
.vehicle-card .btn{
  margin-top:auto !important;
  margin-bottom:0 !important;
  padding:10px 8px !important;
  line-height:1.1 !important;
  position:relative;
  bottom:0;
}
@media(max-width:1360px){
  .vehicle-card{height:314px !important;min-height:314px !important;max-height:314px !important;}
  .vehicle-card img{height:150px !important;min-height:150px !important;max-height:150px !important;flex-basis:150px !important;}
  .vehicle-card h3{height:54px !important;min-height:54px !important;max-height:54px !important;}
}
@media(max-width:1024px){
  .vehicle-card{height:294px !important;min-height:294px !important;max-height:294px !important;}
  .vehicle-card img{height:140px !important;min-height:140px !important;max-height:140px !important;flex-basis:140px !important;}
  .vehicle-card h3{height:50px !important;min-height:50px !important;max-height:50px !important;}
}


/* --- V14 fiches véhicule --- */
.detail-page{margin-top:10px;border:2px solid var(--line);background:#fff;padding:18px;}
.detail-breadcrumb{margin-bottom:14px;font-size:14px;font-weight:bold;}
.detail-breadcrumb a{text-decoration:none;color:var(--blue);}
.detail-showcase{display:grid;grid-template-columns:minmax(0,1.3fr) 420px;gap:18px;align-items:start;}
.detail-gallery{min-width:0;}
.gallery-main-frame{border:2px solid var(--line);background:#fff;padding:8px;display:flex;align-items:center;justify-content:center;min-height:520px;}
.gallery-main-frame img{display:block;width:100%;height:500px;object-fit:cover;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px;}
.thumb-btn{border:2px solid #d7e2f2;background:#fff;padding:4px;cursor:pointer;display:block;}
.thumb-btn.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);}
.thumb-btn img{display:block;width:100%;height:96px;object-fit:cover;}
.summary-card{border:2px solid var(--line);background:#f8fbff;padding:18px;display:flex;flex-direction:column;min-height:100%;}
.summary-topline{color:#ff8000;font-weight:900;font-size:15px;margin-bottom:6px;text-transform:uppercase;}
.summary-card h1{margin:0 0 10px;color:var(--blue);font-family:'Arial Narrow',Arial,sans-serif;font-size:44px;line-height:1.04;text-transform:uppercase;}
.summary-subtitle{margin:0 0 16px;font-size:16px;font-weight:bold;line-height:1.4;}
.summary-quickfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.summary-quickfacts div{border:1px solid #cfe0f6;background:#fff;padding:10px;}
.summary-quickfacts span{display:block;font-size:12px;font-weight:bold;color:#666;text-transform:uppercase;margin-bottom:5px;}
.summary-quickfacts strong{display:block;font-size:15px;color:#111;line-height:1.25;}
.summary-list{margin:0 0 18px 20px;padding:0;font-size:15px;line-height:1.55;}
.summary-actions{margin-top:auto;}
.detail-bottom{display:grid;grid-template-columns:minmax(0,1.35fr) 360px;gap:18px;margin-top:18px;align-items:start;}
.spec-sheet-card,.visit-card{border:2px solid var(--line);background:#fff;}
.spec-sheet-title{background:var(--blue);color:#fff;text-align:center;padding:12px 10px;font-size:28px;font-family:'Arial Narrow',Arial,sans-serif;font-weight:900;letter-spacing:.3px;}
.spec-sheet-grid{padding:14px;display:flex;flex-direction:column;gap:14px;}
.spec-section-title{font-family:'Arial Narrow',Arial,sans-serif;font-size:30px;color:#d71920;font-weight:900;text-align:center;border:1px solid #c7d9ef;padding:8px;background:#fff;}
.spec-table{width:100%;border-collapse:collapse;font-size:14px;}
.spec-table th,.spec-table td{border:1px solid #c7d9ef;padding:9px 10px;vertical-align:top;}
.spec-table th{width:25%;text-align:left;background:#f8fbff;font-weight:bold;}
.visit-card{padding:16px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);}
.visit-card-head{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:2px solid #d9e7f7;}
.visit-logo{width:84px;height:84px;object-fit:contain;flex:0 0 84px;}
.visit-company{font-size:30px;color:var(--blue);font-family:'Arial Narrow',Arial,sans-serif;font-weight:900;line-height:1;}
.visit-tagline{font-size:15px;line-height:1.4;font-weight:bold;margin-top:6px;}
.visit-person{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #d9e7f7;}
.visit-person img{width:92px;height:118px;object-fit:cover;border:1px solid #d9e7f7;}
.visit-person h3{margin:0 0 8px;color:var(--blue);font-size:28px;font-family:'Arial Narrow',Arial,sans-serif;line-height:1;}
.visit-person p{margin:0;font-size:15px;font-weight:bold;line-height:1.4;}
.visit-contact-lines{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid #d9e7f7;font-size:15px;line-height:1.45;}
.visit-contact-lines a{text-decoration:none;word-break:break-word;}
.visit-note{padding:14px 0;font-size:14px;line-height:1.55;}
.visit-btn{display:block;text-align:center;}
@media(max-width:1360px){
  .detail-showcase{grid-template-columns:1fr 360px;}
  .gallery-main-frame{min-height:430px;}
  .gallery-main-frame img{height:410px;}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr);}
  .thumb-btn img{height:84px;}
  .summary-card h1{font-size:36px;}
  .detail-bottom{grid-template-columns:1fr 320px;}
}
@media(max-width:1024px){
  .detail-showcase,.detail-bottom{grid-template-columns:1fr;}
  .gallery-main-frame{min-height:360px;}
  .gallery-main-frame img{height:340px;}
  .gallery-thumbs{grid-template-columns:repeat(3,1fr);}
  .summary-quickfacts{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .detail-page{padding:12px;}
  .gallery-main-frame{min-height:260px;}
  .gallery-main-frame img{height:240px;}
  .gallery-thumbs{grid-template-columns:repeat(2,1fr);}
  .thumb-btn img{height:76px;}
  .summary-card h1{font-size:28px;}
  .summary-quickfacts{grid-template-columns:1fr;}
  .spec-sheet-title{font-size:22px;}
  .spec-section-title{font-size:24px;}
  .visit-person{grid-template-columns:80px 1fr;}
  .visit-person img{width:80px;height:100px;}
}


/* --- V15: fiches véhicule mieux renseignées et mieux agencées --- */
.detail-page-v2{padding:20px 20px 22px !important;}
.detail-showcase-v2{grid-template-columns:minmax(0,1.45fr) 400px !important;gap:20px !important;margin-bottom:20px;}
.card-block{border:2px solid var(--line);background:#fff;padding:10px;}
.gallery-main-frame-v2{min-height:470px !important;}
.gallery-main-frame-v2 img{height:450px !important;object-fit:cover !important;}
.gallery-thumbs-v2{grid-template-columns:repeat(5,1fr) !important;gap:8px !important;}
.gallery-thumbs-v2 .thumb-btn{padding:4px !important;}
.gallery-thumbs-v2 .thumb-btn img{height:86px !important;}
.summary-card-v2{padding:18px !important;}
.summary-card-v2 h1{font-size:38px !important;margin-bottom:10px !important;}
.summary-quickfacts-v2{grid-template-columns:1fr 1fr !important;gap:9px !important;margin-bottom:16px !important;}
.summary-note-box{border:1px solid #d8e4f3;background:#fff;padding:12px 14px;margin-bottom:16px;}
.summary-note-box strong{display:block;margin-bottom:8px;color:var(--blue);font-size:18px;font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;}
.summary-note-box .summary-list{margin:0 0 0 18px !important;font-size:14px !important;line-height:1.55 !important;}
.detail-bottom-v2{grid-template-columns:minmax(0,1.55fr) 330px !important;gap:20px !important;align-items:start !important;}
.spec-sheet-card-v2{overflow:hidden;}
.spec-sheet-grid-v2{gap:12px !important;padding:12px !important;}
.spec-section-title{font-size:26px !important;letter-spacing:.2px;}
.spec-table{font-size:13px !important;table-layout:fixed;}
.spec-table th,.spec-table td{padding:8px 9px !important;line-height:1.35 !important;}
.spec-table th{width:23% !important;}
.visit-card-v2{padding:14px !important;}
.visit-person-v2 h3{font-size:24px !important;}
.visit-contact-lines{font-size:14px !important;}
.visit-note{font-size:13px !important;line-height:1.5 !important;}
@media(max-width:1360px){
  .detail-showcase-v2{grid-template-columns:1fr 360px !important;}
  .gallery-main-frame-v2{min-height:410px !important;}
  .gallery-main-frame-v2 img{height:390px !important;}
  .gallery-thumbs-v2{grid-template-columns:repeat(4,1fr) !important;}
  .detail-bottom-v2{grid-template-columns:1fr 300px !important;}
}
@media(max-width:1024px){
  .detail-showcase-v2,.detail-bottom-v2{grid-template-columns:1fr !important;}
  .gallery-main-frame-v2{min-height:340px !important;}
  .gallery-main-frame-v2 img{height:320px !important;}
  .gallery-thumbs-v2{grid-template-columns:repeat(3,1fr) !important;}
  .summary-card-v2 h1{font-size:32px !important;}
}
@media(max-width:620px){
  .detail-page-v2{padding:12px !important;}
  .gallery-main-frame-v2{min-height:250px !important;}
  .gallery-main-frame-v2 img{height:230px !important;}
  .gallery-thumbs-v2{grid-template-columns:repeat(2,1fr) !important;}
  .summary-card-v2 h1{font-size:26px !important;}
  .summary-quickfacts-v2{grid-template-columns:1fr !important;}
  .spec-section-title{font-size:22px !important;}
  .spec-table,.spec-table tbody,.spec-table tr,.spec-table th,.spec-table td{display:block;width:100% !important;}
  .spec-table tr{border:1px solid #c7d9ef;margin-bottom:8px;}
  .spec-table th{background:#f8fbff;padding-bottom:4px !important;border:none !important;border-bottom:1px solid #e2ebf7 !important;}
  .spec-table td{border:none !important;border-bottom:1px solid #eef4fb !important;}
}


/* --- V16: fiches annonces plus différenciées --- */
.summary-card-v3 .summary-topline{margin-bottom:8px;}
.summary-card-v3 h1{font-size:34px !important; line-height:1.06 !important;}
.summary-note-box-v3{min-height:190px; display:flex; flex-direction:column; justify-content:flex-start;}
.summary-paragraph{font-size:15px; line-height:1.65; color:#222;}
.equip-info-row .equip-info-cell{min-height:120px; line-height:1.6 !important; vertical-align:top;}
.detail-showcase-v3{align-items:stretch !important;}
.detail-bottom-v3{align-items:start !important;}
.visit-card-v2 .visit-contact-lines{padding-bottom:8px !important; border-bottom:none !important;}
@media(max-width:1360px){
  .summary-note-box-v3{min-height:170px;}
}
@media(max-width:620px){
  .summary-note-box-v3{min-height:0;}
}


/* --- V17: meilleure lecture des fiches annonces --- */
/* Blocs résumé plus compacts et plus souples */
.summary-quickfacts-v2 {
  align-items: stretch !important;
}
.summary-quickfacts-v2 div {
  padding: 8px 10px !important;
  min-height: 0 !important;
  height: auto !important;
}
.summary-quickfacts-v2 span {
  margin-bottom: 3px !important;
  line-height: 1.1 !important;
}
.summary-quickfacts-v2 strong {
  line-height: 1.25 !important;
  word-break: break-word !important;
}
.summary-card-v3 h1 {
  margin-bottom: 8px !important;
}

/* Galerie photo : ne plus couper les images */
.gallery-main-frame,
.gallery-main-frame-v2 {
  background: #f7f7f7 !important;
  overflow: hidden !important;
}
.gallery-main-frame img,
.gallery-main-frame-v2 img {
  width: 100% !important;
  height: 100% !important;
  max-height: 450px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f7f7f7 !important;
}
.gallery-thumbs .thumb-btn,
.gallery-thumbs-v2 .thumb-btn {
  background: #f7f7f7 !important;
}
.gallery-thumbs .thumb-btn img,
.gallery-thumbs-v2 .thumb-btn img {
  width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f7f7f7 !important;
}

/* Les zones descriptives s'adaptent si beaucoup de texte est saisi */
.summary-note-box,
.summary-note-box-v3 {
  min-height: 0 !important;
  height: auto !important;
}
.summary-paragraph {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.spec-sheet-card,
.spec-sheet-grid,
.spec-sheet-grid-v2,
.spec-section,
.spec-table,
.spec-table tr,
.spec-table th,
.spec-table td {
  overflow: visible !important;
}
.spec-table {
  table-layout: auto !important;
}
.spec-table th,
.spec-table td {
  height: auto !important;
  min-height: 0 !important;
  vertical-align: top !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.equip-info-row .equip-info-cell {
  min-height: 0 !important;
  height: auto !important;
}

/* Ajustements responsive */
@media (max-width: 1360px) {
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    max-height: 390px !important;
  }
}
@media (max-width: 1024px) {
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    max-height: 320px !important;
  }
  .summary-quickfacts-v2 {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 620px) {
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    max-height: 230px !important;
  }
  .summary-quickfacts-v2 {
    grid-template-columns: 1fr !important;
  }
}


/* --- V18: photo principale prend tout le cadre sans être coupée --- */
.gallery-main-frame,
.gallery-main-frame-v2 {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  background: #fff !important;
}
.gallery-main-frame img,
.gallery-main-frame-v2 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: initial !important;
  object-position: center center !important;
  background: #fff !important;
}
.detail-gallery.card-block {
  padding: 4px !important;
}
@media (max-width: 1360px) {
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    width: 100% !important;
    height: auto !important;
  }
}
@media (max-width: 1024px) {
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    width: 100% !important;
    height: auto !important;
  }
}
@media (max-width: 620px) {
  .detail-gallery.card-block {
    padding: 6px !important;
  }
}


/* --- V19: galerie plus fluide, image entière visible sans scroll --- */
.detail-showcase-v2,
.detail-showcase-v3 {
  align-items: start !important;
}
.detail-gallery.card-block {
  padding: 4px !important;
}
.gallery-main-frame,
.gallery-main-frame-v2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  background: #f7f7f7 !important;
  height: clamp(280px, 42vh, 420px) !important;
  min-height: 280px !important;
  max-height: 420px !important;
  overflow: hidden !important;
}
.gallery-main-frame img,
.gallery-main-frame-v2 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  background: #f7f7f7 !important;
}
.gallery-thumbs,
.gallery-thumbs-v2 {
  gap: 8px !important;
  margin-top: 10px !important;
}
.gallery-thumbs .thumb-btn,
.gallery-thumbs-v2 .thumb-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 92px !important;
  padding: 5px !important;
  background: #f7f7f7 !important;
  overflow: hidden !important;
}
.gallery-thumbs .thumb-btn img,
.gallery-thumbs-v2 .thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}
@media (max-width: 1360px) {
  .gallery-main-frame,
  .gallery-main-frame-v2 {
    height: clamp(260px, 38vh, 360px) !important;
    min-height: 260px !important;
    max-height: 360px !important;
  }
  .gallery-thumbs .thumb-btn,
  .gallery-thumbs-v2 .thumb-btn {
    height: 82px !important;
  }
}
@media (max-width: 1024px) {
  .gallery-main-frame,
  .gallery-main-frame-v2 {
    height: clamp(240px, 34vh, 320px) !important;
    min-height: 240px !important;
    max-height: 320px !important;
  }
  .gallery-thumbs .thumb-btn,
  .gallery-thumbs-v2 .thumb-btn {
    height: 78px !important;
  }
}
@media (max-width: 620px) {
  .gallery-main-frame,
  .gallery-main-frame-v2 {
    height: clamp(200px, 30vh, 250px) !important;
    min-height: 200px !important;
    max-height: 250px !important;
    padding: 6px !important;
  }
  .gallery-thumbs .thumb-btn,
  .gallery-thumbs-v2 .thumb-btn {
    height: 72px !important;
    padding: 4px !important;
  }
}


/* --- V20: cadre photo qui s'adapte vraiment à l'image --- */
.detail-gallery.card-block {
  padding: 4px !important;
}
.gallery-main-frame,
.gallery-main-frame-v2 {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 4px !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f7f7f7 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.gallery-main-frame img,
.gallery-main-frame-v2 img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(52vh, 460px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  background: #f7f7f7 !important;
}
.gallery-thumbs,
.gallery-thumbs-v2 {
  gap: 8px !important;
  margin-top: 10px !important;
}
.gallery-thumbs .thumb-btn,
.gallery-thumbs-v2 .thumb-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 92px !important;
  padding: 5px !important;
  background: #f7f7f7 !important;
  overflow: hidden !important;
}
.gallery-thumbs .thumb-btn img,
.gallery-thumbs-v2 .thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}
@media (max-width: 1360px) {
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    max-height: min(46vh, 390px) !important;
  }
  .gallery-thumbs .thumb-btn,
  .gallery-thumbs-v2 .thumb-btn {
    height: 82px !important;
  }
}
@media (max-width: 1024px) {
  .gallery-main-frame,
  .gallery-main-frame-v2 {
    padding: 6px !important;
  }
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    max-height: min(42vh, 330px) !important;
  }
  .gallery-thumbs .thumb-btn,
  .gallery-thumbs-v2 .thumb-btn {
    height: 78px !important;
  }
}
@media (max-width: 620px) {
  .detail-gallery.card-block {
    padding: 6px !important;
  }
  .gallery-main-frame,
  .gallery-main-frame-v2 {
    padding: 5px !important;
  }
  .gallery-main-frame img,
  .gallery-main-frame-v2 img {
    max-height: min(34vh, 240px) !important;
  }
  .gallery-thumbs .thumb-btn,
  .gallery-thumbs-v2 .thumb-btn {
    height: 72px !important;
    padding: 4px !important;
  }
}


/* --- V21 : galerie type Leboncoin, propre et fluide --- */
.detail-showcase-v3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.85fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
.detail-gallery.card-block {
  padding: 10px !important;
}
.gallery-stage {
  border: 1px solid #c3d1e8;
  background: #f6f6f6;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  height: clamp(320px, 38vw, 520px);
  overflow: hidden;
}
.gallery-main-button {
  border: 0;
  background: transparent;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: zoom-in;
}
.gallery-stage img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
}
.gallery-thumbs-modal {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px !important;
}
.gallery-thumbs-modal .thumb-btn {
  border: 1px solid #c8d4e7;
  background: #f6f6f6;
  min-height: 88px;
  height: 88px;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.gallery-thumbs-modal .thumb-btn.active {
  border: 3px solid #0d3e8a;
  padding: 4px;
  background: #ffffff;
}
.gallery-thumbs-modal .thumb-btn img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.gallery-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.82);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
}
.gallery-lightbox.open {
  display: flex;
}
body.lightbox-open {
  overflow: hidden;
}
.lightbox-content {
  max-width: min(92vw, 1400px);
  max-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.lightbox-content img {
  display: block;
  max-width: 100%;
  max-height: 82vh;
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  background: #fff;
}
.lightbox-close,
.lightbox-nav {
  position: absolute;
  border: 0;
  background: rgba(255,255,255,.92);
  color: #0c254c;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lightbox-close {
  top: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  font-size: 34px;
  line-height: 1;
}
.lightbox-nav {
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 999px;
  font-size: 42px;
  line-height: 1;
}
.lightbox-nav.prev { left: 18px; }
.lightbox-nav.next { right: 18px; }
@media (max-width: 1180px) {
  .detail-showcase-v3 {
    grid-template-columns: 1fr !important;
  }
  .gallery-thumbs-modal {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .gallery-stage {
    min-height: 240px;
    height: clamp(240px, 42vw, 320px);
    padding: 8px;
  }
  .gallery-thumbs-modal {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .gallery-thumbs-modal .thumb-btn {
    min-height: 78px;
    height: 78px;
    padding: 5px;
  }
  .lightbox-nav {
    width: 48px;
    height: 48px;
    font-size: 34px;
  }
}


/* --- V22 : image principale fixe, miniatures ouvrent seulement la visionneuse --- */
.gallery-stage {
  height: clamp(300px, 34vw, 500px) !important;
}
.gallery-main-button {
  cursor: zoom-in;
}
.gallery-main-button img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.gallery-thumbs-modal .thumb-btn {
  cursor: zoom-in;
}
.gallery-thumbs-modal .thumb-btn.active {
  border: 2px solid #0d3e8a;
  padding: 5px;
}


/* --- V23 : toutes les images remplissent leurs cadres --- */
.gallery-stage {
  background: #f7f7f7 !important;
  overflow: hidden !important;
}
.gallery-main-button {
  overflow: hidden !important;
}
.gallery-stage img,
.gallery-main-button img,
#mainGalleryImage {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Miniatures : remplissage propre et homogène */
.gallery-thumbs-modal .thumb-btn {
  overflow: hidden !important;
  background: #f7f7f7 !important;
}
.gallery-thumbs-modal .thumb-btn img,
.gallery-thumbs .thumb-btn img,
.gallery-thumbs-v2 .thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Visionneuse grand écran : on garde l'image entière visible */
.lightbox-content img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 82vh !important;
  object-fit: contain !important;
  max-height: 170px !important;
}



/* --- V24 : cadres redimensionnés proprement, sans étirement dégueu --- */
.detail-gallery.card-block {
  padding: 10px !important;
}
.gallery-stage {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  min-height: 0 !important;
  background: #f7f7f7 !important;
  border: 1px solid #c3d1e8;
  overflow: hidden !important;
  box-sizing: border-box;
}
.gallery-main-button {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f7f7f7 !important;
}
.gallery-stage img,
.gallery-main-button img,
#mainGalleryImage {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.gallery-thumbs-modal {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.gallery-thumbs-modal .thumb-btn {
  height: 92px !important;
  min-height: 92px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #c8d4e7 !important;
  background: #f7f7f7 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.gallery-thumbs-modal .thumb-btn.active {
  border: 2px solid #0d3e8a !important;
  padding: 0 !important;
}
.gallery-thumbs-modal .thumb-btn img,
.gallery-thumbs .thumb-btn img,
.gallery-thumbs-v2 .thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
/* La visionneuse garde l'image entière visible */
.lightbox-content img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 82vh !important;
  object-fit: contain !important;
}
@media (max-width: 1180px) {
  .gallery-thumbs-modal { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  .gallery-thumbs-modal { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  .gallery-thumbs-modal .thumb-btn { height: 78px !important; min-height: 78px !important; }
}


/* --- V25 : miniatures d'annonces synchronisées avec la photo principale de chaque fiche --- */
.vehicle-card img {
  object-fit: cover !important;
  object-position: center center !important;
}


/* --- V26 : bouton administrateur + panel admin --- */
.admin-entry-section {
  border: 2px solid var(--line);
  background: #f8fbff;
  margin-top: 18px;
  padding: 28px 16px;
  text-align: center;
}
.admin-entry-button {
  display: inline-block;
  background: var(--blue);
  color: #fff !important;
  text-decoration: none;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .5px;
  padding: 18px 46px;
  border: 2px solid #001f54;
  box-shadow: inset 0 -4px 0 rgba(0,0,0,.18);
}
.admin-page {
  border: 2px solid var(--line);
  background: #fff;
  margin-top: 10px;
  padding: 20px;
}
.hidden { display: none !important; }
.admin-login-card,
.admin-panel,
.admin-form,
.admin-list-panel {
  border: 2px solid var(--line);
  background: #fff;
}
.admin-login-card {
  max-width: 680px;
  margin: 20px auto;
  padding: 24px;
}
.admin-login-card h1,
.admin-panel-head h1 {
  margin: 0 0 10px;
  color: var(--blue);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 38px;
  line-height: 1.05;
  text-transform: uppercase;
}
.admin-login-grid,
.admin-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
.admin-login-card label,
.admin-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 900;
  color: #223;
  font-size: 14px;
}
.admin-login-card input,
.admin-form input,
.admin-form textarea {
  width: 100%;
  border: 1px solid #b8c9e6;
  padding: 10px;
  font: inherit;
  background: #fff;
}
.admin-form textarea {
  resize: vertical;
  min-height: 80px;
}
.admin-primary-btn,
.admin-secondary-btn {
  border: 0;
  cursor: pointer;
  font-weight: 900;
  padding: 12px 18px;
  font-size: 15px;
  margin-top: 14px;
}
.admin-primary-btn {
  background: var(--blue);
  color: #fff;
}
.admin-secondary-btn {
  background: #e8f0fb;
  color: var(--blue);
  border: 1px solid #b8c9e6;
}
.admin-error {
  color: #b00020;
  font-weight: bold;
  margin-top: 10px;
}
.admin-help-note {
  font-size: 13px;
  line-height: 1.45;
  color: #555;
}
.admin-panel {
  padding: 18px;
}
.admin-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.admin-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap: 18px;
}
.admin-form {
  padding: 16px;
}
.admin-form-section {
  border: 1px solid #c8d9ef;
  background: #f8fbff;
  padding: 14px;
  margin-bottom: 14px;
}
.admin-form-section h2 {
  margin: 0 0 14px;
  color: var(--blue);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
}
.admin-photo-preview {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 8px;
  margin-top: 12px;
}
.admin-photo-preview img {
  width: 100%;
  height: 82px;
  object-fit: cover;
  border: 1px solid #b8c9e6;
  background: #fff;
}
.admin-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.admin-list-panel {
  padding: 14px;
  align-self: start;
  position: sticky;
  top: 12px;
}
.admin-list-panel h2 {
  margin: 0 0 12px;
  color: var(--blue);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 28px;
}
.admin-list-item {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 10px;
  border: 1px solid #c8d9ef;
  padding: 8px;
  margin-bottom: 10px;
  background: #f8fbff;
}
.admin-list-item img {
  width: 92px;
  height: 70px;
  object-fit: cover;
  background: #fff;
}
.admin-list-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.admin-list-actions a,
.admin-list-actions button {
  border: 1px solid #b8c9e6;
  background: #fff;
  color: var(--blue);
  font-size: 12px;
  font-weight: bold;
  padding: 5px 7px;
  text-decoration: none;
  cursor: pointer;
}
.admin-empty {
  color: #666;
  font-size: 14px;
}
.admin-added-card {
  background: #fffef5 !important;
  border-color: #f0c36d !important;
}
.admin-dynamic-grid:empty {
  display: none;
}

@media(max-width: 1100px) {
  .admin-layout {
    grid-template-columns: 1fr;
  }
  .admin-list-panel {
    position: static;
  }
}
@media(max-width: 700px) {
  .admin-login-grid,
  .admin-field-grid {
    grid-template-columns: 1fr;
  }
  .admin-panel-head {
    flex-direction: column;
  }
  .admin-photo-preview {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .admin-entry-button {
    font-size: 26px;
    padding: 15px 30px;
  }
}


/* --- V27 : ordre, suppression et archivage des annonces admin --- */
.admin-list-section {
  border-top: 1px solid #c8d9ef;
  padding-top: 12px;
  margin-top: 12px;
}
.admin-list-section:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
.admin-list-section h3 {
  margin: 0 0 10px;
  color: var(--blue);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 22px;
  text-transform: uppercase;
}
.admin-list-item.is-archived {
  opacity: .72;
  background: #f1f1f1;
}
.admin-status {
  display: inline-block;
  margin-top: 6px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  border-radius: 2px;
}
.admin-status.active {
  background: #e6f4ea;
  color: #137333;
  border: 1px solid #b7dfc4;
}
.admin-status.archived {
  background: #f1f3f4;
  color: #5f6368;
  border: 1px solid #d8dadd;
}
.admin-list-actions button:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.admin-list-actions .danger {
  color: #b00020;
  border-color: #e4b3bb;
}
.archived-section {
  margin-top: 18px;
}


/* --- V28 : suppression des annonces de démonstration --- */
.clean-stock-panel {
  min-height: 220px;
}
.empty-stock-message {
  text-align: center;
  margin: 0;
  padding: 42px 18px;
  font-size: 18px;
  line-height: 1.45;
  font-weight: bold;
  color: #334;
  background: #f8fbff;
  border-top: 1px solid #c8d9ef;
}
.admin-dynamic-grid {
  margin-top: 0;
}
.admin-dynamic-grid:empty {
  display: none !important;
}


/* --- V29 : gestion complète des photos dans le panel admin --- */
.admin-photo-preview {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 12px !important;
  max-height: 560px;
  overflow-y: auto;
  padding: 10px;
  border: 1px solid #c8d9ef;
  background: #fff;
}
.admin-photo-empty {
  margin: 0;
  padding: 16px;
  color: #667;
  font-weight: bold;
}
.admin-photo-tile {
  position: relative;
  border: 1px solid #b8c9e6;
  background: #f8fbff;
  padding: 8px;
  cursor: grab;
}
.admin-photo-tile:active {
  cursor: grabbing;
}
.admin-photo-tile.dragging {
  opacity: .45;
}
.admin-photo-tile.drag-over {
  outline: 3px solid var(--blue);
  outline-offset: -3px;
  background: #eef5ff;
}
.admin-photo-tile img {
  width: 100% !important;
  height: 120px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  border: 1px solid #d8e4f3;
  background: #fff;
}
.admin-photo-order {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--blue);
  color: #fff;
  font-weight: 900;
  min-width: 28px;
  height: 28px;
  padding: 5px 7px;
  text-align: center;
  line-height: 18px;
  border-radius: 2px;
  box-shadow: 0 2px 5px rgba(0,0,0,.2);
}
.admin-photo-tools {
  display: grid;
  grid-template-columns: 36px 36px 1fr;
  gap: 6px;
  margin-top: 8px;
}
.admin-photo-tools button {
  border: 1px solid #b8c9e6;
  background: #fff;
  color: var(--blue);
  font-weight: 900;
  cursor: pointer;
  padding: 7px 6px;
}
.admin-photo-tools button:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.admin-photo-tools .danger {
  color: #b00020;
  border-color: #e4b3bb;
}
@media(max-width: 700px) {
  .admin-photo-preview {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
    max-height: 460px;
  }
  .admin-photo-tile img {
    height: 100px !important;
  }
}


/* --- V30 : fusion résumé + informations supplémentaires --- */
#equipInfo {
  min-height: 210px;
}
.summary-note-box-v3 {
  min-height: 0 !important;
}
.summary-paragraph {
  font-size: 15px;
  line-height: 1.65;
}
.equip-info-row .equip-info-cell {
  min-height: 150px !important;
  line-height: 1.65 !important;
}


/* --- V31 : vidéo dans galerie + valeurs vides en tiret --- */
.admin-video-preview {
  margin-top: 12px;
}
.admin-video-tile {
  border: 1px solid #b8c9e6;
  background: #fff;
  padding: 10px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 12px;
  align-items: center;
}
.admin-video-tile video {
  width: 240px;
  max-height: 150px;
  background: #111;
}
.admin-video-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.admin-video-info button {
  align-self: flex-start;
  border: 1px solid #e4b3bb;
  background: #fff;
  color: #b00020;
  font-weight: 900;
  padding: 8px 10px;
  cursor: pointer;
}
.video-thumb {
  position: relative;
  background: #0b1d3d !important;
  color: #fff;
  font-weight: 900;
  flex-direction: column;
  gap: 6px;
}
.video-play-badge {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
}
.video-thumb-label {
  color: #fff;
  font-size: 13px;
  letter-spacing: .5px;
}
.lightbox-content video {
  display: block;
  max-width: min(92vw, 1400px);
  max-height: 82vh;
  background: #000;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}
@media(max-width: 700px) {
  .admin-video-tile {
    grid-template-columns: 1fr;
  }
  .admin-video-tile video {
    width: 100%;
  }
}


/* --- V32 : limite vidéo + messages d'erreur clairs --- */
.admin-media-error {
  margin-top: 12px;
  color: #b00020;
  background: #fff4f4;
  border: 1px solid #e4b3bb;
  padding: 10px 12px;
  font-weight: 900;
  line-height: 1.4;
}
.admin-media-error:empty {
  display: none;
}


/* --- V33 : vidéos lourdes stockées en IndexedDB --- */
.admin-status.video {
  background: #e8f0fe;
  color: #174ea6;
  border: 1px solid #aecbfa;
}
.admin-video-placeholder {
  width: 240px;
  min-height: 130px;
  background: #0b1d3d;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}
.video-error-message {
  color: #fff;
  background: rgba(176,0,32,.95);
  padding: 18px 22px;
  max-width: 720px;
  font-weight: 900;
  line-height: 1.5;
}


/* --- V34 : aperçu vidéo avec miniature --- */
.admin-video-poster-wrap {
  position: relative;
  width: 240px;
  min-height: 135px;
  background: #edf2fa;
  overflow: hidden;
  border: 1px solid #cdd9ee;
  border-radius: 6px;
}
.admin-video-poster {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 135px;
  object-fit: cover;
}
.admin-video-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 32px;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.22));
  pointer-events: none;
}
.video-thumb {
  position: relative;
  overflow: hidden;
}
.video-thumb.has-preview {
  background: #eaf0fa !important;
}
.video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-thumb-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(180deg, rgba(8,17,34,.10), rgba(8,17,34,.36));
  color: #fff;
}
.video-thumb-overlay-only {
  background: #0b1d3d;
}
.video-thumb-label {
  color: #fff;
  font-size: 13px;
  letter-spacing: .5px;
  text-shadow: 0 2px 5px rgba(0,0,0,.35);
}


/* --- V36 : cartes contact ajustées proprement --- */
.team-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.contact-card {
  grid-template-columns: 126px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 10px 12px !important;
  min-height: 186px !important;
  box-sizing: border-box !important;
}

.contact-card img {
  width: 126px !important;
  height: 162px !important;
  object-fit: cover !important;
}

.contact-copy {
  min-width: 0 !important;
}

.contact-copy h3 {
  font-size: 26px !important;
  line-height: 1 !important;
}

.contact-copy .mail-line {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  margin-top: 6px !important;
}

.contact-copy .mail-line a {
  font-size: 12px !important;
  line-height: 1.1 !important;
  color: #111 !important;
  text-decoration: none !important;
}

.contact-copy .mail-icon {
  flex: 0 0 auto !important;
  line-height: 1 !important;
}

@media(max-width: 900px) {
  .team-row {
    grid-template-columns: 1fr !important;
  }
  .contact-card {
    max-width: 520px !important;
    margin: 0 auto !important;
  }
}

@media(max-width: 620px) {
  .contact-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    padding: 4px !important;
  }
  .contact-card img {
    width: 92px !important;
    height: 120px !important;
  }
  .contact-copy .mail-line {
    white-space: normal !important;
    flex-wrap: wrap !important;
  }
}


/* --- V37 : annonce mise en avant depuis le panel admin --- */
.admin-status.featured {
  background: #fff4d6;
  color: #7a4b00;
  border: 1px solid #f0c36d;
}

.admin-featured-listing {
  margin: 0;
  border-top: 1px solid #c8d9ef;
}

.admin-featured-listing:empty {
  display: none !important;
}

.homepage-featured-card {
  display: grid;
  grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  background: #fffdf4;
  border-bottom: 2px solid #0d3e8a;
  align-items: stretch;
}

.homepage-featured-image {
  display: block;
  overflow: hidden;
  border: 2px solid #c8d9ef;
  background: #f7f7f7;
  min-height: 250px;
}

.homepage-featured-image img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.homepage-featured-copy {
  border: 2px solid #c8d9ef;
  background: #fff;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.homepage-featured-kicker {
  color: #ff8000;
  font-weight: 900;
  font-size: 15px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.homepage-featured-copy h3 {
  margin: 0 0 12px;
  color: var(--blue);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 38px;
  line-height: 1.05;
  text-transform: uppercase;
}

.homepage-featured-copy p {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.55;
  font-weight: bold;
  color: #222;
}

.homepage-featured-btn {
  align-self: flex-start;
  min-width: 190px;
  text-align: center;
}

@media(max-width: 900px) {
  .homepage-featured-card {
    grid-template-columns: 1fr;
  }
  .homepage-featured-image,
  .homepage-featured-image img {
    min-height: 220px;
  }
}

@media(max-width: 620px) {
  .homepage-featured-card {
    padding: 12px;
    gap: 12px;
  }
  .homepage-featured-copy h3 {
    font-size: 28px;
  }
}


/* --- V38 : corrige l'image de l'annonce mise en avant (non coupée) --- */
.homepage-featured-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 2px solid #c8d9ef !important;
  background: #f4f4f4 !important;
  min-height: 300px !important;
  aspect-ratio: 1 / 1 !important;
}

.homepage-featured-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  background: #f4f4f4 !important;
}

@media(max-width: 900px) {
  .homepage-featured-image {
    min-height: 240px !important;
    aspect-ratio: 4 / 3 !important;
  }
  .homepage-featured-image img {
    min-height: 0 !important;
  }
}


/* --- V39 : meilleure adaptation de l'image mise en avant au cadre --- */
.homepage-featured-card {
  align-items: stretch !important;
}

.homepage-featured-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 2px solid #c8d9ef !important;
  background: #f5f5f5 !important;
  min-height: 270px !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
}

.homepage-featured-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  background: #f5f5f5 !important;
}

.homepage-featured-copy {
  min-height: 270px !important;
}

@media (min-width: 901px) {
  .homepage-featured-card {
    grid-template-columns: minmax(320px, 44%) minmax(0, 1fr) !important;
  }
}

@media(max-width: 900px) {
  .homepage-featured-image {
    min-height: 240px !important;
    aspect-ratio: 4 / 3 !important;
  }
  .homepage-featured-copy {
    min-height: auto !important;
  }
}


/* --- V40 : annonce mise en avant plus compacte et image mieux adaptée --- */
.homepage-featured-card{
  grid-template-columns: minmax(300px, 43%) minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 16px !important;
  align-items: stretch !important;
}
.homepage-featured-image{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f4f4f4 !important;
  border:2px solid #c8d9ef !important;
  min-height: 0 !important;
  height: 350px !important;
  max-height: 350px !important;
  aspect-ratio: auto !important;
  overflow:hidden !important;
}
.homepage-featured-image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f4f4f4 !important;
}
.homepage-featured-copy{
  padding:16px !important;
  min-height: 350px !important;
}
.homepage-featured-kicker{
  margin-bottom: 10px !important;
  font-size: 13px !important;
}
.homepage-featured-copy h3{
  margin:0 0 14px !important;
  font-size: 28px !important;
  line-height: 1.02 !important;
}
.homepage-featured-copy p{
  margin:0 0 16px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.homepage-featured-btn{
  margin-top:auto !important;
}
@media(max-width: 1100px){
  .homepage-featured-card{
    grid-template-columns: minmax(260px, 40%) minmax(0, 1fr) !important;
  }
  .homepage-featured-image,
  .homepage-featured-copy{
    height: 320px !important;
    max-height: 320px !important;
    min-height: 320px !important;
  }
  .homepage-featured-copy h3{font-size:24px !important;}
}
@media(max-width: 900px){
  .homepage-featured-card{
    grid-template-columns:1fr !important;
  }
  .homepage-featured-image{
    height: 260px !important;
    max-height: 260px !important;
    min-height: 260px !important;
  }
  .homepage-featured-copy{
    height:auto !important;
    max-height:none !important;
    min-height:auto !important;
  }
}


/* --- V41 : bloc annonce mise en avant affiné et plus adaptable --- */
.homepage-featured-card {
  grid-template-columns: minmax(280px, 41%) minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 14px !important;
  align-items: stretch !important;
}

.homepage-featured-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  padding: 4px !important;
  background: #f3f3f3 !important;
  overflow: hidden !important;
}

.homepage-featured-image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

.homepage-featured-copy {
  min-height: 300px !important;
  padding: 14px 16px !important;
}

.homepage-featured-kicker {
  font-size: 12px !important;
  margin-bottom: 8px !important;
}

.homepage-featured-copy h3 {
  font-size: 24px !important;
  line-height: 1.03 !important;
  margin: 0 0 12px !important;
}

.homepage-featured-copy p {
  font-size: 13px !important;
  line-height: 1.42 !important;
  margin: 0 0 14px !important;
}

.homepage-featured-btn {
  margin-top: auto !important;
  padding: 12px 24px !important;
}

@media (min-width: 1200px) {
  .homepage-featured-card {
    grid-template-columns: minmax(300px, 40%) minmax(0, 1fr) !important;
  }
  .homepage-featured-image,
  .homepage-featured-copy {
    height: 290px !important;
    min-height: 290px !important;
    max-height: 290px !important;
  }
}

@media (max-width: 1100px) {
  .homepage-featured-card {
    grid-template-columns: minmax(250px, 39%) minmax(0, 1fr) !important;
  }
  .homepage-featured-image,
  .homepage-featured-copy {
    height: 270px !important;
    min-height: 270px !important;
    max-height: 270px !important;
  }
  .homepage-featured-copy h3 {
    font-size: 21px !important;
  }
}

@media (max-width: 900px) {
  .homepage-featured-card {
    grid-template-columns: 1fr !important;
  }
  .homepage-featured-image {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }
  .homepage-featured-copy {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }
}


/* --- V42 : correction affichage cartes contact (Mac / Safari) --- */
.team-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.contact-card {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 192px !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.contact-card img {
  width: 104px !important;
  height: 138px !important;
  object-fit: cover !important;
  display: block !important;
  align-self: center !important;
}

.contact-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.contact-copy h3 {
  margin: 0 0 8px !important;
  font-size: clamp(18px, 1.55vw, 22px) !important;
  line-height: 0.96 !important;
  letter-spacing: 0 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.contact-copy p {
  margin: 4px 0 !important;
  font-size: clamp(12px, 1.05vw, 14px) !important;
  line-height: 1.24 !important;
}

.contact-copy .mail-line {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
  white-space: normal !important;
}

.contact-copy .mail-icon {
  line-height: 1 !important;
}

.contact-copy .mail-line a {
  display: block !important;
  min-width: 0 !important;
  font-size: clamp(11px, 0.9vw, 12.5px) !important;
  line-height: 1.18 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

@media (max-width: 1200px) {
  .contact-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    min-height: 184px !important;
  }
  .contact-card img {
    width: 96px !important;
    height: 128px !important;
  }
  .contact-copy h3 {
    font-size: 19px !important;
  }
}

@media (max-width: 900px) {
  .team-row {
    grid-template-columns: 1fr !important;
  }
  .contact-card {
    max-width: none !important;
    min-height: 0 !important;
  }
}


/* --- V43 : responsive global Mac / Windows / téléphone --- */
html {
  -webkit-text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
}
.page-shell {
  padding: 10px 12px 24px !important;
}
.wrap {
  width: min(1840px, calc(100vw - 24px)) !important;
}
.home-top-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.brand-strip {
  display: grid !important;
  grid-template-columns: 126px minmax(0, 1fr) minmax(260px, 470px) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 0 !important;
}
.brand-logo,
.brand-flag {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 10px !important;
}
.brand-logo img,
.brand-flag img {
  width: min(100%, 104px) !important;
  height: auto !important;
}
.brand-copy {
  min-width: 0 !important;
}
.brand-title {
  font-size: clamp(44px, 6vw, 102px) !important;
  line-height: 0.92 !important;
}
.brand-address {
  margin-top: 14px !important;
  font-size: clamp(14px, 1.35vw, 22px) !important;
  line-height: 1.35 !important;
}
.brand-trucks,
.brand-truck {
  min-width: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px 10px 0 !important;
}
.brand-trucks .truck-small,
.brand-truck .truck-small {
  max-width: 38% !important;
  max-height: 124px !important;
}
.brand-trucks .truck-large,
.brand-truck .truck-large,
.brand-truck img,
.brand-trucks img {
  max-width: 100% !important;
  max-height: 170px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.nav {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.home-layout {
  display: grid !important;
  grid-template-columns: minmax(180px, 245px) minmax(0, 1fr) minmax(180px, 245px) !important;
  gap: 10px !important;
  align-items: start !important;
}
.accessory-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.acc-photo {
  min-height: 124px !important;
}
.acc-photo img {
  width: 100% !important;
  height: 108px !important;
  object-fit: contain !important;
}
.building-panel img {
  height: clamp(220px, 28vw, 360px) !important;
  object-fit: cover !important;
}
.team-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
.contact-card {
  grid-template-columns: 104px minmax(0, 1fr) !important;
  gap: 12px !important;
  min-height: 188px !important;
  padding: 10px !important;
}
.contact-card img {
  width: 104px !important;
  height: 136px !important;
  object-fit: cover !important;
}
.contact-copy {
  min-width: 0 !important;
}
.contact-copy h3 {
  font-size: clamp(18px, 1.5vw, 24px) !important;
  line-height: 0.98 !important;
}
.contact-copy p {
  font-size: clamp(12px, 0.98vw, 14px) !important;
}
.contact-copy .mail-line a {
  font-size: clamp(11px, 0.86vw, 12.5px) !important;
}
.section-title {
  font-size: clamp(22px, 2.2vw, 32px) !important;
}
.vehicle-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 12px !important;
}
.vehicle-card {
  min-height: 240px !important;
}
.vehicle-card img {
  height: 132px !important;
  object-fit: cover !important;
}
.footer {
  font-size: clamp(12px, 1vw, 14px) !important;
  line-height: 1.6 !important;
}

/* Détail annonce */
.detail-showcase,
.detail-showcase-v2,
.detail-showcase-v3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 420px) !important;
  gap: 18px !important;
  align-items: start !important;
}
.gallery-stage {
  min-height: 320px !important;
  height: clamp(320px, 42vw, 520px) !important;
}
.gallery-thumbs-modal {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
}
.gallery-thumbs-modal .thumb-btn {
  min-height: 92px !important;
  height: 92px !important;
}
.gallery-thumbs-modal .thumb-btn img,
.gallery-thumbs-modal .video-thumb img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.summary-card,
.summary-card-v2,
.summary-card-v3 {
  min-width: 0 !important;
}
.summary-card h1 {
  font-size: clamp(28px, 3.1vw, 44px) !important;
}
.summary-quickfacts,
.summary-quickfacts-v2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.detail-bottom,
.detail-bottom-v2,
.detail-bottom-v3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 18px !important;
}
.spec-table {
  table-layout: fixed !important;
  width: 100% !important;
}
.spec-table th,
.spec-table td {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.visit-card,
.visit-card-head,
.visit-person {
  min-width: 0 !important;
}
.visit-person {
  grid-template-columns: 92px minmax(0, 1fr) !important;
}
.visit-person img {
  width: 92px !important;
  height: 116px !important;
  object-fit: cover !important;
}

/* Bloc annonce mise en avant */
.homepage-featured-card {
  display: grid !important;
  grid-template-columns: minmax(280px, 39%) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
.homepage-featured-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: clamp(250px, 28vw, 320px) !important;
  min-height: 250px !important;
  max-height: none !important;
  padding: 4px !important;
}
.homepage-featured-image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
.homepage-featured-copy {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}
.homepage-featured-copy h3 {
  font-size: clamp(22px, 2.7vw, 44px) !important;
}
.homepage-featured-copy p {
  font-size: clamp(13px, 1.1vw, 16px) !important;
}

/* Admin */
.admin-page {
  padding: 16px !important;
}
.admin-login-card,
.admin-panel,
.admin-form,
.admin-list-panel {
  min-width: 0 !important;
}
.admin-panel-head {
  align-items: flex-start !important;
}
.admin-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 18px !important;
}
.admin-field-grid,
.admin-login-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.admin-photo-preview {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
}
.admin-photo-preview img {
  height: 90px !important;
  object-fit: cover !important;
}
.admin-list-item {
  grid-template-columns: 92px minmax(0, 1fr) !important;
}
.admin-list-item img {
  width: 92px !important;
  height: 70px !important;
  object-fit: cover !important;
}

/* Tablette */
@media (max-width: 1280px) {
  .home-layout {
    grid-template-columns: minmax(150px, 215px) minmax(0, 1fr) minmax(150px, 215px) !important;
  }
  .brand-strip {
    grid-template-columns: 110px minmax(0, 1fr) minmax(220px, 360px) !important;
  }
  .brand-trucks .truck-large,
  .brand-truck img,
  .brand-trucks img {
    max-height: 142px !important;
  }
  .team-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .contact-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    min-height: 176px !important;
  }
  .contact-card img {
    width: 92px !important;
    height: 124px !important;
  }
  .contact-copy h3 {
    font-size: 19px !important;
  }
  .detail-showcase,
  .detail-showcase-v2,
  .detail-showcase-v3,
  .detail-bottom,
  .detail-bottom-v2,
  .detail-bottom-v3 {
    grid-template-columns: 1fr !important;
  }
  .admin-layout {
    grid-template-columns: 1fr !important;
  }
  .admin-list-panel {
    position: static !important;
  }
}

/* Mobile / petit ordinateur */
@media (max-width: 980px) {
  .page-shell {
    padding: 8px 8px 20px !important;
  }
  .wrap {
    width: min(100%, calc(100vw - 16px)) !important;
  }
  .brand-strip {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .brand-logo,
  .brand-flag {
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .brand-copy {
    padding: 14px 12px !important;
    text-align: center !important;
  }
  .brand-trucks,
  .brand-truck {
    justify-content: center !important;
    padding: 0 12px 12px !important;
  }
  .nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .home-layout {
    grid-template-columns: 1fr !important;
  }
  .accessory-side {
    order: 2;
  }
  .main-column {
    order: 1;
  }
  .accessory-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .top-panels {
    grid-template-columns: 1fr !important;
  }
  .team-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .vehicle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .homepage-featured-card {
    grid-template-columns: 1fr !important;
  }
  .homepage-featured-image {
    height: 250px !important;
  }
  .gallery-stage {
    height: clamp(260px, 52vw, 420px) !important;
    min-height: 260px !important;
  }
  .gallery-thumbs-modal {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .summary-quickfacts,
  .summary-quickfacts-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-field-grid,
  .admin-login-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-panel-head {
    flex-direction: column !important;
  }
}

/* Téléphone */
@media (max-width: 640px) {
  .brand-title {
    font-size: clamp(36px, 12vw, 54px) !important;
  }
  .brand-address {
    font-size: 13px !important;
  }
  .nav {
    grid-template-columns: 1fr !important;
  }
  .accessory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .acc-photo {
    min-height: 110px !important;
  }
  .acc-photo img {
    height: 92px !important;
  }
  .team-row {
    grid-template-columns: 1fr !important;
  }
  .contact-card {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    min-height: 0 !important;
  }
  .contact-card img {
    width: 88px !important;
    height: 118px !important;
  }
  .section-title {
    font-size: 20px !important;
    padding: 10px 8px !important;
  }
  .vehicle-grid {
    grid-template-columns: 1fr !important;
    padding: 4px !important;
  }
  .vehicle-card img {
    height: 160px !important;
  }
  .content {
    padding: 14px !important;
  }
  .gallery-stage {
    height: clamp(220px, 64vw, 320px) !important;
    min-height: 220px !important;
    padding: 4px !important;
  }
  .gallery-thumbs-modal {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .gallery-thumbs-modal .thumb-btn {
    min-height: 82px !important;
    height: 82px !important;
    padding: 4px !important;
  }
  .summary-card,
  .summary-card-v2,
  .summary-card-v3,
  .spec-sheet-card,
  .visit-card,
  .admin-page,
  .admin-form,
  .admin-list-panel,
  .admin-login-card {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .summary-card h1 {
    font-size: 26px !important;
  }
  .summary-quickfacts,
  .summary-quickfacts-v2 {
    grid-template-columns: 1fr !important;
  }
  .spec-sheet-title,
  .admin-form-section h2,
  .admin-list-panel h2 {
    font-size: 22px !important;
  }
  .spec-table,
  .spec-table tbody,
  .spec-table tr,
  .spec-table th,
  .spec-table td {
    display: block !important;
    width: 100% !important;
  }
  .spec-table tr {
    border-bottom: 1px solid #c7d9ef !important;
  }
  .spec-table th {
    border-bottom: 0 !important;
  }
  .visit-person {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .visit-person img,
  .visit-logo {
    margin: 0 auto !important;
  }
  .visit-card-head {
    flex-direction: column !important;
    text-align: center !important;
  }
  .homepage-featured-image {
    height: 220px !important;
    min-height: 220px !important;
  }
  .homepage-featured-copy {
    padding: 12px !important;
  }
  .admin-photo-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-list-item {
    grid-template-columns: 1fr !important;
  }
  .admin-list-item img {
    width: 100% !important;
    height: 180px !important;
  }
  .footer {
    padding: 12px 10px !important;
  }
}


/* --- V44 : réglage fin iPhone / Safari mobile --- */

/* Évite les zooms/bugs de rendu Safari sur champs de formulaire */
input,
textarea,
select,
button {
  font-size: 16px !important;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}

/* Corrige les débordements horizontaux fréquents sur iPhone */
html,
body,
.page-shell,
.wrap {
  max-width: 100%;
  overflow-x: hidden;
}

/* Header plus propre sur petit écran */
@media (max-width: 760px) {
  .page-shell {
    padding: 6px 6px 18px !important;
  }

  .wrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  .site-header {
    border-width: 1px !important;
  }

  .brand-strip {
    gap: 0 !important;
  }

  .brand-logo,
  .brand-flag {
    padding: 4px !important;
  }

  .brand-logo img,
  .brand-flag img {
    max-width: 170px !important;
    width: auto !important;
  }

  .brand-title {
    font-size: clamp(34px, 11vw, 48px) !important;
    letter-spacing: 0 !important;
    line-height: .95 !important;
    word-break: keep-all !important;
  }

  .brand-address {
    margin-top: 8px !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
  }

  .brand-trucks,
  .brand-truck {
    padding: 6px 8px 10px !important;
    gap: 6px !important;
  }

  .brand-trucks .truck-small,
  .brand-truck .truck-small {
    max-width: 38% !important;
    max-height: 90px !important;
  }

  .brand-trucks .truck-large,
  .brand-truck img,
  .brand-trucks img {
    max-height: 105px !important;
  }

  .building-panel img {
    height: 190px !important;
  }

  .contact-card {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 4px !important;
  }

  .contact-card img {
    width: 82px !important;
    height: 110px !important;
  }

  .contact-copy h3 {
    font-size: 20px !important;
    line-height: .98 !important;
    margin-bottom: 6px !important;
  }

  .contact-copy p {
    font-size: 12.5px !important;
    margin: 3px 0 !important;
  }

  .contact-copy .mail-line {
    display: flex !important;
    justify-content: center !important;
    gap: 5px !important;
    max-width: 100% !important;
  }

  .contact-copy .mail-line a {
    font-size: 11.5px !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }

  .stock-panel,
  .building-panel,
  .contact-card,
  .kit-panel,
  .specialist-panel {
    border-width: 1px !important;
  }

  .vehicle-card {
    min-height: 0 !important;
  }

  .vehicle-card img {
    height: 150px !important;
  }

  .vehicle-card h3 {
    min-height: 0 !important;
    font-size: 14px !important;
  }
}

/* iPhone étroit */
@media (max-width: 430px) {
  .brand-title {
    font-size: clamp(30px, 10.5vw, 42px) !important;
  }

  .brand-address {
    font-size: 11.5px !important;
  }

  .section-title {
    font-size: 18px !important;
    letter-spacing: 0 !important;
  }

  .building-panel img {
    height: 170px !important;
  }

  .contact-card {
    grid-template-columns: 78px minmax(0, 1fr) !important;
  }

  .contact-card img {
    width: 92px !important;
    height: 104px !important;
  }

  .contact-copy h3 {
    font-size: 18px !important;
  }

  .contact-copy .mail-line a {
    font-size: 10.8px !important;
  }

  .accessory-grid {
    gap: 6px !important;
  }

  .acc-photo {
    padding: 5px !important;
    min-height: 96px !important;
  }

  .acc-photo img {
    height: 82px !important;
  }

  .homepage-featured-card {
    padding: 4px !important;
    gap: 8px !important;
  }

  .homepage-featured-image {
    height: 190px !important;
    min-height: 190px !important;
    padding: 6px !important;
  }

  .homepage-featured-copy h3 {
    font-size: 21px !important;
    line-height: 1.03 !important;
  }

  .homepage-featured-copy p {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }

  .homepage-featured-btn,
  .btn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* Fiches annonces sur mobile Safari */
@media (max-width: 760px) {
  .detail-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .detail-breadcrumb {
    padding: 8px 10px !important;
  }

  .detail-showcase,
  .detail-showcase-v2,
  .detail-showcase-v3 {
    gap: 10px !important;
  }

  .detail-gallery.card-block {
    padding: 4px !important;
  }

  .gallery-stage {
    width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
    padding: 6px !important;
  }

  .gallery-stage img,
  .gallery-main-button img,
  #mainGalleryImage {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .gallery-thumbs-modal {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .gallery-thumbs-modal .thumb-btn {
    height: 70px !important;
    min-height: 70px !important;
    padding: 3px !important;
  }

  .summary-card,
  .summary-card-v2,
  .summary-card-v3 {
    padding: 12px !important;
  }

  .summary-topline {
    font-size: 12px !important;
  }

  .summary-card h1 {
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  .summary-note-box,
  .summary-note-box-v3 {
    font-size: 13px !important;
  }

  .spec-sheet-grid {
    padding: 4px !important;
    gap: 8px !important;
  }

  .spec-table th,
  .spec-table td {
    padding: 7px 8px !important;
    font-size: 13px !important;
  }

  .visit-card {
    padding: 12px !important;
  }

  .lightbox-content {
    width: 100vw !important;
    height: 100vh !important;
    padding: 14px !important;
  }

  .lightbox-content img,
  .lightbox-content video {
    max-width: 96vw !important;
    max-height: 78vh !important;
  }

  .lightbox-nav {
    width: 42px !important;
    height: 42px !important;
    font-size: 34px !important;
  }

  .lightbox-close {
    top: 10px !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 30px !important;
  }
}

/* Panel admin sur iPhone */
@media (max-width: 760px) {
  .admin-page {
    padding: 4px !important;
  }

  .admin-login-card,
  .admin-panel,
  .admin-form,
  .admin-list-panel {
    padding: 10px !important;
    border-width: 1px !important;
  }

  .admin-login-card h1,
  .admin-panel-head h1 {
    font-size: 26px !important;
  }

  .admin-form-section {
    padding: 10px !important;
    margin-bottom: 10px !important;
  }

  .admin-form-section h2 {
    font-size: 22px !important;
  }

  .admin-photo-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    max-height: 420px !important;
  }

  .admin-photo-tile img {
    height: 96px !important;
  }

  .admin-photo-tools {
    grid-template-columns: 34px 34px 1fr !important;
    gap: 4px !important;
  }

  .admin-photo-tools button {
    font-size: 12px !important;
    padding: 6px 4px !important;
  }

  .admin-video-tile {
    grid-template-columns: 1fr !important;
  }

  .admin-video-poster-wrap,
  .admin-video-tile video,
  .admin-video-placeholder {
    width: 100% !important;
  }

  .admin-list-actions {
    gap: 5px !important;
  }

  .admin-list-actions a,
  .admin-list-actions button {
    font-size: 12px !important;
    padding: 7px 8px !important;
  }
}

/* Très petits iPhone SE et assimilés */
@media (max-width: 375px) {
  .brand-title {
    font-size: 28px !important;
  }

  .contact-card {
    grid-template-columns: 70px minmax(0, 1fr) !important;
  }

  .contact-card img {
    width: 70px !important;
    height: 94px !important;
  }

  .contact-copy h3 {
    font-size: 16px !important;
  }

  .contact-copy p {
    font-size: 11.5px !important;
  }

  .contact-copy .mail-line a {
    font-size: 10px !important;
  }

  .gallery-stage {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
  }

  .gallery-thumbs-modal .thumb-btn {
    height: 62px !important;
    min-height: 62px !important;
  }

  .summary-card h1 {
    font-size: 21px !important;
  }
}


/* --- V45 : correction bloc annonce mise en avant sur Mac / desktop --- */
#adminFeaturedListing {
  display: block;
}

#adminFeaturedListing .homepage-featured-card {
  display: grid !important;
  grid-template-columns: minmax(320px, 43%) minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 16px !important;
  align-items: stretch !important;
  background: #fff !important;
  border: 2px solid #8fb0df !important;
  box-sizing: border-box !important;
}

#adminFeaturedListing .homepage-featured-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 280px !important;
  min-height: 280px !important;
  max-height: 280px !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 2px solid #c8d9ef !important;
  background: #f4f6f9 !important;
}

#adminFeaturedListing .homepage-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

#adminFeaturedListing .homepage-featured-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 280px !important;
  padding: 18px 18px 16px !important;
  box-sizing: border-box !important;
  border: 2px solid #c8d9ef !important;
  background: #fff !important;
}

#adminFeaturedListing .homepage-featured-kicker {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
}

#adminFeaturedListing .homepage-featured-copy h3 {
  margin: 0 0 12px !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.04 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#adminFeaturedListing .homepage-featured-copy p {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: #222 !important;
  overflow-wrap: anywhere !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

#adminFeaturedListing .homepage-featured-btn {
  margin-top: auto !important;
  align-self: flex-start !important;
  min-width: 210px !important;
}

@media (max-width: 1180px) {
  #adminFeaturedListing .homepage-featured-card {
    grid-template-columns: minmax(280px, 40%) minmax(0, 1fr) !important;
  }

  #adminFeaturedListing .homepage-featured-image,
  #adminFeaturedListing .homepage-featured-copy {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
  }

  #adminFeaturedListing .homepage-featured-copy h3 {
    font-size: clamp(22px, 2.1vw, 29px) !important;
  }
}

@media (max-width: 900px) {
  #adminFeaturedListing .homepage-featured-card {
    grid-template-columns: 1fr !important;
  }

  #adminFeaturedListing .homepage-featured-image {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }

  #adminFeaturedListing .homepage-featured-copy {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }

  #adminFeaturedListing .homepage-featured-copy p {
    -webkit-line-clamp: unset;
    overflow: visible !important;
    display: block !important;
  }
}


/* --- V46 : correctifs Mac + adaptation appareil --- */

/* Détection appareil : classes ajoutées par responsive-device.js */
body.device-mac .wrap,
body.device-windows .wrap {
  width: min(1780px, calc(100vw - 28px)) !important;
}

/* 1) Contacts : email Stéphane sur une seule ligne sur Mac/ordinateur */
@media (min-width: 981px) {
  .team-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .contact-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    min-height: 170px !important;
    padding: 10px !important;
    gap: 10px !important;
  }

  .contact-card img {
    width: 92px !important;
    height: 122px !important;
    object-fit: cover !important;
  }

  .contact-copy {
    min-width: 0 !important;
    width: 100% !important;
  }

  .contact-copy h3 {
    font-size: clamp(18px, 1.22vw, 22px) !important;
    line-height: 1 !important;
    margin-bottom: 7px !important;
  }

  .contact-copy p {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    margin: 4px 0 !important;
  }

  .contact-copy .mail-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
  }

  .contact-copy .mail-line a {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    font-size: clamp(10px, .74vw, 11.8px) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }
}

/* 2) Annonce mise en avant : image entière, cadre propre, texte stable */
@media (min-width: 981px) {
  #adminFeaturedListing .homepage-featured-card {
    display: grid !important;
    grid-template-columns: minmax(330px, 42%) minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 14px !important;
    align-items: stretch !important;
    background: #fffdf4 !important;
    border: 2px solid #8fb0df !important;
  }

  #adminFeaturedListing .homepage-featured-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 270px !important;
    min-height: 270px !important;
    max-height: 270px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    background: #f4f6f9 !important;
    border: 2px solid #c8d9ef !important;
    overflow: hidden !important;
  }

  #adminFeaturedListing .homepage-featured-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }

  #adminFeaturedListing .homepage-featured-copy {
    min-height: 270px !important;
    height: 270px !important;
    max-height: 270px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    justify-content: flex-start !important;
  }

  #adminFeaturedListing .homepage-featured-kicker {
    font-size: 12px !important;
    line-height: 1.2 !important;
    margin-bottom: 7px !important;
  }

  #adminFeaturedListing .homepage-featured-copy h3 {
    font-size: clamp(23px, 2vw, 31px) !important;
    line-height: 1.04 !important;
    margin: 0 0 10px !important;
  }

  #adminFeaturedListing .homepage-featured-copy p {
    font-size: 13.5px !important;
    line-height: 1.38 !important;
    margin: 0 0 12px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  #adminFeaturedListing .homepage-featured-btn {
    margin-top: auto !important;
    align-self: flex-start !important;
    width: auto !important;
    min-width: 190px !important;
  }
}

/* Mac un peu plus serré, pour éviter les gros blocs trop hauts */
body.device-mac #adminFeaturedListing .homepage-featured-image,
body.device-mac #adminFeaturedListing .homepage-featured-copy {
  height: 258px !important;
  min-height: 258px !important;
  max-height: 258px !important;
}

body.device-mac #adminFeaturedListing .homepage-featured-copy h3 {
  font-size: clamp(22px, 1.8vw, 29px) !important;
}

/* 3) Bouton administrateur moins massif */
.admin-entry-section {
  padding: 16px 12px !important;
}

.admin-entry-button {
  font-size: clamp(20px, 2vw, 28px) !important;
  padding: 12px 28px !important;
  letter-spacing: .3px !important;
}

/* 4) Panel admin : les photos ne se chevauchent plus */
.admin-photo-preview {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  overflow: auto !important;
}

.admin-photo-tile {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 4px !important;
  box-sizing: border-box !important;
}

.admin-photo-tile img {
  width: 100% !important;
  height: 138px !important;
  object-fit: cover !important;
  display: block !important;
  flex: 0 0 auto !important;
}

.admin-photo-tools {
  display: grid !important;
  grid-template-columns: 42px 42px minmax(88px, 1fr) !important;
  gap: 6px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
  width: 100% !important;
}

.admin-photo-tools button {
  min-height: 34px !important;
  padding: 7px 6px !important;
  line-height: 1.1 !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 5) Bouton Voir même taille que les autres dans le panel admin */
.admin-list-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

.admin-list-actions a,
.admin-list-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  line-height: 1.1 !important;
}

/* 6) Ajustements tablette / mobile conservés proprement */
@media (max-width: 980px) {
  #adminFeaturedListing .homepage-featured-card {
    grid-template-columns: 1fr !important;
  }

  #adminFeaturedListing .homepage-featured-image {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }

  #adminFeaturedListing .homepage-featured-copy {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }

  #adminFeaturedListing .homepage-featured-copy p {
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: unset;
  }

  .admin-photo-preview {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  }

  .admin-photo-tile img {
    height: 118px !important;
  }
}

@media (max-width: 640px) {
  .admin-entry-button {
    width: 100% !important;
    font-size: 20px !important;
    padding: 11px 18px !important;
  }

  .admin-photo-preview {
    grid-template-columns: 1fr !important;
  }

  .admin-photo-tile img {
    height: 160px !important;
  }

  .admin-list-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Classe automatique desktop large */
body.layout-desktop .home-layout {
  display: grid !important;
}

body.layout-mobile .home-layout {
  grid-template-columns: 1fr !important;
}


/* --- V47 : Mac listing card + bouton voir + image non coupée --- */

/* Cartes des annonces ajoutées sur la page d'accueil */
#adminDynamicListings.admin-dynamic-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 420px)) !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 12px !important;
}

.vehicle-card.admin-added-card {
  width: 100% !important;
  max-width: 420px !important;
  min-height: 0 !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-self: stretch !important;
}

.vehicle-card.admin-added-card > a:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 180px !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  border: 1px solid #d8e2f0 !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}

.vehicle-card.admin-added-card > a:first-child img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border: 0 !important;
  background: #fff !important;
}

.vehicle-card.admin-added-card .vehicle-ref {
  font-size: 15px !important;
  margin-top: 0 !important;
}

.vehicle-card.admin-added-card h3 {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 2px 0 4px !important;
  font-size: 22px !important;
  line-height: 1.08 !important;
  color: #0a3f8f !important;
}

.vehicle-card.admin-added-card .btn,
.vehicle-card.admin-added-card .btn:link,
.vehicle-card.admin-added-card .btn:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  min-height: 46px !important;
  padding: 11px 14px !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
  letter-spacing: .2px !important;
}

/* Bouton Voir dans le panel admin */
.admin-list-actions a,
.admin-list-actions button {
  min-height: 38px !important;
  font-size: 14px !important;
  padding: 8px 10px !important;
}

/* Annonce mise en avant : image encore moins coupée, bouton plus lisible */
#adminFeaturedListing .homepage-featured-image {
  padding: 12px !important;
}

#adminFeaturedListing .homepage-featured-image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

#adminFeaturedListing .homepage-featured-btn,
#adminFeaturedListing .homepage-featured-btn:link,
#adminFeaturedListing .homepage-featured-btn:visited {
  font-size: 17px !important;
  line-height: 1.1 !important;
  padding: 12px 16px !important;
}

/* Sur Mac on évite les bandes trop aplaties */
body.device-mac #adminFeaturedListing .homepage-featured-card {
  grid-template-columns: minmax(360px, 44%) minmax(0, 1fr) !important;
}

body.device-mac #adminFeaturedListing .homepage-featured-image {
  height: 290px !important;
  min-height: 290px !important;
  max-height: 290px !important;
}

body.device-mac #adminFeaturedListing .homepage-featured-copy {
  height: 290px !important;
  min-height: 290px !important;
  max-height: 290px !important;
}

@media (max-width: 980px) {
  #adminDynamicListings.admin-dynamic-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  }

  .vehicle-card.admin-added-card > a:first-child {
    min-height: 150px !important;
  }

  .vehicle-card.admin-added-card h3 {
    font-size: 18px !important;
  }

  .vehicle-card.admin-added-card .btn,
  #adminFeaturedListing .homepage-featured-btn {
    font-size: 15px !important;
    min-height: 42px !important;
  }
}

@media (max-width: 640px) {
  #adminDynamicListings.admin-dynamic-grid {
    grid-template-columns: 1fr !important;
  }

  .vehicle-card.admin-added-card {
    max-width: none !important;
  }

  .vehicle-card.admin-added-card > a:first-child {
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
  }

  .vehicle-card.admin-added-card .btn,
  #adminFeaturedListing .homepage-featured-btn {
    font-size: 14px !important;
  }
}


/* --- V49 : note compression photos admin --- */
.photo-compression-note {
  margin-top: 8px !important;
  color: #234 !important;
  font-size: 13px !important;
  background: #eef6ff !important;
  border: 1px solid #c8d9ef !important;
  padding: 8px 10px !important;
}


/* --- V50 : admin serveur production --- */
.server-admin-note {
  background: #f1fff2 !important;
  border: 1px solid #b7d9b9 !important;
  color: #183d1d !important;
  padding: 8px 10px !important;
}
.admin-video-info small {
  display: block;
  margin: 6px 0;
  color: #555;
  line-height: 1.25;
}


/* --- V53 : titres non coupés + entête camion / titre / camion + footer légal --- */

/* Entête : un camion à gauche, Hydrocureur au centre, un camion à droite */
.brand-strip-v53 {
  display: grid !important;
  grid-template-columns: minmax(190px, 330px) minmax(0, 1fr) minmax(190px, 330px) !important;
  align-items: center !important;
  min-height: 210px !important;
  gap: 0 !important;
}

.brand-truck-left,
.brand-truck-right {
  min-width: 0 !important;
  min-height: 210px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
  background: #fff !important;
}

.brand-truck-left {
  border-right: 2px solid var(--line) !important;
}

.brand-truck-right {
  border-left: 2px solid var(--line) !important;
}

.header-truck {
  width: 100% !important;
  height: 178px !important;
  max-width: 315px !important;
  max-height: 178px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.12)) !important;
}

.brand-copy-v53 {
  text-align: center !important;
  padding: 18px 18px 14px !important;
  min-width: 0 !important;
}

.brand-copy-v53 .brand-title {
  font-size: clamp(54px, 6vw, 102px) !important;
  line-height: .92 !important;
  letter-spacing: .5px !important;
  white-space: nowrap !important;
}

.brand-copy-v53 .brand-address {
  margin-top: 16px !important;
  font-size: clamp(14px, 1.25vw, 20px) !important;
  line-height: 1.3 !important;
}

/* Annonces : ne plus couper les titres sur la page d'accueil */
.vehicle-card,
.vehicle-card.admin-added-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.vehicle-card h3,
.vehicle-card.admin-added-card h3,
#adminDynamicListings .vehicle-card h3 {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-align: center !important;
  padding: 0 4px !important;
}

.vehicle-card.admin-added-card {
  justify-content: flex-start !important;
}

.vehicle-card .btn,
.vehicle-card.admin-added-card .btn {
  margin-top: auto !important;
}

/* Footer simplifié */
.footer-v53 {
  padding: 16px 12px !important;
  font-size: 14px !important;
}

.footer-v53 a {
  color: var(--blue) !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
}

/* Mentions légales */
.legal-page {
  max-width: none !important;
}

.legal-page h1 {
  color: var(--blue) !important;
  font-family: 'Arial Narrow', Arial, sans-serif !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  margin: 10px 0 22px !important;
  text-transform: uppercase !important;
}

.legal-page h2 {
  color: #d71920 !important;
  font-size: 24px !important;
  margin: 24px 0 10px !important;
  border-top: 1px solid #d8e2f0 !important;
  padding-top: 16px !important;
}

.legal-page p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 8px 0 !important;
}

@media (max-width: 1024px) {
  .brand-strip-v53 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  .brand-truck-left,
  .brand-truck-right {
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    padding: 8px 10px !important;
  }

  .brand-truck-right {
    border-top: 1px solid var(--line) !important;
  }

  .header-truck {
    height: 112px !important;
    max-height: 112px !important;
    max-width: 280px !important;
  }

  .brand-copy-v53 .brand-title {
    font-size: clamp(36px, 10vw, 58px) !important;
    white-space: normal !important;
  }

  .brand-copy-v53 .brand-address {
    font-size: 13px !important;
  }
}

@media (max-width: 640px) {
  .header-truck {
    height: 86px !important;
    max-height: 86px !important;
  }

  .brand-copy-v53 {
    padding: 12px 8px !important;
  }

  .brand-copy-v53 .brand-title {
    font-size: clamp(30px, 10.5vw, 44px) !important;
  }

  .vehicle-card h3,
  .vehicle-card.admin-added-card h3 {
    font-size: 17px !important;
    line-height: 1.16 !important;
  }
}


/* --- V54 : entête FranceHydro + camion / HYDROCUREUR / camion --- */

/* On neutralise l'ancienne mise en page V53 si elle est encore en cache */
.brand-strip-v54 {
  display: grid !important;
  grid-template-columns: 126px minmax(170px, 260px) minmax(360px, 1fr) minmax(170px, 260px) !important;
  align-items: center !important;
  gap: 0 !important;
  min-height: 182px !important;
  background: #fff !important;
}

.brand-logo-v54 {
  height: 182px !important;
  min-height: 182px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  border-right: 2px solid var(--line) !important;
  background: #fff !important;
}

.brand-logo-v54 img {
  display: block !important;
  width: 116px !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.brand-strip-v54 .brand-truck-left,
.brand-strip-v54 .brand-truck-right {
  height: 182px !important;
  min-height: 182px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 10px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  border: 0 !important;
}

.brand-strip-v54 .brand-truck-left {
  border-right: 1px solid #e5ebf2 !important;
}

.brand-strip-v54 .brand-truck-right {
  border-left: 1px solid #e5ebf2 !important;
}

.brand-strip-v54 .header-truck {
  width: 100% !important;
  height: 150px !important;
  max-width: 245px !important;
  max-height: 150px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.12)) !important;
}

.brand-copy-v54 {
  text-align: center !important;
  padding: 10px 14px !important;
  min-width: 0 !important;
  background: #fff !important;
}

.brand-copy-v54 .brand-title {
  font-size: clamp(48px, 5.1vw, 86px) !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  margin: 0 !important;
  color: var(--blue) !important;
}

.brand-copy-v54 .brand-address {
  margin-top: 14px !important;
  font-size: clamp(14px, 1.15vw, 18px) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  color: #111 !important;
}

/* Sécurité : les anciens blocs trucks V53 ne doivent pas rester groupés à droite */
.brand-strip-v54 .brand-trucks,
.brand-strip-v54 .truck-small,
.brand-strip-v54 .truck-large {
  display: none !important;
}

@media (max-width: 1100px) {
  .brand-strip-v54 {
    grid-template-columns: 100px 1fr !important;
    grid-template-areas:
      "logo title"
      "left right" !important;
    min-height: 0 !important;
  }

  .brand-logo-v54 { grid-area: logo; height: 118px !important; min-height: 118px !important; }
  .brand-copy-v54 { grid-area: title; }
  .brand-strip-v54 .brand-truck-left { grid-area: left; }
  .brand-strip-v54 .brand-truck-right { grid-area: right; }

  .brand-logo-v54 img { width: 92px !important; }

  .brand-strip-v54 .brand-truck-left,
  .brand-strip-v54 .brand-truck-right {
    height: 112px !important;
    min-height: 112px !important;
    border-top: 1px solid #e5ebf2 !important;
  }

  .brand-strip-v54 .header-truck {
    height: 96px !important;
    max-height: 96px !important;
    max-width: 230px !important;
  }

  .brand-copy-v54 .brand-title {
    font-size: clamp(38px, 8vw, 64px) !important;
    white-space: normal !important;
  }
}

@media (max-width: 640px) {
  .brand-strip-v54 {
    grid-template-columns: 82px 1fr !important;
  }

  .brand-logo-v54 {
    height: 96px !important;
    min-height: 96px !important;
  }

  .brand-logo-v54 img {
    width: 74px !important;
  }

  .brand-copy-v54 {
    padding: 8px 8px !important;
  }

  .brand-copy-v54 .brand-title {
    font-size: clamp(30px, 9.5vw, 42px) !important;
  }

  .brand-copy-v54 .brand-address {
    font-size: 12px !important;
    margin-top: 6px !important;
  }

  .brand-strip-v54 .brand-truck-left,
  .brand-strip-v54 .brand-truck-right {
    height: 82px !important;
    min-height: 82px !important;
  }

  .brand-strip-v54 .header-truck {
    height: 70px !important;
    max-height: 70px !important;
  }
}


/* --- V55 : correction téléphone entête + annonces --- */

@media (max-width: 760px) {
  html body .vehicle-card,
  html body .vehicle-card.admin-added-card,
  html body #adminDynamicListings .vehicle-card,
  html body #adminDynamicListings .vehicle-card.admin-added-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 12px !important;
    box-sizing: border-box !important;
  }

  html body .vehicle-card h3,
  html body .vehicle-card.admin-added-card h3,
  html body #adminDynamicListings .vehicle-card h3,
  html body #adminDynamicListings .vehicle-card.admin-added-card h3 {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    line-clamp: unset !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    font-size: clamp(21px, 6.2vw, 29px) !important;
    line-height: 1.12 !important;
    margin: 10px 0 14px !important;
    padding: 0 4px !important;
    text-align: center !important;
  }

  html body .vehicle-card .btn,
  html body .vehicle-card.admin-added-card .btn,
  html body #adminDynamicListings .vehicle-card .btn,
  html body #adminDynamicListings .vehicle-card.admin-added-card .btn {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
  }

  html body .vehicle-card img,
  html body .vehicle-card.admin-added-card img,
  html body #adminDynamicListings .vehicle-card img,
  html body #adminDynamicListings .vehicle-card.admin-added-card img {
    max-height: 260px !important;
    width: 100% !important;
    object-fit: contain !important;
  }

  html body .vehicle-ref {
    margin-top: 10px !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 760px) {
  html body .brand-strip-v54 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "logo logo"
      "title title"
      "left right" !important;
    align-items: center !important;
    gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body .brand-logo-v54 {
    grid-area: logo !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 8px 5px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  html body .brand-logo-v54 img {
    width: 170px !important;
    max-width: 58vw !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  html body .brand-copy-v54 {
    grid-area: title !important;
    padding: 9px 8px 8px !important;
    text-align: center !important;
    border-bottom: 1px solid var(--line) !important;
    background: #fff !important;
  }

  html body .brand-copy-v54 .brand-title {
    font-size: clamp(34px, 10.5vw, 48px) !important;
    line-height: .9 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    letter-spacing: -1px !important;
  }

  html body .brand-copy-v54 .brand-address {
    margin-top: 7px !important;
    font-size: clamp(11px, 3.15vw, 14px) !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    white-space: normal !important;
  }

  html body .brand-strip-v54 .brand-truck-left,
  html body .brand-strip-v54 .brand-truck-right {
    height: 96px !important;
    min-height: 0 !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: #fff !important;
  }

  html body .brand-strip-v54 .brand-truck-left {
    grid-area: left !important;
    border-right: 1px solid var(--line) !important;
  }

  html body .brand-strip-v54 .brand-truck-right {
    grid-area: right !important;
  }

  html body .brand-strip-v54 .header-truck,
  html body .brand-strip-v54 .header-truck-left,
  html body .brand-strip-v54 .header-truck-right {
    width: 100% !important;
    height: 88px !important;
    max-width: 175px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }
}

@media (max-width: 390px) {
  html body .brand-copy-v54 .brand-title {
    font-size: clamp(30px, 10vw, 38px) !important;
    letter-spacing: -1.2px !important;
  }

  html body .brand-strip-v54 .brand-truck-left,
  html body .brand-strip-v54 .brand-truck-right {
    height: 82px !important;
  }

  html body .brand-strip-v54 .header-truck,
  html body .brand-strip-v54 .header-truck-left,
  html body .brand-strip-v54 .header-truck-right {
    height: 76px !important;
    max-height: 76px !important;
  }

  html body .vehicle-card h3,
  html body .vehicle-card.admin-added-card h3,
  html body #adminDynamicListings .vehicle-card h3,
  html body #adminDynamicListings .vehicle-card.admin-added-card h3 {
    font-size: clamp(19px, 6vw, 24px) !important;
  }
}


/* --- V57 : références automatiques et renumérotation --- */
.auto-ref-note {
  background: #eef6ff !important;
  border: 1px solid #b9d4f4 !important;
  color: #123c68 !important;
  padding: 8px 10px !important;
  border-radius: 4px !important;
}

#ref[readonly] {
  background: #f5f7fb !important;
  color: #49617d !important;
  cursor: not-allowed !important;
  font-weight: 800 !important;
}

.admin-list-panel > .admin-secondary-btn {
  width: 100% !important;
  margin: 0 0 12px !important;
}

/* --- V60: kit hydrocureur sur le côté + texte élargi --- */
.accessory-side-left .kit-mini-panel{
  display:block;
  text-decoration:none;
  border:2px solid var(--line);
  background:#fff;
  padding:10px;
  margin-bottom:10px;
}
.accessory-side-left .kit-mini-head{
  font-family:'Arial Narrow',Arial,sans-serif;
  font-size:30px;
  line-height:1.02;
  color:var(--blue);
  font-weight:900;
  text-transform:uppercase;
  text-align:center;
  margin:0 0 10px;
}
.accessory-side-left .kit-mini-visual{
  border:1px solid #d6e0ee;
  background:#fff;
  padding:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:250px;
}
.accessory-side-left .kit-mini-visual img{
  display:block;
  width:100%;
  height:230px;
  object-fit:contain;
}
.home-layout .top-panels.after-contact{
  grid-template-columns:1fr !important;
}
.specialist-panel.specialist-panel-expanded{
  min-height:460px;
  padding:26px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.specialist-panel.specialist-panel-expanded h2{
  font-size:58px;
  line-height:1.02;
  margin-bottom:26px;
}
.specialist-panel.specialist-panel-expanded .intro-strong{
  font-size:33px;
  line-height:1.18;
  margin-bottom:22px;
}
.specialist-panel.specialist-panel-expanded p{
  font-size:29px;
  line-height:1.24;
}
@media(max-width:1680px){
  .accessory-side-left .kit-mini-head{font-size:26px;}
  .accessory-side-left .kit-mini-visual{min-height:220px;}
  .accessory-side-left .kit-mini-visual img{height:200px;}
  .specialist-panel.specialist-panel-expanded h2{font-size:48px;}
  .specialist-panel.specialist-panel-expanded .intro-strong{font-size:28px;}
  .specialist-panel.specialist-panel-expanded p{font-size:24px;}
}
@media(max-width:1360px){
  .accessory-side-left .kit-mini-head{font-size:24px;}
  .accessory-side-left .kit-mini-visual{min-height:205px;}
  .accessory-side-left .kit-mini-visual img{height:185px;}
  .specialist-panel.specialist-panel-expanded{min-height:420px;padding:22px;}
  .specialist-panel.specialist-panel-expanded h2{font-size:42px;}
  .specialist-panel.specialist-panel-expanded .intro-strong{font-size:25px;}
  .specialist-panel.specialist-panel-expanded p{font-size:21px;}
}
@media(max-width:1024px){
  .accessory-side-left .kit-mini-panel{margin-bottom:12px;}
  .accessory-side-left .kit-mini-head{font-size:22px;}
  .accessory-side-left .kit-mini-visual{min-height:180px;}
  .accessory-side-left .kit-mini-visual img{height:160px;}
  .specialist-panel.specialist-panel-expanded{min-height:0;padding:18px;}
  .specialist-panel.specialist-panel-expanded h2{font-size:34px;}
  .specialist-panel.specialist-panel-expanded .intro-strong{font-size:22px;}
  .specialist-panel.specialist-panel-expanded p{font-size:18px;}
}
@media(max-width:620px){
  .accessory-side-left .kit-mini-head{font-size:20px;}
  .accessory-side-left .kit-mini-visual{min-height:160px;}
  .accessory-side-left .kit-mini-visual img{height:145px;}
  .specialist-panel.specialist-panel-expanded h2{font-size:27px;}
  .specialist-panel.specialist-panel-expanded .intro-strong{font-size:18px;}
  .specialist-panel.specialist-panel-expanded p{font-size:16px;}
}

/* --- V61: ajustement du bloc KIT HYDROCUREUR pour bien rentrer dans sa case --- */
.accessory-side-left .kit-mini-panel{
  padding:8px;
}
.accessory-side-left .kit-mini-head{
  font-size:22px !important;
  line-height:1.02;
  letter-spacing:.2px;
  word-break:break-word;
  overflow-wrap:anywhere;
  white-space:normal;
  max-width:100%;
  margin:0 0 8px;
}
.accessory-side-left .kit-mini-visual{
  min-height:185px;
  padding:6px;
}
.accessory-side-left .kit-mini-visual img{
  height:165px;
}
@media(min-width:1280px){
  .accessory-side-left .kit-mini-head{
    font-size:20px !important;
  }
}
@media(max-width:1024px){
  .accessory-side-left .kit-mini-head{
    font-size:20px !important;
  }
  .accessory-side-left .kit-mini-visual{
    min-height:165px;
  }
  .accessory-side-left .kit-mini-visual img{
    height:145px;
  }
}
@media(max-width:620px){
  .accessory-side-left .kit-mini-head{
    font-size:18px !important;
  }
  .accessory-side-left .kit-mini-visual{
    min-height:150px;
  }
  .accessory-side-left .kit-mini-visual img{
    height:128px;
  }
}

/* --- V62: forcer le bloc KIT HYDROCUREUR à bien rentrer dans sa case --- */
.accessory-side-left .kit-mini-panel{
  padding:6px 6px 8px !important;
}
.accessory-side-left .kit-mini-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  margin:0 0 8px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:normal !important;
}
.accessory-side-left .kit-mini-head .line1,
.accessory-side-left .kit-mini-head .line2{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  color:var(--blue) !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.accessory-side-left .kit-mini-head .line1{
  font-size:22px !important;
  margin:0 0 2px !important;
}
.accessory-side-left .kit-mini-head .line2{
  font-size:14px !important;
  transform:scaleX(.92) !important;
  transform-origin:center center !important;
  white-space:nowrap !important;
}
.accessory-side-left .kit-mini-visual{
  min-height:175px !important;
  padding:6px !important;
}
.accessory-side-left .kit-mini-visual img{
  height:150px !important;
}
@media(min-width:1280px){
  .accessory-side-left .kit-mini-head .line1{font-size:24px !important;}
  .accessory-side-left .kit-mini-head .line2{font-size:15px !important;}
}
@media(max-width:1024px){
  .accessory-side-left .kit-mini-head .line1{font-size:20px !important;}
  .accessory-side-left .kit-mini-head .line2{font-size:13px !important;}
  .accessory-side-left .kit-mini-visual{min-height:160px !important;}
  .accessory-side-left .kit-mini-visual img{height:138px !important;}
}
@media(max-width:620px){
  .accessory-side-left .kit-mini-head .line1{font-size:18px !important;}
  .accessory-side-left .kit-mini-head .line2{font-size:12px !important;}
  .accessory-side-left .kit-mini-visual{min-height:150px !important;}
  .accessory-side-left .kit-mini-visual img{height:128px !important;}
}

/* --- V63: bloc KIT HYDROCUREUR non coupé et un peu plus haut --- */
.accessory-side-left .kit-mini-panel{
  display:flex !important;
  flex-direction:column !important;
  padding:10px !important;
  min-height:560px !important;
  overflow:hidden !important;
}
.accessory-side-left .kit-mini-head{
  display:block !important;
  width:100% !important;
  min-height:96px !important;
  margin:0 0 12px !important;
  padding:4px 0 0 !important;
  text-align:center !important;
  line-height:1 !important;
  overflow:hidden !important;
  font-size:0 !important;
  letter-spacing:0 !important;
  white-space:normal !important;
}
.accessory-side-left .kit-mini-head strong,
.accessory-side-left .kit-mini-head small{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  color:var(--blue) !important;
  text-transform:uppercase !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  margin:0 !important;
  padding:0 !important;
}
.accessory-side-left .kit-mini-head strong{
  font-size:28px !important;
  line-height:1 !important;
}
.accessory-side-left .kit-mini-head small{
  font-size:16px !important;
  line-height:1.02 !important;
  white-space:nowrap !important;
}
.accessory-side-left .kit-mini-visual{
  min-height:215px !important;
  padding:8px !important;
}
.accessory-side-left .kit-mini-visual img{
  width:100% !important;
  height:185px !important;
  object-fit:contain !important;
}
@media(max-width:1680px){
  .accessory-side-left .kit-mini-panel{min-height:530px !important;}
  .accessory-side-left .kit-mini-head strong{font-size:26px !important;}
  .accessory-side-left .kit-mini-head small{font-size:15px !important;}
}
@media(max-width:1360px){
  .accessory-side-left .kit-mini-panel{min-height:500px !important;}
  .accessory-side-left .kit-mini-head{min-height:90px !important;}
  .accessory-side-left .kit-mini-head strong{font-size:24px !important;}
  .accessory-side-left .kit-mini-head small{font-size:14px !important;}
  .accessory-side-left .kit-mini-visual{min-height:195px !important;}
  .accessory-side-left .kit-mini-visual img{height:168px !important;}
}
@media(max-width:1024px){
  .accessory-side-left .kit-mini-panel{min-height:0 !important;padding:8px !important;}
  .accessory-side-left .kit-mini-head{min-height:72px !important;margin:0 0 10px !important;}
  .accessory-side-left .kit-mini-head strong{font-size:22px !important;}
  .accessory-side-left .kit-mini-head small{font-size:13px !important;}
  .accessory-side-left .kit-mini-visual{min-height:180px !important;}
  .accessory-side-left .kit-mini-visual img{height:150px !important;}
}
@media(max-width:620px){
  .accessory-side-left .kit-mini-head{min-height:64px !important;}
  .accessory-side-left .kit-mini-head strong{font-size:20px !important;}
  .accessory-side-left .kit-mini-head small{font-size:12px !important;}
  .accessory-side-left .kit-mini-visual{min-height:165px !important;}
  .accessory-side-left .kit-mini-visual img{height:138px !important;}
}

/* --- V64: KIT HYDROCUREUR compact, sans espace perdu --- */
.accessory-side-left .kit-mini-panel{
  display:block !important;
  padding:8px !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 0 8px !important;
  overflow:hidden !important;
}
.accessory-side-left .kit-mini-head{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 0 6px !important;
  padding:0 !important;
  text-align:center !important;
  overflow:hidden !important;
}
.accessory-side-left .kit-mini-head strong,
.accessory-side-left .kit-mini-head small{
  display:block !important;
  font-size:24px !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--blue) !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.accessory-side-left .kit-mini-head small{
  margin-top:0 !important;
}
.accessory-side-left .kit-mini-visual{
  min-height:0 !important;
  height:auto !important;
  padding:6px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.accessory-side-left .kit-mini-visual img{
  width:100% !important;
  height:200px !important;
  object-fit:contain !important;
  display:block !important;
}
@media(max-width:1680px){
  .accessory-side-left .kit-mini-head strong,
  .accessory-side-left .kit-mini-head small{font-size:22px !important;}
  .accessory-side-left .kit-mini-visual img{height:185px !important;}
}
@media(max-width:1360px){
  .accessory-side-left .kit-mini-head strong,
  .accessory-side-left .kit-mini-head small{font-size:20px !important;}
  .accessory-side-left .kit-mini-visual img{height:170px !important;}
}
@media(max-width:1024px){
  .accessory-side-left .kit-mini-panel{margin:0 0 10px !important;}
  .accessory-side-left .kit-mini-head strong,
  .accessory-side-left .kit-mini-head small{font-size:20px !important;}
  .accessory-side-left .kit-mini-visual img{height:155px !important;}
}
@media(max-width:620px){
  .accessory-side-left .kit-mini-head strong,
  .accessory-side-left .kit-mini-head small{font-size:18px !important;}
  .accessory-side-left .kit-mini-visual img{height:138px !important;}
}

/* --- V65: KIT HYDROCUREUR sans espaces inutiles --- */
.accessory-side-left .kit-mini-panel{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:6px !important;
  padding:8px !important;
  margin:0 0 8px !important;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
}
.accessory-side-left .kit-mini-head{
  display:block !important;
  text-align:center !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1 !important;
}
.accessory-side-left .kit-mini-head br{
  display:none !important;
}
.accessory-side-left .kit-mini-head strong,
.accessory-side-left .kit-mini-head small{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  color:var(--blue) !important;
  text-transform:uppercase !important;
}
.accessory-side-left .kit-mini-head small{
  margin-top:2px !important;
}
.accessory-side-left .kit-mini-visual{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:4px !important;
  line-height:0 !important;
  overflow:hidden !important;
}
.accessory-side-left .kit-mini-visual img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  margin:0 !important;
}
@media(max-width:1360px){
  .accessory-side-left .kit-mini-head strong,
  .accessory-side-left .kit-mini-head small{font-size:20px !important;}
}
@media(max-width:620px){
  .accessory-side-left .kit-mini-head strong,
  .accessory-side-left .kit-mini-head small{font-size:18px !important;}
}


/* --- V66 : nouveau bloc KIT propre, sans héritage des anciens correctifs --- */
/* Ce bloc utilise des classes neuves pour éviter les anciennes règles V60/V65. */

.accessory-side-v66 {
  min-width: 0 !important;
}

.kit-final-card-v66 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 8px !important;
  margin: 0 0 8px !important;
  border: 2px solid var(--line) !important;
  background: #fff !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.kit-final-title-v66 {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
  line-height: 1 !important;
}

.kit-final-title-v66 span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--blue) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.kit-final-photo-v66 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid #d6e0ee !important;
  background: #fff !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.kit-final-photo-v66 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 215px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media(max-width:1680px) {
  .kit-final-title-v66 span {
    font-size: 22px !important;
  }

  .kit-final-photo-v66 img {
    max-height: 200px !important;
  }
}

@media(max-width:1360px) {
  .kit-final-title-v66 span {
    font-size: 20px !important;
  }

  .kit-final-photo-v66 img {
    max-height: 180px !important;
  }
}

@media(max-width:1024px) {
  .kit-final-title-v66 span {
    font-size: 20px !important;
  }

  .kit-final-photo-v66 img {
    max-height: 165px !important;
  }
}

@media(max-width:620px) {
  .kit-final-title-v66 span {
    font-size: 18px !important;
  }

  .kit-final-photo-v66 img {
    max-height: 145px !important;
  }
}


/* --- V71 : uniquement correction accessoires, sans toucher à la base V66 --- */

.accessory-grid-v71 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  align-content: start !important;
}

.accessory-grid-v71 .acc-photo {
  height: 150px !important;
  min-height: 150px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.accessory-grid-v71 .acc-photo img {
  width: 100% !important;
  height: 128px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

@media(max-width:1680px) {
  .accessory-grid-v71 .acc-photo {
    height: 130px !important;
    min-height: 130px !important;
  }
  .accessory-grid-v71 .acc-photo img {
    height: 108px !important;
  }
}

@media(max-width:1024px) {
  .accessory-grid-v71 {
    grid-template-columns: repeat(4, 1fr) !important;
    margin-bottom: 10px !important;
  }
  .accessory-grid-v71 .acc-photo {
    height: 115px !important;
    min-height: 115px !important;
  }
  .accessory-grid-v71 .acc-photo img {
    height: 95px !important;
  }
}

@media(max-width:620px) {
  .accessory-grid-v71 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .accessory-grid-v71 .acc-photo {
    height: 100px !important;
    min-height: 100px !important;
  }
  .accessory-grid-v71 .acc-photo img {
    height: 80px !important;
  }
}

/* --- V73 : vraies images accessoires fournies par le client, colonnes équilibrées --- */
.accessory-grid-v71,
.accessory-grid-v72,
.accessory-grid-v73{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  align-content:start !important;
}
.accessory-tile-v73{
  height:106px !important;
  border:1px solid var(--line) !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px !important;
  overflow:hidden !important;
  text-decoration:none !important;
}
.accessory-tile-v73 img{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}
@media (max-width: 1500px){
  .accessory-tile-v73{height:98px !important;}
}
@media (max-width: 1200px){
  .accessory-tile-v73{height:90px !important;}
}
@media (max-width: 1024px){
  .accessory-grid-v73{grid-template-columns:repeat(4,1fr) !important;}
  .accessory-tile-v73{height:84px !important;}
}

/* --- V74 : accessoires final, compacts, liens exacts, arrêt net dernière annonce --- */
.accessory-grid-v73,
.accessory-grid-v74{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:4px !important;
  align-content:start !important;
  overflow:hidden !important;
}
.accessory-tile-v73,
.accessory-tile-v74{
  height:var(--accessory-tile-h, 86px) !important;
  min-height:var(--accessory-tile-h, 86px) !important;
  max-height:var(--accessory-tile-h, 86px) !important;
  border:1px solid var(--line) !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:4px !important;
  overflow:hidden !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
  line-height:0 !important;
}
.accessory-tile-v73 img,
.accessory-tile-v74 img{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}
@media (max-width:1024px){
  .accessory-grid-v74{grid-template-columns:repeat(4,1fr) !important;}
}


/* --- V75 : accessoires non coupés + retour des lignes/colonnes --- */

.accessory-grid-v75 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  align-content: start !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  border-top: 1px solid var(--line) !important;
  border-left: 1px solid var(--line) !important;
  background: #fff !important;
}

.accessory-tile-v75 {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  border-right: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  line-height: 0 !important;
}

.accessory-tile-v75 img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 1500px) {
  .accessory-tile-v75 {
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
  }
}

@media (max-width: 1200px) {
  .accessory-tile-v75 {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }
}

@media (max-width: 1024px) {
  .accessory-grid-v75 {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  .accessory-tile-v75 {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
  }
}


/* --- V82 : miniature vidéo plus visible et plus esthétique sur la fiche annonce --- */
.gallery-thumbs-modal .video-thumb,
.gallery-thumbs .video-thumb,
.gallery-thumbs-v2 .video-thumb {
  position: relative !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #0f2348 !important;
  border: 2px solid #d7e2f2 !important;
  border-radius: 4px !important;
}

.gallery-thumbs-modal .video-thumb.active,
.gallery-thumbs .video-thumb.active,
.gallery-thumbs-v2 .video-thumb.active {
  border-color: #0b3f8a !important;
  box-shadow: inset 0 0 0 1px #0b3f8a !important;
}

.video-thumb-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.gallery-thumbs-modal .video-thumb img,
.gallery-thumbs .video-thumb img,
.gallery-thumbs-v2 .video-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: brightness(0.72) saturate(0.96);
}

.video-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 76px;
  background: linear-gradient(180deg, #15305d 0%, #0d2244 100%);
  color: #fff;
  font-weight: 800;
  letter-spacing: 1px;
  font-size: 11px;
}

.video-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 12, 24, 0.18) 0%, rgba(5, 12, 24, 0.42) 100%);
  pointer-events: none;
}

.video-thumb-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(8, 24, 54, 0.90);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .7px;
  box-shadow: 0 2px 6px rgba(0,0,0,.20);
}

.video-thumb-play {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.video-thumb-play-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255,255,255,0.93);
  color: #0d2f6f;
  font-size: 18px;
  line-height: 1;
  text-indent: 2px;
  box-shadow: 0 6px 18px rgba(0,0,0,.28);
}

.gallery-thumbs-modal .video-thumb:hover .video-thumb-play-icon,
.gallery-thumbs .video-thumb:hover .video-thumb-play-icon,
.gallery-thumbs-v2 .video-thumb:hover .video-thumb-play-icon {
  transform: scale(1.06);
}

.gallery-thumbs-modal .video-thumb:hover img,
.gallery-thumbs .video-thumb:hover img,
.gallery-thumbs-v2 .video-thumb:hover img {
  filter: brightness(0.66) saturate(1);
}


/* --- V83 : bouton vidéo vraiment visible, cache forcé --- */

.gallery-thumbs-modal .video-thumb-button-v83,
.gallery-thumbs .video-thumb-button-v83,
.gallery-thumbs-v2 .video-thumb-button-v83,
button.video-thumb-button-v83 {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 3px solid #0b3f8a !important;
  background: #081a38 !important;
  box-shadow: inset 0 0 0 1px #ffffff, 0 2px 8px rgba(0,0,0,.18) !important;
}

.video-thumb-frame-v83 {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
  background: #0b1d3d !important;
}

.gallery-thumbs-modal .video-thumb-poster-v83,
.gallery-thumbs .video-thumb-poster-v83,
.gallery-thumbs-v2 .video-thumb-poster-v83,
.video-thumb-poster-v83 {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: brightness(0.48) contrast(1.08) saturate(0.95) !important;
  transform: scale(1.02) !important;
}

.video-thumb-placeholder-v83 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 90px !important;
  background: linear-gradient(180deg, #152f5e, #07172f) !important;
  color: rgba(255,255,255,.55) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
}

.video-thumb-dark-v83 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at center, rgba(0,0,0,.05) 0%, rgba(0,0,0,.28) 58%, rgba(0,0,0,.52) 100%),
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.42)) !important;
  pointer-events: none !important;
}

.video-thumb-pill-v83 {
  position: absolute !important;
  top: 7px !important;
  left: 7px !important;
  z-index: 4 !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  background: #003d91 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .8px !important;
  line-height: 1 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.35) !important;
}

.video-thumb-play-v83 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
}

.video-thumb-triangle-v83 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.96) !important;
  color: #003d91 !important;
  font-size: 25px !important;
  line-height: 1 !important;
  text-indent: 4px !important;
  font-weight: 900 !important;
  box-shadow: 0 7px 22px rgba(0,0,0,.38) !important;
}

.video-thumb-button-v83:hover .video-thumb-triangle-v83 {
  transform: scale(1.08) !important;
}

.video-thumb-button-v83:hover .video-thumb-poster-v83 {
  filter: brightness(0.40) contrast(1.12) saturate(1.02) !important;
}


/* --- V85 : bloc ROBOT BROYEUR côté droit, miroir du KIT HYDROCUREUR --- */

.robot-final-card-v85 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 8px !important;
  margin: 0 0 8px !important;
  border: 2px solid var(--line) !important;
  background: #fff !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.robot-final-title-v85 {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
  line-height: 1 !important;
}

.robot-final-title-v85 span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--blue) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.robot-final-photo-v85 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid #d6e0ee !important;
  background: #fff !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.robot-final-photo-v85 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 215px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media(max-width:1680px) {
  .robot-final-title-v85 span {
    font-size: 22px !important;
  }

  .robot-final-photo-v85 img {
    max-height: 200px !important;
  }
}

@media(max-width:1360px) {
  .robot-final-title-v85 span {
    font-size: 20px !important;
  }

  .robot-final-photo-v85 img {
    max-height: 180px !important;
  }
}

@media(max-width:1024px) {
  .robot-final-title-v85 span {
    font-size: 20px !important;
  }

  .robot-final-photo-v85 img {
    max-height: 165px !important;
  }
}

@media(max-width:620px) {
  .robot-final-title-v85 span {
    font-size: 18px !important;
  }

  .robot-final-photo-v85 img {
    max-height: 145px !important;
  }
}


/* --- V86 : logo AH à droite de l'entête, miroir du logo FranceHydro --- */
.brand-strip-v86 {
  grid-template-columns: 126px minmax(160px, 230px) minmax(320px, 1fr) minmax(160px, 230px) 126px !important;
}

.brand-strip-v86 .brand-logo-right-v86 {
  height: 182px !important;
  min-height: 182px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  border-left: 2px solid var(--line) !important;
  background: #fff !important;
}

.brand-strip-v86 .brand-logo-right-v86 img {
  display: block !important;
  width: 116px !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.brand-strip-v86 .brand-truck-right {
  border-left: 0 !important;
  border-right: 1px solid #e5ebf2 !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.brand-strip-v86 .header-truck-right {
  max-width: 215px !important;
  transform: translateX(-4px) !important;
}

@media (max-width: 1100px) {
  .brand-strip-v86 {
    grid-template-columns: 100px 1fr 100px !important;
    grid-template-areas:
      "logo title logoR"
      "left left right" !important;
  }
  .brand-strip-v86 .brand-logo-v54 { grid-area: logo !important; }
  .brand-strip-v86 .brand-copy-v54 { grid-area: title !important; }
  .brand-strip-v86 .brand-logo-right-v86 { 
    grid-area: logoR !important;
    height: 118px !important;
    min-height: 118px !important;
    border-left: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .brand-strip-v86 .brand-logo-right-v86 img { width: 90px !important; }
  .brand-strip-v86 .brand-truck-left { grid-area: left !important; }
  .brand-strip-v86 .brand-truck-right { grid-area: right !important; border-right: 0 !important; border-left: 1px solid #e5ebf2 !important; }
}

@media (max-width: 760px) {
  html body .brand-strip-v86 {
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "logo logoR"
      "title title"
      "left right" !important;
  }
  html body .brand-strip-v86 .brand-logo-v54,
  html body .brand-strip-v86 .brand-logo-right-v86 {
    height: 88px !important;
    min-height: 0 !important;
    padding: 8px 8px 5px !important;
    border-bottom: 1px solid var(--line) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: #fff !important;
  }
  html body .brand-strip-v86 .brand-logo-v54 {
    grid-area: logo !important;
    border-right: 1px solid var(--line) !important;
  }
  html body .brand-strip-v86 .brand-logo-right-v86 {
    grid-area: logoR !important;
    border-left: 0 !important;
  }
  html body .brand-strip-v86 .brand-logo-v54 img,
  html body .brand-strip-v86 .brand-logo-right-v86 img {
    width: 74px !important;
    max-width: 34vw !important;
    height: auto !important;
  }
}


/* --- V87 : fiche robot broyeur --- */
.robot-detail-page-v87 .detail-breadcrumb {
  margin-top: 10px;
}
.robot-detail-page-v87 .summary-card h1 {
  text-transform: uppercase;
}
.robot-summary-v87 {
  line-height: 1.6;
}
.robot-spec-grid-v87 .spec-table td[colspan="3"] {
  text-align: left;
}
.robot-thumbs-v87 .thumb-btn img {
  object-position: center;
}
@media (max-width: 760px) {
  .robot-detail-page-v87 .summary-card h1 {
    font-size: 24px !important;
  }
}


/* --- V88 : petit compteur date + visiteurs sous l'entête --- */
.site-counter-bar-v88 {
  width: calc(100% - 4px);
  box-sizing: border-box;
  margin: 4px auto 6px;
  padding: 5px 12px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #ffffff 0%, #f3f7fd 100%);
  color: #0b2f6b;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  min-height: 26px;
}

.site-counter-bar-v88 strong {
  color: #002f75;
  font-weight: 900;
}

.counter-separator-v88 {
  color: #8aa0bf;
  font-weight: 900;
}

@media (max-width: 760px) {
  .site-counter-bar-v88 {
    flex-wrap: wrap;
    gap: 5px 9px;
    font-size: 12px;
    padding: 6px 8px;
    margin-top: 3px;
  }

  .counter-separator-v88 {
    display: none;
  }
}


/* --- V89 : texte/logo Accessoires Hydrocureur sous le logo AH --- */
.brand-strip-v86 .brand-logo-right-v86 {
  flex-direction: column !important;
  gap: 6px !important;
}

.brand-strip-v86 .brand-logo-right-v86 > img:first-child {
  width: 88px !important;
  max-height: 86px !important;
  object-fit: contain !important;
}

.brand-strip-v86 .brand-logo-right-v86 .accessoires-hydro-logo-v89 {
  display: block !important;
  width: 116px !important;
  max-width: 96% !important;
  height: auto !important;
  max-height: 44px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

@media (max-width: 1100px) {
  .brand-strip-v86 .brand-logo-right-v86 > img:first-child {
    width: 70px !important;
    max-height: 68px !important;
  }

  .brand-strip-v86 .brand-logo-right-v86 .accessoires-hydro-logo-v89 {
    width: 92px !important;
    max-height: 34px !important;
  }
}

@media (max-width: 760px) {
  html body .brand-strip-v86 .brand-logo-right-v86 {
    gap: 3px !important;
  }

  html body .brand-strip-v86 .brand-logo-right-v86 > img:first-child {
    width: 54px !important;
    max-height: 50px !important;
  }

  html body .brand-strip-v86 .brand-logo-right-v86 .accessoires-hydro-logo-v89 {
    width: 76px !important;
    max-height: 28px !important;
  }
}


/* --- V90 : entête AH Accessoires sur toutes les pages --- */
.brand-strip-v90-note { display: none; }

.brand-strip-v86 .brand-logo-right-v86 {
  flex-direction: column !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.brand-strip-v86 .brand-logo-right-v86 > img:first-child {
  width: 88px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

.brand-strip-v86 .brand-logo-right-v86 .accessoires-hydro-logo-v89 {
  display: block !important;
  width: 116px !important;
  max-width: 96% !important;
  height: auto !important;
  max-height: 44px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 1100px) {
  .brand-strip-v86 .brand-logo-right-v86 > img:first-child {
    width: 70px !important;
    max-height: 68px !important;
  }

  .brand-strip-v86 .brand-logo-right-v86 .accessoires-hydro-logo-v89 {
    width: 92px !important;
    max-height: 34px !important;
  }
}

@media (max-width: 760px) {
  html body .brand-strip-v86 .brand-logo-right-v86 {
    gap: 3px !important;
  }

  html body .brand-strip-v86 .brand-logo-right-v86 > img:first-child {
    width: 54px !important;
    max-height: 50px !important;
  }

  html body .brand-strip-v86 .brand-logo-right-v86 .accessoires-hydro-logo-v89 {
    width: 76px !important;
    max-height: 28px !important;
  }
}


/* --- V93: carte contact Stéphane sur toutes les fiches annonces + robot broyeur --- */
.detail-bottom-v93{
  grid-template-columns:minmax(0,1.55fr) 340px !important;
  gap:20px !important;
  align-items:start !important;
}
.contact-highlight-card-v93{
  border:2px solid var(--line);
  background:linear-gradient(180deg,#ffffff 0%,#f6faff 100%);
  padding:16px;
  box-shadow:0 10px 28px rgba(16,54,110,.08);
  position:relative;
  overflow:hidden;
}
.contact-highlight-card-v93::before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;
  height:8px;
  background:linear-gradient(90deg,var(--blue) 0%,#2b62b8 70%,#73a5ef 100%);
}
.contact-highlight-badge-v93{
  display:inline-block;
  margin:4px 0 12px;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf2ff;
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-highlight-top-v93{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:14px;
  align-items:center;
}
.contact-highlight-photo-v93 img{
  display:block;
  width:110px;
  height:136px;
  object-fit:cover;
  border:1px solid #d6e0ee;
  background:#fff;
}
.contact-highlight-copy-v93 h3{
  margin:0 0 6px;
  color:var(--blue);
  font-family:'Arial Narrow',Arial,sans-serif;
  font-size:28px;
  line-height:1;
}
.contact-highlight-role-v93{
  margin:0 0 10px;
  font-size:15px;
  font-weight:700;
  color:#1f2733;
}
.contact-highlight-note-v93{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#334;
}
.contact-highlight-lines-v93{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dbe7f5;
  display:grid;
  gap:10px;
}
.contact-highlight-line-v93{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#15263f;
  text-decoration:none;
  font-size:14px;
  line-height:1.4;
  word-break:break-word;
}
.contact-highlight-line-v93:hover{
  color:var(--blue);
}
.contact-highlight-icon-v93{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eff5ff;
  color:var(--blue);
  font-size:14px;
  font-weight:700;
}
.contact-highlight-actions-v93{
  margin-top:16px;
  display:grid;
  gap:10px;
}
.contact-highlight-cta-v93{
  display:block;
  width:100%;
  text-align:center;
}
.contact-highlight-mini-v93{
  margin:0;
  text-align:center;
  font-size:12px;
  line-height:1.45;
  color:#5a6780;
}
@media(max-width:1024px){
  .detail-bottom-v93{grid-template-columns:1fr !important;}
  .contact-highlight-card-v93{order:2;}
}
@media(max-width:620px){
  .contact-highlight-top-v93{grid-template-columns:92px 1fr;gap:12px;}
  .contact-highlight-photo-v93 img{width:92px;height:112px;}
  .contact-highlight-copy-v93 h3{font-size:23px;}
}


/* --- V94 : compteur visiteurs déroulant --- */
.rolling-counter-v94 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 42px;
  vertical-align: middle;
}

.rolling-digit-v94 {
  --digit: 0;
  --delay: 0ms;
  position: relative;
  display: inline-block;
  width: 15px;
  height: 20px;
  overflow: hidden;
  border: 1px solid #b9cbe5;
  border-radius: 4px;
  background: linear-gradient(180deg, #ffffff 0%, #edf4ff 45%, #ffffff 100%);
  box-shadow: inset 0 1px 2px rgba(0, 45, 110, .12);
  color: #002f75;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.rolling-digit-v94::before,
.rolling-digit-v94::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 5px;
  z-index: 2;
  pointer-events: none;
}

.rolling-digit-v94::before {
  top: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,0));
}

.rolling-digit-v94::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(255,255,255,.95), rgba(255,255,255,0));
}

.rolling-digit-reel-v94 {
  display: block;
  line-height: 20px;
  text-align: center;
  transform: translateY(calc(var(--digit) * -20px));
  animation: counterRollV94 .72s cubic-bezier(.18,.82,.22,1) both;
  animation-delay: var(--delay);
}

.rolling-separator-v94 {
  display: inline-block;
  min-width: 5px;
  color: #002f75;
  font-weight: 900;
  padding: 0 1px;
}

@keyframes counterRollV94 {
  from {
    transform: translateY(0);
    filter: blur(.8px);
  }
  72% {
    filter: blur(.4px);
  }
  to {
    transform: translateY(calc(var(--digit) * -20px));
    filter: blur(0);
  }
}

@media (max-width: 760px) {
  .rolling-digit-v94 {
    width: 13px;
    height: 18px;
  }

  .rolling-digit-reel-v94 {
    line-height: 18px;
    transform: translateY(calc(var(--digit) * -18px));
  }

  @keyframes counterRollV94 {
    from {
      transform: translateY(0);
      filter: blur(.8px);
    }
    to {
      transform: translateY(calc(var(--digit) * -18px));
      filter: blur(0);
    }
  }
}


/* --- V95 : fiche Kit Hydrocureur HUWER --- */
.kit-detail-page-v95 .summary-card-v3 h1 {
  text-transform: uppercase;
}

.kit-detail-page-v95 .summary-paragraph {
  line-height: 1.65;
}

.kit-thumbs-v95 .thumb-btn img {
  object-position: center;
}

.kit-detail-page-v95 .gallery-main-button {
  cursor: zoom-in;
}

@media (max-width: 760px) {
  .kit-detail-page-v95 .summary-card h1 {
    font-size: 24px !important;
  }
}


/* --- V96 : admin produits spéciaux Robot / Kit --- */
.admin-special-products-v96 {
  margin-top: 28px;
  padding: 22px;
  border: 2px solid #0b4f9f;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #eef6ff);
  box-shadow: 0 8px 24px rgba(0, 45, 110, .12);
}

.admin-special-head-v96 h2 {
  margin: 0 0 6px;
  color: #002f75;
  text-transform: uppercase;
}

.admin-special-head-v96 p {
  margin: 0 0 14px;
  color: #234;
}

.admin-special-tabs-v96 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
}

.admin-special-tabs-v96 .active {
  background: #002f75;
  color: #fff;
  border-color: #002f75;
}

.admin-special-form-v96 {
  max-width: none;
}

.admin-special-form-v96 small {
  display: block;
  margin: 5px 0 0;
  color: #5d6d80;
  font-weight: 500;
}

.special-home-preview-v96 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

.special-home-preview-v96 img {
  width: 150px;
  height: 105px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #c6d8ef;
  border-radius: 10px;
  padding: 5px;
}

.special-home-preview-v96 span {
  color: #002f75;
  font-weight: 800;
}

.special-thumbs-v96 .thumb-btn img {
  object-fit: cover;
}


/* --- V97 : galerie produits spéciaux comme annonces camion --- */
body[data-special-product] .gallery-stage,
body[data-special-product] .gallery-main-button {
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(360px, 54vw, 620px) !important;
}

body[data-special-product] .gallery-stage img,
body[data-special-product] .gallery-main-button img,
body[data-special-product] #mainGalleryImage {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

body[data-special-product] .gallery-thumbs-modal .thumb-btn img,
body[data-special-product] .gallery-thumbs .thumb-btn img,
body[data-special-product] .gallery-thumbs-v2 .thumb-btn img,
.special-thumbs-v96 .thumb-btn img,
.kit-thumbs-v95 .thumb-btn img,
.robot-thumbs-v87 .thumb-btn img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

body[data-special-product] .lightbox-content img,
body[data-special-product] #lightboxImage {
  width: auto !important;
  height: auto !important;
  max-width: 92vw !important;
  max-height: 88vh !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

body[data-special-product] .thumb-btn {
  cursor: zoom-in !important;
}

@media (max-width: 760px) {
  body[data-special-product] .gallery-stage,
  body[data-special-product] .gallery-main-button {
    height: clamp(260px, 72vw, 420px) !important;
  }
}

/* --- V98 : retour description complète sous la fiche descriptive --- */
.full-description-card-v98 {
  margin-top: 18px;
  border: 1px solid #cfd8e6;
  background: #fff;
  padding: 0;
}

.full-description-title-v98 {
  background: #f4f7fb;
  border-bottom: 1px solid #cfd8e6;
  color: #002f75;
  font-family: 'Arial Narrow', Arial, sans-serif;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .02em;
  text-align: center;
  text-transform: uppercase;
  padding: 10px 12px;
}

.full-description-text-v98 {
  color: #222;
  font-size: 16px;
  line-height: 1.65;
  padding: 16px 18px;
  white-space: normal;
}

@media (max-width: 760px) {
  .full-description-title-v98 { font-size: 20px; }
  .full-description-text-v98 { font-size: 15px; padding: 14px; }
}


/* --- V99 : style description complète comme catégorie --- */
.description-complete-card-v98 .description-complete-title-v98,
.spec-description-complete-v98 .description-complete-title-v98,
.description-complete-title-v98 {
  color: #b01028 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: .5px !important;
  background: #fff !important;
  border: 1px solid #cfcfcf !important;
  border-left: 0 !important;
  border-right: 0 !important;
  padding: 12px 10px 10px !important;
  margin: 0 !important;
}

.description-complete-card-v98,
.spec-description-complete-v98 {
  border-top: 0 !important;
}

.description-complete-body-v98,
.spec-description-complete-v98 .description-complete-body-v98 {
  border-top: 0 !important;
}

@media (max-width: 760px) {
  .description-complete-card-v98 .description-complete-title-v98,
  .spec-description-complete-v98 .description-complete-title-v98,
  .description-complete-title-v98 {
    font-size: 21px !important;
    padding: 10px 8px 8px !important;
  }
}


/* --- V100 : forcer DESCRIPTION COMPLÈTE en rouge --- */
.description-complete-title-v98,
.description-complete-card-v98 .description-complete-title-v98,
.spec-description-complete-v98 .description-complete-title-v98,
.spec-sheet-card .description-complete-title-v98,
.detail-bottom .description-complete-title-v98,
.detail-bottom-v3 .description-complete-title-v98,
h2.description-complete-title-v98,
h3.description-complete-title-v98,
div.description-complete-title-v98 {
  color: #b01028 !important;
  -webkit-text-fill-color: #b01028 !important;
  text-shadow: none !important;
}

/* Cas où le titre aurait été injecté sans classe dédiée */
.spec-sheet-card h2,
.spec-sheet-card h3,
.detail-bottom h2,
.detail-bottom h3 {
  --description-red-v100: #b01028;
}

.spec-sheet-card h2:where(:not(.keep-default)),
.spec-sheet-card h3:where(:not(.keep-default)) {
  color: inherit;
}

/* Sécurité très ciblée via attribut ajouté par le JS V98 si présent */
[data-description-complete-title="true"] {
  color: #b01028 !important;
  -webkit-text-fill-color: #b01028 !important;
}


/* --- V101 : vrai titre full-description en rouge, même style que PORTEUR / ÉQUIPEMENT --- */
.full-description-card-v98 > .full-description-title-v98,
.spec-sheet-card .full-description-title-v98,
.detail-bottom .full-description-title-v98,
.detail-bottom-v2 .full-description-title-v98,
.detail-bottom-v3 .full-description-title-v98,
div.full-description-title-v98 {
  background: #fff !important;
  color: #d71920 !important;
  -webkit-text-fill-color: #d71920 !important;
  font-family: 'Arial Narrow', Arial, sans-serif !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: .2px !important;
  border: 1px solid #c7d9ef !important;
  padding: 8px !important;
  margin: 0 !important;
  text-shadow: none !important;
}

@media (max-width: 760px) {
  .full-description-card-v98 > .full-description-title-v98,
  .spec-sheet-card .full-description-title-v98,
  .detail-bottom .full-description-title-v98,
  .detail-bottom-v2 .full-description-title-v98,
  .detail-bottom-v3 .full-description-title-v98,
  div.full-description-title-v98 {
    font-size: 22px !important;
  }
}


/* --- V102 : DESCRIPTION COMPLÈTE même taille que PORTEUR / ÉQUIPEMENT --- */
.full-description-title-v98,
.description-complete-title-v98,
.description-complete-card-v98 .full-description-title-v98,
.description-complete-card-v98 .description-complete-title-v98,
.spec-description-complete-v98 .full-description-title-v98,
.spec-description-complete-v98 .description-complete-title-v98,
.spec-sheet-card .full-description-title-v98,
.spec-sheet-card .description-complete-title-v98,
.detail-bottom .full-description-title-v98,
.detail-bottom .description-complete-title-v98,
h2.full-description-title-v98,
h3.full-description-title-v98,
div.full-description-title-v98,
h2.description-complete-title-v98,
h3.description-complete-title-v98,
div.description-complete-title-v98,
[data-description-complete-title="true"] {
  color: #b01028 !important;
  -webkit-text-fill-color: #b01028 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  text-align: center !important;
  padding: 10px 8px 8px !important;
  margin: 0 !important;
}

/* Le conteneur ne doit pas grossir le titre */
.full-description-card-v98 .full-description-title-v98,
.full-description-card-v98 h2,
.full-description-card-v98 h3 {
  font-size: 26px !important;
}

@media (max-width: 760px) {
  .full-description-title-v98,
  .description-complete-title-v98,
  [data-description-complete-title="true"] {
    font-size: 22px !important;
    padding: 9px 8px 7px !important;
  }
}


/* --- V103 : correction définitive taille DESCRIPTION COMPLÈTE --- */
.full-description-title-v98,
div.full-description-title-v98,
.full-description-card-v98 > .full-description-title-v98,
.spec-sheet-card .full-description-title-v98,
.detail-bottom .full-description-title-v98,
[data-description-complete-title="true"] {
  color: #d71920 !important;
  -webkit-text-fill-color: #d71920 !important;
  font-family: 'Arial Narrow', Arial, sans-serif !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: .2px !important;
  border: 1px solid #c7d9ef !important;
  padding: 8px !important;
  margin: 0 !important;
  background: #fff !important;
}
@media (max-width: 760px) {
  .full-description-title-v98,
  div.full-description-title-v98,
  [data-description-complete-title="true"] {
    font-size: 22px !important;
  }
}


/* --- V104 : encadrés autonomes page d'accueil + admin --- */
.home-special-card-v104 {
  display: block;
  border: 2px solid #0a4f9f;
  background: #fff;
  text-decoration: none;
  color: inherit;
  padding: 12px;
  margin: 0 0 12px;
}

.home-extra-special-card-v104 {
  min-height: 260px;
}

.home-special-title-v104 {
  font-family: 'Arial Narrow', Arial, sans-serif;
  color: #003d8f;
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
  line-height: .98;
  font-size: 34px;
  margin-bottom: 10px;
}

.home-special-title-v104 span {
  display: block;
}

.home-special-photo-v104 {
  border: 1px solid #d6e0ee;
  background: #fff;
  height: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.home-special-photo-v104 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.admin-special-manager-v104 {
  display: grid;
  grid-template-columns: minmax(250px, 360px) 1fr;
  gap: 16px;
  margin: 14px 0 20px;
}

.admin-special-add-v104,
.admin-special-list-v104 {
  border: 1px solid #c7d9ef;
  background: #fff;
  padding: 12px;
}

.admin-special-list-v104 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.admin-special-chip-v104 {
  border: 1px solid #b8cce6;
  background: #f8fbff;
  text-align: left;
  padding: 10px;
  cursor: pointer;
  font-weight: 800;
}

.admin-special-chip-v104 strong,
.admin-special-chip-v104 span {
  display: block;
}

.admin-special-chip-v104 span {
  font-size: 12px;
  color: #456;
  margin-top: 4px;
}

.admin-special-chip-v104.active {
  border-color: #003d8f;
  box-shadow: inset 0 0 0 2px #003d8f;
  background: #eef5ff;
}

.admin-special-chip-v104.is-hidden {
  opacity: .55;
}

.admin-checkbox-label-v104 {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-height: 42px;
}

.admin-checkbox-label-v104 input {
  width: auto !important;
}

.admin-form-actions .danger,
.admin-secondary-btn.danger {
  border-color: #b01028 !important;
  color: #b01028 !important;
}

@media (max-width: 900px) {
  .admin-special-manager-v104 { grid-template-columns: 1fr; }
  .home-special-title-v104 { font-size: 28px; }
}


/* --- V105 : intégration encadrés spéciaux / accessoires --- */
.accessory-side[data-extra-special-count="1"] .accessoires-grille-v77,
.accessory-side[data-extra-special-count="2"] .accessoires-grille-v77,
.accessory-side[data-extra-special-count="3"] .accessoires-grille-v77,
.accessory-side[data-extra-special-count="4"] .accessoires-grille-v77 {
  margin-top: 0;
}

.home-extra-special-card-v104 + .home-extra-special-card-v104,
.kit-final-card-v66 + .home-extra-special-card-v104,
.robot-final-card-v85 + .home-extra-special-card-v104 {
  margin-top: 0;
}


/* --- V106 : titres des encadrés autonomes alignés sur Kit / Robot --- */
.home-extra-special-card-v104 .home-special-title-v104,
.home-special-card-v104 .home-special-title-v104 {
  font-family: 'Arial Narrow', Arial, sans-serif !important;
  color: var(--blue) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  line-height: 1.03 !important;
  font-size: 38px !important;
  letter-spacing: 0 !important;
  margin: 0 0 14px !important;
}

.home-extra-special-card-v104 .home-special-title-v104 span,
.home-special-card-v104 .home-special-title-v104 span {
  display: block;
}

.home-extra-special-card-v104 .home-special-title-v104 span:empty,
.home-special-card-v104 .home-special-title-v104 span:empty {
  display: none !important;
}

.home-extra-special-card-v104 {
  padding: 14px !important;
}

.home-extra-special-card-v104 .home-special-photo-v104 {
  height: 190px;
}

@media(max-width:1680px){
  .home-extra-special-card-v104 .home-special-title-v104,
  .home-special-card-v104 .home-special-title-v104 { font-size: 33px !important; }
}

@media(max-width:1024px){
  .home-extra-special-card-v104 .home-special-title-v104,
  .home-special-card-v104 .home-special-title-v104 { font-size: 33px !important; }
}

@media(max-width:760px){
  .home-extra-special-card-v104 .home-special-title-v104,
  .home-special-card-v104 .home-special-title-v104 { font-size: 28px !important; }
}


/* --- V107 : gabarit complet des encadrés ajoutés depuis l'admin ---
   Repart de zéro pour les encadrés dynamiques afin qu'ils aient le même format compact
   que KIT HYDROCUREUR et ROBOT BROYEUR. --- */
.accessory-side .home-extra-special-card-v104,
.accessory-side .home-special-card-v104.home-extra-compact-v107 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 8px !important;
  margin: 0 0 8px !important;
  border: 2px solid var(--line) !important;
  background: #fff !important;
  text-decoration: none !important;
  color: inherit !important;
  line-height: 1 !important;
}

.accessory-side .home-extra-special-card-v104 .home-special-title-v104,
.accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-title-v104 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
  line-height: 1 !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

.accessory-side .home-extra-special-card-v104 .home-special-title-v104 span,
.accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-title-v104 span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--blue) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.accessory-side .home-extra-special-card-v104 .home-special-title-v104 span:empty,
.accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-title-v104 span:empty {
  display: none !important;
}

.accessory-side .home-extra-special-card-v104 .home-special-photo-v104,
.accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-photo-v104 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid #d6e0ee !important;
  background: #fff !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.accessory-side .home-extra-special-card-v104 .home-special-photo-v104 img,
.accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-photo-v104 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 215px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media(max-width:1680px) {
  .accessory-side .home-extra-special-card-v104 .home-special-title-v104 span,
  .accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-title-v104 span { font-size: 22px !important; }
  .accessory-side .home-extra-special-card-v104 .home-special-photo-v104 img,
  .accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-photo-v104 img { max-height: 200px !important; }
}

@media(max-width:1360px) {
  .accessory-side .home-extra-special-card-v104 .home-special-title-v104 span,
  .accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-title-v104 span { font-size: 20px !important; }
  .accessory-side .home-extra-special-card-v104 .home-special-photo-v104 img,
  .accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-photo-v104 img { max-height: 180px !important; }
}

@media(max-width:1024px) {
  .accessory-side .home-extra-special-card-v104 .home-special-title-v104 span,
  .accessory-side .home-special-card-v104.home-extra-compact-v107 .home-special-title-v104 span { font-size: 20px !important; }
}


/* --- V108 : admin encadrés guidés --- */
.admin-special-form-v108 {
  gap: 18px !important;
}

.special-editor-intro-v108 {
  display: flex;
  gap: 12px;
  align-items: center;
  border: 2px solid #003b86;
  background: #eef5ff;
  padding: 12px 14px;
  color: #0b2d63;
  font-weight: 700;
}

.special-editor-intro-v108 strong {
  background: #003b86;
  color: #fff;
  padding: 6px 10px;
  text-transform: uppercase;
}

.special-step-v108 {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  border: 1px solid #b7c3d8;
  background: #fff;
  padding: 14px;
}

.special-step-number-v108 {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #003b86;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 900;
}

.special-step-content-v108 h2 {
  margin: 0 0 6px !important;
  color: #003b86 !important;
  font-size: 22px !important;
  text-align: left !important;
}

.special-simple-grid-v108 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.special-step-content-v108 label small,
.special-step-content-v108 .admin-help-note {
  display: block;
  margin-top: 4px;
  color: #4b5870;
  font-size: 12px;
  font-weight: 600;
}

.special-live-card-v108 {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 14px;
  align-items: start;
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed #8da2c6;
  background: #f8fbff;
}

.special-live-card-v108 b,
.special-live-card-v108 span {
  display: block;
}

.special-home-preview-v108 {
  min-height: auto !important;
  justify-content: flex-start !important;
}

.special-preview-card-v108 {
  width: 180px;
  border: 2px solid #65758d;
  background: #fff;
  padding: 8px;
  text-align: center;
}

.special-preview-title-v108 {
  color: #14254b;
  font-weight: 900;
  font-size: 21px;
  line-height: .96;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 8px;
}

.special-preview-card-v108 img,
.special-preview-empty-v108 {
  width: 100%;
  height: 120px;
  object-fit: contain;
  background: #f1f1f1;
  border: 1px solid #c8ced8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  font-weight: 700;
}

.special-builder-v108 {
  display: grid;
  gap: 10px;
  margin: 10px 0 12px;
}

.special-builder-row-v108 {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(170px, 1.2fr) auto;
  gap: 8px;
  align-items: end;
  border: 1px solid #d6dde9;
  background: #f9fbff;
  padding: 10px;
}

.special-builder-row-3-v108 {
  grid-template-columns: minmax(150px, .9fr) minmax(150px, 1fr) minmax(170px, 1.2fr) auto;
}

.special-builder-row-v108 label {
  margin: 0 !important;
}

.special-hidden-technical-v108 {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.special-save-message-v108 {
  margin-top: 10px;
  font-weight: 800;
  color: #003b86;
}

.special-actions-v108 {
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: rgba(255,255,255,.96);
  border-top: 2px solid #003b86;
  padding-top: 12px;
}

@media (max-width: 900px) {
  .special-step-v108,
  .special-live-card-v108,
  .special-builder-row-v108,
  .special-builder-row-3-v108 {
    grid-template-columns: 1fr;
  }

  .special-step-number-v108 {
    width: 38px;
    height: 38px;
    font-size: 20px;
  }
}


/* --- V109 : vraie prévisualisation des encadrés accueil --- */
.special-live-card-v108 {
  grid-template-columns: minmax(150px, 210px) minmax(300px, 420px) !important;
  align-items: start !important;
}

.special-home-preview-v108 {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.special-preview-scene-v109 {
  width: 100%;
  padding: 12px;
  border: 1px solid #aeb9c9;
  background: #eef1f4;
  box-sizing: border-box;
}

.special-preview-caption-v109 {
  margin-bottom: 9px;
  color: #31425f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .7px;
  text-align: center;
}

.special-preview-card-v109 {
  display: block;
  width: 100% !important;
  max-width: 330px;
  margin: 0 auto;
  padding: 10px !important;
  border: 2px solid #697990 !important;
  background: #f8f8f6 !important;
  box-sizing: border-box;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

.special-preview-title-v109 {
  min-height: 52px;
  margin: 0 0 8px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #14254b !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.special-preview-image-frame-v109 {
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 7px;
  border: 1px solid #b8c0cc;
  background: #f1f1ef;
  box-sizing: border-box;
}

.special-preview-card-v109 img,
.special-preview-card-v109 .special-preview-empty-v108 {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  background: #fff !important;
}

.special-preview-hint-v109 {
  max-width: 330px;
  margin: 9px auto 0;
  color: #536273;
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
}

@media (max-width: 820px) {
  .special-live-card-v108 {
    grid-template-columns: 1fr !important;
  }
  .special-home-preview-v108 {
    max-width: 100% !important;
  }
}


/* --- V110 : cases rapides produits spéciaux corrigées --- */
.special-live-preview-v110 {
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed #9aaecb;
  background: #f8fbff;
}
.special-live-preview-v110 > strong {
  display: block;
  margin-bottom: 8px;
  color: #002f75;
  font-size: 14px;
}
.special-quick-preview-grid-v110 {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 8px;
}
.special-quick-preview-item-v110 {
  border: 1px solid #c7d9ef;
  background: #fff;
  padding: 8px 10px;
  min-height: 46px;
}
.special-quick-preview-item-v110 span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  color: #5b6f8e;
  font-weight: 800;
}
.special-quick-preview-item-v110 strong {
  display: block;
  color: #002f75;
  font-size: 15px;
  font-weight: 900;
  margin-top: 3px;
}
.special-quick-row-v110 label input {
  min-height: 36px;
}
@media (max-width: 760px) {
  .special-quick-preview-grid-v110 { grid-template-columns: 1fr; }
}


/* --- V112 : photos produits spéciaux toujours entières --- */
body[data-special-product],
body[data-special-product-query="true"] {
  --special-gallery-bg-v112: #fff;
}

body[data-special-product] .gallery-stage,
body[data-special-product-query="true"] .gallery-stage,
body[data-special-product] .gallery-main-button,
body[data-special-product-query="true"] .gallery-main-button {
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(360px, 54vw, 620px) !important;
  background: var(--special-gallery-bg-v112) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body[data-special-product] .gallery-stage img,
body[data-special-product-query="true"] .gallery-stage img,
body[data-special-product] .gallery-main-button img,
body[data-special-product-query="true"] .gallery-main-button img,
body[data-special-product] #mainGalleryImage,
body[data-special-product-query="true"] #mainGalleryImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

body[data-special-product] .gallery-thumbs img,
body[data-special-product-query="true"] .gallery-thumbs img,
body[data-special-product] .gallery-thumbs-modal img,
body[data-special-product-query="true"] .gallery-thumbs-modal img,
body[data-special-product] .thumb-btn img,
body[data-special-product-query="true"] .thumb-btn img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

body[data-special-product] .lightbox-content img,
body[data-special-product-query="true"] .lightbox-content img,
body[data-special-product] #lightboxImage,
body[data-special-product-query="true"] #lightboxImage {
  width: auto !important;
  height: auto !important;
  max-width: 92vw !important;
  max-height: 88vh !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

@media (max-width: 760px) {
  body[data-special-product] .gallery-stage,
  body[data-special-product-query="true"] .gallery-stage,
  body[data-special-product] .gallery-main-button,
  body[data-special-product-query="true"] .gallery-main-button {
    height: clamp(260px, 72vw, 420px) !important;
  }
}


/* --- V112 sécurité par classes directes --- */
.special-gallery-stage-v112,
.special-gallery-main-v112 {
  background:#fff !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.special-main-image-v112 {
  object-fit:contain !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  background:#fff !important;
}


/* --- V113 : gestion contacts admin + contacts dynamiques --- */
.admin-contacts-v113 {
  margin-top: 26px;
  border: 2px solid #6b7893;
  background: #f7f9fc;
  padding: 16px;
}
.admin-contacts-manager-v113 { display: grid; gap: 12px; margin-bottom: 16px; }
.contacts-list-v113 { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-editor-grid-v113 { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }
.contact-step-v113 { margin-bottom: 14px; }
.contact-preview-panel-v113 { position: sticky; top: 12px; border: 1px solid #b9c2d2; background: #fff; padding: 12px; }
.contact-preview-panel-v113 h2 { margin: 0 0 10px; color: #092f75; }
.contact-preview-panel-v113 h3 { margin: 10px 0 8px; color: #092f75; }
.contact-preview-card-v113 { margin: 0 !important; max-width: 100%; }
.contact-preview-detail-v113 { transform: scale(.92); transform-origin: top left; width: 108%; margin-bottom: -18px; }
.contacts-managed-wrapper-v113 { display: grid; gap: 14px; align-content: start; }
.detail-bottom-v93 .contacts-managed-wrapper-v113 { width: 100%; }
.team-row[data-contacts-managed="true"] { align-items: stretch; }
.contact-chip-v113 span { font-size: 12px; color: #4c5870; }
@media (max-width: 900px) { .contact-editor-grid-v113 { grid-template-columns: 1fr; } .contact-preview-panel-v113 { position: static; } .contact-preview-detail-v113 { transform: none; width: auto; margin-bottom: 0; } }


/* --- V114 : vraies cases admin cliquables --- */
.admin-checkbox-label-v104,
.admin-form label.admin-checkbox-label-v104,
.special-visible-v108,
.contact-step-v113 .admin-checkbox-label-v104 {
  display: grid !important;
  grid-template-columns: 34px 1fr !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 10px 12px !important;
  margin: 8px 0 !important;
  border: 1px solid #b8cce6 !important;
  background: #f8fbff !important;
  color: #10264d !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
  user-select: none !important;
  font-weight: 900 !important;
  text-align: left !important;
}

.admin-checkbox-label-v104 input[type="checkbox"],
.admin-form label.admin-checkbox-label-v104 input[type="checkbox"],
#specialVisible,
#contactHomeVisibleV113,
#contactDetailVisibleV113 {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 20 !important;
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  accent-color: #003d8f !important;
  transform: none !important;
}

.admin-checkbox-label-v104.is-checked-v114 {
  border-color: #003d8f !important;
  background: #edf5ff !important;
  box-shadow: inset 0 0 0 2px rgba(0,61,143,.18) !important;
}

.admin-checkbox-label-v104.is-checked-v114::after {
  content: "Activé";
  justify-self: end;
  grid-column: 2;
  grid-row: 1;
  font-size: 12px;
  color: #003d8f;
  background: #dcecff;
  border: 1px solid #9dbce5;
  border-radius: 999px;
  padding: 3px 8px;
}

.admin-checkbox-label-v104:not(.is-checked-v114)::after {
  content: "Masqué";
  justify-self: end;
  grid-column: 2;
  grid-row: 1;
  font-size: 12px;
  color: #777;
  background: #f2f2f2;
  border: 1px solid #d6d6d6;
  border-radius: 999px;
  padding: 3px 8px;
}

.special-visible-v108 small,
.admin-checkbox-label-v104 small {
  grid-column: 2 !important;
  margin: 2px 0 0 !important;
}


/* --- V115 : cases admin en ligne simple, sans gros pavés --- */
.admin-checkbox-label-v104,
.admin-form label.admin-checkbox-label-v104,
.special-visible-v108,
.contact-step-v113 .admin-checkbox-label-v104 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 4px 0 !important;
  margin: 4px 0 8px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1d2b44 !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  user-select: none !important;
  font-weight: 800 !important;
  text-align: left !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.admin-checkbox-label-v104 input[type="checkbox"],
.admin-form label.admin-checkbox-label-v104 input[type="checkbox"],
#specialVisible,
#contactHomeVisibleV113,
#contactDetailVisibleV113 {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  z-index: auto !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  accent-color: #003d8f !important;
  transform: none !important;
  flex: 0 0 18px !important;
}

.admin-checkbox-label-v104.is-checked-v114,
.admin-checkbox-label-v104:not(.is-checked-v114) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.admin-checkbox-label-v104.is-checked-v114::after,
.admin-checkbox-label-v104:not(.is-checked-v114)::after {
  content: none !important;
  display: none !important;
}

.special-visible-v108 small,
.admin-checkbox-label-v104 small {
  display: block !important;
  margin: 2px 0 0 26px !important;
  font-weight: 600 !important;
  color: #667 !important;
  line-height: 1.25 !important;
}

/* Garde les sections compactes quand une case est seule dans son bloc */
.contact-step-v113 .admin-checkbox-label-v104,
.special-visible-v108 {
  margin-left: 0 !important;
}


/* --- V121 : retour admin photos sans boutons ordre masquage --- */
#v117SpecialActions,
#v117ContactActions,
.v117-admin-actions,
.clean-actions-v118,
#specialMoveUpV118,
#specialMoveDownV118,
#specialToggleVisibleV118,
#contactMoveUpV118,
#contactMoveDownV118,
#contactToggleHomeV118,
#contactToggleDetailV118,
[data-v117="special-up"],
[data-v117="special-down"],
[data-v117="special-toggle"],
[data-v117="contact-up"],
[data-v117="contact-down"],
[data-v117="contact-home"],
[data-v117="contact-detail"] {
  display: none !important;
}

/* On garde l'admin simple : photos visibles, miniature visible, enregistrer et supprimer seulement. */
.special-home-preview-v108,
.special-current-home-image-v108,
.special-photos-grid-v108,
.contact-photo-preview-v113 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* --- V125 : admin secours stable --- */
.special-visible-v108,
label[for="specialVisible"],
#specialVisible {
  display: none !important;
}


/* --- V126 : contacts ordre avec flèches --- */
.contact-order-field-v126 {
  display: none !important;
}

.contact-order-controls-v126 {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  border: 1px solid #b8c1d1;
  background: #f8fafd;
  padding: 10px;
  margin: 4px 0;
}

.contact-order-controls-v126 span {
  font-weight: 900;
  color: #1d2b44;
  margin-right: 8px;
}

.contact-order-controls-v126 button {
  min-width: 112px;
  padding: 8px 12px !important;
}


/* --- V128 : admin accessoires latéraux --- */
.accessories-admin-v128 .accessory-form-v128 {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
  border: 1px solid #9ba8bd;
  padding: 14px;
  background: #f8fafd;
  margin: 14px 0;
}

.accessories-admin-v128 .accessory-form-v128 button,
.accessories-admin-v128 .accessory-form-v128 .admin-message {
  grid-column: 1 / -1;
}

.accessories-list-v128 {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 18px;
}

.accessories-admin-grid-v128 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
  gap: 10px;
}

.accessory-admin-card-v128 {
  border: 1px solid #9ba8bd;
  background: #fff;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.accessory-admin-img-v128 {
  height: 105px;
  border: 1px solid #c9d1dc;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.accessory-admin-img-v128 img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.accessory-admin-card-v128 strong {
  font-size: 14px;
  color: #1d2b44;
}

.accessory-admin-card-v128 small {
  font-size: 11px;
  color: #596276;
  word-break: break-all;
}

.accessory-admin-actions-v128 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.accessory-admin-actions-v128 button {
  font-size: 12px;
  padding: 5px 7px;
  border: 1px solid #0b2d68;
  background: #fff;
  color: #0b2d68;
  font-weight: 800;
  cursor: pointer;
}

.accessory-admin-actions-v128 button.danger {
  border-color: #8b1a24;
  color: #8b1a24;
}

@media (max-width: 760px) {
  .accessories-admin-v128 .accessory-form-v128,
  .accessories-list-v128 {
    grid-template-columns: 1fr;
  }
}


/* --- V129 : accessoires existants visibles admin --- */
.accessories-admin-v128 .admin-message {
  font-weight: 900;
  color: #0b2d68;
}
.accessories-admin-grid-v128:empty::before {
  content: "Chargement des accessoires...";
  color: #596276;
  font-weight: 800;
}


/* --- V130 : accessoires ajoutés depuis l'admin bien visibles sur l'accueil --- */
.accessory-column,
.accessory-grid,
.side-accessories,
.accessories-column-v77,
.accessories-grid-v77 {
  overflow: visible !important;
}


/* --- V132 : cache accessoires admin par défaut --- */
#accessoriesAdminV128[style*="display:none"] {
  display: none;
}


/* --- V133 : accessoires en une colonne, grandes cases 2x2 --- */
.accessories-grid,
.accessory-grid,
.side-accessories,
.accessories-grid-v77,
.left-accessories-grid,
.right-accessories-grid,
#leftAccessories,
#rightAccessories,
[data-accessory-grid],
.accessories-column-v77,
.accessory-column-v77,
.accessories-side-v77 {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.accessory-tile,
.accessory-item,
.accessory-cell,
.accessory-card,
.accessory-tile-v77,
.accessory-big-tile-v133,
.accessories-grid a,
.accessory-grid a,
.side-accessories a,
.accessories-grid-v77 a,
.left-accessories-grid a,
.right-accessories-grid a,
#leftAccessories a,
#rightAccessories a,
[data-accessory-grid] a,
.accessories-column-v77 a,
.accessory-column-v77 a,
.accessories-side-v77 a {
  min-height: 170px !important;
  height: 170px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

.accessory-tile img,
.accessory-item img,
.accessory-cell img,
.accessory-card img,
.accessory-tile-v77 img,
.accessory-big-tile-v133 img,
.accessories-grid img,
.accessory-grid img,
.side-accessories img,
.accessories-grid-v77 img,
.left-accessories-grid img,
.right-accessories-grid img,
#leftAccessories img,
#rightAccessories img,
[data-accessory-grid] img,
.accessories-column-v77 img,
.accessory-column-v77 img,
.accessories-side-v77 img {
  max-width: 92% !important;
  max-height: 150px !important;
  object-fit: contain !important;
}

@media (max-width: 760px) {
  .accessory-tile,
  .accessory-item,
  .accessory-cell,
  .accessory-card,
  .accessory-tile-v77,
  .accessory-big-tile-v133,
  .accessories-grid a,
  .accessory-grid a,
  .side-accessories a,
  .accessories-grid-v77 a,
  .left-accessories-grid a,
  .right-accessories-grid a,
  #leftAccessories a,
  #rightAccessories a,
  [data-accessory-grid] a,
  .accessories-column-v77 a,
  .accessory-column-v77 a,
  .accessories-side-v77 a {
    min-height: 135px !important;
    height: 135px !important;
  }

  .accessories-grid img,
  .accessory-grid img,
  .side-accessories img,
  .accessories-grid-v77 img,
  .left-accessories-grid img,
  .right-accessories-grid img,
  #leftAccessories img,
  #rightAccessories img,
  [data-accessory-grid] img,
  .accessories-column-v77 img,
  .accessory-column-v77 img,
  .accessories-side-v77 img {
    max-height: 118px !important;
  }
}


/* --- V134 : verrou grandes cases accessoires --- */
#accessoiresGaucheV77,
#accessoiresDroiteV77,
.accessoires-grille-v77 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

#accessoiresGaucheV77 .accessoire-case-v77,
#accessoiresDroiteV77 .accessoire-case-v77,
.accessoires-grille-v77 .accessoire-case-v77 {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  padding: 10px !important;
}

#accessoiresGaucheV77 .accessoire-case-v77 img,
#accessoiresDroiteV77 .accessoire-case-v77 img,
.accessoires-grille-v77 .accessoire-case-v77 img {
  max-height: 148px !important;
  max-width: 92% !important;
  object-fit: contain !important;
}


/* --- V135 : annonces en lignes larges, une annonce par ligne --- */
#listingsGrid,
#stockGrid,
#publicListings,
.public-listings-grid,
.listings-grid,
.stock-grid,
.annonces-grid,
.home-stock-grid,
.vehicles-grid,
.vehicle-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
}

.listing-card,
.stock-card,
.public-listing-card,
.vehicle-card,
.annonce-card,
.home-listing-card,
.card-vehicle {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 38% 1fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  border: 1px solid #a7b1c2 !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.listing-card img,
.stock-card img,
.public-listing-card img,
.vehicle-card img,
.annonce-card img,
.home-listing-card img,
.card-vehicle img,
.listing-card .listing-image img,
.stock-card .listing-image img,
.public-listing-card .listing-image img,
.vehicle-card .listing-image img {
  width: 100% !important;
  height: 190px !important;
  max-height: 190px !important;
  object-fit: contain !important;
  background: #f6f7fa !important;
  border-right: 1px solid #c4ccda !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

.listing-card .listing-content,
.stock-card .listing-content,
.public-listing-card .listing-content,
.vehicle-card .listing-content,
.annonce-card .listing-content,
.home-listing-card .listing-content,
.card-vehicle .listing-content,
.listing-card .card-body,
.stock-card .card-body,
.public-listing-card .card-body,
.vehicle-card .card-body {
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.listing-card h3,
.stock-card h3,
.public-listing-card h3,
.vehicle-card h3,
.annonce-card h3,
.home-listing-card h3,
.card-vehicle h3 {
  font-size: 22px !important;
  line-height: 1.08 !important;
  margin: 4px 0 8px !important;
  color: #1d2b44 !important;
  text-align: left !important;
}

.listing-card p,
.stock-card p,
.public-listing-card p,
.vehicle-card p,
.annonce-card p,
.home-listing-card p,
.card-vehicle p,
.listing-card .listing-summary,
.stock-card .listing-summary,
.public-listing-card .listing-summary,
.vehicle-card .listing-summary {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #333 !important;
  margin: 0 0 10px !important;
  max-height: none !important;
  overflow: visible !important;
}

.listing-card .btn,
.stock-card .btn,
.public-listing-card .btn,
.vehicle-card .btn,
.annonce-card .btn,
.home-listing-card .btn,
.card-vehicle .btn,
.listing-card a[class*="btn"],
.stock-card a[class*="btn"],
.public-listing-card a[class*="btn"],
.vehicle-card a[class*="btn"] {
  align-self: flex-start !important;
  margin-top: auto !important;
}

/* Anciennes petites cartes : on les force aussi en ligne */
.stock-list .listing-card,
.stock-list .stock-card,
.stock-list .public-listing-card {
  display: grid !important;
  grid-template-columns: 38% 1fr !important;
}

/* L'annonce mise en avant garde le même esprit mais s'aligne avec les autres */
.featured-listing,
.featured-card,
.listing-card.is-featured,
.stock-card.is-featured {
  display: grid !important;
  grid-template-columns: 38% 1fr !important;
  width: 100% !important;
}

@media (max-width: 760px) {
  .listing-card,
  .stock-card,
  .public-listing-card,
  .vehicle-card,
  .annonce-card,
  .home-listing-card,
  .card-vehicle,
  .featured-listing,
  .featured-card,
  .listing-card.is-featured,
  .stock-card.is-featured {
    grid-template-columns: 1fr !important;
  }

  .listing-card img,
  .stock-card img,
  .public-listing-card img,
  .vehicle-card img,
  .annonce-card img,
  .home-listing-card img,
  .card-vehicle img {
    height: 210px !important;
    max-height: 210px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #c4ccda !important;
  }
}


/* --- V136 : vrai rendu annonces stock en lignes larges --- */
#adminDynamicListings.admin-dynamic-grid,
#adminDynamicListings.stock-lines-v136,
.vehicle-grid.admin-dynamic-grid.stock-lines-v136 {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#adminDynamicListings .stock-line-card-v136,
.clean-stock-panel #adminDynamicListings .stock-line-card-v136,
.stock-panel #adminDynamicListings .stock-line-card-v136 {
  display: grid !important;
  grid-template-columns: 38% 1fr !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 210px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #a7b1c2 !important;
  background: #fff !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

#adminDynamicListings .stock-line-image-v136,
.clean-stock-panel #adminDynamicListings .stock-line-image-v136 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 210px !important;
  min-height: 210px !important;
  padding: 10px !important;
  border-right: 1px solid #c4ccda !important;
  background: #f6f7fa !important;
  box-sizing: border-box !important;
}

#adminDynamicListings .stock-line-image-v136 img,
.clean-stock-panel #adminDynamicListings .stock-line-image-v136 img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 190px !important;
  object-fit: contain !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#adminDynamicListings .stock-line-copy-v136,
.clean-stock-panel #adminDynamicListings .stock-line-copy-v136 {
  padding: 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

#adminDynamicListings .stock-line-copy-v136 h3 {
  font-size: 24px !important;
  line-height: 1.08 !important;
  margin: 4px 0 8px !important;
  color: #263651 !important;
  text-transform: uppercase !important;
  text-align: left !important;
  min-height: 0 !important;
}

#adminDynamicListings .stock-line-copy-v136 p {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 0 0 14px !important;
  color: #333 !important;
  text-align: left !important;
  max-height: none !important;
  overflow: visible !important;
}

#adminDynamicListings .stock-line-btn-v136 {
  width: auto !important;
  min-width: 150px !important;
  margin: auto 0 0 !important;
  padding: 10px 18px !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  #adminDynamicListings .stock-line-card-v136,
  .clean-stock-panel #adminDynamicListings .stock-line-card-v136 {
    grid-template-columns: 1fr !important;
  }
  #adminDynamicListings .stock-line-image-v136,
  .clean-stock-panel #adminDynamicListings .stock-line-image-v136 {
    border-right: 0 !important;
    border-bottom: 1px solid #c4ccda !important;
  }
}


/* --- V137 : lien logo Accessoires Hydrocureur --- */
.brand-logo-right-link-v137 {
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
}

.brand-logo-right-link-v137:hover {
  filter: brightness(1.04);
}


/* --- V142 : bouton partage annonces --- */
.summary-actions-v142,
.listing-actions-v142 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

.share-listing-btn-v142 {
  background: #f7f7f7 !important;
  color: #12336a !important;
  border: 1px solid #12336a !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}

.share-listing-btn-v142:hover,
.share-listing-btn-v142:focus {
  background: #e9eef9 !important;
  outline: 2px solid rgba(18,51,106,.18) !important;
}

.share-listing-btn-small-v142 {
  padding: 9px 13px !important;
  font-size: 12px !important;
}

.share-listing-btn-v142::before {
  content: "↗ ";
  font-weight: 900 !important;
}

.share-toast-v142 {
  position: fixed !important;
  left: 50% !important;
  bottom: 22px !important;
  transform: translateX(-50%) translateY(20px) !important;
  background: #102b5f !important;
  color: #fff !important;
  padding: 11px 16px !important;
  border: 2px solid #fff !important;
  box-shadow: 0 8px 25px rgba(0,0,0,.25) !important;
  font-weight: 800 !important;
  z-index: 999999 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
  text-align: center !important;
}

.share-toast-v142.show {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

@media (max-width: 760px) {
  .summary-actions-v142 .btn,
  .listing-actions-v142 .btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}


/* --- V143 : partage PC copie lien, pas de fenêtre native --- */
.share-listing-btn-v142 {
  cursor: pointer !important;
}


/* --- V144 : contacts pleine largeur sur téléphone --- */
@media (max-width: 900px) {
  .team-row,
  .team-row[data-contacts-managed="true"],
  .contacts-managed-wrapper-v113 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .team-row .contact-card,
  .team-row[data-contacts-managed="true"] .contact-card,
  .contacts-managed-wrapper-v113 .contact-card,
  .contact-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 10px 12px !important;
    min-height: 170px !important;
  }

  .team-row .contact-card img,
  .team-row[data-contacts-managed="true"] .contact-card img,
  .contacts-managed-wrapper-v113 .contact-card img,
  .contact-card img {
    width: 132px !important;
    height: 150px !important;
    object-fit: cover !important;
  }

  .team-row .contact-copy,
  .team-row[data-contacts-managed="true"] .contact-copy,
  .contacts-managed-wrapper-v113 .contact-copy,
  .contact-copy {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .team-row .contact-copy h3,
  .team-row[data-contacts-managed="true"] .contact-copy h3,
  .contacts-managed-wrapper-v113 .contact-copy h3,
  .contact-copy h3 {
    font-size: clamp(24px, 6vw, 34px) !important;
    line-height: 1.02 !important;
    margin: 0 0 8px !important;
  }

  .team-row .contact-copy p,
  .team-row[data-contacts-managed="true"] .contact-copy p,
  .contacts-managed-wrapper-v113 .contact-copy p,
  .contact-copy p {
    font-size: clamp(15px, 4vw, 21px) !important;
    line-height: 1.22 !important;
    margin: 4px 0 !important;
  }

  .team-row .contact-copy a,
  .team-row[data-contacts-managed="true"] .contact-copy a,
  .contacts-managed-wrapper-v113 .contact-copy a,
  .contact-copy a {
    font-size: clamp(14px, 3.7vw, 19px) !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}

@media (max-width: 430px) {
  .team-row .contact-card,
  .team-row[data-contacts-managed="true"] .contact-card,
  .contacts-managed-wrapper-v113 .contact-card,
  .contact-card {
    grid-template-columns: 108px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 8px !important;
    min-height: 148px !important;
  }

  .team-row .contact-card img,
  .team-row[data-contacts-managed="true"] .contact-card img,
  .contacts-managed-wrapper-v113 .contact-card img,
  .contact-card img {
    width: 108px !important;
    height: 132px !important;
  }

  .team-row .contact-copy h3,
  .team-row[data-contacts-managed="true"] .contact-copy h3,
  .contacts-managed-wrapper-v113 .contact-copy h3,
  .contact-copy h3 {
    font-size: 24px !important;
  }

  .team-row .contact-copy p,
  .team-row[data-contacts-managed="true"] .contact-copy p,
  .contacts-managed-wrapper-v113 .contact-copy p,
  .contact-copy p {
    font-size: 16px !important;
  }

  .team-row .contact-copy a,
  .team-row[data-contacts-managed="true"] .contact-copy a,
  .contacts-managed-wrapper-v113 .contact-copy a,
  .contact-copy a {
    font-size: 14px !important;
  }
}


/* --- V148 : QR codes contacts --- */
.contact-card-v148 .contact-copy,
.contact-preview-card-v113 .contact-copy{
  position:relative;
}
.contact-qr-v148{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  font-size:10px;
  line-height:1;
  color:#1d2b44;
  font-weight:700;
}
.contact-qr-v148 img{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  object-fit:contain !important;
  border:1px solid #9fb0c8 !important;
  background:#fff !important;
  padding:2px !important;
  box-sizing:border-box !important;
}
.contact-qr-placeholder-v148{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-top:5px;
  border:1px dashed #9fb0c8;
  color:#6d7788;
  background:#fff;
  font-size:9px;
  font-weight:700;
  text-align:center;
}
.contact-detail-qr-v148{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 4px;
  padding:6px;
  border:1px solid #d5ddeb;
  background:#fbfcff;
  color:#1d2b44;
  font-size:11px;
  font-weight:700;
}
.contact-detail-qr-v148 img{
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  border:1px solid #9fb0c8 !important;
  background:#fff !important;
  padding:2px !important;
  box-sizing:border-box !important;
}
.contact-detail-qr-empty-v148{
  justify-content:center;
  min-height:42px;
  color:#6d7788;
  border-style:dashed;
}
.contact-form-v113 label small{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.25;
  color:#677287;
  font-weight:600;
}
@media(max-width:620px){
  .contact-qr-v148 img{width:44px !important;height:44px !important;min-width:44px !important;}
  .contact-qr-v148{font-size:9px;}
}


/* --- V149 - QR code en grand au clic --- */
.qr-clickable-v149,
img[class*="qr"],
img[src*="qr"],
img[alt*="QR"],
img[alt*="qr"] {
  cursor: zoom-in !important;
}

.qr-lightbox-open-v149 {
  overflow: hidden !important;
}

.qr-lightbox-v149 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  background: rgba(0, 0, 0, 0.78) !important;
  box-sizing: border-box !important;
}

.qr-lightbox-v149.is-open {
  display: flex !important;
}

.qr-lightbox-card-v149 {
  width: min(92vw, 520px) !important;
  max-height: 92vh !important;
  padding: 18px !important;
  border: 3px solid #0b3277 !important;
  background: #ffffff !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35) !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.qr-lightbox-title-v149 {
  margin: 0 0 12px !important;
  color: #0b3277 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

.qr-lightbox-img-v149 {
  display: block !important;
  width: min(78vw, 430px) !important;
  height: min(78vw, 430px) !important;
  max-width: 100% !important;
  max-height: 62vh !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  padding: 12px !important;
  background: #ffffff !important;
  border: 1px solid #d5dbe7 !important;
  box-sizing: border-box !important;
  image-rendering: auto !important;
}

.qr-lightbox-help-v149 {
  margin-top: 12px !important;
  color: #1d2b44 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.qr-lightbox-close-v149 {
  position: fixed !important;
  top: 14px !important;
  right: 18px !important;
  z-index: 1000000 !important;
  width: 44px !important;
  height: 44px !important;
  border: 2px solid #ffffff !important;
  border-radius: 0 !important;
  background: #0b3277 !important;
  color: #ffffff !important;
  font-size: 32px !important;
  line-height: 36px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

@media (max-width: 640px) {
  .qr-lightbox-card-v149 {
    width: 94vw !important;
    padding: 14px !important;
  }

  .qr-lightbox-title-v149 {
    font-size: 18px !important;
  }

  .qr-lightbox-img-v149 {
    width: 82vw !important;
    height: 82vw !important;
    max-height: 68vh !important;
  }
}


/* --- V150 - QR mobile ouvre directement le contact --- */
.qr-clickable-v149 {
  cursor: pointer !important;
}


/* --- V151 - Contacts mobile QR propre, sans débordement --- */
@media (max-width: 760px) {
  /* Sur téléphone, le QR visuel ne sert plus : on garde un bouton compact à la place. */
  .contact-card img[class*="qr"],
  .team-card img[class*="qr"],
  [class*="contact"] img[class*="qr"],
  .contact-card img[src*="qr"],
  .team-card img[src*="qr"],
  [class*="contact"] img[src*="qr"],
  .contact-card img[alt*="QR"],
  .team-card img[alt*="QR"],
  [class*="contact"] img[alt*="QR"],
  .contact-card img[alt*="qr"],
  .team-card img[alt*="qr"],
  [class*="contact"] img[alt*="qr"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  /* Masque les petits labels QR qui créaient une colonne en trop. */
  .contact-card [class*="qr"]:not(a):not(button),
  .team-card [class*="qr"]:not(a):not(button),
  [class*="contact"] [class*="qr"]:not(a):not(button) {
    max-width: none !important;
  }

  .contact-card [class*="qr-label"],
  .team-card [class*="qr-label"],
  [class*="contact"] [class*="qr-label"],
  .contact-card .qr-label,
  .team-card .qr-label {
    display: none !important;
  }

  /* Le bouton ajout contact doit rester petit et rangé. */
  .qr-mobile-contact-btn-v151,
  .qr-contact-button,
  .contact-qr-button,
  a[href$=".vcf"],
  a[href*=".vcf"],
  button[class*="qr"],
  a[class*="qr"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 210px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 7px 11px !important;
    margin: 8px auto 0 !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-align: center !important;
    border: 2px solid #0b3277 !important;
    background: #0b3277 !important;
    color: #fff !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  /* Si un ancien style met le bouton en absolu ou énorme, on le neutralise. */
  .contact-card .qr-mobile-contact-btn-v151,
  .team-card .qr-mobile-contact-btn-v151,
  [class*="contact"] .qr-mobile-contact-btn-v151,
  .contact-card .qr-contact-button,
  .team-card .qr-contact-button,
  [class*="contact"] .qr-contact-button,
  .contact-card .contact-qr-button,
  .team-card .contact-qr-button,
  [class*="contact"] .contact-qr-button {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    float: none !important;
  }

  /* Les zones QR ne doivent jamais agrandir ou casser la carte. */
  .contact-card [class*="qr"],
  .team-card [class*="qr"],
  [class*="contact"] [class*="qr"] {
    grid-column: auto !important;
    flex: 0 0 auto !important;
  }

  /* Cartes contact : on garde photo gauche / texte droite et tout tient dedans. */
  .contact-card,
  .team-card,
  .home-contact-card,
  .team-member,
  .contact-item {
    overflow: hidden !important;
  }

  .contact-card *,
  .team-card *,
  .home-contact-card *,
  .team-member *,
  .contact-item * {
    max-width: 100% !important;
  }
}

/* Bouton compact ajouté automatiquement quand un QR existe mais qu'il est masqué sur mobile. */
@media (max-width: 760px) {
  .contact-card.has-qr-v151::after,
  .team-card.has-qr-v151::after,
  .home-contact-card.has-qr-v151::after,
  .team-member.has-qr-v151::after {
    content: "＋ Ajouter le contact";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 190px;
    margin: 8px auto 0;
    padding: 7px 10px;
    border: 2px solid #0b3277;
    background: #0b3277;
    color: #fff;
    font-size: 13px;
    line-height: 1.1;
    font-weight: 900;
    white-space: nowrap;
    box-sizing: border-box;
  }
}


/* --- V153 - Contacts propres : PC pas de bouton, mobile QR caché sans casser la carte --- */

/* Sur ordinateur : on ne veut jamais voir "Ajouter le contact" dans les cartes. */
@media screen and (min-width: 781px) {
  .qr-mobile-contact-btn-v151,
  .contact-add-mobile-v152,
  .contact-add-mobile-v153,
  .qr-contact-button,
  .contact-qr-button {
    display: none !important;
  }
}

/* Sur téléphone : on cache uniquement les images QR, pas le contenu de la carte. */
@media screen and (max-width: 780px) {
  .has-mobile-contact-v153 img[src*="qr"],
  .has-mobile-contact-v153 img[class*="qr"],
  .has-mobile-contact-v153 img[alt*="QR"],
  .has-mobile-contact-v153 img[alt*="qr"],
  .has-mobile-contact-v153 .qr-code,
  .has-mobile-contact-v153 .qr-label,
  .has-mobile-contact-v153 .contact-qr,
  .has-mobile-contact-v153 .contact-qr-wrap,
  .has-mobile-contact-v153 .contact-qr-zone {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  /* On cache les anciens gros boutons, sauf le nouveau petit bouton V153. */
  .qr-mobile-contact-btn-v151,
  .contact-add-mobile-v152,
  .qr-contact-button,
  .contact-qr-button {
    display: none !important;
  }

  .contact-add-mobile-v153 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 110px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 5px auto 0 !important;
    padding: 4px 8px !important;
    border: 1px solid #0b3277 !important;
    background: #0b3277 !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-transform: none !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    position: static !important;
    float: none !important;
    transform: none !important;
    overflow: hidden !important;
  }

  /* Important : on restaure les contenus qui avaient pu être touchés par l'ancien CSS trop agressif. */
  .contact-card h1, .contact-card h2, .contact-card h3, .contact-card h4,
  .team-card h1, .team-card h2, .team-card h3, .team-card h4,
  .home-contact-card h1, .home-contact-card h2, .home-contact-card h3, .home-contact-card h4,
  .team-member h1, .team-member h2, .team-member h3, .team-member h4,
  .contact-item h1, .contact-item h2, .contact-item h3, .contact-item h4,
  .contact-card p, .team-card p, .home-contact-card p, .team-member p, .contact-item p,
  .contact-card a[href^="tel:"], .contact-card a[href^="mailto:"],
  .team-card a[href^="tel:"], .team-card a[href^="mailto:"],
  .home-contact-card a[href^="tel:"], .home-contact-card a[href^="mailto:"],
  .team-member a[href^="tel:"], .team-member a[href^="mailto:"],
  .contact-item a[href^="tel:"], .contact-item a[href^="mailto:"] {
    display: revert !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
  }

  .contact-card,
  .team-card,
  .home-contact-card,
  .team-member,
  .contact-item {
    overflow: hidden !important;
  }
}


/* --- V154 - supprimer texte "QR contact" sur téléphone uniquement --- */
@media screen and (max-width: 780px) {
  .has-mobile-contact-v153 .qr-label,
  .has-mobile-contact-v153 .qr-contact-label,
  .has-mobile-contact-v153 .contact-qr-label,
  .has-mobile-contact-v153 [class*="qr-label"],
  .has-mobile-contact-v153 [class*="qr-text"],
  .has-mobile-contact-v153 [class*="qr-caption"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}


/* --- V155 - signature BG TRUCKS --- */
.brand-copy-v54 .brand-signature-v155,
.brand-copy .brand-signature-v155 {
  margin-top: 8px;
  color: #4fb548;
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 24px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  line-height: 1.05;
}
.brand-copy-v54 .brand-signature-v155 .signature-by {
  font-size: 0.78em;
  letter-spacing: 0.2px;
  margin-right: 6px;
}
@media (max-width: 1024px) {
  .brand-copy-v54 .brand-signature-v155,
  .brand-copy .brand-signature-v155 {
    margin-top: 6px;
    font-size: 18px;
  }
}
@media (max-width: 620px) {
  .brand-copy-v54 .brand-signature-v155,
  .brand-copy .brand-signature-v155 {
    font-size: 15px;
  }
}


/* --- V156 - BG TRUCKS avec tirets --- */
.brand-copy-v54 .brand-signature-v156,
.brand-copy .brand-signature-v156 {
  margin-top: 7px !important;
  color: #43b649 !important;
  font-family: Impact, "Arial Black", Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.4px !important;
  line-height: 1.05 !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.85), 0 0 1px rgba(0,0,0,.15) !important;
}

.brand-signature-v155 {
  display: none !important;
}

@media (max-width: 1024px) {
  .brand-copy-v54 .brand-signature-v156,
  .brand-copy .brand-signature-v156 {
    margin-top: 5px !important;
    font-size: 18px !important;
    letter-spacing: 1px !important;
  }
}

@media (max-width: 620px) {
  .brand-copy-v54 .brand-signature-v156,
  .brand-copy .brand-signature-v156 {
    font-size: 15px !important;
    letter-spacing: .8px !important;
  }
}


/* --- V157 - déplacement libre accessoires admin --- */
.accessory-reorder-help-v157,
.accessory-reorder-msg-v157 {
  margin: 8px 0 12px !important;
  padding: 8px 10px !important;
  border: 2px solid #0b3277 !important;
  background: #eef5ff !important;
  color: #0b3277 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.accessory-reorder-msg-v157 {
  background: #eefbea !important;
  border-color: #43b649 !important;
  color: #1d6f24 !important;
}
.accessory-reorder-ready-v157 {
  cursor: grab !important;
  position: relative !important;
  transition: transform .12s ease, box-shadow .12s ease, outline-color .12s ease !important;
}
.accessory-reorder-ready-v157:active { cursor: grabbing !important; }
.accessory-reorder-dragging-v157 {
  opacity: .55 !important;
  transform: scale(.98) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
}
.accessory-reorder-selected-v157 {
  outline: 4px solid #43b649 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(67,182,73,.22) !important;
}
.accessory-drag-handle-v157 {
  display: block !important;
  margin: 0 0 5px !important;
  padding: 3px 5px !important;
  border: 1px solid #0b3277 !important;
  background: #0b3277 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-align: center !important;
  line-height: 1.1 !important;
  user-select: none !important;
}
.accessory-reorder-container-v157 { min-height: 60px !important; }


/* --- V159 - drag accessoires synchronisé accueil --- */
.accessory-reorder-container-v157 {
  padding-bottom: 28px !important;
}

.accessory-reorder-container-v157::after {
  content: "Dépose ici pour mettre à la fin";
  display: block;
  min-height: 28px;
  margin-top: 8px;
  padding: 6px;
  border: 2px dashed #9db3d8;
  color: #0b3277;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  box-sizing: border-box;
  opacity: .75;
}

.accessory-reorder-dragging-v157 {
  opacity: .55 !important;
}

.accessory-reorder-ready-v157 {
  user-select: none !important;
}


/* --- V160 - drag utilise les flèches accessoires --- */
.accessory-reorder-pending-v160 {
  outline: 4px solid #43b649 !important;
  opacity: .75 !important;
}


/* V172 - bouton partager mobile même largeur que Voir l'annonce */
@media screen and (max-width: 780px) {
  .listing-card .share-listing-btn,
  .listing-card .share-button,
  .listing-card .listing-share-btn,
  .listing-card a[href*="share"],
  .listing-card button[class*="share"],
  .stock-card .share-listing-btn,
  .stock-card .share-button,
  .stock-card .listing-share-btn,
  .stock-card a[href*="share"],
  .stock-card button[class*="share"],
  .vehicle-card .share-listing-btn,
  .vehicle-card .share-button,
  .vehicle-card .listing-share-btn,
  .vehicle-card a[href*="share"],
  .vehicle-card button[class*="share"],
  .public-listing-card .share-listing-btn,
  .public-listing-card .share-button,
  .public-listing-card .listing-share-btn,
  .public-listing-card a[href*="share"],
  .public-listing-card button[class*="share"],
  .listing-actions .share-listing-btn,
  .listing-actions .share-button,
  .listing-actions .listing-share-btn,
  .listing-actions a[href*="share"],
  .listing-actions button[class*="share"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    text-align: center !important;
  }

  .listing-card .listing-actions,
  .stock-card .listing-actions,
  .vehicle-card .listing-actions,
  .public-listing-card .listing-actions {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* V173 - mobile : Partager exactement comme Voir l'annonce */
@media screen and (max-width: 780px) {
  /* On cible la vraie zone des boutons générée par public-listings.js */
  #adminDynamicListings .stock-line-card-v136 .listing-actions-v142,
  #adminDynamicListings .homepage-featured-card .listing-actions-v142,
  .stock-line-card-v136 .listing-actions-v142,
  .homepage-featured-card .listing-actions-v142 {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #adminDynamicListings .stock-line-card-v136 .listing-actions-v142 > a,
  #adminDynamicListings .stock-line-card-v136 .listing-actions-v142 > button,
  #adminDynamicListings .homepage-featured-card .listing-actions-v142 > a,
  #adminDynamicListings .homepage-featured-card .listing-actions-v142 > button,
  .stock-line-card-v136 .listing-actions-v142 > a,
  .stock-line-card-v136 .listing-actions-v142 > button,
  .homepage-featured-card .listing-actions-v142 > a,
  .homepage-featured-card .listing-actions-v142 > button {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px 12px !important;
    text-align: center !important;
    align-self: stretch !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  #adminDynamicListings .stock-line-card-v136 .homepage-featured-btn,
  #adminDynamicListings .stock-line-card-v136 .stock-line-btn-v136,
  #adminDynamicListings .stock-line-card-v136 .share-listing-btn-v142,
  .stock-line-card-v136 .homepage-featured-btn,
  .stock-line-card-v136 .stock-line-btn-v136,
  .stock-line-card-v136 .share-listing-btn-v142 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Pour éviter tout débordement dans la zone texte */
  #adminDynamicListings .stock-line-card-v136 .stock-line-copy-v136,
  .stock-line-card-v136 .stock-line-copy-v136 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}


/* V174 - mobile : tous les encadrés spéciaux avant les accessoires */
.mobile-special-cards-v174,
.mobile-accessory-grids-v174 {
  display: none;
}

@media screen and (max-width: 780px) {
  .mobile-special-cards-v174,
  .mobile-accessory-grids-v174 {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .mobile-special-cards-v174 {
    margin: 8px 0 10px !important;
  }

  .mobile-accessory-grids-v174 {
    margin: 10px 0 0 !important;
  }

  .mobile-special-cards-v174 > a,
  .mobile-special-cards-v174 > article,
  .mobile-special-cards-v174 > section,
  .mobile-special-cards-v174 > div {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
  }

  .mobile-accessory-grids-v174 .accessoires-grille-v77 {
    width: 100% !important;
    margin: 0 0 0 !important;
    box-sizing: border-box !important;
  }

  .mobile-accessory-grids-v174 .accessoires-grille-v77 + .accessoires-grille-v77 {
    margin-top: 0 !important;
    border-top: 0 !important;
  }

  .home-layout.mobile-reordered-v174 > .accessory-side {
    display: none !important;
  }

  .home-layout.mobile-reordered-v174 {
    display: block !important;
  }

  .home-layout.mobile-reordered-v174 > .main-column {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* V175 - mobile : banderole Accessoires Hydrocureur toutes les 5 annonces */
.accessory-mobile-banner-v175 {
  display: none;
}

@media screen and (max-width: 780px) {
  #adminDynamicListings .accessory-mobile-banner-v175,
  .stock-lines-v136 .accessory-mobile-banner-v175 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 12px 0 !important;
    padding: 9px 10px !important;
    border: 2px solid #9db9dc !important;
    background: linear-gradient(90deg, #ffffff 0%, #f4f8ff 48%, #ffffff 100%) !important;
    color: #063c7f !important;
    text-decoration: none !important;
    grid-column: 1 / -1 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.08) !important;
  }

  .accessory-mobile-banner-left-v175 {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
  }

  .accessory-mobile-banner-ah-v175 {
    width: 42px !important;
    height: 42px !important;
    object-fit: contain !important;
    flex: 0 0 42px !important;
  }

  .accessory-mobile-banner-copy-v175 {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    line-height: 1.08 !important;
  }

  .accessory-mobile-banner-copy-v175 strong {
    font-size: 13px !important;
    letter-spacing: .4px !important;
    font-weight: 900 !important;
    color: #063c7f !important;
    white-space: nowrap !important;
  }

  .accessory-mobile-banner-copy-v175 em {
    margin-top: 2px !important;
    font-style: normal !important;
    font-size: 11px !important;
    color: #1f7f3d !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .accessory-mobile-banner-cta-v175 {
    flex: 0 0 auto !important;
    padding: 7px 9px !important;
    background: #063c7f !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }
}

@media screen and (max-width: 390px) {
  .accessory-mobile-banner-ah-v175 {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }
  .accessory-mobile-banner-copy-v175 strong {
    font-size: 11.5px !important;
  }
  .accessory-mobile-banner-copy-v175 em {
    font-size: 10px !important;
  }
  .accessory-mobile-banner-cta-v175 {
    padding: 6px 8px !important;
    font-size: 10px !important;
  }
}


/* V178 - réparation header et logo AH propre, sans toucher au HTML */
.brand-logo-accessoires,
.brand-logo-right-link,
.brand-logo-right-link-v137,
a.accessoires-link {
  text-decoration: none !important;
}

.brand-logo-accessoires img,
.brand-logo-right-link img,
.brand-logo-right-link-v137 img,
a.accessoires-link img {
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  transform: scale(1.12) !important;
  transform-origin: center center !important;
}

/* Empêche tout débordement du logo dans sa case */
.brand-logo-accessoires,
.brand-logo-right-link,
.brand-logo-right-link-v137 {
  overflow: hidden !important;
}


/* V180 - banderole accessoires mobile taille propre définitive */
@media screen and (max-width: 780px) {
  a.accessory-mobile-banner-v175 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 68px !important;
    max-height: 78px !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, #ffffff 0%, #f6fbff 100%) !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-left-v175 {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
  }

  a.accessory-mobile-banner-v175 img.accessory-mobile-banner-ah-v175 {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    flex: 0 0 46px !important;
    object-fit: contain !important;
    transform: none !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-copy-v175 {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-copy-v175 strong {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-copy-v175 em {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-cta-v175 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 94px !important;
    max-width: 112px !important;
    height: 38px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 390px) {
  a.accessory-mobile-banner-v175 {
    padding: 9px 10px !important;
    gap: 8px !important;
  }

  a.accessory-mobile-banner-v175 img.accessory-mobile-banner-ah-v175 {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-copy-v175 strong {
    font-size: 12.5px !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-copy-v175 em {
    font-size: 10.5px !important;
  }

  a.accessory-mobile-banner-v175 .accessory-mobile-banner-cta-v175 {
    min-width: 86px !important;
    max-width: 98px !important;
    height: 34px !important;
    padding: 0 9px !important;
    font-size: 11px !important;
  }
}


/* V181 - mobile titres encadrés spéciaux uniformes */
@media screen and (max-width: 780px) {
  /* Même écriture pour Kits / Robot que Berces / Motopompe */
  .mobile-special-cards-v174 .kit-final-title-v66,
  .mobile-special-cards-v174 .robot-final-title-v85,
  .kit-final-title-v66,
  .robot-final-title-v85 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    overflow: visible !important;
    font-size: 0 !important;
  }

  .mobile-special-cards-v174 .kit-final-title-v66 span,
  .mobile-special-cards-v174 .robot-final-title-v85 span,
  .kit-final-title-v66 span,
  .robot-final-title-v85 span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--blue) !important;
    font-family: 'Arial Narrow', Arial, Helvetica, sans-serif !important;
    font-size: 42px !important;
    line-height: 0.98 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }

  /* Même présence visuelle que les encadrés ajoutés depuis le panel */
  .mobile-special-cards-v174 .kit-final-card-v66,
  .mobile-special-cards-v174 .robot-final-card-v85,
  .kit-final-card-v66,
  .robot-final-card-v85 {
    padding: 14px !important;
    border: 2px solid var(--line) !important;
    box-sizing: border-box !important;
  }

  .mobile-special-cards-v174 .kit-final-photo-v66,
  .mobile-special-cards-v174 .robot-final-photo-v85,
  .kit-final-photo-v66,
  .robot-final-photo-v85 {
    border: 1px solid #d6e0ee !important;
    background: #fff !important;
    padding: 4px !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 390px) {
  .mobile-special-cards-v174 .kit-final-title-v66 span,
  .mobile-special-cards-v174 .robot-final-title-v85 span,
  .kit-final-title-v66 span,
  .robot-final-title-v85 span {
    font-size: 38px !important;
  }
}


/* V182 - mobile : titres encadrés spéciaux vraiment uniformes */
@media screen and (max-width: 780px) {
  .mobile-special-cards-v174 .kit-final-title-v66,
  .mobile-special-cards-v174 .robot-final-title-v85,
  .mobile-special-cards-v174 .home-special-title-v104,
  .kit-final-title-v66,
  .robot-final-title-v85,
  .home-special-title-v104 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
  }

  .mobile-special-cards-v174 .kit-final-title-v66 span,
  .mobile-special-cards-v174 .robot-final-title-v85 span,
  .mobile-special-cards-v174 .home-special-title-v104 span,
  .kit-final-title-v66 span,
  .robot-final-title-v85 span,
  .home-special-title-v104 span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--blue) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(34px, 8.6vw, 42px) !important;
    line-height: 0.98 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }
}

@media screen and (max-width: 390px) {
  .mobile-special-cards-v174 .kit-final-title-v66 span,
  .mobile-special-cards-v174 .robot-final-title-v85 span,
  .mobile-special-cards-v174 .home-special-title-v104 span,
  .kit-final-title-v66 span,
  .robot-final-title-v85 span,
  .home-special-title-v104 span {
    font-size: 34px !important;
    font-weight: 800 !important;
  }
}


/* V183 - mobile : titres encadrés spéciaux moins gros, tous identiques */
@media screen and (max-width: 780px) {
  .mobile-special-cards-v174 .kit-final-title-v66,
  .mobile-special-cards-v174 .robot-final-title-v85,
  .mobile-special-cards-v174 .home-special-title-v104,
  .kit-final-title-v66,
  .robot-final-title-v85,
  .home-special-title-v104 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.04 !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
  }

  .mobile-special-cards-v174 .kit-final-title-v66 span,
  .mobile-special-cards-v174 .robot-final-title-v85 span,
  .mobile-special-cards-v174 .home-special-title-v104 span,
  .kit-final-title-v66 span,
  .robot-final-title-v85 span,
  .home-special-title-v104 span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--blue) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 30px !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }
}

@media screen and (max-width: 390px) {
  .mobile-special-cards-v174 .kit-final-title-v66 span,
  .mobile-special-cards-v174 .robot-final-title-v85 span,
  .mobile-special-cards-v174 .home-special-title-v104 span,
  .kit-final-title-v66 span,
  .robot-final-title-v85 span,
  .home-special-title-v104 span {
    font-size: 28px !important;
    font-weight: 700 !important;
  }
}


/* V5 - logo titre entête */
.brand-title-logo-wrap{font-size:0 !important;line-height:1 !important;margin:0 !important;}
.brand-title-logo{display:block;width:min(100%,760px);height:auto;max-height:120px;object-fit:contain;}
@media (max-width:1360px){.brand-title-logo{max-height:96px;}}
@media (max-width:1024px){.brand-title-logo{margin:0 auto;max-height:72px;width:min(100%,620px);}}
@media (max-width:640px){.brand-title-logo{max-height:54px;width:min(100%,420px);}}


/* V6 - recentrage logo entête CamionCiterne */
html body .brand-copy-v54{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;padding:10px 16px !important;}
html body .brand-copy-v54 .brand-title-logo-wrap{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-height:86px !important;margin:0 auto !important;}
html body .brand-copy-v54 .brand-title-logo{display:block !important;width:auto !important;max-width:min(100%,560px) !important;height:auto !important;max-height:86px !important;margin:0 auto !important;object-fit:contain !important;object-position:center center !important;}
html body .brand-copy-v54 .brand-address{margin-top:10px !important;}
@media (max-width:1360px){html body .brand-copy-v54 .brand-title-logo{max-width:min(100%,500px) !important;max-height:76px !important;}}
@media (max-width:1100px){html body .brand-copy-v54 .brand-title-logo-wrap{min-height:70px !important;} html body .brand-copy-v54 .brand-title-logo{max-width:min(100%,440px) !important;max-height:68px !important;}}
@media (max-width:760px){html body .brand-copy-v54 .brand-title-logo-wrap{min-height:0 !important;} html body .brand-copy-v54 .brand-title-logo{max-width:min(100%,360px) !important;max-height:54px !important;}}


/* V7 - logos latéraux doublés Camion Citerne */
html body .brand-strip-v86 .brand-logo-v54, html body .brand-strip-v86 .brand-logo-right-v86{padding:6px !important;overflow:hidden !important;}
html body .brand-strip-v86 .brand-logo-v54 img.brand-side-logo-v187, html body .brand-strip-v86 .brand-logo-right-v86 img.brand-side-logo-v187{display:block !important;width:auto !important;height:auto !important;max-width:96% !important;max-height:148px !important;object-fit:contain !important;object-position:center center !important;margin:0 auto !important;background:transparent !important;}
html body .brand-strip-v86 .brand-logo-right-double-v187{flex-direction:row !important;gap:0 !important;cursor:default !important;filter:none !important;text-decoration:none !important;}
html body .brand-strip-v86 .brand-logo-right-double-v187:hover{filter:none !important;}
@media (max-width:1100px){html body .brand-strip-v86 .brand-logo-v54 img.brand-side-logo-v187, html body .brand-strip-v86 .brand-logo-right-v86 img.brand-side-logo-v187{max-height:116px !important;max-width:94% !important;}}
@media (max-width:760px){html body .brand-strip-v86 .brand-logo-v54 img.brand-side-logo-v187, html body .brand-strip-v86 .brand-logo-right-v86 img.brand-side-logo-v187{max-height:78px !important;max-width:92% !important;}}


/* V8 - égaliser la taille des logos latéraux gauche/droite */
html body .brand-strip-v86 .brand-logo-v54, html body .brand-strip-v86 .brand-logo-right-v86{display:flex !important;align-items:center !important;justify-content:center !important;padding:6px !important;}
html body .brand-strip-v86 .brand-logo-v54 img.brand-side-logo-v187, html body .brand-strip-v86 .brand-logo-right-v86 img.brand-side-logo-v187{width:112px !important;max-width:112px !important;height:auto !important;max-height:none !important;object-fit:contain !important;object-position:center center !important;margin:0 auto !important;display:block !important;}
@media (max-width:1100px){html body .brand-strip-v86 .brand-logo-v54 img.brand-side-logo-v187, html body .brand-strip-v86 .brand-logo-right-v86 img.brand-side-logo-v187{width:92px !important;max-width:92px !important;}}
@media (max-width:760px){html body .brand-strip-v86 .brand-logo-v54 img.brand-side-logo-v187, html body .brand-strip-v86 .brand-logo-right-v86 img.brand-side-logo-v187{width:68px !important;max-width:68px !important;}}


/* V9 - composant unique pour les deux logos latéraux de l'entête */
html body .brand-strip-v86 .brand-side-badge-v190{display:flex !important;align-items:center !important;justify-content:center !important;padding:8px !important;box-sizing:border-box !important;overflow:hidden !important;background:#fff !important;}
html body .brand-strip-v86 .brand-logo-v54.brand-side-badge-v190{border-right:2px solid var(--line) !important;}
html body .brand-strip-v86 .brand-logo-right-v86.brand-side-badge-v190{border-left:2px solid var(--line) !important;border-right:0 !important;}
html body .brand-strip-v86 .brand-side-badge-v190 img.brand-side-logo-v190{display:block !important;width:122px !important;max-width:122px !important;height:auto !important;max-height:150px !important;object-fit:contain !important;object-position:center center !important;margin:0 auto !important;background:transparent !important;}
@media (max-width:1100px){html body .brand-strip-v86 .brand-side-badge-v190 img.brand-side-logo-v190{width:94px !important;max-width:94px !important;max-height:112px !important;}}
@media (max-width:760px){html body .brand-strip-v86 .brand-side-badge-v190 img.brand-side-logo-v190{width:70px !important;max-width:70px !important;max-height:80px !important;}}


/* V10 - centrage final des logos latéraux de l'entête */
html body .brand-strip-v86 .brand-logo-v54.brand-side-badge-v190,
html body .brand-strip-v86 .brand-logo-right-v86.brand-side-badge-v190{display:grid !important;place-items:center !important;padding:0 !important;box-sizing:border-box !important;overflow:hidden !important;background:#fff !important;}
html body .brand-strip-v86 .brand-logo-v54.brand-side-badge-v190{border-right:2px solid var(--line) !important;}
html body .brand-strip-v86 .brand-logo-right-v86.brand-side-badge-v190{border-left:2px solid var(--line) !important;border-right:0 !important;}
html body .brand-strip-v86 .brand-side-badge-v190 img.brand-side-logo-v190{display:block !important;width:118px !important;max-width:118px !important;height:auto !important;max-height:146px !important;object-fit:contain !important;object-position:center center !important;justify-self:center !important;align-self:center !important;margin:0 !important;transform:none !important;background:transparent !important;}
@media (max-width:1100px){html body .brand-strip-v86 .brand-side-badge-v190 img.brand-side-logo-v190{width:92px !important;max-width:92px !important;max-height:110px !important;}}
@media (max-width:760px){html body .brand-strip-v86 .brand-side-badge-v190 img.brand-side-logo-v190{width:70px !important;max-width:70px !important;max-height:78px !important;}}


/* V16 - taille finale des deux camions de l'entête, positions conservées */
html body .brand-strip-v86 .brand-truck-left .header-truck-left{width:100% !important;height:166px !important;max-width:286px !important;max-height:166px !important;object-fit:contain !important;object-position:center center !important;transform:none !important;}
html body .brand-strip-v86 .brand-truck-right .header-truck-right{width:100% !important;height:168px !important;max-width:272px !important;max-height:168px !important;object-fit:contain !important;object-position:center center !important;transform:translateX(-4px) !important;}
@media (max-width:1100px){html body .brand-strip-v86 .brand-truck-left .header-truck-left{height:112px !important;max-width:205px !important;max-height:112px !important;} html body .brand-strip-v86 .brand-truck-right .header-truck-right{height:114px !important;max-width:208px !important;max-height:114px !important;transform:none !important;}}
@media (max-width:760px){html body .brand-strip-v86 .brand-truck-left .header-truck-left{height:82px !important;max-width:158px !important;max-height:82px !important;} html body .brand-strip-v86 .brand-truck-right .header-truck-right{height:84px !important;max-width:162px !important;max-height:84px !important;transform:none !important;}}


/* V20 - nouveau texte de présentation CamionCiterne.fr */
.presentation-camion-v20{min-height:auto !important;padding:28px 32px !important;}
.presentation-camion-v20 h2{margin:0 0 22px !important;font-size:40px !important;line-height:1.1 !important;}
.presentation-camion-v20 .presentation-text-v20,
.presentation-camion-v20 .presentation-contact-v20{margin:0 0 18px !important;font-family:Arial,sans-serif !important;font-size:23px !important;line-height:1.45 !important;font-weight:700 !important;text-transform:none !important;letter-spacing:0 !important;}
.presentation-camion-v20 .presentation-contact-v20{margin-bottom:0 !important;color:var(--blue) !important;}
.presentation-camion-v20 .presentation-contact-v20 a{color:var(--blue) !important;text-decoration:underline !important;}
@media (max-width:900px){
  .presentation-camion-v20{padding:22px 20px !important;}
  .presentation-camion-v20 h2{font-size:32px !important;}
  .presentation-camion-v20 .presentation-text-v20,
  .presentation-camion-v20 .presentation-contact-v20{font-size:19px !important;line-height:1.4 !important;}
}
@media (max-width:560px){
  .presentation-camion-v20{padding:18px 14px !important;}
  .presentation-camion-v20 h2{font-size:27px !important;}
  .presentation-camion-v20 .presentation-text-v20,
  .presentation-camion-v20 .presentation-contact-v20{font-size:17px !important;}
}


/* V21 - présentation en majuscules, style fidèle au modèle Hydrocureur */
.presentation-camion-v21{min-height:auto !important;padding:28px 32px !important;}
.presentation-camion-v21 h2{margin:0 0 22px !important;font-family:Arial,sans-serif !important;font-size:48px !important;line-height:1.05 !important;font-weight:900 !important;color:var(--blue) !important;text-transform:uppercase !important;letter-spacing:0 !important;}
.presentation-camion-v21 .presentation-text-v21,
.presentation-camion-v21 .presentation-contact-v21{margin:0 0 18px !important;font-family:Arial,sans-serif !important;font-size:24px !important;line-height:1.18 !important;font-weight:900 !important;color:#111 !important;text-transform:uppercase !important;letter-spacing:0 !important;}
.presentation-camion-v21 .presentation-contact-v21{margin-bottom:0 !important;}
.presentation-camion-v21 .presentation-contact-v21 a{color:#111 !important;text-decoration:none !important;}
@media (max-width:1100px){
  .presentation-camion-v21{padding:24px 24px !important;}
  .presentation-camion-v21 h2{font-size:40px !important;}
  .presentation-camion-v21 .presentation-text-v21,
  .presentation-camion-v21 .presentation-contact-v21{font-size:21px !important;}
}
@media (max-width:760px){
  .presentation-camion-v21{padding:20px 16px !important;}
  .presentation-camion-v21 h2{font-size:30px !important;line-height:1.08 !important;}
  .presentation-camion-v21 .presentation-text-v21,
  .presentation-camion-v21 .presentation-contact-v21{font-size:17px !important;line-height:1.25 !important;}
}
