
: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: 8px !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: 8px !important;
}
.gallery-main-frame,
.gallery-main-frame-v2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !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: 8px !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: 8px !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;
}


/* --- 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: 8px !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: 8px !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: 8px !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: 8px !important;
  }
  .vehicle-card img {
    height: 160px !important;
  }
  .content {
    padding: 14px !important;
  }
  .gallery-stage {
    height: clamp(220px, 64vw, 320px) !important;
    min-height: 220px !important;
    padding: 8px !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: 8px !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: 8px !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: 78px !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: 8px !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: 8px !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: 8px !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: 8px !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: 8px !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: 8px !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;
}
