/* ===== Liquid Glass — habillage commun du site =====
   Verre dépoli translucide, reflet spéculaire en haut, liseré lumineux, ombre douce,
   ambiance colorée en fond pour que le verre ait quelque chose à réfracter. */
:root{
  --gl-blur:blur(22px) saturate(1.8) brightness(1.03);
  --gl-fill:color-mix(in srgb,var(--bg,#fff) 52%,transparent);
  --gl-fill2:color-mix(in srgb,var(--bg,#fff) 70%,transparent);
  --gl-hi:rgba(255,255,255,.85);--gl-lo:rgba(255,255,255,.28);--gl-ring:rgba(0,0,0,.08);
  --gl-sh:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 var(--gl-lo),inset 0 0 0 1px rgba(255,255,255,.35),0 0 0 .5px var(--gl-ring),0 1px 2px rgba(0,0,0,.05),0 18px 36px -22px rgba(20,30,10,.38);
  --gl-sh-up:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 var(--gl-lo),inset 0 0 0 1px rgba(255,255,255,.45),0 0 0 .5px var(--gl-ring),0 2px 4px rgba(0,0,0,.06),0 28px 48px -22px rgba(20,30,10,.5);
  --gl-spec:linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,0) 40%);
  --gl-a1:rgba(206,249,130,.55);--gl-a2:rgba(150,205,255,.38);--gl-a3:rgba(255,200,170,.34);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --gl-hi:rgba(255,255,255,.22);--gl-lo:rgba(255,255,255,.04);--gl-ring:rgba(255,255,255,.12);
  --gl-sh:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 var(--gl-lo),inset 0 0 0 1px rgba(255,255,255,.06),0 0 0 .5px var(--gl-ring),0 20px 40px -22px rgba(0,0,0,.8);
  --gl-sh-up:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 var(--gl-lo),inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 .5px var(--gl-ring),0 30px 50px -22px rgba(0,0,0,.9);
  --gl-spec:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,0) 40%);
  --gl-a1:rgba(110,160,40,.4);--gl-a2:rgba(60,100,200,.32);--gl-a3:rgba(170,90,70,.26);}}
:root[data-theme="dark"]{
  --gl-hi:rgba(255,255,255,.22);--gl-lo:rgba(255,255,255,.04);--gl-ring:rgba(255,255,255,.12);
  --gl-sh:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 var(--gl-lo),inset 0 0 0 1px rgba(255,255,255,.06),0 0 0 .5px var(--gl-ring),0 20px 40px -22px rgba(0,0,0,.8);
  --gl-sh-up:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 var(--gl-lo),inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 .5px var(--gl-ring),0 30px 50px -22px rgba(0,0,0,.9);
  --gl-spec:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,0) 40%);
  --gl-a1:rgba(110,160,40,.4);--gl-a2:rgba(60,100,200,.32);--gl-a3:rgba(170,90,70,.26)}

