/* Isolated Design Lab. Shared catalogue data, prices and form contracts stay intact. */
body.gr-tech-lab { --lab-ink:#172b45; --lab-muted:#65768b; --lab-blue:#067db7; --lab-line:#dfe7ee; --lab-bg:#f4f7fa; --lab-radius:16px; color:var(--lab-ink); background:var(--lab-bg); font-family:Montserrat,Arial,sans-serif; font-size:15px; line-height:1.55; }
body.gr-tech-lab *,body.gr-tech-lab *::before,body.gr-tech-lab *::after { box-sizing:border-box; }
body.gr-tech-lab .page-header,body.gr-tech-lab .cs-pageheader { display:none!important; }
body.gr-tech-lab #main { padding:28px max(20px,calc((100% - 1480px)/2)) 100px!important; background:var(--lab-bg); }
body.gr-tech-lab #header .sticky-content { position:relative!important; top:auto!important; margin-top:0!important; }
body.gr-tech-lab #header .sticky-content-wrapper { height:auto!important; }
body.gr-tech-lab #header { position:relative!important; top:auto!important; }
body.gr-tech-lab #header [data-id="b96e444"] { display:none!important; }
body.gr-tech-lab #header [data-id="40cff99"]>.elementor-widget-wrap { padding-top:12px!important; padding-bottom:12px!important; min-height:72px; }
body.gr-tech-lab #header .logo img { max-height:46px; width:auto; }
.grlab-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; padding:0 0 24px; }
.grlab-eyebrow { color:var(--lab-blue); font-size:11px; font-weight:800; letter-spacing:.12em; margin-bottom:10px; }
.grlab-eyebrow span { color:var(--lab-muted); font-weight:500; letter-spacing:.02em; margin-left:14px; }
body.gr-tech-lab .grlab-intro h1 { font-size:clamp(25px,2.5vw,35px); line-height:1.2; letter-spacing:-.035em; margin:0 0 9px; color:var(--lab-ink); font-weight:750; }
.grlab-intro p { color:var(--lab-muted); margin:0; font-size:14px; }
.grlab-project-link { border-bottom:1px solid var(--lab-blue); color:var(--lab-blue); text-decoration:none; font-weight:650; white-space:nowrap; font-size:13px; padding:5px 0; }
.grlab-project-link span { margin-left:10px; }
.grlab-test-tag { position:absolute; right:0; top:-18px; color:var(--lab-muted); font-size:10px; }
body.gr-tech-lab .grlab-layout { max-width:none; width:100%; padding:0!important; margin:0!important; }
body.gr-tech-lab .grlab-layout>.row { display:grid; grid-template-columns:226px minmax(0,1fr); gap:28px; margin:0!important; width:100%!important; text-align:left; align-items:start; }
body.gr-tech-lab .grlab-layout>.row>.col-md-10 { max-width:none; width:auto; padding:0!important; min-width:0; }
body.gr-tech-lab .menu-col { position:sticky; top:20px; display:block!important; max-width:none; width:auto; max-height:calc(100dvh - 40px); overflow-y:auto!important; padding:18px!important; border:1px solid var(--lab-line); background:#fff; border-radius:var(--lab-radius); box-shadow:none; }
body.gr-tech-lab .menu-col>h5 { font-size:13px!important; margin:0 0 14px!important; color:var(--lab-ink)!important; }
body.gr-tech-lab .menu-col>form,body.gr-tech-lab .menu-col>hr,body.gr-tech-lab #mobile-search-container { display:none!important; }
body.gr-tech-lab #famille-menu { gap:4px; border:0; }
body.gr-tech-lab #famille-menu a { border:0!important; border-radius:8px; padding:10px 12px!important; font-size:12px!important; font-weight:550; line-height:1.5; background:transparent; color:var(--lab-muted); white-space:normal; text-align:left; margin:0; }
body.gr-tech-lab #famille-menu a:hover,body.gr-tech-lab #famille-menu a.active { color:#076fa3; background:#eaf5fb; }
.grlab-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:16px 18px; border:1px solid var(--lab-line); background:#fff; border-radius:var(--lab-radius); margin:0 0 24px; box-shadow:0 3px 12px #223c5210; }
.grlab-search { display:flex; align-items:center; flex:1 1 220px; min-width:0; border:1px solid #cdd9e3; background:#f9fbfd; border-radius:10px; padding:0 12px; }
.grlab-search svg { width:19px; height:19px; stroke:var(--lab-muted); fill:none; stroke-width:1.7; flex:none; }
body.gr-tech-lab .grlab-search input { width:100%; min-width:0; height:44px; border:0!important; background:transparent; color:var(--lab-ink); font:inherit; font-size:14px; padding:0 10px!important; margin:0; outline-offset:4px; }
body.gr-tech-lab .grlab-tools select { height:44px; border:1px solid #cdd9e3; border-radius:10px; padding:0 30px 0 12px; background-color:#fff; color:var(--lab-ink); font-family:inherit; font-size:12px; max-width:100%; margin:0; }
.grlab-category-label { display:none; }
.grlab-sort-label { margin:0; }
.grlab-result-meta { flex-basis:auto; display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--lab-muted); font-size:12px; }
.grlab-result-meta button { border:0; background:none; color:var(--lab-blue); font:inherit; cursor:pointer; text-decoration:underline; padding:0; }
.grlab-result-meta button[hidden] { display:none; }
body.gr-tech-lab #techFilterContainer { margin:0!important; }
body.gr-tech-lab .gr-toggle-wrapper { gap:8px; margin:0; }
body.gr-tech-lab .gr-toggle-label { color:var(--lab-ink); font-size:12px; font-weight:600; white-space:nowrap; }
body.gr-tech-lab .gr-switch { margin:0; }
body.gr-tech-lab #stickyDiv { position:relative!important; top:auto!important; z-index:auto; transform:none!important; border:1px solid var(--lab-line)!important; border-radius:var(--lab-radius)!important; margin:0 0 20px!important; padding:18px 20px!important; background:#fff; box-shadow:0 6px 24px #213d7b08; }
body.gr-tech-lab #stickyDiv .vin-grid { display:grid!important; grid-template-columns:140px minmax(0,1fr) 220px 140px; gap:20px; align-items:center; padding:0!important; margin:0!important; border:0!important; border-radius:0!important; background:transparent!important; }
body.gr-tech-lab #stickyDiv:not(.has-results) .vin-grid { display:none!important; }
body.gr-tech-lab #stickyDiv .vin-grid>[id] { max-width:100%; width:100%; padding:0!important; min-width:0; }
body.gr-tech-lab #photosExtCol { grid-column:1; grid-row:1; }
body.gr-tech-lab #devModelCol { grid-column:2; grid-row:1; }
body.gr-tech-lab #vinHeaderCol { grid-column:3; grid-row:1; }
body.gr-tech-lab #photosIntCol { grid-column:4; grid-row:1; }
body.gr-tech-lab #stickyDiv .vin-card { border:0!important; border-radius:0; box-shadow:none!important; background:transparent; padding:0!important; margin:0; min-height:0!important; height:auto!important; }
body.gr-tech-lab #stickyDiv .vin-info-row { display:flex; flex-direction:column; border:0; margin:0 0 4px; padding:0!important; gap:0; }
body.gr-tech-lab #stickyDiv.has-results #devModelCol .vin-info-row:not(:first-child):not(#codeMoteurRow) { display:none!important; }
body.gr-tech-lab #stickyDiv #aosModelLabel { font-size:20px; line-height:1.3; font-weight:750; color:var(--lab-ink); }
body.gr-tech-lab #stickyDiv .vin-info-title,body.gr-tech-lab #stickyDiv .vin-label { font-size:10px; color:var(--lab-muted); text-transform:uppercase; letter-spacing:.05em; margin:0; font-weight:500; }
body.gr-tech-lab #stickyDiv .vin-info-value { font-size:12px; color:var(--lab-muted); word-break:break-word; }
body.gr-tech-lab #vr_vin { font-family:ui-monospace,monospace; font-size:13px!important; color:var(--lab-ink)!important; }
body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-card { display:grid!important; grid-template-columns:1fr 1fr; gap:4px 8px; }
body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-card>.vin-info { grid-column:1/-1; padding:0!important; margin:0!important; }
body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-label { display:none!important; }
body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-info-row { margin:0!important; padding:0!important; }
body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-info-value { padding:0!important; margin:0!important; border:0!important; }
body.gr-tech-lab #stickyDiv #vinHeaderCol #vr_newSearch { grid-column:1; grid-row:2; padding:4px 0!important; margin:0!important; }
body.gr-tech-lab #stickyDiv #vinHeaderCol .veh-details-inside { grid-column:2!important; grid-row:2; width:auto!important; }
body.gr-tech-lab #stickyDiv #vehDetailsBtn { background:none!important; color:var(--lab-blue)!important; border:0!important; box-shadow:none!important; padding:4px 0!important; min-height:28px!important; font-size:11px!important; margin:0!important; }
body.gr-tech-lab #stickyDiv .veh-photo { width:100%!important; height:90px!important; object-fit:contain!important; cursor:zoom-in; background:#fff; border-radius:9px; }
body.gr-tech-lab #stickyDiv #aosImageInt { object-fit:cover!important; }
body.gr-tech-lab #stickyDiv .vin-cta { font-size:12px; padding:8px 12px; min-height:36px; border-radius:8px; background:#eaf5fb; color:var(--lab-blue); border:0; box-shadow:none; line-height:1.4; font-weight:600; text-transform:none; }
body.gr-tech-lab #stickyDiv #vr_newSearch { display:inline-block; margin:6px 5px 0 0!important; padding:4px 0; background:none; text-align:left; min-height:28px; font-size:11px; }
body.gr-tech-lab #stickyDiv .veh-details-inside { padding:0!important; border:0; margin:0!important; text-align:left; }
body.gr-tech-lab #stickyDiv #vehDetailsBtn { padding:4px 0; min-height:28px; font-size:11px; background:none; }
body.gr-tech-lab #stickyDiv .vin-topbar { padding:0!important; }
body.gr-tech-lab #stickyDiv .vin-topbar #searchForm { gap:12px!important; }
body.gr-tech-lab #stickyDiv .vin-topbar .vin-input { height:46px!important; width:auto!important; flex:1 1 300px; max-width:100%!important; border-radius:9px; font-size:14px; }
body.gr-tech-lab #stickyDiv .vin-topbar .vin-cta { background:var(--lab-blue); color:#fff; height:46px!important; width:auto!important; }
body.gr-tech-lab .grlab-layout .col-md-10>.row { display:block; margin:0; width:100%!important; }
body.gr-tech-lab .custom-title { display:block; color:var(--lab-ink)!important; width:100%!important; max-width:100%; font-size:21px; letter-spacing:-.02em; font-weight:750; padding:0 0 12px!important; text-align:left!important; background:transparent!important; border:0!important; box-shadow:none; margin:0 0 16px!important; line-height:1.3; scroll-margin-top:130px; }
body.gr-tech-lab .custom-title:not(:first-child) { margin-top:32px!important; }
body.gr-tech-lab .custom-title+.container { max-width:none; width:100%; padding:0; margin:0!important; }
body.gr-tech-lab .tile-container { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:none; align-items:stretch; }
body.gr-tech-lab .tile { width:100%!important; min-width:0; height:auto!important; min-height:0!important; margin:0!important; border:1px solid var(--lab-line)!important; border-radius:14px; padding:0 0 16px!important; background:#fff!important; text-align:left; box-shadow:0 3px 12px #223c5206; overflow:hidden!important; position:relative; transform:none!important; display:flex; flex-direction:column; transition:box-shadow .18s,border-color .18s; }
body.gr-tech-lab .tile[aria-pressed="true"] { border:2px solid var(--lab-blue)!important; }
body.gr-tech-lab .tile[aria-pressed="true"]::after { content:'Sélectionné ✓'; position:absolute; top:10px; right:10px; border-radius:30px; background:#067db7; color:#fff; padding:5px 9px; font-size:10px; font-weight:650; }
body.gr-tech-lab .tile>img,body.gr-tech-lab .tile .image-container>img { display:block; width:100%!important; max-width:100%!important; height:160px!important; object-fit:cover; margin:0 0 16px; border-radius:0; }
body.gr-tech-lab .tile>.image-container { width:100%; margin:0; }
body.gr-tech-lab .tile h2 { color:var(--lab-ink); font-size:16px!important; line-height:1.45; padding:0 16px; margin:0 0 8px; text-align:left; font-weight:650!important; }
body.gr-tech-lab .tile h2 b { font-weight:650; }
body.gr-tech-lab .tile p { font-size:12px!important; line-height:1.6; padding:0 16px; margin:0 0 10px; color:var(--lab-muted); text-align:left; }
body.gr-tech-lab .tile p.grlab-price { color:var(--lab-blue); font-weight:700; font-size:13px!important; }
body.gr-tech-lab .tile p.grlab-description { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
body.gr-tech-lab .tile .grlab-action { color:var(--lab-blue)!important; font-size:12px!important; font-weight:650; display:block; padding:8px 0 0!important; position:static!important; transform:none!important; left:auto!important; right:auto!important; top:auto!important; bottom:auto!important; width:auto!important; height:auto!important; background:transparent!important; border:0!important; border-radius:0!important; margin:0!important; }
body.gr-tech-lab .tile p:last-child { margin-bottom:0; margin-top:auto; position:static!important; width:100%!important; height:auto!important; transform:none!important; left:auto!important; bottom:auto!important; background:transparent!important; border:0!important; }
body.gr-tech-lab .tile br { display:none; }
body.gr-tech-lab .grlab-empty { padding:48px 20px; border:1px dashed #bdccd8; border-radius:14px; background:#fff; text-align:center; color:var(--lab-muted); }
body.gr-tech-lab .grlab-empty strong { display:block; color:var(--lab-ink); font-size:20px; margin-bottom:8px; }
body.gr-tech-lab #devis-form { max-width:1000px; margin:48px auto 0!important; padding:28px!important; background:#fff; border:1px solid var(--lab-line); border-radius:var(--lab-radius); text-align:left!important; }
body.gr-tech-lab #contact-form { max-width:none; width:100%; margin:0!important; padding:0!important; }
body.gr-tech-lab #contact-form hr { display:none; }
body.gr-tech-lab #contact-form h4 { text-align:left; margin:0 0 22px; font-size:24px; }
body.gr-tech-lab #contact-form .form-control { font-size:15px; min-height:46px; padding:10px 12px; border-radius:8px; border:1px solid #cdd9e3; width:100%; }
body.gr-tech-lab #contact-form label { font-size:13px; color:var(--lab-muted); margin-bottom:6px; }
.grlab-field-label { display:block; font-size:12px; font-weight:600; color:var(--lab-ink); margin:0 0 6px; }
.grlab-form-note { color:var(--lab-muted); font-size:13px; margin:0 0 24px; }
body.gr-tech-lab #submit-form-button { font-size:14px; text-transform:none; letter-spacing:0; padding:14px 22px; border-radius:9px; min-height:48px; background:var(--lab-blue); border:0; }
body.gr-tech-lab #devisBar { z-index:1040; left:0!important; bottom:0!important; width:100%!important; padding:12px max(20px,calc((100% - 1480px)/2))!important; background:#fff!important; color:var(--lab-ink)!important; border-top:1px solid var(--lab-line); box-shadow:0 -8px 30px #1c334019; border-radius:0; height:auto!important; min-height:0!important; transform:none!important; }
body.gr-tech-lab #devisBar.minimized { height:auto!important; }
body.gr-tech-lab #devisBar #closeButton,body.gr-tech-lab #devisBar #expandIcon,body.gr-tech-lab #reserverRendezVousButton { display:none!important; }
body.gr-tech-lab #devisBar #thumbnailsContainer { max-width:45%; max-height:52px; overflow:auto; display:flex!important; gap:8px; }
body.gr-tech-lab #devisBar .thumbnail-wrapper img { width:46px; height:40px; object-fit:cover; }
body.gr-tech-lab #devisBar #prixTotal { color:var(--lab-ink); font-size:13px; margin-right:16px; }
body.gr-tech-lab #devisBar #demanderDevisButton { font-size:13px; padding:12px 18px; border-radius:8px; min-height:44px; text-transform:none; }
body.gr-tech-lab #reset-selection-button { font-size:11px!important; padding:8px; border:0; background:transparent; color:var(--lab-muted); text-decoration:underline; }
.grlab-selection-count { font-size:12px; font-weight:700; color:var(--lab-ink); margin-right:12px; }
body.gr-tech-lab .modal { overflow:hidden!important; z-index:1060; }
body.gr-tech-lab.modal-open,html:has(body.gr-tech-lab.modal-open) { overflow:hidden!important; }
body.gr-tech-lab .modal-backdrop { z-index:1050; }
body.gr-tech-lab .modal-dialog { margin:24px auto; width:calc(100% - 32px); max-width:980px; min-height:0!important; }
body.gr-tech-lab .modal-content { border:0; border-radius:16px; overflow:hidden; box-shadow:0 20px 80px #10243b45; max-height:calc(100dvh - 48px); }
body.gr-tech-lab .modal-header { padding:18px 22px; background:#fff; border-bottom:1px solid var(--lab-line); }
body.gr-tech-lab #modal-nom { font-size:22px!important; line-height:1.35; color:var(--lab-ink)!important; margin:0!important; font-weight:650!important; }
body.gr-tech-lab .modal-header .close { margin:0!important; padding:4px 10px!important; border:0!important; color:var(--lab-ink)!important; opacity:1; }
body.gr-tech-lab .modal-body { padding:22px!important; overflow-y:auto!important; min-height:0; }
body.gr-tech-lab .modal-body p { font-size:14px; line-height:1.7; }
body.gr-tech-lab #infoModal .carousel-inner img { max-height:330px; object-fit:contain; width:100%; }
body.gr-tech-lab #select-technologie,body.gr-tech-lab #deselect-technologie { min-height:44px; font-size:13px; border-radius:8px; text-transform:none; }
body.gr-tech-lab #vehDetailsModal .modal-body img { height:180px!important; object-fit:contain!important; }
body.gr-tech-lab :focus-visible { outline:3px solid #0787bb; outline-offset:3px; }
.grlab-sr { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1199px) {
 body.gr-tech-lab .tile-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.gr-tech-lab #stickyDiv .vin-grid { grid-template-columns:120px minmax(0,1fr) 205px; }
 body.gr-tech-lab #photosIntCol { display:none!important; }
 .grlab-project-link { display:none; }
}
@media(max-width:991px) {
 body.gr-tech-lab #main { padding:22px 20px 100px!important; }
 body.gr-tech-lab .grlab-layout>.row { display:block; }
 body.gr-tech-lab .menu-col { display:none!important; }
 .grlab-category-label { display:block; margin:0; max-width:45%; }
 .grlab-sort-label { display:none; }
 .grlab-tools { position:sticky; top:0; z-index:30; border-radius:12px; gap:10px; padding:12px; }
 .grlab-search { flex-basis:100%; }
 .grlab-result-meta { font-size:11px; }
 .grlab-result-meta { flex-basis:100%; }
 body.gr-tech-lab .custom-title { scroll-margin-top:180px; }
}
@media(max-width:599px) {
 body.gr-tech-lab #main { padding:22px 14px 110px!important; }
 .grlab-intro { padding-bottom:18px; }
 body.gr-tech-lab .grlab-intro h1 { font-size:23px; max-width:330px; }
 .grlab-intro p { display:none; }
 .grlab-eyebrow { font-size:9px; margin-bottom:10px; }
 .grlab-eyebrow span { display:inline; margin-left:8px; font-size:8px; }
 .grlab-test-tag { font-size:8px; top:-12px; }
 body.gr-tech-lab #stickyDiv { padding:14px!important; }
 body.gr-tech-lab #stickyDiv .vin-grid { grid-template-columns:76px minmax(0,1fr)!important; grid-template-areas:'photo model' 'identity identity'!important; column-gap:12px; row-gap:6px; }
 body.gr-tech-lab #stickyDiv #photosExtCol { grid-area:photo!important; }
 body.gr-tech-lab #stickyDiv #devModelCol { grid-area:model!important; }
 body.gr-tech-lab #stickyDiv #vinHeaderCol { grid-area:identity!important; }
 body.gr-tech-lab #vinHeaderCol .vin-card { display:flex; flex-flow:row wrap; align-items:center; column-gap:10px; }
 body.gr-tech-lab #vinHeaderCol .vin-label { display:none; }
 body.gr-tech-lab #stickyDiv #aosModelLabel { font-size:16px; }
 body.gr-tech-lab #stickyDiv .veh-photo { height:54px!important; }
 body.gr-tech-lab #stickyDiv #vr_vin { font-size:11px!important; }
 body.gr-tech-lab #stickyDiv #vr_newSearch { margin:0!important; }
 body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-info { flex:1 1 145px; width:auto!important; }
 body.gr-tech-lab #stickyDiv .vin-topbar #searchForm { display:flex; flex-direction:column; }
 body.gr-tech-lab #stickyDiv .vin-topbar .vin-cta,body.gr-tech-lab #stickyDiv .vin-topbar .vin-input { width:100%!important; flex:auto; font-size:12px; }
 .grlab-tools { margin-bottom:20px; padding:10px; gap:8px; }
 .grlab-result-meta { display:none; }
 .grlab-category-label { flex:1; max-width:55%; min-width:0; }
 body.gr-tech-lab .grlab-tools select { width:100%; font-size:11px; }
 body.gr-tech-lab .gr-toggle-label { font-size:10px; white-space:normal; max-width:90px; }
 body.gr-tech-lab .tile-container { grid-template-columns:1fr; gap:16px; }
 body.gr-tech-lab .tile>img,body.gr-tech-lab .tile .image-container>img { height:180px!important; }
 body.gr-tech-lab .tile h2 { font-size:17px!important; }
 body.gr-tech-lab .tile p { font-size:13px!important; }
 body.gr-tech-lab .tile p.grlab-description { -webkit-line-clamp:2; }
 body.gr-tech-lab .custom-title { font-size:21px; }
 body.gr-tech-lab #devis-form { padding:20px 16px!important; }
 body.gr-tech-lab #contact-form .form-group { margin-bottom:16px; }
 body.gr-tech-lab #devisBar #thumbnailsContainer,body.gr-tech-lab #devisBar #prixTotal,body.gr-tech-lab #reset-selection-button { display:none!important; }
 body.gr-tech-lab #devisBar { padding:10px 14px max(10px,env(safe-area-inset-bottom))!important; }
 body.gr-tech-lab #devisBar[style*="display: block"] { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
 body.gr-tech-lab #devisBar .grlab-selection-count { font-size:10px; margin:0; }
 body.gr-tech-lab #devisBar #demanderDevisButton { font-size:12px; padding:10px 12px; }
 body.gr-tech-lab #devisBar>div[style*="float: right"] { float:right!important; }
 body.gr-tech-lab .modal-dialog { width:calc(100% - 16px); margin:8px auto; min-height:0!important; }
 body.gr-tech-lab .modal-content { max-height:calc(100dvh - 16px); }
 body.gr-tech-lab .modal-body { padding:16px!important; }
 body.gr-tech-lab #modal-nom { font-size:19px!important; }
 body.gr-tech-lab .modal-footer { padding:12px 0; position:sticky; top:0; background:#fff; z-index:2; }
 body.gr-tech-lab #infoModal .carousel-inner img { max-height:220px; }
 body.gr-tech-lab #vehDetailsModal .row>.col-md-6 { padding:0 8px; }
}
body.gr-tech-live .grlab-test-tag { display:none!important; }
@media(min-width:1440px) { body.gr-tech-lab header #menu-main-menu > .grlab-menu-open > ul { opacity:1!important; visibility:visible!important; pointer-events:auto!important; transform:none!important; } }
.grlab-search { margin-bottom:0; }
button.grlab-selection-count { border:0; padding:0; background:none; text-align:left; font-family:inherit; cursor:pointer; }
.grlab-project-summary { padding:0 0 24px; margin-bottom:24px; border-bottom:1px solid var(--lab-line); }
.grlab-project-summary[hidden] { display:none; }
.grlab-project-summary h3 { font-size:20px; color:var(--lab-ink); margin:0 0 12px; }
.grlab-project-summary ul { padding:0; margin:0 0 12px; list-style:none; }
.grlab-project-summary li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #edf1f5; font-size:13px; }
.grlab-project-summary button { background:transparent; color:var(--lab-blue); border:0; padding:8px 0; font:inherit; font-size:12px; text-decoration:underline; white-space:nowrap; }
@media(max-width:599px) {
 .grlab-tools.has-filters .grlab-result-meta { display:flex; }
 body.gr-tech-lab #stickyDiv #vinHeaderCol .vin-card { display:flex!important; flex-flow:row nowrap; align-items:center; gap:8px; }
 body.gr-tech-lab #stickyDiv #devModelCol .vin-info-title { display:none!important; }
 body.gr-tech-lab #devisBar #demanderDevisButton { display:inline-flex!important; align-items:center; height:44px!important; min-height:44px!important; margin:0!important; line-height:1.3!important; }
 body.gr-tech-lab #devisBar>div[style*="clear"] { display:none!important; }
}
/* A compact vehicle workspace, and a project form with a clear visual hierarchy. */
.grlab-kicker { display:block; font-size:10px; font-weight:750; letter-spacing:.13em; color:var(--lab-blue); }
body.gr-tech-lab #stickyDiv .vin-topbar { grid-template-columns:minmax(200px,260px) minmax(0,550px) minmax(180px,1fr); align-items:center; gap:6px 28px; border:0!important; border-radius:0!important; box-shadow:none!important; background:transparent!important; min-height:0!important; height:auto!important; }
body.gr-tech-lab #stickyDiv:not(.has-results) .vin-topbar { display:grid!important; }
body.gr-tech-lab #stickyDiv.has-results .vin-topbar { display:none!important; }
.grlab-vin-guide { display:flex; flex-direction:column; gap:3px; grid-column:1; grid-row:1/3; }
.grlab-vin-guide strong { font-size:16px; color:var(--lab-ink); letter-spacing:-.02em; }
.grlab-vin-guide>span:last-child { color:var(--lab-muted); font-size:11px; }
body.gr-tech-lab #stickyDiv .vin-topbar #searchForm { grid-column:2; display:grid!important; grid-template-columns:minmax(210px,330px) auto; gap:8px!important; width:100%!important; max-width:550px; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; }
.grlab-vin-alternative { grid-column:3; grid-row:1/3; justify-self:end; padding-left:18px; border-left:1px solid var(--lab-line); font-size:11px; color:var(--lab-muted); }
.grlab-vin-alternative>span { display:block; max-width:210px; }
.grlab-vin-alternative>button { display:block; padding:5px 0; background:none; border:0; color:var(--lab-blue); font-size:12px; font-weight:650; cursor:pointer; }
body.gr-tech-lab #stickyDiv .vin-topbar .vin-input { width:100%!important; flex:initial!important; min-width:0!important; height:48px!important; border:1px solid #cdd9e3!important; background:#f8fafc; border-radius:10px!important; padding:0 14px!important; font:500 13px ui-monospace,monospace!important; letter-spacing:.03em; }
body.gr-tech-lab #stickyDiv .vin-topbar .vin-cta { height:48px!important; border-radius:10px!important; font-size:12px; padding:0 16px; white-space:nowrap; }
.grlab-vin-progress { grid-column:1/-1; color:var(--lab-muted); font-size:10px; text-align:left; }
body.gr-tech-lab #stickyDiv .vin-help,body.gr-tech-lab #stickyDiv #vinStatus,body.gr-tech-lab #stickyDiv #vinTimeout { grid-column:2; margin:0; font-size:11px; }
body.gr-tech-lab #stickyDiv .vin-grid { grid-template-columns:125px minmax(240px,1fr) 225px 145px; }
.grlab-vehicle-meta { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.grlab-vehicle-meta:empty { display:none; }
.grlab-vehicle-meta>span { padding:3px 7px; border-radius:5px; background:#f0f5f8; color:#536b7d; font-size:10px; line-height:1.5; }
.grlab-sidebar-vehicle { display:none; padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid var(--lab-line); }
.grlab-catalog-scrolled .grlab-sidebar-vehicle { display:block; }
.grlab-side-identity { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:8px; width:100%; padding:0; border:0; background:none; color:var(--lab-ink); text-align:left; cursor:pointer; margin:0 0 12px; }
.grlab-side-identity[hidden] { display:none; }
.grlab-side-identity img { width:56px; height:48px; object-fit:contain; }
.grlab-side-identity strong { display:block; font-size:11px; line-height:1.45; font-weight:700; overflow-wrap:anywhere; }
.grlab-side-identity small { display:block; color:var(--lab-muted); font-size:9px; margin-top:3px; }
.grlab-side-search { margin:0; }
body.gr-tech-lab .grlab-side-search input { width:100%; min-width:0; height:38px; border:1px solid #d7e2ea; background:#f8fafc; border-radius:8px; padding:0 9px; font:11px Montserrat,Arial,sans-serif; }
body.gr-tech-lab.admin-bar .menu-col { top:52px; max-height:calc(100dvh - 72px); }
body.gr-tech-lab #devis-form.grlab-project { display:grid!important; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); width:100%!important; max-width:1240px!important; min-width:0; padding:0!important; margin:64px auto 20px!important; border:1px solid #dce5ec; border-radius:22px; box-shadow:0 18px 55px #1934480b; overflow:hidden; text-align:left; }
.grlab-project-aside { padding:40px 32px; background:linear-gradient(145deg,#132d45,#183d56); color:#d5e4ed; min-width:0; }
.grlab-project-aside .grlab-kicker { color:#7bd2f3; }
body.gr-tech-lab .grlab-project-aside h2 { font-size:clamp(23px,2.2vw,31px); line-height:1.2; font-weight:700; letter-spacing:-.035em; color:#fff; margin:16px 0; padding:0; }
.grlab-project-aside>p { font-size:12px; color:#bbd0de; line-height:1.8; margin:0 0 28px; }
.grlab-project-steps { list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.grlab-project-steps li { display:flex; align-items:center; gap:12px; font-size:11px; line-height:1.5; }
.grlab-project-steps li>span:first-child { display:grid; place-items:center; width:30px; height:30px; flex:none; border:1px solid #7592a54d; color:#83d8f4; border-radius:50%; font-size:10px; }
body.gr-tech-lab .grlab-project #contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; row-gap:18px; padding:36px!important; align-content:start; }
body.gr-tech-lab .grlab-project #contact-form .form-row { display:contents; }
body.gr-tech-lab .grlab-project #contact-form .form-group { width:100%; max-width:none; padding:0; margin:0; min-width:0; }
body.gr-tech-lab .grlab-project #contact-form h4,body.gr-tech-lab .grlab-project #contact-form .grlab-form-note,body.gr-tech-lab .grlab-project #contact-form .form-group:has(#nom-prenom),body.gr-tech-lab .grlab-project #contact-form .form-group:has(#notes-autres),body.gr-tech-lab .grlab-project #submit-form-button { grid-column:1/-1; }
body.gr-tech-lab .grlab-project #contact-form h4 { font-size:23px; line-height:1.25; font-weight:700; letter-spacing:-.025em; margin:0; }
body.gr-tech-lab .grlab-project #contact-form .grlab-form-note { font-size:12px; margin:-7px 0 4px; }
body.gr-tech-lab .grlab-project #contact-form .grlab-field-label,body.gr-tech-lab .grlab-project #contact-form label { font-size:11px; color:#526a7d; font-weight:600; margin:0 0 6px; }
body.gr-tech-lab .grlab-project #contact-form .form-control { height:48px; min-height:48px; border-radius:9px; font-size:13px; background:#f9fbfc; border-color:#d9e3eb; box-shadow:none; }
body.gr-tech-lab .grlab-project #contact-form .form-control:focus { background:#fff; border-color:var(--lab-blue); box-shadow:0 0 0 3px #067db711; }
body.gr-tech-lab .grlab-project #contact-form .form-control[readonly] { background:#eef3f6; color:#637789; }
body.gr-tech-lab .grlab-project #contact-form .input-group-prepend { display:none; }
body.gr-tech-lab .grlab-project #notes-autres { height:100px!important; resize:vertical; }
body.gr-tech-lab .grlab-project #submit-form-button { width:100%; min-height:48px; border-radius:10px; font-size:13px; background:#087da9; margin:0; }
.grlab-project-aside .grlab-project-summary { padding:24px 0 0; margin:24px 0 0; border-top:1px solid #ffffff24; border-bottom:0; }
.grlab-project-aside .grlab-project-summary h3 { color:#fff; font-size:14px; }
.grlab-project-aside .grlab-project-summary li { color:#dfecf3; font-size:11px; border-color:#ffffff1a; }
.grlab-project-aside .grlab-project-summary button { color:#7ed4f5; font-size:10px; }
body.gr-tech-lab #devisBar .grlab-selection-count { display:inline-flex; align-items:center; gap:8px; min-height:40px; cursor:pointer; }
body.gr-tech-lab #devisBar .grlab-selection-count::after { content:'⌃'; color:var(--lab-blue); font-size:18px; }
body.gr-tech-lab #devisBar { left:50%!important; transform:translateX(-50%)!important; width:min(1100px,calc(100% - 40px))!important; bottom:18px!important; padding:12px 18px!important; border:1px solid #d6e2e9; border-radius:18px; background:#fffffff5!important; box-shadow:0 12px 50px #17364c24; backdrop-filter:blur(14px); }
body.gr-tech-lab #devisBar[style*="display: block"] { display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
body.gr-tech-lab #devisBar #thumbnailsContainer,body.gr-tech-lab #devisBar #reset-selection-button,body.gr-tech-lab #devisBar>div[style*="clear"] { display:none!important; }
body.gr-tech-lab #devisBar>div[style*="float: right"] { float:none!important; display:flex!important; align-items:center; gap:20px; }
body.gr-tech-lab #devisBar #prixTotal { color:var(--lab-ink)!important; font-size:12px!important; font-weight:600!important; margin:0; line-height:1.5; }
body.gr-tech-lab #devisBar #prixTotal b { display:block; color:var(--lab-muted); font-size:9px; font-weight:500; }
body.gr-tech-lab #devisBar #demanderDevisButton { padding:12px 18px!important; margin:0!important; min-height:44px; border:0; background:#173b52; color:#fff; font-size:12px; border-radius:11px; box-shadow:none; }
.grlab-selection-sheet { position:fixed; inset:auto 0 max(80px,env(safe-area-inset-bottom)); width:min(460px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 130px); margin:0 auto; padding:0; border:1px solid #dce6ec; border-radius:20px; background:#fff; color:#17324a; box-shadow:0 20px 90px #0b22363d; overflow:hidden; }
.grlab-selection-sheet:not([open]) { display:none; }
.grlab-selection-sheet[open] { display:flex; flex-direction:column; }
.grlab-selection-sheet::backdrop { background:#102d454d; backdrop-filter:blur(3px); }
.grlab-selection-sheet>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 20px 12px; background:#fff; }
.grlab-selection-sheet h2 { font:700 19px/1.3 Montserrat,Arial,sans-serif; letter-spacing:-.025em; margin:0 0 4px; color:#17324a; }
.grlab-selection-sheet header p { font:11px/1.5 Montserrat,Arial,sans-serif; margin:0; color:#63798b; }
.grlab-sheet-close { display:grid; place-items:center; border:0; background:#eff4f7; color:#23445c; border-radius:50%; width:36px; height:36px; padding:0; font-size:23px; cursor:pointer; flex:none; }
.grlab-sheet-choices { margin:0; padding:0 20px; border:0; overflow-y:auto; min-height:0; }
.grlab-sheet-choice { display:flex; align-items:center; gap:12px; min-height:46px; margin:0; padding:11px 0; border-bottom:1px solid #edf1f5; font:500 12px/1.5 Montserrat,Arial,sans-serif; cursor:pointer; }
.grlab-sheet-choice input { appearance:auto!important; -webkit-appearance:checkbox!important; width:19px!important; height:19px!important; margin:0!important; flex:none; accent-color:#057fab; cursor:pointer; }
.grlab-sheet-choice span { overflow-wrap:anywhere; }
.grlab-sheet-choice.is-off span { color:#7a8b98; }
.grlab-sheet-note { color:#728595; font:10px/1.5 Montserrat,Arial,sans-serif; padding:12px 20px 0; margin:0; }
.grlab-selection-sheet>footer { padding:16px 20px 20px; background:#fff; }
.grlab-sheet-continue { width:100%; border:0; border-radius:10px; padding:13px 16px; background:#087da9; color:#fff; font:600 12px/1.5 Montserrat,Arial,sans-serif; cursor:pointer; }
.grlab-sheet-continue:disabled { background:#e3ebf0; color:#7b8e9c; cursor:default; }
body.gr-tech-lab:has(.grlab-selection-sheet[open]),html:has(.grlab-selection-sheet[open]) { overflow:hidden!important; }
@media(min-width:992px) { .grlab-selection-sheet { margin-right:28px; } }
@media(max-width:1199px) { body.gr-tech-lab #stickyDiv .vin-grid { grid-template-columns:100px minmax(0,1fr) 200px; } .grlab-project-aside { padding:32px 24px; } }
@media(max-width:1099px) { body.gr-tech-lab #stickyDiv .vin-topbar { grid-template-columns:minmax(180px,240px) minmax(0,1fr); gap:6px 18px; } .grlab-vin-alternative { display:none; } }
@media(max-width:767px) {
 body.gr-tech-lab #stickyDiv .vin-topbar { grid-template-columns:1fr; gap:12px; }
 .grlab-vin-guide { grid-column:1; grid-row:auto; }
 body.gr-tech-lab #stickyDiv .vin-topbar #searchForm { grid-column:1; grid-template-columns:minmax(0,1fr) auto; }
 body.gr-tech-lab #stickyDiv .vin-topbar .vin-cta { font-size:10px; padding:0 10px; }
 body.gr-tech-lab #stickyDiv .vin-help,body.gr-tech-lab #stickyDiv #vinStatus,body.gr-tech-lab #stickyDiv #vinTimeout { grid-column:1; }
 body.gr-tech-lab #devis-form.grlab-project { display:block!important; border-radius:16px; margin-top:32px!important; }
 .grlab-project-aside { padding:24px; }
 body.gr-tech-lab .grlab-project-aside h2 { font-size:24px; max-width:300px; margin:10px 0; }
 .grlab-project-aside>p { font-size:11px; margin-bottom:18px; }
 .grlab-project-steps { gap:10px; }
 .grlab-project-steps li { font-size:10px; }
 .grlab-project-steps li>span:first-child { height:24px; width:24px; }
 body.gr-tech-lab .grlab-project #contact-form { padding:24px!important; gap:16px 12px; }
 .grlab-project-aside .grlab-project-summary { margin-top:18px; padding-top:18px; }
}
@media(max-width:599px) {
 .grlab-vehicle-meta { display:none; }
 body.gr-tech-lab #stickyDiv .vin-topbar #searchForm { display:flex!important; flex-direction:column; align-items:stretch; }
 body.gr-tech-lab #stickyDiv .vin-topbar .vin-input,body.gr-tech-lab #stickyDiv .vin-topbar .vin-cta { width:100%!important; flex:none!important; font-size:12px; }
 body.gr-tech-lab .grlab-project #contact-form { grid-template-columns:1fr; }
 .grlab-selection-sheet { bottom:max(80px,env(safe-area-inset-bottom)); border-radius:18px; }
 body.gr-tech-lab #devisBar { width:calc(100% - 24px)!important; bottom:12px!important; padding:10px 12px!important; border-radius:15px; }
 body.gr-tech-lab #devisBar .grlab-selection-count { font-size:10px; line-height:1.4; }
 body.gr-tech-lab #devisBar #demanderDevisButton { font-size:10px!important; padding:10px 12px!important; }
}
/* Keep the grid still: only the card surface and its clipped image respond. */
body.gr-tech-lab .tile.techno-popup { transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease,border-color .24s ease; }
body.gr-tech-lab .tile>.grlab-card-visual { flex:none; height:160px; margin:0 0 16px; overflow:hidden; }
body.gr-tech-lab .tile .grlab-card-visual>img { height:100%!important; margin:0!important; transform:scale(1); transition:transform .28s cubic-bezier(.2,.7,.2,1); }
body.gr-tech-lab .tile h2 { transition:color .22s ease; }
body.gr-tech-lab .tile .grlab-action-arrow { display:inline-block!important; position:static!important; inset:auto!important; width:auto!important; height:auto!important; padding:0!important; margin:0!important; background:transparent!important; border:0!important; color:inherit!important; transform:translateX(0); transition:transform .24s ease; }
body.gr-tech-lab .tile.techno-popup:focus-visible { transform:translateY(-3px)!important; border-color:#168bb6!important; box-shadow:0 14px 32px #173c5424; }
body.gr-tech-lab .tile.techno-popup:focus-visible .grlab-card-visual>img { transform:scale(1.05); }
body.gr-tech-lab .tile.techno-popup:focus-visible h2 { color:var(--lab-blue); }
body.gr-tech-lab .tile.techno-popup:focus-visible .grlab-action-arrow { transform:translateX(4px); }
@media(hover:hover) and (pointer:fine) {
 body.gr-tech-lab .tile.techno-popup:hover { transform:translateY(-3px)!important; border-color:#168bb6!important; box-shadow:0 14px 32px #173c5424; }
 body.gr-tech-lab .tile.techno-popup:hover .grlab-card-visual>img { transform:scale(1.05); }
 body.gr-tech-lab .tile.techno-popup:hover h2 { color:var(--lab-blue); }
 body.gr-tech-lab .tile.techno-popup:hover .grlab-action-arrow { transform:translateX(4px); }
}
@media(hover:none), (pointer:coarse) {
 body.gr-tech-lab .tile.techno-popup:active { transform:scale(.995)!important; border-color:#168bb6!important; box-shadow:0 6px 18px #173c5420; }
}
@media(max-width:767px) { body.gr-tech-lab .tile>.grlab-card-visual { height:180px; } }
@media(prefers-reduced-motion:reduce) {
 body.gr-tech-lab * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
 body.gr-tech-lab .tile.techno-popup,body.gr-tech-lab .tile .grlab-card-visual>img,body.gr-tech-lab .tile .grlab-action-arrow { transform:none!important; }
}
