/* Inestimables.fr — Menus modernisés — classes préfixées im- pour éviter les collisions */
:root { --im-ink:#15202d; --im-dark:#111923; --im-accent:#dc3c42; --im-muted:#687486; --im-line:#e5e9ee; --im-surface:#fff; }
.im-footer, .im-toolbar, .im-header { font-family: inherit; box-sizing:border-box; }
.im-footer *, .im-toolbar *, .im-header * { box-sizing:border-box; }
.im-footer a, .im-toolbar a, .im-header a { text-decoration:none; }
.im-footer a:focus-visible, .im-toolbar a:focus-visible, .im-header a:focus-visible,
.im-toolbar button:focus-visible, .im-header button:focus-visible { outline:3px solid #ed8185; outline-offset:3px; }
/* Pied de page */
.im-footer { clear:both; background:var(--im-dark); color:#bdc6d1; padding:36px clamp(16px,3vw,46px) 20px; margin-top:32px; }
.im-footer__nav { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.im-footer__nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid #334050; border-radius:13px; padding:17px 8px; min-height:94px; color:#f1f4f7; background:#1c2835; font-size:clamp(12px,1vw,15px); font-weight:650; text-align:center; transition:background .18s,transform .18s,border-color .18s; }
.im-footer__nav a:hover { color:#fff; background:#293747; border-color:#667789; transform:translateY(-3px); }
.im-footer__icon { display:block; font-size:23px; line-height:1.1; color:#f17579; }
.im-footer__bottom { max-width:1320px; margin:24px auto 0; padding-top:17px; border-top:1px solid #36414c; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 25px; font-size:12px; color:#b5bfcb; }
.im-footer__bottom a { color:#edf2f7; text-decoration:underline; text-underline-offset:3px; }
/* En-têtes de compte et de garage */
.im-toolbar { position:relative; z-index:15; background:#fff; border-bottom:1px solid var(--im-line); box-shadow:0 4px 18px rgba(18,31,46,.05); }
.im-toolbar__inner { max-width:1400px; margin:auto; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:76px; }
.im-toolbar__brand, .im-mainnav__brand { display:flex; align-items:center; gap:12px; color:var(--im-dark); font-size:22px; font-weight:850; letter-spacing:-.65px; white-space:nowrap; }
.im-toolbar__brand:hover, .im-mainnav__brand:hover { color:var(--im-dark); }
.im-toolbar__brand .logo_inestimables, .im-mainnav__brand .logo-inestimables { display:inline-block; width:50px; height:50px; background-size:contain; background-position:center; background-repeat:no-repeat; flex:none; }
.im-toolbar__brand-dot, .im-mainnav__brand-name span { color:var(--im-accent); }
.im-toolbar__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:9px; }
.im-toolbar .im-btn, .im-mainnav .im-btn { display:inline-flex; gap:6px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:10px; padding:11px 15px; min-height:42px; line-height:1.3; font:inherit; font-size:14px; font-weight:700; cursor:pointer; white-space:nowrap; transition:background .2s,transform .2s; }
.im-btn--primary { background:var(--im-accent); color:#fff!important; }
.im-btn--primary:hover { background:#b9222e; color:#fff!important; transform:translateY(-1px); }
.im-btn--soft { background:#f2f4f7; color:var(--im-ink)!important; border-color:#e6e9ed!important; }
.im-btn--soft:hover { background:#e7ebf1; }
.im-btn--muted { background:#f3f4f6; color:#747d87; cursor:default!important; }
.im-btn--icon { width:43px; padding:9px!important; font-size:24px!important; background:#fff; color:var(--im-accent)!important; border-color:#efc7ca!important; }
.im-btn--icon:hover { background:#fff0f1; }
/* Barre principale */
.im-header { position:relative; z-index:50; background:#fff; border-bottom:1px solid var(--im-line); box-shadow:0 3px 14px rgba(16,24,40,.08); }
.im-mainnav { max-width:1440px; margin:auto; min-height:76px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.im-mainnav__brand { flex-shrink:0; }
.im-mainnav__links { display:flex; align-items:stretch; gap:2px; min-height:76px; }
.im-mainnav__group { display:flex; position:relative; align-items:center; }
.im-mainnav__toplink { display:flex; align-items:center; gap:7px; padding:12px 6px 12px 16px; color:var(--im-ink); font-weight:750; white-space:nowrap; font-size:14px; }
.im-mainnav__toplink:hover { color:var(--im-accent); }
.im-count { display:inline-flex; justify-content:center; align-items:center; border-radius:999px; padding:2px 6px; font-size:11px; background:#edf0f4; color:#465365; font-weight:750; white-space:nowrap; }
.im-alert { display:inline-block; height:8px; width:8px; border-radius:50%; background:#e3444e; box-shadow:0 0 0 3px #fae2e4; }
.im-mainnav__subtoggle { font:inherit; font-size:20px; color:#637084; border:0; background:none; padding:9px; cursor:pointer; line-height:1; }
.im-mainnav__subtoggle:hover { color:var(--im-accent); }
.im-mainnav__submenu { display:none; position:absolute; z-index:100; top:calc(100% - 4px); left:7px; min-width:238px; max-width:min(330px,90vw); padding:8px; background:#fff; border:1px solid var(--im-line); border-radius:13px; box-shadow:0 16px 38px rgba(14,28,43,.16); }
.im-mainnav__submenu a { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#283548; font-size:13px; padding:12px; border-radius:8px; white-space:nowrap; }
.im-mainnav__submenu a:hover { color:#b32630; background:#fff0f1; }
.im-mainnav__group:hover .im-mainnav__submenu, .im-mainnav__group:focus-within .im-mainnav__submenu, .im-mainnav__group.is-open .im-mainnav__submenu { display:block; }
.im-mainnav__logout { align-self:center; display:flex; align-items:center; gap:7px; padding:10px 12px; color:#b62a34; border-radius:10px; background:#fff1f2; white-space:nowrap; font-size:14px; font-weight:700; }
.im-mainnav__logout:hover { background:#fddfe2; color:#8b1e26; }
.im-mainnav__guest { display:flex; align-items:center; gap:18px; font-weight:700; }
.im-mainnav__guest>a:first-child { color:#344052; }
.im-mainnav__toggle { display:none; border:1px solid #dce2e8; width:46px; height:44px; border-radius:10px; background:#f4f6f8; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; }
.im-mainnav__toggle span { display:block; width:21px; height:2px; background:#263445; }
@media (max-width:1100px) {
 .im-mainnav { flex-wrap:wrap; padding:11px 18px; min-height:70px; }
 .im-mainnav__toggle { display:flex; margin-left:auto; }
 .im-mainnav__links { display:none; width:100%; min-height:0; flex-direction:column; gap:4px; padding:10px 0 4px; border-top:1px solid var(--im-line); }
 .im-mainnav__links.is-open { display:flex; }
 .im-mainnav__group { flex-wrap:wrap; border-radius:10px; background:#f6f8fa; }
 .im-mainnav__toplink { flex:1; padding:13px 15px; }
 .im-mainnav__subtoggle { margin-right:7px; padding:12px 15px; background:#e8edf2; border-radius:8px; }
 .im-mainnav__submenu { display:none!important; flex-basis:100%; position:static; max-width:none; box-shadow:none; border:0; border-top:1px solid #e2e8ee; border-radius:0 0 10px 10px; padding:5px; }
 .im-mainnav__group.is-open .im-mainnav__submenu { display:block!important; }
 .im-mainnav__submenu a { white-space:normal; }
 .im-mainnav__logout { align-self:stretch; justify-content:center; }
}
@media (max-width:760px) {
 .im-footer__nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .im-toolbar__inner { flex-direction:column; align-items:stretch; padding:13px 14px; }
 .im-toolbar__brand { justify-content:center; }
 .im-toolbar__actions { justify-content:center; }
 .im-toolbar .im-btn { flex:1; }
}
@media (max-width:440px) {
 .im-footer { padding:24px 12px 15px; }
 .im-footer__nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .im-footer__nav a { min-height:82px; padding:12px 5px; }
 .im-footer__bottom { justify-content:center; text-align:center; }
 .im-toolbar__brand-name, .im-mainnav__brand-name { font-size:19px; }
 .im-toolbar__brand .logo_inestimables, .im-mainnav__brand .logo-inestimables { width:40px; height:40px; }
 .im-toolbar__actions { gap:6px; }
 .im-toolbar .im-btn { white-space:normal; font-size:12px; padding:9px; }
 .im-mainnav { padding:10px 12px; }
 .im-mainnav__guest { gap:9px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
 .im-footer *, .im-toolbar *, .im-header * { transition:none!important; animation:none!important; }
}
