/* Généré par deploiement/pages/portee-css.js depuis assets/css/styles.css, assets/css/sobre.css pour deploiement/entete/.complet.html : ne pas modifier à la main. */
.uvh{--navy-950: #0B2942;
  --navy-900: #0F3557;
  --navy-800: #164573;
  --blue-700: #136FB0;   
  --blue-600: #1B86D0;   
  --blue-400: #4FA6E0;
  --blue-300: #7CC4EE;
  --blue-100: #DCEEFB;
  --blue-50:  #EEF6FD;

  
  --gold: #C19B2B;
  --gold-hover: #A8861F;
  --on-gold: #FFFFFF;
  --gold-ink: #8F7019;   
  --gold-soft: #F1E7CC;  

  
  --ink:   #0F1E2E;
  --ink-2: #3D4E60;
  --ink-3: #5A6875;
  --line:  #DDE3E9;
  --line-2:#E9EEF3;
  --bg:      #FFFFFF;
  --bg-soft: #F4F7FA;
  --bg-blue: #F2F7FC;

  
  --ok: #14603E;
  --ok-bg: #E7F4EC;
  --danger: #B42318;
  --focus: #1B86D0;

  
  --cl-A15-bg: #E3F2FC; --cl-A15-fg: #0B4F80;
  --cl-B125-bg:#BFE0F5; --cl-B125-fg:#0B3F66;
  --cl-C250-bg:#136FB0; --cl-C250-fg:#FFFFFF;
  --cl-D400-bg:#0F4F85; --cl-D400-fg:#FFFFFF;
  --cl-E600-bg:#0F3557; --cl-E600-fg:#FFFFFF;
  --cl-F900-bg:#0B1E33; --cl-F900-fg:#FFFFFF;

  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(15, 30, 46, .06);
  --shadow: 0 8px 24px -10px rgba(15, 53, 87, .22);
  --shadow-lg: 0 28px 56px -20px rgba(15, 53, 87, .35);

  --font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --container: 1520px; 
  --gutter: clamp(16px, 4vw, 40px);
  --header-h: 72px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --dur: 200ms;}
.uvh *,.uvh *::before,.uvh *::after{box-sizing: border-box;}
.uvh{-webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px);}
.uvh{margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;}
.uvh img{max-width: 100%; height: auto; display: block;}
.uvh a{color: inherit; text-decoration: none;}
.uvh button,.uvh input,.uvh select,.uvh textarea{font: inherit; color: inherit;}
.uvh button{cursor: pointer;}
.uvh h1,.uvh h2,.uvh h3,.uvh h4{margin: 0; line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance;}
.uvh p{margin: 0; text-wrap: pretty;}
.uvh ul,.uvh ol{margin: 0; padding: 0; list-style: none;}
.uvh :focus-visible{outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px;}
.uvh ::selection{background: var(--blue-100);}
.uvh [hidden]{display: none !important;}
.uvh .sr-only{position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}
.uvh .skip-link{position: absolute; left: 16px; top: -100px; z-index: 200; background: var(--navy-900); color: #fff; padding: 10px 16px; border-radius: var(--radius-sm); font-weight: 600;}
.uvh .skip-link:focus{top: 12px;}
.uvh .container{width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter);}
.uvh .icon{width: 20px; height: 20px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.uvh .icon-sm{width: 16px; height: 16px;}
.uvh .icon-lg{width: 24px; height: 24px;}
.uvh .mono{font-family: var(--mono); font-feature-settings: 'zero' 0; letter-spacing: -0.01em;}
.uvh .btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 18px;
  border: 1px solid transparent; border-radius: 8px;
  font-weight: 600; font-size: 15px; line-height: 1; white-space: nowrap;
  transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform 120ms var(--ease);}
