/* Pages légales (CGU / Confidentialité) — même DA que le site, une seule page sans défilement sur écran bureau. */
.lg-shell{
  --lg-fs: clamp(9.8px, calc(0.34vw + 0.62vh + 1.2px), 13.4px);
  --lg-cols: 4;
  position:relative; z-index:1; width:100%; display:flex; flex-direction:column;
  font-size:var(--lg-fs); min-height:100vh;
}
.lg-header{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px clamp(16px,3vw,40px) 0; }
.lg-logo img{ height:3.6em; width:auto; display:block; filter:drop-shadow(0 6px 14px rgba(20,30,60,.35)); }
.lg-tabs{ display:flex; gap:6px; padding:4px; background:var(--glass-strong); border:1px solid var(--glass-border); border-radius:14px; }
.lg-tab{ font-size:1.05em; font-weight:700; color:var(--text); padding:.55em 1.3em; border-radius:10px; transition:background .15s, color .15s; }
.lg-tab:hover{ color:var(--accent-text); }
.lg-tab[aria-current="page"]{ background:linear-gradient(135deg,var(--accent),var(--accent-deep)); color:var(--on-accent,#fff); }
.lg-back{ display:flex; align-items:center; gap:7px; font-size:1.05em; font-weight:700; background:var(--glass-strong); border:1px solid var(--glass-border); color:var(--text-hi); border-radius:11px; padding:.6em 1.2em; transition:transform .15s, background .15s; }
.lg-back:hover{ transform:translateY(-1px); background:var(--accent-soft); color:var(--accent-text); }
.lg-back svg{ width:1.2em; height:1.2em; }

.lg-main{ flex:1; min-height:0; display:flex; padding:8px clamp(16px,3vw,40px); }
.lg-panel{
  flex:1; min-height:0; display:flex; flex-direction:column; gap:.7em; width:100%; max-width:2600px; margin:0 auto;
  background:var(--glass); border:1px solid var(--glass-border);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-radius:24px; padding:1.2em 1.2em 1em;
  box-shadow:0 20px 60px -20px color-mix(in srgb, var(--accent) 25%, transparent);
  opacity:0; animation:rise .6s ease forwards .05s;
}
.lg-head{ display:flex; align-items:center; justify-content:space-between; gap:1em; flex-wrap:wrap; }
.lg-eyebrow{ font-size:.85em; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-text); }
.lg-title{ font-family:var(--font-display); font-weight:800; font-size:2.1em; line-height:1.1; color:var(--text-hi); letter-spacing:-.01em; }
.lg-meta{ display:flex; gap:.5em; flex-wrap:wrap; }
.lg-chip{ display:inline-flex; align-items:center; gap:.5em; font-size:.95em; color:var(--text); background:var(--glass-strong); border:1px solid var(--glass-border); border-radius:999px; padding:.4em 1em; }
.lg-chip b{ color:var(--text-hi); }
.lg-chip a{ color:var(--accent-text); font-weight:700; }
.lg-chip .dot{ width:.55em; height:.55em; border-radius:50%; background:var(--mint); box-shadow:0 0 0 3px rgba(34,184,146,.2); }

.lg-grid{ flex:1; min-height:0; display:grid; grid-template-columns:repeat(var(--lg-cols), minmax(0,1fr)); grid-auto-rows:auto; align-content:stretch; gap:.6em; }
.lg-card{
  position:relative; min-width:0; min-height:0; overflow:hidden; display:flex; flex-direction:column; gap:.4em;
  background:var(--glass-strong); border:1px solid var(--glass-border); border-radius:16px; padding:.9em 1.05em;
  transition:transform .15s, border-color .15s;
}
.lg-card::before{ content:''; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,var(--accent),transparent 80%); opacity:.85; }
.lg-card:hover{ transform:translateY(-1px); border-color:color-mix(in srgb, var(--accent) 40%, transparent); }
.lg-card.wide{ grid-column:span 2; }
.lg-card.accent{ background:color-mix(in srgb, var(--accent) 9%, var(--glass-strong)); border-color:color-mix(in srgb, var(--accent) 30%, transparent); }
.lg-card-title{ font-family:var(--font-display); font-weight:800; font-size:1.25em; padding-bottom:.35em; border-bottom:1px solid var(--line); color:var(--text-hi); display:flex; align-items:center; gap:.5em; }
.lg-num{ width:2em; height:2em; flex-shrink:0; border-radius:.65em; font-size:.85em; font-weight:800; background:linear-gradient(135deg,var(--accent),var(--accent-deep)); color:var(--on-accent,#fff); box-shadow:0 6px 14px -6px var(--accent); display:flex; align-items:center; justify-content:center; }
.lg-card p, .lg-card li{ line-height:1.5; color:var(--text); font-size:1em; }
.lg-card b{ color:var(--text-hi); }
.lg-card a{ color:var(--accent-text); border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, transparent); }
.lg-card ul{ margin:0 0 0 1.1em; display:flex; flex-direction:column; gap:.2em; }
.lg-tags{ display:flex; flex-wrap:wrap; gap:.35em; }
.lg-tag{ font-size:.95em; font-weight:700; color:var(--accent-text); background:var(--accent-soft); border-radius:999px; padding:.25em .8em; }

/* Services tiers : pastilles */
#services-tiers-auto ul{ list-style:none; margin:0; display:flex; flex-direction:row; flex-wrap:wrap; gap:.35em; }
#services-tiers-auto li{ font-size:.95em; color:var(--text-hi); background:var(--accent-soft); border:1px solid color-mix(in srgb, var(--accent) 25%, transparent); border-radius:999px; padding:.25em .85em; }
#services-tiers-auto li.svc-required{ background:linear-gradient(135deg,var(--accent),var(--accent-deep)); color:var(--on-accent,#fff); border-color:transparent; }
#services-tiers-auto li.svc-required b{ color:inherit; }
#services-tiers-auto .svc span{ display:none; }

footer.intro-foot.lg-foot{ position:static; padding:4px 20px 10px; font-size:.95em; text-align:center; }

/* Écran bureau : la page = la fenêtre, aucun défilement */
@media (min-width:1200px) and (min-height:600px){
  html.lg-page, html.lg-page body{ height:100%; overflow:hidden; }
  .lg-shell{ height:100vh; height:100dvh; min-height:0; }
}
/* Fenêtres basses : on gagne de la hauteur */
@media (min-width:1200px) and (min-height:600px) and (max-height:760px){
  .lg-header{ padding-top:6px; }
  .lg-logo img{ height:3.2em; }
  .lg-tab, .lg-back{ padding-top:.4em; padding-bottom:.4em; }
  .lg-main{ padding-top:4px; padding-bottom:4px; }
  .lg-panel{ padding-top:8px; padding-bottom:8px; gap:5px; }
  .lg-eyebrow{ display:none; }
  .lg-title{ font-size:1.7em; }
  .lg-grid{ gap:5px; }
  .lg-card{ padding:.6em .8em; gap:.3em; }
  footer.intro-foot.lg-foot{ padding-top:2px; padding-bottom:4px; }
}
/* Petites fenêtres / téléphones : défilement naturel */
@media (max-width:1199px), (max-height:599px){
  html.lg-page, html.lg-page body{ height:auto; overflow-y:auto; }
  .lg-shell{ height:auto; min-height:100vh; --lg-fs:13px; --lg-cols:3; }
  .lg-card{ overflow:visible; }
  .lg-header{ flex-wrap:wrap; }
  .lg-panel{ opacity:1; }
  #services-tiers-auto ul{ flex-direction:column; }
  #services-tiers-auto li{ border-radius:12px; padding:.5em .9em; }
  #services-tiers-auto .svc span{ display:block; font-weight:400; opacity:.9; margin-top:.15em; }
}
@media (max-width:899px){ .lg-shell{ --lg-cols:2; } }
@media (max-width:640px){
  .lg-shell{ --lg-cols:1; }
  .lg-card.wide{ grid-column:auto; }
  .lg-back span{ display:none; }
  .lg-tab{ padding:.62em 1em; }
}
@media (prefers-reduced-motion:reduce){ .lg-panel{ animation:none; opacity:1; } .lg-card,.lg-tab,.lg-back{ transition:none; } }

.lg-actions{ display:flex; align-items:center; gap:10px; }
button.lg-back{ cursor:pointer; font-family:inherit; }
