:root{
  --infos-navy:#071a43;
  --infos-blue:#2765f5;
  --infos-violet:#7654f7;
  --infos-cyan:#24bff2;
  --infos-ink:#0c1b3d;
  --infos-muted:#667493;
  --infos-line:#dbe6f7;
  --infos-paper:#fff;
  --infos-bg:#f3f7ff;
}

body.page-infos{
  margin:0;
  color:var(--infos-ink);
  background:
    radial-gradient(circle at 8% 8%,rgba(36,191,242,.13),transparent 23rem),
    radial-gradient(circle at 92% 14%,rgba(118,84,247,.11),transparent 28rem),
    var(--infos-bg);
  font-family:Inter,system-ui,sans-serif;
}

.page-infos *{ box-sizing:border-box; }
.page-infos .hero-infos .container,
.page-infos .infos-main .container{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}

.hero-infos{
  position:relative;
  overflow:hidden;
  padding:88px 0 62px;
  background:
    linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.94)),
    linear-gradient(90deg,rgba(39,101,245,.08) 1px,transparent 1px),
    linear-gradient(rgba(39,101,245,.08) 1px,transparent 1px);
  background-size:auto,42px 42px,42px 42px;
  border-bottom:1px solid var(--infos-line);
}

.hero-infos::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border:1px solid rgba(39,101,245,.14);
  border-radius:50%;
  right:-170px;
  top:-280px;
  box-shadow:0 0 0 72px rgba(39,101,245,.035),0 0 0 144px rgba(118,84,247,.025);
}

.hero-infos__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  align-items:center;
  gap:70px;
}

.hero-infos__eyebrow,
.chapters-heading span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--infos-blue);
  font:700 12px/1 Poppins,system-ui;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.hero-infos__eyebrow::before,
.chapters-heading span::before{
  content:"";
  width:34px;
  height:2px;
  background:linear-gradient(90deg,var(--infos-cyan),var(--infos-violet));
}

.hero-infos h1{
  margin:20px 0 18px;
  color:var(--infos-navy);
  font:700 clamp(42px,5.8vw,72px)/1.03 Poppins,system-ui;
  letter-spacing:-.055em;
}

.hero-infos h1 span{
  color:transparent;
  background:linear-gradient(100deg,var(--infos-blue),var(--infos-violet));
  -webkit-background-clip:text;
  background-clip:text;
}

.hero-infos__copy>p{
  max-width:690px;
  margin:0;
  color:var(--infos-muted);
  font-size:17px;
  line-height:1.75;
}

.badge-paiement{
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-top:28px;
  padding:8px 16px 8px 8px;
  border:1px solid #cfe0fa;
  border-radius:999px;
  color:#34466b;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 30px rgba(31,74,144,.09);
  font-size:13px;
  font-weight:600;
}

.badge-paiement span{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--infos-blue),var(--infos-violet));
  font:700 13px Poppins,system-ui;
}

.identity-sheet{
  position:relative;
  padding:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  border-radius:24px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(7,26,67,.98),rgba(16,57,119,.96)),
    var(--infos-navy);
  box-shadow:0 28px 70px rgba(7,26,67,.22);
}

.identity-sheet::after{
  content:"GSO";
  position:absolute;
  right:-15px;
  bottom:-42px;
  color:rgba(255,255,255,.035);
  font:700 118px Poppins,system-ui;
  letter-spacing:-.08em;
}

.identity-sheet__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.identity-sheet__label{
  font:700 14px Poppins,system-ui;
  letter-spacing:.04em;
}

.identity-sheet__status{
  display:flex;
  align-items:center;
  gap:7px;
  color:#c8d7f2;
  font-size:11px;
}

.identity-sheet__status i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3dd6a2;
  box-shadow:0 0 0 6px rgba(61,214,162,.13);
}

.identity-sheet dl{ margin:18px 0 20px; }
.identity-sheet dl div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:10px 0;
}
.identity-sheet dt{ color:#9eb3d5; font-size:12px; }
.identity-sheet dd{ margin:0; text-align:right; font-size:13px; font-weight:600; }
.identity-sheet>a{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.07);
  text-decoration:none;
  font-size:12px;
  font-weight:600;
}

.infos-main{
  padding:42px 0 80px;
  counter-reset:info-chapter;
}

.infos-index{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:28px;
  padding:26px;
  border:1px solid var(--infos-line);
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 20px 55px rgba(26,61,122,.08);
}

.infos-index__heading{
  padding:8px 28px 8px 5px;
  border-right:1px solid var(--infos-line);
}
.infos-index__heading span{
  color:var(--infos-cyan);
  font:700 11px Poppins,system-ui;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.infos-index__heading h2{
  margin:9px 0 0;
  color:var(--infos-navy);
  font:700 20px/1.35 Poppins,system-ui;
}

.toc{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.toc a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:10px;
  color:#405174;
  background:#f6f9ff;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
  transition:.2s ease;
}
.toc a:hover{
  transform:translateY(-2px);
  color:var(--infos-blue);
  border-color:#cfe0ff;
  background:#fff;
  box-shadow:0 8px 20px rgba(39,101,245,.09);
}

.chapters-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:62px !important;
  margin-bottom:18px !important;
}
.chapters-heading p{
  margin:0;
  color:var(--infos-muted);
  font-size:13px;
}

section.info{
  position:relative;
  margin-top:0;
  margin-bottom:14px;
  padding:31px 38px 31px 128px;
  overflow:hidden;
  border:1px solid var(--infos-line);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 32px rgba(25,56,112,.055);
  scroll-margin-top:100px;
  counter-increment:info-chapter;
}

