/* Identité commune Ma’Loc : anthracite, ivoire et orange. */
:root{--paper:#151918;--ink:#f4f1e9;--muted:#b1b8b2;--line:#363e39;--orange:#f07836;--green:#242b27;--surface:#202623;--surface-strong:#111513;--red:#f07836;--bg:#151918;color-scheme:dark;font-family:Arial,Helvetica,sans-serif}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.wrap{max-width:1320px;margin:auto;padding-inline:clamp(22px,5vw,76px)}
.topbar{display:block;background:var(--surface-strong);color:var(--ink);border-bottom:1px solid var(--line);padding:0;position:relative;z-index:2}
.topbar .header{display:flex;align-items:center;gap:24px;min-height:92px;padding-block:0}
.topbar .brand,.footer .brand{white-space:nowrap;font:900 34px/1 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-decoration:none;color:var(--ink);font-style:normal}
.topbar .brand b,.footer .brand b{color:var(--orange)}
.topbar .brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.3px;font-weight:700;margin:7px 0 0;line-height:1.4}
.topbar .nav{display:flex;align-items:center;gap:23px;margin-left:auto}
.topbar .nav a{font-size:12px;font-weight:600;color:var(--muted);padding:12px 0;position:relative;text-decoration:none;white-space:nowrap}
.topbar .nav a:hover,.topbar .nav a[aria-current=page]{color:var(--ink)}
.topbar .nav a[aria-current=page]:after{content:'';height:2px;position:absolute;bottom:3px;background:var(--orange);left:0;right:0}
.contact-nav{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--orange);border:1px solid var(--orange);color:#171b18;padding:12px 17px;border-radius:3px;font:700 12px Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
.menu-toggle{display:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px 13px;border-radius:3px;font:600 12px Arial,Helvetica,sans-serif}
.brand b{color:var(--orange)}
.eyebrow{color:var(--muted)}
.intro h1 span{color:var(--orange)}
.button,.button.orange,.contact .button,.range-contact .button{background:var(--orange);border:1px solid var(--orange);color:#171b18;font-family:Arial,Helvetica,sans-serif;border-radius:3px}
.button:hover,.button.orange:hover{background:#fb8d51;filter:none}
.button.outline{background:transparent;color:var(--ink);border-color:#68736a}
.button.white,.button.light{background:var(--ink);color:#171b18;border-color:var(--ink)}
.portal.light,.portal.dark,.portal.equipment{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.portal:hover{box-shadow:0 12px 30px #0004;border-color:#696e60}
.portal.dark:after{display:none}
.three-portals .portal{min-height:570px}
.three-portals .portal-head{min-height:72px;align-items:flex-start}
.three-portals .portal-photo,.three-portals .portal.dark>.portal-photo{position:static;display:block;width:calc(100% - 42px);height:218px;margin:12px 21px 24px;padding:12px;object-fit:contain;background:#fff;opacity:1;border:1px solid #464f46;border-radius:3px}
.three-portals .portal.dark>.portal-photo{object-fit:cover;padding:0;background:var(--surface-strong)}
.three-portals .equipment-visual{height:218px;width:calc(100% - 42px);margin:12px 21px 24px;padding:23px;background:var(--surface-strong);border:1px solid #464f46;border-radius:3px;justify-content:center;gap:14px}
.equipment-visual strong{font-size:52px}
.portal .portal-body>p,.portal.dark p,.equipment .portal-body>p{color:var(--muted)}
.portal .portal-cta,.portal.dark .portal-cta,.equipment .portal-cta{border-color:var(--line);color:var(--ink)}
.portal .portal-cta .arrow{color:var(--orange)}
.portal small{position:absolute;right:25px;top:-23px;font-size:8px;margin:0;color:var(--muted);opacity:1}
.rental,.location-content .rental{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange)}
.rental p,.rental .right p{color:var(--muted)}
.rental .right{border-color:var(--line)}
.trust-strip span:before,.step b{color:var(--orange)}
.category{border-color:var(--line)}
.category img,.subhero .media{border:1px solid var(--line);border-radius:4px}
.category a{color:var(--orange)}
.pelle-visual,.location-content .pelle-visual{background-color:var(--surface);color:var(--ink);border:1px solid var(--line)}
.pelle-visual .big{color:var(--orange)}
.service>span{color:var(--orange)}
.contact-band{border-color:var(--line)}
.dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.dialog .close{background:transparent;color:var(--ink)}
.field,.summary-text{background:var(--surface-strong);color:var(--ink);border-color:#657063}
.field::placeholder{color:#a2aca3;opacity:1}
.success{color:#a7d4b4}
.footer{display:block;background:var(--surface-strong);border-top:1px solid var(--line);padding:35px 0 25px;color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.footer .brand{font-size:26px;color:var(--ink)}
.footer p,.footer a:not(.brand){font:11px/1.8 Arial,Helvetica,sans-serif;color:var(--muted);margin:0;text-decoration:none}
.footer-links{display:flex;gap:24px}
.footer-bottom{margin-top:27px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}
.catalogue-subnav{max-width:1320px;margin:auto;padding:16px clamp(22px,5vw,76px);display:flex;gap:23px;flex-wrap:wrap;border-bottom:1px solid var(--line);font-size:12px}
.catalogue-subnav a{color:var(--muted);text-decoration:none}
.catalogue-subnav a:hover{color:var(--orange)}
.catalogue-page{font:16px/1.5 Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
.catalogue-page .offer{background:var(--surface);color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
.catalogue-page .offer span{color:var(--orange)}
.catalogue-page .hero{background:var(--paper)}
.catalogue-page .hero-photo{background:#fff}
.catalogue-page .hero h1 em,.catalogue-page .range-kicker{color:var(--orange)}
.catalogue-page .benefits,.catalogue-page .catalogue,.catalogue-page .usage{padding-inline:24px}
.catalogue-page .benefits b,.catalogue-page h1,.catalogue-page h2,.catalogue-page h3{color:var(--ink)}
.catalogue-page label{color:var(--muted)}
.catalogue-page input,.catalogue-page select{background:var(--surface);border-color:#657063;color:var(--ink);color-scheme:dark}
.catalogue-page .categories button{background:var(--surface);border-color:var(--line);color:var(--muted)}
.catalogue-page .categories button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#171b18}
.catalogue-page .product,.catalogue-page .spot{background:var(--surface);border-color:var(--line);border-radius:4px;overflow:hidden}
.catalogue-page .product-view,.catalogue-page .spot img{background:#fff}
.catalogue-page .product-bottom button{background:transparent;border-color:#7a877a;color:var(--ink);border-radius:3px}
.catalogue-page .product-bottom button:hover{background:var(--orange);border-color:var(--orange);color:#171b18}
.catalogue-page .product-bottom small,.catalogue-page .detail-note,.catalogue-page .color-summary,.catalogue-page .sources,.catalogue-page .usage,.catalogue-page .spot .price small{color:var(--muted)}
.catalogue-page .specs span,.catalogue-page .color-option,.catalogue-page .guide-box{background:#2d3630;color:var(--ink);border-color:var(--line)}
.catalogue-page .road-badge{background:#2d3630;color:#d5dfd7;border-color:var(--line)}
.catalogue-page .road-badge.offroad,.catalogue-page .unavailable,.catalogue-page .spot .stock{color:#ffb39b!important}
.catalogue-page .road-badge.declared{background:#273d2c;color:#bce2bc}
.catalogue-page .road-badge.unverified{background:#423c27;color:#f3d69b}
.catalogue-page .road-note,.catalogue-page .detail-offer{background:#2c332d;color:var(--ink);border-color:var(--orange)}
.catalogue-page .contact,.catalogue-page .range-contact{background:var(--surface);border-top:1px solid var(--line);color:var(--ink)}
.catalogue-page .contact .eyebrow{color:var(--orange)}
.catalogue-page .contact h2,.catalogue-page .contact p{color:var(--ink)}
.catalogue-page dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.catalogue-page .detail-content{background:var(--surface);color:var(--ink)}
.catalogue-page .detail-content dt{color:var(--muted)}
.catalogue-page .close{background:var(--surface-strong);color:var(--ink);border:1px solid var(--line)}
.catalogue-page .shipping-detail{background:var(--surface);color:var(--ink);border-color:var(--line)}
.catalogue-page .range-top img{mix-blend-mode:normal;background:#fff;border-radius:4px;border:1px solid var(--line)}
.catalogue-page .family{background:var(--surface);border:1px solid var(--line);border-radius:4px}
.catalogue-page .family p{color:var(--muted)}
.catalogue-page .range-nav a{border-color:#657063;color:var(--ink);border-radius:3px}
.catalogue-page .geco-card{background:var(--surface);border-color:var(--line);border-radius:4px;overflow:hidden}
.catalogue-page .geco-card>img,.catalogue-page .geco-gallery img{background:#fff;border-color:var(--line)}
.catalogue-page .geco-copy,.catalogue-page .geco-info{background:var(--surface);color:var(--ink)}
.catalogue-page .geco-lead,.catalogue-page .geco-price span,.catalogue-page .geco-small,.catalogue-page .geco-sources{color:var(--muted)}
.catalogue-page .geco-tag{color:var(--orange)}
@media(min-width:721px) and (max-width:1180px){.topbar .header{flex-wrap:wrap;padding-block:16px;row-gap:15px}.topbar .nav{order:3;flex-basis:100%;justify-content:space-between;margin:0;gap:15px}.topbar .header>.contact-nav{margin-left:auto}.three-portals .portal{min-height:550px}.three-portals .portal-photo,.three-portals .portal.dark>.portal-photo,.three-portals .equipment-visual{width:calc(100% - 30px);margin:12px 15px 24px;height:200px}.three-portals .equipment-visual{padding:18px}.equipment-visual strong{font-size:44px}}
@media(max-width:720px){.topbar .header{min-height:78px;flex-wrap:wrap;gap:12px;padding-block:15px}.topbar .brand{font-size:30px}.topbar .brand small{font-size:7px;letter-spacing:1px}.topbar .contact-nav{margin-left:auto;min-height:40px;padding:9px 12px;font-size:10px}.menu-toggle{display:block}.topbar .nav{display:none;order:4;flex-basis:100%;margin:0;padding-top:10px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.topbar .nav.open{display:flex}.topbar .nav a{font-size:14px;padding:13px 0}.topbar .nav a[aria-current=page]:after{display:none}.three-portals .portal,.three-portals .portal.dark,.three-portals .portal.equipment{min-height:540px}.three-portals .portal-photo,.three-portals .portal.dark>.portal-photo,.three-portals .equipment-visual{width:calc(100% - 42px);height:225px;margin:12px 21px 26px}.equipment-visual strong{font-size:58px}.footer-inner{flex-direction:column;gap:20px}.footer-links{flex-wrap:wrap;gap:15px}.footer-bottom{flex-direction:column}.catalogue-subnav{gap:15px;font-size:11px}.catalogue-page .hero-photo{margin:0 22px 22px;border:1px solid var(--line);border-radius:4px}.catalogue-page .contact h2{font-size:34px}}
@media(max-width:410px){.topbar .header>.contact-nav{order:3;margin-left:0;flex:1}.topbar .header>.menu-toggle{margin-left:auto}.topbar .header>.nav{order:4}.topbar .brand{flex:0 0 auto}}
/* Finition de l’accueil et des parcours de contact. */
html{scroll-padding-top:28px}
.topbar .header{min-height:82px}
.topbar .contact-nav{font-size:11px}
.intro{padding-top:32px;padding-bottom:25px;gap:25px 40px}
.intro h1{font-size:clamp(37px,4vw,55px);line-height:1.04;letter-spacing:-2px}
.intro>p{font-size:14px;max-width:390px}
.three-portals .portal{min-height:492px}
.three-portals .portal-head{min-height:66px;padding-top:20px;align-items:flex-start}
.three-portals .portal-photo,.three-portals .portal.dark>.portal-photo,.three-portals .equipment-visual{height:185px;margin-top:9px;margin-bottom:24px}
.three-portals h2{font-size:27px;min-height:61px;margin-bottom:9px}
.three-portals .portal-body>p{min-height:61px;font-size:12px;margin-bottom:15px}
.three-portals .portal-cta{padding-top:15px;min-height:40px;font-size:12px}
.three-portals .equipment-visual{gap:12px}
.equipment-visual strong{font-size:46px}
.portal:hover .portal-cta{color:var(--orange)}
.messenger-direct{width:100%;margin:3px 0 16px}
.form-divider{display:flex;align-items:center;gap:12px;font-size:11px!important;margin:4px 0 20px!important;color:var(--muted)}
.form-divider:before,.form-divider:after{content:'';height:1px;background:var(--line);flex:1}
.category img{padding:8px}
.button,.contact-nav,.portal-cta{transition:background .16s,color .16s,border-color .16s}
@media(min-width:721px) and (max-width:1180px){.intro{padding-top:28px}.three-portals .portal{min-height:505px}.three-portals h2{font-size:24px;min-height:54px}.three-portals .portal-body>p{min-height:76px}.three-portals .portal-photo,.three-portals .portal.dark>.portal-photo,.three-portals .equipment-visual{height:180px}.equipment-visual strong{font-size:42px}.three-portals .portal-head{min-height:78px}.three-portals .portal-cta{font-size:11px}}
@media(max-width:720px){.topbar .header{min-height:76px}.intro{padding-top:27px;gap:20px;padding-bottom:25px}.intro h1{font-size:39px}.intro>p{max-width:100%;font-size:14px}.three-portals .portal,.three-portals .portal.dark,.three-portals .portal.equipment{min-height:500px}.three-portals .portal-head{min-height:62px;padding-top:22px}.three-portals .portal-photo,.three-portals .portal.dark>.portal-photo,.three-portals .equipment-visual{height:205px;margin:10px 21px 23px}.three-portals h2{font-size:30px;min-height:0}.three-portals .portal-body>p{min-height:0;font-size:13px}.three-portals .portal-cta{font-size:12px}.three-portals .equipment-visual strong{font-size:55px}.trust-strip{padding-top:22px}.service{padding-block:22px}.contact-band .button{width:100%}.topbar .contact-nav{font-size:10px}}
@media(prefers-reduced-motion:reduce){.button,.contact-nav,.portal-cta{transition:none}}

@media(max-width:650px){.catalogue-page .topbar .nav.open a{display:block}.catalogue-page .search-row>label:last-child{display:flex;flex-direction:column}}

.catalogue-supply{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.catalogue-supply label,#detail-variant-field{display:flex;flex-direction:column;gap:8px}.catalogue-supply select,#detail-variant{font:inherit;padding:12px;background:#202823;color:#eee;border:1px solid #657568;max-width:100%}.stock-disclaimer{font-size:13px;line-height:1.6;color:#b8c6b7}.detail-gallery{display:flex;gap:10px;margin:18px 0}.detail-gallery button{padding:0;width:90px;border:1px solid #68796a;background:#fff;cursor:pointer}.detail-gallery img{width:100%;height:70px;object-fit:contain}.detail-description p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}#detail-documents a{color:#ffac6b}@media(max-width:600px){.catalogue-supply{flex-direction:column}.catalogue-supply label{width:100%}}

/* Visuels de campagne validés : conserver leur composition complète. */
.campaign-media{height:auto!important;aspect-ratio:4/5;max-width:540px;margin:auto}.campaign-visual{display:block;width:100%;height:auto!important;object-fit:contain!important}.campaign-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;margin:32px auto}.campaign-gallery img{width:100%;height:auto;border-radius:16px}@media(max-width:640px){.campaign-gallery{grid-template-columns:1fr}}

.mobility-links{display:flex;flex-wrap:wrap;gap:12px}.mobility-links a{flex:1 1 210px}
