/* NOOVOCAR V1.13.2.7 — interface sobre, premium, discrète */
:root{
  --nv-ui-ink:#0a3550;
  --nv-ui-muted:#667b8f;
  --nv-ui-line:#cddbe5;
  --nv-ui-line-strong:#a9c2d1;
  --nv-ui-soft:#f7fafc;
  --nv-ui-soft-blue:#edf6fb;
  --nv-ui-blue:#0b6f9f;
  --nv-ui-blue-dark:#07577d;
  --nv-ui-yellow:#f6c400;
  --nv-ui-yellow-dark:#d5aa00;
  --nv-ui-green:#18875f;
  --nv-ui-red:#b64b57;
  --nv-ui-shadow:0 2px 8px rgba(20,60,82,.08);
  --nv-ui-shadow-hover:0 5px 14px rgba(20,60,82,.12);
}

/* Boutons : compacts, nets, non enfantins. */
button,
input[type="submit"],input[type="button"],
.primary,.secondary,.outline,.danger,
.headbtn,.homebtn,.iconbtn,.toolbtn,.viewbtn,.pagebtn,.cardaction,
.accountBtn,.proBtn,.freeCta,.proCta,
.mobileMenuBtn,.mobileLoginAction,.mobileLogoutBtn,.mobileRegisterAction,
.noovocar-return-btn,.nando-send,.nando-monitor,.photo-tool,.photo-nav,
.closebtn,.maptoggle,.worktoggle,.searchsubmit,.zoom-photo-btn,
.btn,.button,.action-btn,.cta,.contact-btn{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  border-radius:9px!important;
  min-height:34px;
  padding:7px 12px!important;
  border:1px solid var(--nv-ui-line)!important;
  background:#fff!important;
  color:var(--nv-ui-ink)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  box-shadow:var(--nv-ui-shadow)!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease!important;
  cursor:pointer;
}

button:hover,
input[type="submit"]:hover,input[type="button"]:hover,
.primary:hover,.secondary:hover,.outline:hover,.danger:hover,
.headbtn:hover,.homebtn:hover,.iconbtn:hover,.toolbtn:hover,.viewbtn:hover,.pagebtn:hover,.cardaction:hover,
.accountBtn:hover,.proBtn:hover,.freeCta:hover,.proCta:hover,
.mobileMenuBtn:hover,.mobileLoginAction:hover,.mobileLogoutBtn:hover,.mobileRegisterAction:hover,
.noovocar-return-btn:hover,.nando-send:hover,.nando-monitor:hover,.photo-tool:hover,.photo-nav:hover,
.closebtn:hover,.maptoggle:hover,.worktoggle:hover,.searchsubmit:hover,.zoom-photo-btn:hover,
.btn:hover,.button:hover,.action-btn:hover,.cta:hover,.contact-btn:hover{
  transform:translateY(-1px)!important;
  border-color:var(--nv-ui-line-strong)!important;
  background:var(--nv-ui-soft)!important;
  box-shadow:var(--nv-ui-shadow-hover)!important;
}

button:active,
input[type="submit"]:active,input[type="button"]:active,
.primary:active,.secondary:active,.outline:active,.danger:active,
.headbtn:active,.homebtn:active,.iconbtn:active,.toolbtn:active,.viewbtn:active,.pagebtn:active,.cardaction:active,
.accountBtn:active,.proBtn:active,.freeCta:active,.proCta:active,
.noovocar-return-btn:active,.nando-send:active,.nando-monitor:active,
.closebtn:active,.maptoggle:active,.worktoggle:active,.searchsubmit:active,.zoom-photo-btn:active,
.btn:active,.button:active,.action-btn:active,.cta:active,.contact-btn:active,
.nv-pressed{
  transform:translateY(0)!important;
  background:#e8f1f6!important;
  border-color:#8faebe!important;
  color:#062f47!important;
  box-shadow:inset 0 1px 4px rgba(20,60,82,.12)!important;
}