.uvh .btn:active{transform: translateY(1px);}
.uvh .btn-outline{background: #fff; border-color: var(--line); color: var(--navy-900);}
.uvh .btn-outline:hover{border-color: var(--blue-600); color: var(--blue-700);}
.uvh .btn-gold{background: var(--gold); border-color: var(--gold); color: var(--on-gold);}
.uvh .btn-gold:hover{background: var(--gold-hover); border-color: var(--gold-hover); color: var(--on-gold);}
.uvh .btn-gold .devis-count{background: var(--navy-950); color: #fff;}
.uvh .btn-block{width: 100%;}
.uvh .btn[disabled]{opacity: .55; cursor: not-allowed;}
.uvh .link-arrow{display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--blue-700);}
.uvh .link-arrow .icon{transition: transform var(--dur) var(--ease);}
.uvh .link-arrow:hover .icon{transform: translateX(3px);}
.uvh .link-arrow:hover{color: var(--navy-900);}
.uvh .badge-cl{display: inline-flex; align-items: center; gap: 6px;
  height: 26px; padding: 0 9px; border-radius: 6px;
  font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .02em; white-space: nowrap;}
.uvh .badge-cl small{font-weight: 400; opacity: .85; font-size: 11px;}
.uvh .badge-cl[data-cl="A15"]{background: var(--cl-A15-bg);  color: var(--cl-A15-fg);}
.uvh .badge-cl[data-cl="B125"]{background: var(--cl-B125-bg); color: var(--cl-B125-fg);}
.uvh .badge-cl[data-cl="C250"]{background: var(--cl-C250-bg); color: var(--cl-C250-fg);}
.uvh .badge-cl[data-cl="D400"]{background: var(--cl-D400-bg); color: var(--cl-D400-fg);}
.uvh .badge-cl[data-cl="E600"]{background: var(--cl-E600-bg); color: var(--cl-E600-fg);}
.uvh .badge-cl[data-cl="F900"]{background: var(--cl-F900-bg); color: var(--cl-F900-fg);}
.uvh .topbar{background: var(--navy-950); color: rgba(255,255,255,.82); font-size: 13px;}
.uvh .topbar .container{display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px;}
.uvh .topbar ul{display: flex; gap: 24px;}
.uvh .topbar li{display: inline-flex; align-items: center; gap: 7px;}
.uvh .topbar .icon{width: 15px; height: 15px; color: var(--blue-300);}
.uvh .topbar-contact{display: flex; gap: 20px;}
.uvh .topbar-contact a{display: inline-flex; align-items: center; gap: 7px; color: #fff; font-weight: 500;}
.uvh .topbar-contact a:hover{color: var(--blue-300);}
.uvh .header{position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line-2); transition: box-shadow var(--dur) var(--ease);}
.uvh .header.is-scrolled{box-shadow: 0 6px 20px -12px rgba(15,53,87,.25);}
.uvh .header-inner{display: flex; align-items: center; gap: 28px; height: var(--header-h);}
.uvh .logo{flex: none; display: block;}
.uvh .logo img{height: 40px; width: auto;}
.uvh .nav{display: flex; align-items: center; gap: 4px;}
.uvh .nav > a,.uvh .nav > button{white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 12px; border-radius: 8px;
  background: none; border: 0; font-weight: 500; font-size: 15px; color: var(--ink);
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);}
.uvh .nav > a:hover,.uvh .nav > button:hover,.uvh .nav > button[aria-expanded="true"]{background: var(--bg-soft); color: var(--blue-700);}
.uvh .nav > button .icon{width: 16px; height: 16px; transition: transform var(--dur) var(--ease);}
.uvh .nav > button[aria-expanded="true"] .icon{transform: rotate(180deg);}
.uvh .nav a[aria-current="page"]{color: var(--blue-700);}
.uvh .header-search{flex: 1; max-width: 420px; margin-left: auto;}
.uvh .header-actions{display: flex; align-items: center; gap: 4px;}
.uvh .icon-btn{position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 10px;
  background: none; border: 0; color: var(--navy-900); transition: background-color var(--dur) var(--ease);}
