/* JULHID Chartres — identité commune à la Vitrine */
:root{--libertium:#356ff1;--ink:#292b30;--surface:#f5f5f6;accent-color:var(--libertium)}
body{color:var(--ink);background:var(--surface)}
.topbar{border-top:4px solid var(--libertium);box-shadow:0 3px 18px #191b2010;gap:16px;min-height:76px}
.brand{margin-right:auto;gap:16px;color:var(--ink)}
.brand-logo.stock-app-logo{width:158px;height:46px;border-radius:0;object-fit:contain}
.brand>span:last-child{font-size:15px;letter-spacing:.1em}.brand small{display:block;font-size:10px;letter-spacing:.04em;margin-top:5px;color:#64666e}
.vitrine-link{color:var(--libertium);font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap;padding:11px 14px;border:1px solid #ead8d4;border-radius:10px;background:#fff}
.card{border-color:#e3e3e7;border-radius:16px;box-shadow:0 4px 18px #20202705}
h1,h2,h3{color:var(--ink)}.primary{background:var(--libertium)}.secondary{background:var(--ink)}
input,select,textarea{border-color:#d7d7df;border-radius:9px}input:focus,select:focus,textarea:focus{outline:2px solid #356ff140;border-color:var(--libertium)}
button,a,input,select,textarea,summary{outline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--libertium)}
button{transition:background .15s,box-shadow .15s}button:disabled{opacity:.55;cursor:not-allowed}
.bottom-nav{border-top:1px solid #e3e3e7;box-shadow:0 -3px 18px #191b2008;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button.active{color:var(--libertium);background:#fff2ef;border-top-color:var(--libertium)}
.offer-header{border-bottom-color:var(--libertium)}.offer-band{background:#fff2ef;border-left-color:var(--libertium);color:var(--ink)}.offer-total{background:var(--ink)}
.stock-vehicle-photo{border-radius:12px;overflow:hidden}.loading img{box-shadow:none}
@media(max-width:760px){.topbar{padding:8px 14px;gap:8px;min-height:68px;height:auto}.brand{gap:9px}.brand-logo.stock-app-logo{width:112px;height:34px}.brand>span:last-child{font-size:11px}.brand small{font-size:8px}.vitrine-link{font-size:11px;padding:9px}.install{font-size:11px;padding:8px}.bottom-nav button{min-width:0;flex:1}.card{border-radius:12px}}
@media(max-width:380px){.brand>span:last-child{display:block}.brand-sep{display:none}.brand-logo.stock-app-logo{width:92px}.install{max-width:62px}.vitrine-link{padding:8px 5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.vitrine-link{display:none!important}}

.brand{align-items:flex-end}.brand>span:last-child{line-height:1}.brand small{display:none}

/* Propositions JULHID V2 : identité et lisibilité */
:root{--red:#356ff1;--navy:#292b30;--green:#356ff1;--pale:#fff4f1}
.topbar{flex-wrap:wrap}.brand{align-items:flex-end}.brand small{display:block!important;letter-spacing:0;font-weight:500;line-height:1.3;font-size:10px;margin-top:7px}.brand>span:last-child{line-height:1.3}
.offer{color:#292b30;background:white;font-family:Arial,sans-serif}.offer-header{border-bottom:3px solid #356ff1;padding-bottom:20px}.offer-header img{object-fit:contain;max-width:180px;height:auto}.offer h1,.offer h2,.offer h3{color:#292b30}.offer table{width:100%;border-collapse:collapse}.offer td,.offer th{padding:10px 8px;border-bottom:1px solid #e5e5e7;vertical-align:top}.offer-band{background:#fff4f1;border-left:3px solid #356ff1;padding:12px}.offer-total{background:#356ff1!important;color:white!important}.offer-equipment,.offer-source-list{line-height:1.55}.offer img{max-width:100%;object-fit:contain}.offer p,.offer td{overflow-wrap:anywhere}
.eyebrow{color:#b53529;letter-spacing:.08em}.view-head{gap:16px}.card h2{font-size:18px;line-height:1.3}.card{padding:22px}.field label{font-weight:650;color:#555961}.primary{box-shadow:0 3px 8px #356ff118}.primary:hover{background:#a92d22}.offer-totals{border-color:#356ff1}
@media(max-width:760px){.topbar{gap:10px}.brand{flex:1 1 220px}.brand-logo.stock-app-logo{width:122px;height:30px}.brand small{font-size:9px}.card{padding:17px}.offer{padding:16px!important}.offer-header{flex-wrap:wrap}.offer td,.offer th{padding:8px 5px}.view-head{flex-wrap:wrap}}
@media print{.offer{padding:0!important}.offer-header{break-inside:avoid}.offer tr{break-inside:avoid}}

#repriseSearchDialog,#defaultAccessoryDialog{width:min(720px,95vw);max-height:85vh;overflow:auto;border:1px solid #ddd;border-radius:18px;padding:24px}#repriseFind{display:flex;gap:10px}#repriseFind input{min-width:0;flex:1}.reprise-result{padding:16px;border:1px solid #ddd;border-radius:12px;margin:12px 0}.reprise-result p{line-height:1.5}#repriseConnect label{display:block;margin:12px 0}dialog::backdrop{background:#20202088}