button:focus-visible,
input[type="submit"]:focus-visible,input[type="button"]:focus-visible,
.primary:focus-visible,.secondary:focus-visible,.outline:focus-visible,.danger:focus-visible,
.noovocar-return-btn:focus-visible,.btn:focus-visible,.button:focus-visible,.action-btn:focus-visible,.cta:focus-visible{
  outline:2px solid rgba(11,111,159,.32)!important;
  outline-offset:2px!important;
}

button:disabled,input[type="submit"]:disabled,input[type="button"]:disabled,
.primary[aria-disabled="true"],.secondary[aria-disabled="true"]{
  opacity:.48!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Actions principales : bleu NOOVOCAR, sans effet néon. */
.primary,.searchsubmit,.proBtn,.proCta,.nando-send,.nando-monitor,.mobileRegisterAction,
button[type="submit"].primary{
  border-color:var(--nv-ui-blue)!important;
  background:var(--nv-ui-blue)!important;
  color:#fff!important;
}
.primary:hover,.searchsubmit:hover,.proBtn:hover,.proCta:hover,.nando-send:hover,.nando-monitor:hover,.mobileRegisterAction:hover{
  border-color:var(--nv-ui-blue-dark)!important;
  background:var(--nv-ui-blue-dark)!important;
  color:#fff!important;
}
.primary:active,.searchsubmit:active,.proBtn:active,.proCta:active,.nando-send:active,.nando-monitor:active,.mobileRegisterAction:active{
  background:#064564!important;
  border-color:#064564!important;
  color:#fff!important;
}

/* Accent commercial jaune : seulement là où il est déjà sémantiquement utilisé. */
.accountBtn,.freeCta{
  border-color:var(--nv-ui-yellow-dark)!important;
  background:#fff8d7!important;
  color:#283843!important;
}
.accountBtn:hover,.freeCta:hover{background:#fff1af!important;border-color:#c99f00!important}

.danger,.mobileLogoutBtn{
  border-color:#e0b7bc!important;
  background:#fff!important;
  color:#8f3440!important;
}
.danger:hover,.mobileLogoutBtn:hover{background:#fff3f4!important;border-color:#cb828b!important}

/* Contacts : visibles mais sobres. */
a[href^="tel:"],button[data-contact="phone"],.call-btn,.phone-btn{
  border-color:#9ecfbc!important;
  background:#f5fbf8!important;
  color:#146748!important;
}
.message-btn,[data-contact="message"]{
  border-color:#aac6d7!important;
  background:#f6fafc!important;
  color:#0a4e73!important;
}
a[href^="mailto:"],.email-btn,[data-contact="email"]{
  border-color:#b9d3df!important;
  background:#f8fbfc!important;
  color:#155a78!important;
}

.iconbtn,.favbtn{
  padding:0!important;
  min-width:34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
}

/* Navigation retour : discrète dans le bandeau. */
.noovocar-return-controls{display:flex!important;align-items:center!important;gap:6px!important;position:static!important;margin:0 6px 0 0!important;flex:0 0 auto!important}
.noovocar-return-btn{min-height:32px!important;padding:6px 10px!important;font-size:12px!important;white-space:nowrap!important;background:#fff!important}
.noovocar-return-btn .nv-icon{font-size:14px!important;line-height:1!important}
.noovocar-header-actions-with-return{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
.noovocar-header-with-return{display:flex!important;align-items:center!important}
.noovocar-header-with-return>.noovocar-return-controls{margin-left:auto!important}
.noovocar-return-fallback-row{position:relative!important;z-index:3!important;background:transparent!important;border:0!important;padding:6px 14px!important;display:flex!important;align-items:center!important}

/* Accueil : trois zones séparées. Le logo ne peut plus être recouvert par le menu. */
@media(min-width:981px){
  .homeHeader{
    display:grid!important;
    grid-template-columns:minmax(250px,300px) minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:16px!important;
    min-height:74px!important;
    padding:9px 24px!important;
    overflow:visible!important;
  }
  .homeBrand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
    position:relative!important;
    z-index:2!important;
  }
  .homeBrand img{
    display:block!important;
    width:100%!important;
    max-width:290px!important;
    height:auto!important;
    max-height:44px!important;
    object-fit:contain!important;
    object-position:left center!important;
    clip-path:none!important;
    transform:none!important;
    overflow:visible!important;
  }
  .homeNav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .homeNav a{
    padding:8px 9px!important;
    border-radius:7px!important;
    font-size:13px!important;
    font-weight:700!important;
    box-shadow:none!important;
  }
  .homeRight{display:flex!important;align-items:center!important;gap:7px!important;min-width:max-content!important;margin-left:0!important}
}

@media(min-width:981px) and (max-width:1220px){
  .homeHeader{grid-template-columns:minmax(220px,250px) minmax(0,1fr) auto!important;column-gap:10px!important;padding-left:18px!important;padding-right:18px!important}
  .homeBrand img{max-width:245px!important;max-height:38px!important}
  .homeNav a{font-size:12px!important;padding:7px 7px!important}
  .homeRight{gap:5px!important}
  .homeRight .langselect{max-width:112px!important}
}

@media(max-width:980px) and (min-width:761px){
  .homeHeader{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) auto!important;
    grid-template-areas:"brand right" "nav nav"!important;
    gap:7px 12px!important;
    padding:8px 16px!important;
    overflow:visible!important;
  }
  .homeBrand{grid-area:brand!important;min-width:0!important;overflow:visible!important}
  .homeBrand img{display:block!important;width:min(260px,100%)!important;height:auto!important;max-height:42px!important;object-fit:contain!important;object-position:left center!important;clip-path:none!important;transform:none!important}
  .homeNav{grid-area:nav!important;width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;gap:2px!important}
  .homeRight{grid-area:right!important}
}

/* Sur l'accueil, pas de commande Retour/Espace PRO en doublon : la navigation native suffit. */
body.noovocar-landing-page .noovocar-return-controls,
body.noovocar-landing-page .noovocar-return-fallback-row{display:none!important}

/* Thème sombre : même sobriété. */
html[data-theme="dark"] button,
html[data-theme="dark"] input[type="submit"],html[data-theme="dark"] input[type="button"],
html[data-theme="dark"] .primary,html[data-theme="dark"] .secondary,html[data-theme="dark"] .outline,
html[data-theme="dark"] .headbtn,html[data-theme="dark"] .homebtn,html[data-theme="dark"] .iconbtn,
html[data-theme="dark"] .toolbtn,html[data-theme="dark"] .viewbtn,html[data-theme="dark"] .pagebtn,
html[data-theme="dark"] .cardaction,html[data-theme="dark"] .noovocar-return-btn,
html[data-theme="dark"] .btn,html[data-theme="dark"] .button,html[data-theme="dark"] .action-btn,html[data-theme="dark"] .cta{
  background:#10202b!important;
  border-color:#35505f!important;
  color:#eef7fb!important;
  box-shadow:0 2px 7px rgba(0,0,0,.18)!important;
}
html[data-theme="dark"] button:hover,
html[data-theme="dark"] .secondary:hover,html[data-theme="dark"] .outline:hover,
html[data-theme="dark"] .headbtn:hover,html[data-theme="dark"] .homebtn:hover,
html[data-theme="dark"] .toolbtn:hover,html[data-theme="dark"] .cardaction:hover,
html[data-theme="dark"] .noovocar-return-btn:hover{
  background:#172c39!important;
  border-color:#4d6f80!important;
  color:#fff!important;
}
html[data-theme="dark"] .primary,html[data-theme="dark"] .searchsubmit,html[data-theme="dark"] .proBtn,html[data-theme="dark"] .proCta{
  background:#0b6f9f!important;border-color:#0b6f9f!important;color:#fff!important;
}

@media(max-width:760px){
  button,input[type="submit"],input[type="button"],.primary,.secondary,.outline,.danger,.headbtn,.homebtn,.toolbtn,.viewbtn,.pagebtn,.cardaction,.noovocar-return-btn,.btn,.button,.action-btn,.cta{font-size:12px!important;padding:6px 9px!important;min-height:32px!important}
  .noovocar-return-controls{gap:5px!important;margin-right:4px!important}
  .homeBrand{min-width:0!important;overflow:visible!important}
  .homeBrand img{display:block!important;width:min(215px,68vw)!important;height:auto!important;max-height:42px!important;object-fit:contain!important;object-position:left center!important;clip-path:none!important;transform:none!important}
}
@media(max-width:430px){
  .noovocar-return-btn{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;justify-content:center!important}
  .noovocar-return-btn .nv-label{display:none!important}
  .homeBrand img{width:min(195px,65vw)!important;max-height:38px!important}
}
@media(prefers-reduced-motion:reduce){
  button,input[type="submit"],input[type="button"],.primary,.secondary,.outline,.danger,.headbtn,.homebtn,.toolbtn,.cardaction,.noovocar-return-btn{transition:none!important}
}
@media print{.noovocar-return-controls,.noovocar-return-fallback-row{display:none!important}}

/* ==========================================================
   NOOVOCAR V1.13.2.8 — commandes icônes discrètes type app
   ========================================================== */
:root{
  --nv-icon-size:38px;
  --nv-icon-bg-hover:rgba(11,111,159,.09);
  --nv-icon-bg-active:#0b6f9f;
  --nv-icon-fg:#294a5e;
  --nv-icon-fg-hover:#07577d;
  --nv-tip-bg:#17303f;
  --nv-tip-fg:#fff;
}

/* Les petites commandes d'interface n'ont plus l'apparence d'un gros bouton. */
.nv-iconic-action{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 var(--nv-icon-size)!important;
  width:var(--nv-icon-size)!important;
  min-width:var(--nv-icon-size)!important;
  max-width:var(--nv-icon-size)!important;
  height:var(--nv-icon-size)!important;
  min-height:var(--nv-icon-size)!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--nv-icon-fg)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .16s ease,color .16s ease,transform .14s ease,box-shadow .16s ease!important;
}
.nv-iconic-action .nv-svg-icon{
  display:block!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  stroke:currentColor!important;
  fill:none!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.nv-iconic-action .nv-icon-hidden-label,
.nv-iconic-action > span:not(.nv-preserve-badge):not(.notify-count):not(.mobile-alert-count):not(.alerts-unified-count){
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.nv-iconic-action:hover,
.nv-iconic-action:focus-visible{
  transform:translateY(-1px) scale(1.035)!important;
  background:var(--nv-icon-bg-hover)!important;
  color:var(--nv-icon-fg-hover)!important;
  border:0!important;
  box-shadow:0 4px 12px rgba(11,111,159,.09)!important;
}
.nv-iconic-action:active,
.nv-iconic-action.nv-icon-clicked,
.nv-iconic-action.nv-pressed{
  transform:scale(.93)!important;
  background:var(--nv-icon-bg-active)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 0 0 5px rgba(11,111,159,.10)!important;
}
.nv-iconic-action:focus-visible{
  outline:2px solid rgba(11,111,159,.30)!important;
  outline-offset:2px!important;
}

/* Infobulle discrète qui apparaît au survol/focus, comme une interface d'app. */
.nv-iconic-action[data-nv-tip]::after{
  content:attr(data-nv-tip);
  position:absolute;
  z-index:99999;
  left:50%;
  top:calc(100% + 8px);
  transform:translate(-50%,-2px);
  padding:5px 8px;
  border-radius:6px;
  background:var(--nv-tip-bg);
  color:var(--nv-tip-fg);
  font:600 11px/1.15 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.01em;
  white-space:nowrap;
  box-shadow:0 5px 16px rgba(0,0,0,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .13s ease,transform .13s ease,visibility .13s ease;
}
.nv-iconic-action[data-nv-tip]:hover::after,
.nv-iconic-action[data-nv-tip]:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

/* Compteurs d'alertes/favoris restent visibles sur le bord du cercle. */
.nv-iconic-action .notify-count,
.nv-iconic-action .mobile-alert-count,
.nv-iconic-action .alerts-unified-count,
.nv-iconic-action .nv-preserve-badge{
  position:absolute!important;
  top:-3px!important;
  right:-4px!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#d74755!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:0 0 0 2px #fff!important;
  clip:auto!important;
  margin:0!important;
  width:auto!important;
  overflow:visible!important;
  white-space:nowrap!important;
}

/* Barre d'accueil : navigation par petites icônes, davantage d'air. */
.homeNav{gap:7px!important}
.homeNav a.nv-iconic-action{padding:0!important;font-size:0!important}
.homeRight{gap:6px!important}
.homeRight .nv-iconic-action{flex:0 0 var(--nv-icon-size)!important}

/* Retour / Espace PRO suivent le même langage graphique sur les pages secondaires. */
.noovocar-return-btn.nv-iconic-action{
  background:transparent!important;
  padding:0!important;
  font-size:0!important;
}
.noovocar-return-controls{gap:6px!important}

/* Favoris et commandes de galerie : encore plus discrets. */
.favbtn.nv-iconic-action,.iconbtn.nv-iconic-action,.photo-tool.nv-iconic-action,.photo-nav.nv-iconic-action,.closebtn.nv-iconic-action{
  width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;flex-basis:36px!important;
}

/* Contact : icône compacte mais couleur fonctionnelle au survol. */
a[href^="tel:"].nv-iconic-action,.call-btn.nv-iconic-action,.phone-btn.nv-iconic-action{
  background:transparent!important;color:#17704f!important;border:0!important;
}
a[href^="tel:"].nv-iconic-action:hover,.call-btn.nv-iconic-action:hover,.phone-btn.nv-iconic-action:hover{background:rgba(24,135,95,.10)!important;color:#0f6847!important}
.message-btn.nv-iconic-action,[data-contact="message"].nv-iconic-action{background:transparent!important;color:#0b6f9f!important;border:0!important}
.message-btn.nv-iconic-action:hover,[data-contact="message"].nv-iconic-action:hover{background:rgba(11,111,159,.10)!important}
a[href^="mailto:"].nv-iconic-action,.email-btn.nv-iconic-action{background:transparent!important;color:#315d72!important;border:0!important}
a[href^="mailto:"].nv-iconic-action:hover,.email-btn.nv-iconic-action:hover{background:rgba(49,93,114,.10)!important}

/* Les vraies actions métier restent des boutons texte sobres et lisibles. */
.nv-keep-text-action{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  border-radius:9px!important;
}

html[data-theme="dark"] .nv-iconic-action{
  background:transparent!important;
  color:#d3e6ef!important;
  border:0!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .nv-iconic-action:hover,
html[data-theme="dark"] .nv-iconic-action:focus-visible{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .nv-iconic-action:active,
html[data-theme="dark"] .nv-iconic-action.nv-icon-clicked,
html[data-theme="dark"] .nv-iconic-action.nv-pressed{
  background:#2f90bb!important;
  color:#fff!important;
  box-shadow:0 0 0 5px rgba(47,144,187,.12)!important;
}
html[data-theme="dark"] .nv-iconic-action .notify-count,
html[data-theme="dark"] .nv-iconic-action .mobile-alert-count,
html[data-theme="dark"] .nv-iconic-action .alerts-unified-count{box-shadow:0 0 0 2px #10202b!important}

@media(max-width:760px){
  :root{--nv-icon-size:36px}
  .nv-iconic-action[data-nv-tip]::after{display:none!important}
  .homeNav{gap:4px!important}
}
@media(hover:none){
  .nv-iconic-action[data-nv-tip]::after{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .nv-iconic-action{transition:background-color .01s linear,color .01s linear!important}
}