.uvh .icon-btn:hover{background: var(--bg-soft);}
.uvh .cart-count{position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: var(--blue-700); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;}
.uvh .cart-count[data-empty="true"]{background: var(--line); color: var(--ink-3);}
.uvh .cart-count.bump{animation: bump 400ms var(--ease);}
@keyframes bump{ 40% { transform: scale(1.35); } }
.uvh .header .btn-devis{margin-left: 6px;}
.uvh .menu-toggle,.uvh .search-toggle{display: none;}
.uvh .mega{position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);}
.uvh .mega.is-open{opacity: 1; visibility: visible; transform: none; transition-delay: 0s;}
.uvh .mega-inner{display: grid; grid-template-columns: repeat(3, 1fr) 300px; gap: 32px; padding-block: 32px 36px;}
.uvh .mega h3{font-size: 15px; display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; margin-bottom: 8px; border-bottom: 1px solid var(--line-2);}
.uvh .mega h3 a:hover{color: var(--blue-700);}
.uvh .mega li a{display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; color: var(--ink-2); font-size: 15px;}
.uvh .mega li a:hover{color: var(--blue-700);}
.uvh .mega li .mono{font-size: 12px; color: var(--ink-3);}
.uvh .mega-aside{background: var(--bg-blue); border-radius: var(--radius); padding: 20px; display: flex; flex-direction: column; gap: 14px;}
.uvh .mega-aside p{font-size: 14px; color: var(--ink-2);}
.uvh .cl-chips{display: flex; flex-wrap: wrap; gap: 6px;}
.uvh .cl-chips a{transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);}
.uvh .cl-chips a:hover{transform: translateY(-1px); box-shadow: var(--shadow-sm);}
.uvh .search{position: relative;}
.uvh .search-field{display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 6px 0 14px;
  background: var(--bg-soft); border: 1px solid var(--line-2); border-radius: 10px;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);}
