/* =========================
   LOI — Mise en page document (proche PDF)
   ========================= */

.law-wrap{
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(18px, 3vw, 36px) 20px 64px;
}

.law-head{
  display: grid;
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.law-emblems{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
}

.law-emblems img{
  display:block;
  height: 120px;
  width: auto;
  opacity: .95;
}

.law-emblem-round{
  justify-self: end;
}

.law-emblems .law-emblem-round img{
  height: 80px;
  opacity: .9;
}

/* Mobile */
@media (max-width: 600px){
  .law-emblems img{ height: 84px; }
  .law-emblems .law-emblem-round img{ height: 56px; }
}

.law-id{
  display: grid;
  gap: 4px;
  color: rgba(255,255,255,.75);
  font-size: 14px;
  line-height: 1.25;
}

.law-title{
  margin: 8px 0 0;
  font-size: clamp(28px, 3.2vw, 40px);
  letter-spacing: .02em;
  line-height: 1.05;
  color: rgba(255,255,255,.92);
}

.law-subtitle{
  margin: 0;
  color: rgba(255,255,255,.70);
  font-size: 16px;
  line-height: 1.4;
  max-width: 70ch;
}

.law-actions{ margin: 10px 0 0; }

.law-btn{
  display:inline-block;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: 14px;
}
.law-btn:hover{ color:#fff; border-color: rgba(255,255,255,.35); }

.law-ruleline{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.10);
}

.law-kicker{
  color: rgba(255,255,255,.70);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  margin: 0 0 6px;
}

.law-h2{
  margin: 18px 0 8px;
  font-size: 16px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.90);
}

.law-p{
  margin: 0 0 10px;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  font-size: 16px;
}

.law-bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  font-size: 16px;
}

.law-bullets li{ margin: 4px 0; }

.law-hr{
  border: 0;
  height: 1px;
  background: rgba(255,255,255,.10);
  margin: 18px 0;
}

.law-stamp{
  margin-top: 22px;
  display: grid;
  gap: 6px;
  color: rgba(255,255,255,.65);
  font-size: 14px;
  line-height: 1.35;
}

.law-nomen{
  margin-top: 16px;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  letter-spacing: .04em;
}

/* Nomenclature verticale (discrète) */
.law-nomen-vert{ display:none; }

@media (min-width: 1000px){
  .law-nomen-vert{
    display:block;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 14px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 12px;
    letter-spacing: .12em;
    color: rgba(255,255,255,.28);
    user-select: none;
    pointer-events: none;
  }
}
@media (max-width: 600px){
  .law-emblems img{ height: 120px; }
  .law-emblems .law-emblem-round img{ height: 80px; }
}

/* Print-friendly */
@media print{
  @page { size: A4; margin: 12mm 14mm; }

  body{ background:#fff; color:#000; }
  header, footer{ display:none !important; }

  .law-wrap{ max-width: 190mm; padding: 12mm 14mm; }

  .law-p, .law-bullets, .law-id, .law-subtitle, .law-stamp{
    color:#000 !important;
  }

  .law-ruleline{ border-top: 1px solid #000 !important; }
  .law-hr{ background:#000 !important; }

  h1, h2{ break-after: avoid; page-break-after: avoid; }
  ul, p { break-inside: avoid; page-break-inside: avoid; }

  .law-actions{ display:none !important; }
  .law-nomen-vert{ display:none !important; }
}