/* Catalogue d’occasion : composition compacte, indépendante du header/footer. */
.oc-page{--oc-lime:var(--acc-brand-primary,#A5E51B);--oc-muted:#c0c4bf;flex:1;background:radial-gradient(ellipse at 50% 18%,#121613 0,transparent 70%),#070a08}
.oc-page svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.oc-page button,.oc-page select,.oc-page input{font:inherit}
.oc-page button{cursor:pointer}
.oc-page button:disabled,.oc-page select:disabled,.oc-page input:disabled{cursor:wait;opacity:.6}
.oc-hero{position:relative;isolation:isolate;overflow:hidden;min-height:174px;display:flex;align-items:center;background:#090d0b;border-bottom:1px solid #20251c}
.oc-hero::before{content:"";position:absolute;z-index:-1;inset:0 0 0 auto;width:640px;max-width:100%;background:url('./assets/acc-univers-occasion-v2.webp') right 60%/640px auto no-repeat;mask-image:linear-gradient(90deg,transparent,#000 32%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 32%);opacity:.72}
.oc-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}
.oc-hero__inner{width:100%;max-width:1200px;margin:auto;padding:30px 32px}
.oc-hero h1{margin:0 0 8px;font:600 clamp(28px,2.6vw,34px)/1.2 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.oc-hero p{margin:0;font-size:15px;line-height:1.6;color:#ecefe9}
.oc-catalogue{max-width:1200px;width:100%;margin:auto;padding:26px 32px 48px;display:grid;grid-template-columns:244px minmax(0,1fr);align-items:start;gap:32px;min-height:650px}
.oc-filters{border:0;border-radius:5px;background:linear-gradient(130deg,#191d19,#111510 80%);box-shadow:0 10px 30px #0003}
.oc-filters__summary{display:none}
.oc-filters__form{padding:0 17px 18px}
.oc-filters__head{min-height:53px;border-bottom:1px solid #30382a;display:flex;align-items:center;justify-content:space-between;gap:10px}
.oc-filters h2{margin:0;font:600 16px/1.2 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.02em}
.oc-reset{padding:12px 0;min-height:44px;border:0;background:none;text-transform:uppercase;font:400 11px/1.2 'ACC Contact','Arial Narrow',sans-serif!important;color:#d4d8d0}
.oc-reset:hover{color:var(--oc-lime)}
.oc-field{display:block;padding:12px 0 6px;border-bottom:1px solid #2b3327;font:600 12px/1.2 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.025em}
.oc-field select,.oc-sort select{appearance:none;-webkit-appearance:none;color:#dce0d8;border:0;border-radius:2px;background:linear-gradient(90deg,#1a1f18,#171b15);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23b4d632' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding:0 29px 0 8px;cursor:pointer;text-transform:none;letter-spacing:0}
.oc-field select{display:block;width:100%;height:38px;margin-top:5px;font:400 14px/1.3 Arial,sans-serif}
.oc-field select option,.oc-sort select option{background:#191e18;color:#f1f3ee}
.oc-budget{border:0;padding:14px 0 18px;margin:0;min-width:0}
.oc-budget legend{float:left;padding:0;margin:0 0 9px;font:600 12px/1.2 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.025em}
.oc-budget__values{display:flex;justify-content:space-between;clear:both;gap:8px;font-size:12px;color:#d0d8c8}
.oc-budget__ranges{--range-min:0%;--range-max:100%;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:2px}
.oc-budget__ranges::before{content:"";position:absolute;left:6px;right:6px;top:13px;height:2px;background:linear-gradient(90deg,#465137 0 var(--range-min),var(--oc-lime) var(--range-min) var(--range-max),#465137 var(--range-max) 100%);pointer-events:none}
.oc-budget__ranges label{min-width:0;padding-top:30px;font-size:10px;color:#aeb7a5;line-height:1.3}
.oc-budget__ranges label:last-child{text-align:right}
.oc-budget input{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;accent-color:var(--oc-lime)}
.oc-budget input::-webkit-slider-runnable-track{height:2px;background:transparent}
.oc-budget input::-moz-range-track{height:2px;background:transparent}
.oc-budget input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;margin-top:-5.5px;border:1px solid #719C12;border-radius:50%;background:var(--oc-lime);pointer-events:auto;cursor:ew-resize}
.oc-budget input::-moz-range-thumb{width:12px;height:12px;border:1px solid #719C12;border-radius:50%;background:var(--oc-lime);pointer-events:auto;cursor:ew-resize}
.oc-submit{width:100%;min-height:44px;padding:10px 14px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #A5E51B;border-radius:3px;background:linear-gradient(100deg,#A5E51B,#A5E51B);color:#101805;font:600 16px/1.2 'ACC Contact','Arial Narrow',sans-serif!important;text-transform:uppercase;box-shadow:0 0 12px #A5E51B14}
.oc-submit svg{width:18px;height:18px;position:absolute;right:12px;stroke-width:1.4}
.oc-submit:hover{background:#A5E51B}
.oc-results{min-width:0}
.oc-toolbar{min-height:40px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-4px 0 12px}
.oc-toolbar__results{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px}
.oc-count{margin:0;min-height:40px;display:flex;align-items:center;font:500 14px/1.3 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.03em}
.oc-toolbar__controls{display:flex;align-items:center;gap:8px}
.oc-sort{display:flex;align-items:center;gap:9px;white-space:nowrap;font:500 12px/1.2 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase}
.oc-sort select{height:40px;width:157px;font:400 12px/1.3 Arial,sans-serif}
.oc-view{display:flex;gap:3px}
.oc-view button{display:grid;place-items:center;width:34px;height:40px;padding:8px;border:1px solid transparent;border-radius:3px;background:transparent;color:#a9b099}
.oc-view svg{width:18px;height:18px}
.oc-view button[aria-pressed=true]{color:#182007;background:var(--oc-lime)}
.oc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.oc-card{position:relative;min-width:0;overflow:hidden;border:1px solid #2b3329;border-radius:5px;background:linear-gradient(120deg,#1a1f19,#111510 65%);transition:border-color .18s,box-shadow .18s;display:flex;flex-direction:column}
.oc-card:hover{border-color:#719C12;box-shadow:0 6px 24px #0005}
.oc-card__link{display:flex;flex-direction:column;flex:1;min-width:0}
.oc-card__media{position:relative;aspect-ratio:1.64;overflow:hidden;background:#252b22}
.oc-card__media::after{content:"";position:absolute;inset:auto 0 0;height:36%;background:linear-gradient(0deg,#0a0e08a6,transparent);pointer-events:none}
.oc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.oc-card__media--portrait::before{content:"";position:absolute;inset:-18px;background:var(--vehicle-photo) center/cover;filter:blur(13px);opacity:.35}
.oc-card__media--portrait img{position:relative;object-fit:contain}
.oc-card__media--empty::before{content:'Photo non disponible';position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#bbc6ae;font:400 13px/1.4 Arial,sans-serif;text-align:center}
.oc-card__media--empty img{display:none}
.oc-card__link:hover img{transform:scale(1.025)}
.oc-card__tag{position:absolute;z-index:1;left:9px;top:9px;max-width:calc(100% - 18px);padding:3px 6px;background:#A5E51B;color:#1b260d;font:600 11px/1.1 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;transform:rotate(-3deg);border-radius:1px}
.oc-card__tag.oc-card__tag--sold{left:50%;top:50%;width:160%;max-width:none;padding:8px 0;border-block:1px solid #ff9da766;border-radius:0;background:linear-gradient(100deg,#ba1728,#d92b3c);color:#fff;font:700 clamp(20px,2vw,24px)/1.1 'ACC Contact','Arial Narrow',sans-serif;letter-spacing:.12em;text-align:center;transform:translate(-50%,-50%) rotate(-24deg);box-shadow:0 3px 10px #0006;pointer-events:none}
.oc-card__body{display:flex;flex:1;flex-direction:column;padding:13px 14px 14px;min-width:0}
.oc-card h2{margin:0 0 9px;min-height:42px;font:600 18px/1.18 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;overflow-wrap:anywhere}
.oc-card__facts{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;margin:0 0 9px;font-size:12px;line-height:1.5;color:#d0d4cb}
.oc-card__facts span+span::before{content:"·";margin-right:7px;color:#7d8974}
.oc-card__specs{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 9px;color:#cbd0c5;font-size:12px;line-height:1.4}
.oc-card__specs span{display:flex;gap:6px;align-items:center}
.oc-card__specs svg{width:17px;height:17px;flex:none;stroke-width:1.2}
.oc-card__price{margin:auto 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:var(--oc-lime);font:600 21px/1.2 'ACC Contact','Arial Narrow',sans-serif;letter-spacing:.02em}
.oc-card__price small{color:#a4ad9d;font:400 10px/1.3 Arial,sans-serif;letter-spacing:0}
.oc-card__price del{font-size:14px;color:#a8b19f;font-weight:400;letter-spacing:0}
.oc-message{grid-column:1/-1;padding:35px 24px;border:1px solid #303a28;border-radius:4px;background:#141a10;line-height:1.6;color:#cdd6c5;font-size:15px}
.oc-message p{margin:0 0 14px}
.oc-message a{color:var(--oc-lime);text-decoration:underline}
.oc-message button{padding:10px 16px;border:1px solid #719C12;border-radius:3px;background:#1b2810;color:#c8e77b;min-height:44px}
.oc-grid[data-view=list]{grid-template-columns:minmax(0,1fr)}
.oc-grid[data-view=list] .oc-card__link{display:grid;grid-template-columns:38% minmax(0,1fr)}
.oc-grid[data-view=list] .oc-card__media{aspect-ratio:1.64;height:100%;min-height:185px}
.oc-grid[data-view=list] .oc-card__body{padding:20px 24px}
.oc-grid[data-view=list] .oc-card h2{font-size:22px;min-height:0}
@media(min-width:901px){.oc-filters:not([open])>.oc-filters__form{display:block}}
@media(max-width:1150px){
  .oc-catalogue{grid-template-columns:215px minmax(0,1fr);padding-inline:24px;gap:24px}
  .oc-toolbar{flex-wrap:wrap;gap:0}
  .oc-toolbar__results{flex:1}
  .oc-toolbar__controls{margin-left:auto}
  .oc-grid{gap:12px}
  .oc-card__body{padding:11px}
  .oc-card h2{font-size:17px}
  .oc-card__facts{font-size:11px;gap:2px 5px}
  .oc-card__facts span+span::before{margin-right:5px}
  .oc-card__specs{font-size:11px;gap:6px 10px}
}
@media(max-width:1000px) and (min-width:901px){.oc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .oc-hero__inner{padding-inline:24px}
  .oc-hero::before{background-size:650px auto;background-position:right 60%}
  .oc-catalogue{display:block;min-height:600px}
  .oc-filters{margin-bottom:22px}
  .oc-filters__summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:48px;padding:12px 16px;font:600 16px/1.2 'ACC Contact','Arial Narrow',sans-serif;text-transform:uppercase;border:1px solid #4c5c30;border-radius:4px;color:#d6e8b4}
  .oc-filters__summary::-webkit-details-marker{display:none}
  .oc-filters__summary svg{width:20px;height:20px;color:var(--oc-lime)}
  .oc-filters__summary span{margin-left:auto;transition:transform .2s}
  .oc-filters[open] .oc-filters__summary span{transform:rotate(180deg)}
  .oc-filters__form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
  .oc-filters__head{grid-column:1/-1}
  .oc-field{padding-top:14px}
  .oc-budget{padding-block:14px}
  .oc-submit{grid-column:1/-1;margin:4px 0 0}
  .oc-toolbar{min-height:44px;gap:6px 12px}
  .oc-sort select{height:44px}
  .oc-view button{height:44px;width:38px}
  .oc-count{min-height:44px}
  .oc-card h2{font-size:18px}
  .oc-card__facts,.oc-card__specs{font-size:12px}
}
@media(max-width:650px){
  .oc-hero{min-height:180px}
  .oc-hero__inner{padding:27px 20px;max-width:500px;margin-left:0}
  .oc-hero h1{font-size:29px;max-width:330px}
  .oc-hero p{font-size:14px;max-width:270px;line-height:1.5}
  .oc-hero::before{background-size:550px auto;opacity:.4}
  .oc-catalogue{padding:20px 18px 32px}
  .oc-filters{margin-bottom:14px}
  .oc-filters__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding-inline:14px}
  .oc-field select{height:44px;font-size:16px;padding-left:6px;padding-right:24px}
  .oc-budget{grid-column:1/-1}
  .oc-budget__ranges{gap:24px}
  .oc-budget input{height:40px}
  .oc-budget__ranges::before{top:19px}
  .oc-budget__ranges label{padding-top:40px}
  .oc-budget__ranges label{font-size:12px}
  .oc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .oc-toolbar{margin-bottom:14px}
  .oc-toolbar__results{justify-content:space-between;flex-basis:100%;gap:6px}
  .oc-count{font-size:15px}
  .oc-toolbar__controls{margin:0;width:100%}
  .oc-sort{justify-content:space-between;width:100%;font-size:13px}
  .oc-sort select{font-size:14px;width:calc(100% - 80px);min-height:44px}
  .oc-view{display:none}
  .oc-card__body{padding:12px}
  .oc-card h2{font-size:18px;min-height:44px}
  .oc-card__facts,.oc-card__specs{font-size:12px}
  .oc-grid[data-view=list]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc-grid[data-view=list] .oc-card__link{display:flex}
  .oc-grid[data-view=list] .oc-card__media{min-height:0;height:auto}
  .oc-grid[data-view=list] .oc-card__body{padding:12px}
  .oc-grid[data-view=list] .oc-card h2{font-size:18px;min-height:44px}
}
@media(max-width:480px){
  .oc-grid,.oc-grid[data-view=list]{grid-template-columns:minmax(0,1fr)}
  .oc-card__media{aspect-ratio:1.65}
  .oc-card__body,.oc-grid[data-view=list] .oc-card__body{padding:15px 16px 17px}
  .oc-card h2,.oc-grid[data-view=list] .oc-card h2{font-size:21px;min-height:0;margin-bottom:10px}
  .oc-card__facts,.oc-card__specs{font-size:13px}
  .oc-card__specs{gap:8px 20px}
  .oc-card__price{font-size:24px}
  .oc-card__tag{font-size:12px;padding:4px 7px}
}
@media(prefers-reduced-motion:reduce){.oc-page *{transition:none!important}}
@media(max-width:360px){.oc-filters__form{grid-template-columns:minmax(0,1fr)}}

/* Harmonisation des catalogues Occasion et Neuf — 07/11/2026.
   Cadre plus respirant sur desktop : moins d'effet "zoom", cartes plus fines
   et images proportionnellement plus hautes. Aucune modification mobile. */
@media (min-width: 901px) {
  .oc-hero__inner,
  .oc-catalogue,
  .oc-page--neuf .nc-demo-notice {
    max-width: 1100px;
  }
  .oc-catalogue {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 28px;
    padding-top: 34px;
    padding-bottom: 62px;
  }
  .oc-grid {
    gap: 16px;
  }
  .oc-card__media {
    aspect-ratio: 1.40;
  }
  .oc-card__body {
    padding: 12px 12px 14px;
  }
  .oc-card h2 {
    font-size: 16px;
    min-height: 40px;
  }
  .oc-card__price {
    font-size: 20px;
  }
}
/* List view: conserver les proportions horizontales spécifiques à ce mode. */
@media (min-width: 901px) {
  .oc-grid[data-view="list"] .oc-card__media {
    aspect-ratio: 1.64;
  }
  .oc-grid[data-view="list"] .oc-card h2 {
    font-size: 20px;
    min-height: 0;
  }
}