/* ambiance : halos colorés fixes derrière tout le contenu */
html:root:root:root body{background-image:radial-gradient(60vmax 50vmax at 8% -8%,var(--gl-a1),transparent 60%),radial-gradient(55vmax 45vmax at 100% 18%,var(--gl-a2),transparent 62%),radial-gradient(50vmax 45vmax at 20% 112%,var(--gl-a3),transparent 60%);background-attachment:fixed;background-repeat:no-repeat}
html.gold:root:root body{background-image:linear-gradient(#ffcf4a,#ffcf4a);background-size:100% 6px;background-attachment:scroll}

/* surfaces de verre */
:root:root:root .side,
:root:root:root .sub,
:root:root:root .btn:not(.dark),
:root:root:root .themebtn,
:root:root:root .pill,
:root:root:root .chip:not(.lime):not(.fs-chip),
:root:root:root .dv-tabs,
:root:root:root .card:not(.ph):not([style*="--sc"]),
:root:root:root .ms-card,
:root:root:root .dv-tile,
:root:root:root .dv-pn,
:root:root:root .credits{
  -webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);
  background-color:var(--gl-fill);border:1px solid var(--gl-lo);box-shadow:var(--gl-sh);isolation:isolate}
:root:root:root .card[style*="--sc"]{-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);background-color:color-mix(in srgb,var(--sc) 20%,var(--gl-fill));border:1px solid var(--gl-lo);box-shadow:var(--gl-sh)}
:root:root:root .card:not(.ph),:root:root:root .ms-card,:root:root:root .dv-tile,:root:root:root .dv-pn,:root:root:root .credits{background-image:var(--gl-spec);background-repeat:no-repeat;background-size:100% 55%}
/* en-tête collant */
:root:root:root .side{background-color:color-mix(in srgb,var(--bg,#fff) 74%,transparent);border:0;border-bottom:1px solid var(--gl-lo);border-radius:0 0 26px 26px;box-shadow:inset 0 -1px 0 var(--gl-hi),0 14px 34px -26px rgba(0,0,0,.45)}
/* menus déroulants */
:root:root:root .sub{background-color:color-mix(in srgb,var(--bg,#fff) 97%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:22px}
:root:root:root .sub a:hover{background:color-mix(in srgb,var(--hl,#cef982) 55%,transparent)}
/* boutons : tactiles, avec reflet */
:root:root:root .btn:not(.dark),:root:root:root .themebtn{background-image:var(--gl-spec);background-size:100% 60%;background-repeat:no-repeat}
:root:root:root .btn:not(.dark):hover,:root:root:root .themebtn:hover{background-color:var(--gl-fill2);box-shadow:var(--gl-sh-up)}
:root:root:root .btn.dark{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.25),0 14px 28px -14px color-mix(in srgb,var(--ink) 60%,transparent)}
/* survol des cartes */
:root:root:root .card:not(.ph):hover,:root:root:root .ms-card:hover,:root:root:root .dv-tile:hover{box-shadow:var(--gl-sh-up)}
/* devis : onglets et tuile choisie */
:root:root:root .dv-tab[aria-selected="true"]{background-color:var(--gl-fill2);-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);box-shadow:var(--gl-sh-up),inset 0 0 0 1.5px var(--ink)}
:root:root:root .dv-tabs{padding:6px;border-radius:24px}
/* champs */
:root:root:root input[type=text],:root:root:root input[type=email],:root:root:root input[type=search],:root:root:root input[type=tel],:root:root:root textarea,:root:root:root select{background-color:color-mix(in srgb,var(--bg,#fff) 55%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);border:1px solid var(--gl-lo);box-shadow:inset 0 1px 2px rgba(0,0,0,.05),inset 0 1px 0 var(--gl-hi)}
/* sans backdrop-filter : fond presque opaque */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--gl-fill:color-mix(in srgb,var(--bg,#fff) 94%,transparent);--gl-fill2:var(--bg,#fff)}}
@media (prefers-reduced-transparency:reduce){:root{--gl-fill:var(--bg,#fff);--gl-fill2:var(--bg,#fff);--gl-blur:none}}

/* en-tête : une seule ligne sur grand écran */
@media(min-width:1000px){:root:root:root .side{flex-wrap:nowrap;gap:10px}:root:root:root .side .top{padding:9px 10px;font-size:15.5px;gap:7px}:root:root:root .menu{flex-wrap:nowrap;gap:2px}:root:root:root .side .brand{font-size:17px;white-space:nowrap}:root:root:root .side .themebtn{margin-left:0;flex:none}:root:root:root .side nav{margin-left:auto}}

/* bouton Partager : pas de halo (le bloc titre le rognait en carré) ; le survol passe par la luminosité */
:root:root:root:root .igbtn,:root:root:root:root .igbtn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.35)!important}
:root:root:root:root .igbtn:hover{filter:brightness(1.08) saturate(1.1)!important}

/* ===== Partage (image & vidéo) en Liquid Glass ===== */
:root:root:root:root .igov{background:color-mix(in srgb,var(--ink,#1c1c1c) 28%,transparent)!important;-webkit-backdrop-filter:blur(26px) saturate(1.6);backdrop-filter:blur(26px) saturate(1.6)}
:root:root:root:root .igov .igbox{position:relative;isolation:isolate;box-sizing:border-box;padding:18px 18px 16px;border-radius:34px;background-color:color-mix(in srgb,var(--bg,#fff) 62%,transparent);background-image:var(--gl-spec);background-size:100% 50%;background-repeat:no-repeat;border:1px solid var(--gl-lo);box-shadow:var(--gl-sh-up);-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);color:var(--ink,#1c1c1c)}
:root:root:root:root .igov .igbox canvas{border-radius:22px;box-shadow:0 0 0 1px var(--gl-ring),0 22px 44px -22px rgba(0,0,0,.55)}
:root:root:root:root .igov .igsl{margin:2px 0 0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#55554f)}
:root:root:root:root .igov .igrow button,:root:root:root:root .igov .igrow a{background-color:color-mix(in srgb,var(--bg,#fff) 55%,transparent);background-image:var(--gl-spec);background-size:100% 60%;background-repeat:no-repeat;color:var(--ink,#1c1c1c);border:1px solid var(--gl-lo);box-shadow:inset 0 1px 0 var(--gl-hi),0 0 0 .5px var(--gl-ring);transition:transform .2s,background-color .2s}
:root:root:root:root .igov .igrow button:hover,:root:root:root:root .igov .igrow a:hover{transform:translateY(-1px);background-color:color-mix(in srgb,var(--bg,#fff) 80%,transparent)}
:root:root:root:root .igov .igrow .on,:root:root:root:root .igov .igrow .pri{background-color:transparent;background-image:linear-gradient(180deg,rgba(220,255,160,.97),rgba(196,242,110,.92));color:#101a14;border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 20px -12px rgba(90,140,0,.8)}
:root:root:root:root .igov .igrow .pri.rec{background-image:linear-gradient(90deg,#cef982 var(--p,0%),rgba(206,249,130,.25) var(--p,0%))}
/* réseaux : verre teinté à leur couleur */
:root:root:root:root .igov .igrow .soc{border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 16px -10px rgba(0,0,0,.5)}
:root:root:root:root .igov .igrow .soc[data-n=Bluesky]{background-color:rgba(0,133,255,.82)}
:root:root:root:root .igov .igrow .soc[data-n=Facebook]{background-color:rgba(24,119,242,.82)}
:root:root:root:root .igov .igrow .soc[data-n=LinkedIn]{background-color:rgba(10,102,194,.82)}
:root:root:root:root .igov .igrow .soc[data-n=WhatsApp]{background-color:rgba(37,211,102,.85)}
:root:root:root:root .igov .igrow .soc[data-n=Reddit]{background-color:rgba(255,69,0,.85)}
:root:root:root:root .igov .igrow .soc[data-n=X],:root:root:root:root .igov .igrow .soc[data-n=Threads]{background-color:rgba(17,17,17,.85);color:#fff}
@media (prefers-reduced-transparency:reduce){:root:root:root:root .igov{-webkit-backdrop-filter:none;backdrop-filter:none}}
:root:root:root:root .igov .igrow .soc:not([data-n]){color:var(--ink,#1c1c1c)!important;background-color:color-mix(in srgb,var(--bg,#fff) 55%,transparent)}
:root:root:root:root .igov .igrow .on,:root:root:root:root .igov .igrow .pri{background-size:100% 100%;background-repeat:no-repeat}