.uvh .search-field:focus-within{background: #fff; border-color: var(--blue-600); box-shadow: 0 0 0 4px rgba(27,134,208,.15);}
.uvh .search-field .icon{color: var(--ink-3);}
.uvh .search-field .btn .icon{color: inherit;}
.uvh .search-field input{flex: 1; min-width: 0; height: 100%; border: 0; background: none; outline: none; font-size: 15px;}
.uvh .search-field input::placeholder{color: var(--ink-3);}
.uvh .search-field kbd{font-family: var(--mono); font-size: 11px; color: var(--ink-3); border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 5px; padding: 1px 6px; background: #fff; margin-right: 6px;}
.uvh .search-pop{position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 8px); background: #fff; border: 1px solid var(--line);
  border-radius: 12px; box-shadow: var(--shadow-lg); overflow: hidden; display: none;}
.uvh .search-pop.is-open{display: block; animation: pop 160ms var(--ease);}
@keyframes pop{ from { opacity: 0; transform: translateY(-4px); } }
.uvh .search-pop ul{max-height: min(420px, 60vh); overflow-y: auto; padding: 6px;}
.uvh .sr-item{display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 8px; cursor: pointer;}
.uvh .sr-item[aria-selected="true"],.uvh .sr-item:hover{background: var(--blue-50);}
.uvh .sr-item img,.uvh .sr-item .ph{width: 44px; height: 44px; object-fit: contain; border-radius: 6px; background: #fff; border: 1px solid var(--line-2); mix-blend-mode: multiply;}
.uvh .sr-item .t{font-size: 14px; font-weight: 500; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.uvh .sr-item .t mark{background: none; color: var(--blue-700); font-weight: 700;}
.uvh .sr-item .m{display: flex; align-items: center; gap: 8px; margin-top: 3px; font-size: 12px; color: var(--ink-3);}
.uvh .sr-item .m .badge-cl{height: 20px; font-size: 11px; padding: 0 6px;}
.uvh .sr-item .p{font-weight: 700; font-size: 14px; white-space: nowrap;}
.uvh .sr-foot{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--line-2); background: var(--bg-soft); font-size: 14px;}
.uvh .sr-empty{padding: 20px; font-size: 14px; color: var(--ink-2);}
.uvh .sr-empty strong{color: var(--ink);}
.uvh .sr-empty .chips{margin-top: 12px;}
.uvh .chips{display: flex; flex-wrap: wrap; gap: 8px;}
.uvh .chip{display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border-radius: 999px;
  background: #fff; border: 1px solid var(--line); font-size: 14px; font-weight: 500; color: var(--navy-900);
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);}
.uvh .chip:hover{border-color: var(--blue-600); color: var(--blue-700);}
.uvh .chip[aria-pressed="true"]{background: var(--navy-900); border-color: var(--navy-900); color: #fff;}
.uvh .chip .icon{width: 14px; height: 14px;}
.uvh .ph{display: grid; place-items: center; width: 100%; height: 100%; color: var(--blue-300); background: var(--bg-blue); border-radius: 10px;}
.uvh .devis-count{display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 2px; border-radius: 10px; background: #fff; color: var(--blue-700); font-size: 12px; font-weight: 700; line-height: 1;}
.uvh .devis-count[hidden]{display: none;}
.uvh .devis-count.bump{animation: bump 400ms var(--ease);}
@keyframes spin{ to { transform: rotate(360deg); } }
.uvh .mobile-bar{display: none;}
@keyframes toast-in{ from { opacity: 0; transform: translateY(10px); } }
@keyframes toast-out{ to { opacity: 0; transform: translateY(6px); } }
.uvh .drawer{position: fixed; inset: 0; z-index: 150; visibility: hidden;}
.uvh .drawer.is-open{visibility: visible;}
.uvh .drawer-scrim{position: absolute; inset: 0; background: rgba(11,41,66,.45); opacity: 0; transition: opacity 240ms var(--ease);}
.uvh .drawer.is-open .drawer-scrim{opacity: 1;}
.uvh .drawer-panel{position: absolute; top: 0; bottom: 0; right: 0; width: min(420px, 92vw); background: #fff; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform 280ms var(--ease); box-shadow: var(--shadow-lg);}
.uvh .drawer-left .drawer-panel{right: auto; left: 0; transform: translateX(-100%);}
.uvh .drawer.is-open .drawer-panel{transform: none;}
.uvh .drawer-head{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px 14px 20px; border-bottom: 1px solid var(--line-2);}
.uvh .drawer-head h2{font-size: 18px;}
.uvh .drawer-body{flex: 1; overflow-y: auto; padding: 16px 20px; overscroll-behavior: contain;}
.uvh .drawer-foot{padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line-2); display: grid; gap: 10px;}
.uvh .mnav a,.uvh .mnav button{display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; padding: 0 4px; border: 0; border-bottom: 1px solid var(--line-2); background: none; font-weight: 600; font-size: 16px; text-align: left;}
.uvh .mnav .sub a{min-height: 44px; padding-left: 16px; font-weight: 500; font-size: 15px; color: var(--ink-2);}
.uvh .mnav .sub a .mono{font-size: 12px; color: var(--ink-3);}
@media print{
.uvh .topbar,.uvh .header,.uvh .mobile-bar{display: none !important;}
.uvh{padding: 0;}
}
@media (max-width: 1480px){
.uvh .nav > a.hide-lg{display: none;}
}
@media (max-width: 1180px){
.uvh .header-inner{gap: 16px;}
}
@media (max-width: 1024px){
.uvh .header .nav,.uvh .header .btn-devis,.uvh .mega{display: none;}
.uvh .menu-toggle{display: inline-grid;}
}
@media (max-width: 768px){
.uvh{--header-h: 60px;}
.uvh .topbar ul li:not(:first-child){display: none;}
.uvh .topbar-contact a.mail{display: none;}
.uvh .header-inner{gap: 6px;}
.uvh .logo img{height: 32px;}
.uvh .header-search{display: none; position: absolute; left: 0; right: 0; top: 100%; max-width: none; padding: 10px var(--gutter); background: #fff; border-bottom: 1px solid var(--line-2);}
.uvh .header-search.is-open{display: block;}
.uvh .search-toggle{display: inline-grid;}
.uvh .header-actions{margin-left: auto;}
.uvh .mobile-bar{display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 8px; position: fixed; z-index: 90; left: 0; right: 0; bottom: 0;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); backdrop-filter: blur(10px); border-top: 1px solid var(--line);}
.uvh .mobile-bar a{display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; white-space: nowrap; border-radius: 10px; font-weight: 600; font-size: 14px; border: 1px solid var(--line); color: var(--navy-900);}
.uvh .mobile-bar a.primary{background: var(--gold); border-color: var(--gold); color: var(--on-gold);}
.uvh .mobile-bar a.primary .devis-count{background: var(--navy-950); color: #fff;}
.uvh{padding-bottom: calc(66px + env(safe-area-inset-bottom));}
}
@media (prefers-reduced-motion: reduce){
.uvh *,.uvh *::before,.uvh *::after{animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important;}
}
.uvh{--bg-blue: #F5F7F9;
  --bg-soft: #F5F7F9;
  --blue-50: #F2F5F8;
  --blue-100: #E2E7ED;
  --radius-sm: 3px;
  --radius: 4px;
  --radius-lg: 4px;
  --shadow-sm: none;
  --shadow: none;}
.uvh .btn,.uvh .icon-btn,.uvh .search-field,.uvh .search-pop,.uvh .mobile-bar a{border-radius: 4px;}
.uvh .badge-cl{border-radius: 2px;}
.uvh .sr-item{border-radius: 4px;}
.uvh .sr-item img,.uvh .sr-item .ph{border-radius: 3px;}
.uvh .cl-chips a:hover{transform: none; box-shadow: none; border-color: var(--ink-3);}
.uvh .btn,.uvh .nav > a,.uvh .nav > button,.uvh .icon-btn,.uvh .search-field,.uvh .search-pop,.uvh .mobile-bar a{border-radius: 4px;}
.uvh .sr-item,.uvh .sr-item img,.uvh .ph{border-radius: 3px;}
.uvh .search-field kbd{border-radius: 2px;}
.uvh .cart-count,.uvh .devis-count{border-radius: 999px;}
.uvh{--font:"UVFP DM Sans","DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"UVFP JetBrains Mono","JetBrains Mono",ui-monospace,Menlo,monospace;--header-h:104px;font-optical-sizing:none}
body .uvh a,body .uvh button,body .uvh input,body .uvh select,body .uvh textarea{font-family:inherit}

/* ==========================================================================
   Ajouts pour le site (ajoutés tels quels après les règles de la maquette)
   ========================================================================== */
.uvh{--header-h:72px;padding:0!important;background:transparent;line-height:1.5;text-align:left}
@media (max-width:768px){.uvh{--header-h:60px}}

/* l'en-tête colle en haut : le bandeau (38 px) défile, la barre reste */
.elementor-location-header:has(.uvh){position:sticky;top:-38px;z-index:999}
/* barre opaque : le contenu ne se voit jamais au travers en défilant */
.uvh .header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.uvh .topbar{background:var(--navy-950)}
.admin-bar .elementor-location-header:has(.uvh){top:-6px}
@media (max-width:782px){.admin-bar .elementor-location-header:has(.uvh){top:-38px}}
.uvh .header{position:relative;top:auto}
html{scroll-padding-top:calc(72px + 16px)}
@media (max-width:768px){html{scroll-padding-top:calc(60px + 16px)}}
/* les pages documents (urbanvoirie-pages) ont leur propre marge d'ancre : pas de double décalage */
html:has(.uvpg){scroll-padding-top:0}
/* Safari : en tapant dans un champ de l'en-tête collant, le curseur tombait dans cette marge et la page remontait à
   chaque touche (marge de 88 px, curseur à 26 px du haut : 62 px par touche) ; pas de marge pendant la saisie. */
html:has(#uvh-header input:focus){scroll-padding-top:0}

/* neutralise les styles du thème et d'Elementor dans l'en-tête */
.uvh button,.uvh button:hover,.uvh button:focus{text-transform:none;letter-spacing:normal;box-shadow:none;font-family:var(--font);line-height:1.2}
.uvh .nav>button,.uvh .icon-btn{background:none;border:0;padding:0;margin:0;min-height:0}
.uvh .nav>button{padding:0 12px}
.uvh .icon-btn:hover,.uvh .icon-btn:focus{background:var(--bg-soft);color:var(--navy-900)}
.uvh .nav>button:hover,.uvh .nav>button:focus,.uvh .nav>button[aria-expanded="true"]{background:var(--bg-soft);color:var(--blue-700)}
.uvh a,.uvh a:visited{text-decoration:none;box-shadow:none}
/* lien d'évitement : Astra lui donne sa police (.site .skip-link) */
body .uvh .skip-link{font-family:var(--font)}
.uvh .topbar a,.uvh .topbar a:visited{color:#fff}
.uvh .topbar a:hover{color:var(--blue-300)}
.uvh h2,.uvh h3{font-family:var(--font);text-transform:none;letter-spacing:-0.01em;margin:0}
.uvh ul,.uvh li{margin:0;padding:0;list-style:none}
.uvh img{max-width:none}
.uvh .logo img{display:block;width:auto;height:40px}
@media (max-width:768px){.uvh .logo img{height:32px}}
.uvh .search-field input[type="search"],.uvh .search-field input[type="search"]:focus{width:auto;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;outline:0;font-family:var(--font);font-size:15px;color:var(--ink)}
.uvh .search-field input[type="search"]::-webkit-search-cancel-button{display:none}
.uvh .btn,.uvh .btn:visited{font-family:var(--font);text-transform:none;letter-spacing:0}
.uvh .btn-gold,.uvh .btn-gold:visited,.uvh .btn-gold:hover,.uvh .btn-gold:focus{color:var(--on-gold)}
.uvh .btn-outline:hover{color:var(--blue-700)}
.uvh .mega-nb{font-size:12px;color:var(--ink-3);font-weight:400}
.uvh .mega .mega-aside-t{border:0;padding:0;margin:0}
.uvh .mnav-nb{font-size:12px;color:var(--ink-3)}
.uvh .mnav-chips{margin-top:20px}
.uvh .drawer-logo{height:30px;width:auto}
.uvh .sr-item .ph{display:block}
.uvh .search-pop mark{background:none;color:var(--blue-700);font-weight:700;padding:0}
.uvh .devis-count[hidden]{display:none}

/* mini-panier dans le tiroir (gabarit du mini-panier d'Elementor Pro, ou celui de WooCommerce) */
/* la liste défile, le sous-total et les boutons restent visibles en bas */
.uvh .drawer-body.uvh-minicart{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-bottom:0}
.uvh .uvh-minicart .widget_shopping_cart_content{display:flex;flex-direction:column;flex:1;min-height:0}
.uvh .uvh-minicart .elementor-menu-cart__main,.uvh .uvh-minicart .elementor-menu-cart__container{display:contents}
.uvh .uvh-minicart .elementor-menu-cart__products,.uvh .uvh-minicart .woocommerce-mini-cart{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.uvh .uvh-minicart .elementor-menu-cart__subtotal,.uvh .uvh-minicart .elementor-menu-cart__footer-buttons,.uvh .uvh-minicart .woocommerce-mini-cart__total,.uvh .uvh-minicart .woocommerce-mini-cart__buttons{flex:none}
.uvh .uvh-minicart .elementor-menu-cart__footer-buttons,.uvh .uvh-minicart .woocommerce-mini-cart__buttons{padding-bottom:16px}
.uvh .uvh-minicart .elementor-menu-cart__products,.uvh .uvh-minicart .woocommerce-mini-cart{margin:0;padding:0;list-style:none}
.uvh .uvh-minicart .elementor-menu-cart__product,.uvh .uvh-minicart .woocommerce-mini-cart-item{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 12px;align-items:center;margin:0;padding:12px 34px 12px 0;border-bottom:1px solid var(--line-2);font-size:14px;color:var(--ink-3)}
.uvh .uvh-minicart .elementor-menu-cart__product-image{grid-row:span 2;width:56px;height:56px}
.uvh .uvh-minicart .elementor-menu-cart__product img,.uvh .uvh-minicart .woocommerce-mini-cart-item img{display:block;width:56px!important;height:56px!important;max-width:none;margin:0;object-fit:contain;border:1px solid var(--line-2);border-radius:4px;background:#fff}
.uvh .uvh-minicart .elementor-menu-cart__product-name,.uvh .uvh-minicart .elementor-menu-cart__product-price{grid-column:2;margin:0;padding:0;text-align:left}
.uvh .uvh-minicart .elementor-menu-cart__product-name a{font-weight:600;font-size:14px;line-height:1.3;color:var(--ink)}
.uvh .uvh-minicart .elementor-menu-cart__product-name a:hover{color:var(--blue-700)}
.uvh .uvh-minicart .uvt-ref{display:block;margin-top:2px;font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.uvh .uvh-minicart .quantity{font-family:var(--mono);font-size:13px;color:var(--ink-2)}
.uvh .uvh-minicart .elementor-menu-cart__product-remove{position:absolute;top:12px;right:0;width:28px;height:28px;margin:0;border:0}
.uvh .uvh-minicart .elementor_remove_from_cart_button{display:none!important}
.uvh .uvh-minicart .remove_from_cart_button,.uvh .uvh-minicart a.remove{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:4px;background:none;color:var(--ink-2)!important;opacity:1;font-size:0;text-decoration:none}
.uvh .uvh-minicart .remove_from_cart_button::before{content:"×";font-size:20px;line-height:1}
.uvh .uvh-minicart .remove_from_cart_button:hover,.uvh .uvh-minicart a.remove:hover{background:var(--bg-soft);color:var(--danger)!important}
.uvh .uvh-minicart a.remove{font-size:20px}
.uvh .uvh-minicart .elementor-menu-cart__subtotal,.uvh .uvh-minicart .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 0;padding:0;border:0;font-size:15px;color:var(--ink-2)}
.uvh .uvh-minicart .elementor-menu-cart__subtotal strong{font-weight:500}
.uvh .uvh-minicart .elementor-menu-cart__subtotal .amount,.uvh .uvh-minicart .woocommerce-mini-cart__total .amount{font-size:20px;font-weight:700;color:var(--ink)}
.uvh .uvh-minicart .elementor-menu-cart__footer-buttons,.uvh .uvh-minicart .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 0;padding:0}
.uvh .uvh-minicart .elementor-menu-cart__footer-buttons a,.uvh .uvh-minicart .woocommerce-mini-cart__buttons a{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0 18px;border:1px solid var(--line);border-radius:4px;background:#fff;font-family:var(--font);font-size:15px;font-weight:600;line-height:1;color:var(--navy-900);text-transform:none;letter-spacing:0;box-shadow:none}
.uvh .uvh-minicart .elementor-menu-cart__footer-buttons a:hover,.uvh .uvh-minicart .woocommerce-mini-cart__buttons a:hover{border-color:var(--ink-3);color:var(--navy-900)}
.uvh .uvh-minicart a.elementor-button--checkout,.uvh .uvh-minicart .woocommerce-mini-cart__buttons a.checkout{order:-1;min-height:52px;border-color:var(--blue-700);background:var(--blue-700);color:#fff}
.uvh .uvh-minicart a.elementor-button--checkout:hover,.uvh .uvh-minicart .woocommerce-mini-cart__buttons a.checkout:hover{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.uvh .uvh-minicart .elementor-button-text{color:inherit}
.uvh .uvh-minicart .woocommerce-mini-cart__empty-message,.uvh .uvh-minicart .elementor-menu-cart__empty-message{margin:0;padding:40px 12px;text-align:center;color:var(--ink-2)}
.uvh .uvh-minicart:has(.elementor-menu-cart__products, .woocommerce-mini-cart)+.drawer-foot .uvh-catalogue{display:none}

/* barre d'actions mobile : place réservée en bas de page, masquée quand la fiche produit affiche sa propre barre d'achat */
@media (max-width:768px){
	body.uvh-page{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
	body.uvh-page:has(.uvfp-stk.is-on) .uvh .mobile-bar{transform:translateY(100%);visibility:hidden}
	.uvh .mobile-bar{transition:transform 220ms var(--ease)}
}
@media print{.uvh{display:none!important}}

/* À propos et Contact dès 1280 px (la maquette les masque jusqu'à 1480 px). Jusqu'à 1520 px de fenêtre, le contenu
   fait moins de 1440 px : avec quatre liens, espacements resserrés et bouton « Devis » pour que la recherche garde sa
   largeur ; au-delà, « Demande de devis » en entier. */
.uvh .btn-devis__court{display:none}
@media (min-width:1280px){
.uvh .nav>a.hide-lg{display:inline-flex}
.uvh .header-inner{gap:20px}
.uvh .nav>a,.uvh .nav>button{padding:0 9px}
.uvh .btn-devis__long{display:none}
.uvh .btn-devis__court{display:inline}
}
@media (min-width:1520px){
.uvh .btn-devis__long{display:inline}
.uvh .btn-devis__court{display:none}
}
/* menu réparti à espaces égaux entre le logo et la recherche, qui garde au plus 420 px */
@media (min-width:1025px){
.uvh .nav{flex:1 1 auto;justify-content:space-evenly}
.uvh .header-search{flex:0 1 420px;margin-left:0}
}
/* résultats de recherche plus larges que le champ (600 px), centrés sous lui (translate : la propriété transform sert
   à l'animation d'ouverture) */
@media (min-width:1280px){
.uvh .search-pop{left:50%;right:auto;width:max(100%,600px);translate:-50% 0}
}

/* menu mobile : familles dépliables (details/summary), fermées d'abord */
.uvh .mnav .mnav-fam{border-bottom:1px solid var(--line-2)}
.uvh .mnav .mnav-fam summary{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 4px;font-weight:600;font-size:16px;color:var(--ink);cursor:pointer;list-style:none}
.uvh .mnav .mnav-fam summary::-webkit-details-marker{display:none}
.uvh .mnav .mnav-fam summary .mnav-nb{margin-left:auto}
.uvh .mnav .mnav-fam summary .icon{flex:none;color:var(--ink-3);transition:transform .2s}
.uvh .mnav .mnav-fam[open] summary .icon{transform:rotate(180deg)}
.uvh .mnav .mnav-fam .sub{padding-bottom:6px}
.uvh .mnav .mnav-fam .sub a:last-child{border-bottom:0}
