/* Car Chaser - fiche vehicule (galerie + carte prix) - NUMERIX84
   Palette : #0B0B0C, #151414, #1E1D1B, #C7A765, #E5C982, #F4F1E9, #A7A29A */
html:has(.ccf),html:has(.ccf) body{overflow-x:clip!important;overflow-y:visible!important}
.ccf{--ink:#0B0B0C;--card:#151414;--tile:#1E1D1B;--line:rgba(199,167,101,.2);--gold:#C7A765;--gold2:#E5C982;--ivory:#F4F1E9;--grey:#A7A29A;--ok:#6FCF97;
  --f:'Jost','Helvetica Neue',Arial,sans-serif;--d:'Cormorant Garamond','Jost',Georgia,serif;
  position:relative;width:auto;max-width:none;margin:0;background:var(--ink);color:var(--ivory);font-family:var(--f);font-weight:300;font-size:15px;line-height:1.6;
  padding:clamp(24px,4vw,48px) max(16px,calc((100% - 1180px) / 2)) clamp(36px,5vw,64px)}
.ccf *,.ccf *:before,.ccf *:after{box-sizing:border-box}
.ccf__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
@media (max-width:900px){.ccf__grid{grid-template-columns:1fr}}

/* galerie */
.ccf__gal{min-width:0}
.ccf__view{position:relative;aspect-ratio:4/3;max-width:100%;border-radius:14px;overflow:hidden;background:#000;cursor:zoom-in;outline:none}
.ccf__view:focus-visible{box-shadow:0 0 0 2px var(--gold2)}
.ccf__img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .6s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.ccf__img.is-on{opacity:1;transform:none}
.ccf__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:rgba(11,11,12,.75)!important;color:var(--ivory)!important;font:300 24px/1 var(--f)!important;cursor:pointer;display:grid;place-items:center;box-shadow:none!important;transition:background .25s,color .25s}
.ccf__nav:hover{background:var(--gold)!important;color:#101010!important}
.ccf__nav--p{left:14px}.ccf__nav--n{right:14px}
.ccf__count{position:absolute;right:14px;bottom:14px;z-index:2;background:rgba(11,11,12,.75);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.ccf__dots{position:absolute;left:50%;bottom:19px;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.ccf__dots i{width:6px;height:6px;border-radius:999px;background:rgba(244,241,233,.45);transition:width .3s,background .3s}
.ccf__dots i.is-on{width:22px;background:var(--gold)}
.ccf__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.ccf__th{flex:0 0 calc((100% - 40px) / 5);aspect-ratio:4/3;padding:0!important;margin:0!important;border:2px solid transparent!important;border-radius:9px!important;overflow:hidden;cursor:pointer;background:#1E1D1B!important;opacity:.55;transition:opacity .25s,border-color .25s;box-shadow:none!important}
.ccf__th img{width:100%!important;height:100%!important;object-fit:cover;display:block}
.ccf__th:hover{opacity:.9}
.ccf__th.is-on{opacity:1;border-color:var(--gold)!important}
@media (max-width:640px){.ccf__th{flex-basis:calc((100% - 30px) / 4)}.ccf__nav{width:38px;height:38px}}

/* carte */
.ccf__card{position:sticky;top:110px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,2.6vw,30px)}
@media (max-width:900px){.ccf__card{position:static}}
.ccf__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--grey)}
.ccf__badge{background:rgba(111,207,151,.12);color:var(--ok);border-radius:999px;padding:4px 11px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.ccf__badge.is-sold{background:rgba(229,201,130,.12);color:var(--gold2)}
.ccf .ccf__title{margin:14px 0 4px!important;font-family:var(--d)!important;font-weight:500!important;font-size:clamp(1.8rem,3.2vw,2.4rem)!important;line-height:1.08!important;letter-spacing:0!important;text-transform:none!important;color:var(--ivory)!important;text-wrap:balance}
.ccf__sub{margin:0!important;color:var(--grey);font-size:14px}
.ccf__price{margin:16px 0 20px!important;font-family:var(--d);font-size:2rem;line-height:1.1;color:var(--gold2)}
.ccf__specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px!important}
.ccf__specs div{background:var(--tile);border-radius:10px;padding:11px 14px;min-width:0}
.ccf__specs dt{margin:0;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.ccf__specs dd{margin:2px 0 0!important;font-weight:400;font-size:15px;color:var(--ivory)}
.ccf__ctas{display:grid;gap:10px}
.ccf__b{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;border:1px solid var(--line);color:var(--ivory)!important;font:500 15px/1.2 var(--f);text-decoration:none!important;text-align:center;transition:border-color .25s,filter .25s}
.ccf__b:hover{border-color:var(--gold)}
.ccf__b--gold{background:linear-gradient(100deg,#B8955A,#E5C982 55%,#C7A765);border-color:transparent;color:#101010!important}
.ccf__b--gold:hover{filter:brightness(1.06)}
.ccf__tel{text-align:center;margin:12px 0 0!important;font-size:13px;color:var(--grey)}
.ccf__tel a{color:var(--ivory)!important;text-decoration:none!important;white-space:nowrap}
.ccf__tel a:hover{color:var(--gold2)!important}

/* sections a deplier */
.ccf__acc{margin-top:clamp(24px,4vw,40px);display:grid;gap:10px}
.ccf details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0}
.ccf summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;font-family:var(--d);font-size:1.35rem;font-weight:500;color:var(--ivory)}
.ccf summary::-webkit-details-marker{display:none}
.ccf summary span{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold);font:300 18px/1 var(--f);transition:transform .3s}
.ccf details[open] summary span{transform:rotate(45deg)}
.ccf__in{padding:0 24px 22px;color:rgba(244,241,233,.85);max-width:78ch}
.ccf__in p{margin:0 0 10px}
.ccf__in a{color:var(--gold2)}
.ccf__in ul{margin:0;padding-left:18px;columns:2;column-gap:32px}
@media (max-width:640px){.ccf__in ul{columns:1}.ccf summary{padding:16px 18px}.ccf__in{padding:0 18px 18px}}

/* visionneuse */
.ccf__lb{position:fixed;inset:0;z-index:100000;background:rgba(5,5,5,.96);display:grid;place-items:center}
.ccf__lb[hidden]{display:none!important}
.ccf__lbimg{max-width:94vw!important;max-height:88vh;border-radius:8px}
.ccf__lb .ccf__nav{position:fixed}
.ccf__x{position:fixed;top:16px;right:16px;width:44px;height:44px;padding:0!important;border-radius:50%!important;border:1px solid var(--line)!important;background:rgba(11,11,12,.6)!important;color:var(--ivory)!important;font:300 18px/1 var(--f)!important;cursor:pointer}
.ccf button:focus-visible,.ccf a:focus-visible,.ccf summary:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.ccf__img{transition:none}}

/* simulateur Lenbox en fenetre */
.ccf__fin{position:fixed;inset:0;z-index:100000;background:rgba(5,5,5,.88);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:clamp(16px,5vh,60px) 16px}
.ccf__fin[hidden]{display:none!important}
.ccf__finbox{position:relative;width:min(560px,100%);background:#fff;border-radius:14px;padding:44px 16px 16px;box-shadow:0 40px 80px -30px #000}
.ccf__fink{position:absolute;top:14px;left:18px;margin:0!important;font:500 11px/1 'Jost',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#8a7344}
.ccf__finbox .ccf__x{position:absolute;top:8px;right:8px;width:34px;height:34px;font-size:14px!important;background:#101010!important;border-color:#101010!important}