section.info::before{
  content:counter(info-chapter,decimal-leading-zero);
  position:absolute;
  top:30px;
  left:34px;
  display:grid;
  width:56px;
  height:56px;
  place-items:center;
  border:1px solid #d7e4fa;
  border-radius:16px;
  color:var(--infos-blue);
  background:#f2f7ff;
  font:700 15px Poppins,system-ui;
}

section.info::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:linear-gradient(180deg,var(--infos-cyan),var(--infos-violet));
  opacity:0;
  transition:.2s ease;
}
section.info:hover::after{ opacity:1; }

section.info h2{
  margin:0 0 16px;
  color:var(--infos-navy);
  font:700 clamp(21px,2.3vw,28px)/1.2 Poppins,system-ui;
  letter-spacing:-.025em;
}
section.info h3{
  margin:20px 0 7px;
  color:#183566;
  font:700 15px Poppins,system-ui;
}
section.info p,
section.info li{
  color:#4f5f7d;
  font-size:14px;
  line-height:1.75;
}
section.info p{ margin:9px 0; }
section.info ul{ padding-left:20px; }
section.info li+li{ margin-top:6px; }
section.info a{ color:var(--infos-blue); font-weight:600; }

.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.grid-2>div{
  padding:5px 20px 18px;
  border-left:1px solid var(--infos-line);
}

.note{
  padding:13px 15px;
  border:1px solid #dfe8f6;
  border-left:4px solid var(--infos-blue);
  border-radius:10px;
  color:#475b7c;
  background:#f7faff;
  font-size:13px !important;
}
.version-note{
  border-color:#bdebd9;
  border-left-color:#16a34a;
  color:#166534 !important;
  background:#edfbf5;
  font-weight:600;
}
.mut{ color:var(--infos-muted) !important; }
.kbd{
  display:inline-block;
  padding:3px 8px;
  border:1px solid #dbe5f4;
  border-radius:7px;
  color:#30496f;
  background:#f3f7fd;
  font:500 12px ui-monospace,SFMono-Regular,Menlo,monospace;
}
.hours-line{ margin-top:14px !important; }
.hours-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border:1px solid #bdebd9;
  border-radius:999px;
  color:#17724d;
  background:#edfbf5;
  font-size:12px;
  font-weight:700;
}
.security-warning{
  padding:13px 15px;
  border:1px solid #fecaca;
  border-left:4px solid #dc2626;
  border-radius:10px;
  color:#991b1b !important;
  background:#fff7f7;
  font-weight:700;
}

#cgv{
  padding-top:40px;
  padding-bottom:40px;
  background:
    linear-gradient(90deg,rgba(39,101,245,.035) 1px,transparent 1px),
    linear-gradient(rgba(39,101,245,.035) 1px,transparent 1px),
    #fff;
  background-size:26px 26px;
}
#mentions{
  color:#fff;
  border-color:#153569;
  background:linear-gradient(135deg,#071a43,#103d7c);
}
#mentions::before{
  color:#fff;
  border-color:rgba(255,255,255,.17);
  background:rgba(255,255,255,.08);
}
#mentions h2{ color:#fff; }
#mentions .mut{ color:#bdcbe3 !important; }

.legal-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
}
.legal-table td{
  padding:12px 14px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#d4def0;
  vertical-align:top;
  word-break:break-word;
  font-size:13px;
}
.legal-table tr:first-child td{ border-top:0; }
.legal-table td:first-child{
  width:240px;
  color:#96add1;
  background:rgba(255,255,255,.04);
}
.legal-table a{ color:#76d8ff !important; }
.mediation-note{ margin-top:13px !important; }

@media (max-width:900px){
  .hero-infos{ padding:60px 0 42px; }
  .hero-infos__grid{ grid-template-columns:1fr; gap:34px; }
  .identity-sheet{ max-width:620px; }
  .infos-index{ grid-template-columns:1fr; }
  .infos-index__heading{ padding:0 0 18px; border-right:0; border-bottom:1px solid var(--infos-line); }
  .toc{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px){
  .page-infos .hero-infos .container,
  .page-infos .infos-main .container{ width:min(100% - 24px,1180px); }
  .hero-infos h1{ font-size:39px; }
  .hero-infos__copy>p{ font-size:15px; }
  .badge-paiement{ align-items:flex-start; border-radius:16px; line-height:1.5; }
  .identity-sheet{ padding:22px 18px; border-radius:20px; }
  .identity-sheet__top{ align-items:flex-start; flex-direction:column; }
  .infos-main{ padding-top:24px; }
  .infos-index{ padding:18px; border-radius:18px; }
  .toc{ grid-template-columns:1fr; max-height:280px; overflow:auto; }
  .chapters-heading{ align-items:flex-start; flex-direction:column; margin-top:42px !important; }
  section.info{ padding:86px 20px 24px; border-radius:16px; }
  section.info::before{ top:18px; left:20px; width:48px; height:48px; border-radius:13px; }
  .grid-2{ grid-template-columns:1fr; }
  .grid-2>div{ padding:0 0 14px; border-left:0; border-bottom:1px solid var(--infos-line); }
  .legal-table,
  .legal-table tbody,
  .legal-table tr,
  .legal-table td{ display:block; width:100% !important; }
  .legal-table tr{ border-top:1px solid rgba(255,255,255,.1); }
  .legal-table tr:first-child{ border-top:0; }
  .legal-table td{ border-top:0; }
  .legal-table td:first-child{ padding-bottom:3px; }
  .legal-table td:last-child{ padding-top:3px; }
}
