/*
 * TST Legal Pages 1.2.3
 * Grille strictement identique au template TST natif.
 *
 * Référence template :
 * .wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
 * <=1150px : calc(100% - 56px)
 * <=600px  : calc(100% - 40px)
 *
 * AUCUN positionnement artificiel.
 */

/* Neutralisation complète des wrappers/rustines des versions précédentes. */
.tst-legal-viewport,
.tst-legal-shell{
  display:contents !important;
}

.tst-legal-body{
  position:static !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;

  box-sizing:border-box;
  width:min(1280px, calc(100% - 96px)) !important;
  max-width:none !important;
  margin-inline:auto !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding:34px 0 52px !important;

  color:#10253f;
  font-size:15px;
  line-height:1.58;
}

.tst-legal-identity{
  display:inline-block;
  box-sizing:border-box;
  width:auto;
  min-width:300px;
  max-width:100%;
  margin:0 0 26px;
  padding:14px 18px;
  border-left:4px solid #009fe3;
  border-radius:0 8px 8px 0;
  background:rgba(0,159,227,.065);
  line-height:1.48;
}

.tst-legal-identity strong{
  display:inline-block;
  margin-bottom:3px;
}

.tst-legal-body h2{
  margin:25px 0 7px;
  padding:0;
  color:#10253f;
  font-size:1.08rem;
  line-height:1.28;
  font-weight:700;
  letter-spacing:-.015em;
}

.tst-legal-body h3{
  margin:18px 0 6px;
  padding:0;
  color:#10253f;
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
}

.tst-legal-body p{
  margin:0 0 10px;
  padding:0;
  max-width:1050px;
}

.tst-legal-body ul,
.tst-legal-body ol{
  margin:4px 0 12px;
  padding-left:22px;
  max-width:1050px;
}

.tst-legal-body li{
  margin:2px 0;
}

.tst-legal-body a{
  color:#008ecb;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

.tst-legal-body a:hover{
  color:#006d9d;
}

.tst-legal-body .tst-legal-updated{
  margin-top:24px;
  padding-top:12px;
  border-top:1px solid rgba(16,37,63,.12);
  font-size:.92rem;
}

/* Même breakpoint que le template TST. */
@media (max-width:1150px){
  .tst-legal-body{
    width:calc(100% - 56px) !important;
  }
}

/* Même breakpoint mobile que le template TST. */
@media (max-width:600px){
  .tst-legal-body{
    width:calc(100% - 40px) !important;
    padding:26px 0 38px !important;
    font-size:14.5px;
  }

  .tst-legal-identity{
    display:block;
    width:100%;
    min-width:0;
    margin-bottom:20px;
  }

  .tst-legal-body h2{
    margin-top:20px;
    font-size:1.04rem;
  }
}
