/* =========================================================
   PAGES LÉGALES — MYD GROUP CONSULTING
   Fichier : assets/css/legal.css
   Scope strict : body[data-page="legal"]
========================================================= */

body[data-page="legal"]{
  --legal-bg:#f7f2ec;
  --legal-surface:#fdf9f5;
  --legal-surface-2:#f3eae0;
  --legal-card:#fffdfa;
  --legal-text:#2d2925;
  --legal-muted:#76695d;
  --legal-line:rgba(111,87,67,.12);
  --legal-brand:#c6a27e;
  --legal-brand-deep:#b48a65;
  --legal-shadow:0 20px 55px rgba(34,24,16,.08);
  --legal-radius-xl:28px;
  --legal-radius-lg:22px;
  --legal-radius-md:16px;

  margin:0;
  background:
    radial-gradient(circle at top left, rgba(198,162,126,.10), transparent 25%),
    linear-gradient(180deg, #faf6f1 0%, #f7f2ec 100%);
  color:var(--legal-text);
  overflow-x:hidden;
}

body[data-page="legal"] main{
  overflow:hidden;
}

body[data-page="legal"] .legal-hero,
body[data-page="legal"] .legal-hero *,
body[data-page="legal"] .legal-content,
body[data-page="legal"] .legal-content *{
  box-sizing:border-box;
}

body[data-page="legal"] a{
  color:inherit;
  text-decoration:none;
}

body[data-page="legal"] a:focus-visible,
body[data-page="legal"] button:focus-visible{
  outline:3px solid rgba(198,162,126,.34);
  outline-offset:4px;
  border-radius:16px;
}

/* =========================================================
   HERO
========================================================= */

body[data-page="legal"] .legal-hero{
  padding:42px 0 20px;
}

body[data-page="legal"] .legal-hero-box{
  min-height:320px;
  border-radius:var(--legal-radius-xl);
  padding:58px 56px 48px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(115deg, rgba(28,22,18,.62), rgba(28,22,18,.24)),
    url("../images/building.jpg") center/cover no-repeat;
  box-shadow:var(--legal-shadow);
}

body[data-page="legal"] .legal-hero-box::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:calc(var(--legal-radius-xl) - 12px);
  pointer-events:none;
}

body[data-page="legal"] .privacy-hero{
  background:
    linear-gradient(115deg, rgba(28,22,18,.62), rgba(28,22,18,.24)),
    url("../images/privacy.jpg") center/cover no-repeat;
}

body[data-page="legal"] .legal-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:max-content;
  margin:0 0 16px;
  padding:8px 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff8f2;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

body[data-page="legal"] .legal-hero h1{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  font-size:clamp(2.4rem, 4vw, 4.6rem);
  line-height:.96;
  font-weight:800;
  letter-spacing:-.055em;
  color:#fff;
}

body[data-page="legal"] .legal-hero p:not(.legal-kicker){
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0;
  font-size:1.05rem;
  line-height:1.8;
  font-weight:600;
  color:rgba(255,255,255,.88);
}

/* =========================================================
   CONTENU
========================================================= */

body[data-page="legal"] .legal-content{
  padding:28px 0 80px;
}

body[data-page="legal"] .legal-layout{
  display:grid;
  grid-template-columns:290px minmax(0, 1fr);
  gap:28px;
  align-items:start;
}

body[data-page="legal"] .legal-side{
  position:sticky;
  top:120px;
}

body[data-page="legal"] .legal-summary{
  background:rgba(255,253,250,.82);
  border:1px solid var(--legal-line);
  border-radius:var(--legal-radius-lg);
  padding:24px;
  box-shadow:0 16px 38px rgba(34,24,16,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

body[data-page="legal"] .summary-title{
  margin:0 0 16px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--legal-brand-deep);
}

body[data-page="legal"] .legal-summary ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

body[data-page="legal"] .legal-summary a{
  display:block;
  padding:11px 14px;
  border-radius:12px;
  color:#5d5248;
  font-weight:700;
  font-size:.92rem;
  line-height:1.25;
  transition:.22s ease;
}

body[data-page="legal"] .legal-summary a:hover,
body[data-page="legal"] .legal-summary a:focus-visible{
  background:var(--legal-surface-2);
  color:var(--legal-brand-deep);
}

/* =========================================================
   CARTES
========================================================= */

body[data-page="legal"] .legal-main{
  display:grid;
  gap:22px;
}

body[data-page="legal"] .legal-card{
  background:linear-gradient(180deg, rgba(255,253,250,.98), rgba(255,250,246,.96));
  border:1px solid var(--legal-line);
  border-radius:var(--legal-radius-lg);
  padding:34px 34px 30px;
  box-shadow:var(--legal-shadow);
}

body[data-page="legal"] .card-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--legal-line);
}

body[data-page="legal"] .card-number{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:.9rem;
  font-weight:800;
  color:var(--legal-brand-deep);
  background:linear-gradient(180deg, rgba(198,162,126,.18), rgba(198,162,126,.08));
  border:1px solid rgba(198,162,126,.2);
}

body[data-page="legal"] .card-head h2{
  margin:0;
  font-size:clamp(1.45rem, 2vw, 2rem);
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.03em;
  color:#2e2722;
}

body[data-page="legal"] .legal-card p{
  margin:0 0 16px;
  font-size:1rem;
  line-height:1.85;
  font-weight:500;
  color:#4d443d;
}

body[data-page="legal"] .legal-card p:last-child{
  margin-bottom:0;
}

body[data-page="legal"] .legal-card strong{
  color:#2e2722;
  font-weight:800;
}

body[data-page="legal"] .legal-card a{
  color:var(--legal-brand-deep);
  font-weight:800;
}

body[data-page="legal"] .legal-card a:hover{
  text-decoration:underline;
}

/* =========================================================
   GRILLES
========================================================= */

body[data-page="legal"] .legal-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

body[data-page="legal"] .info-item{
  min-height:100%;
  padding:18px 18px 16px;
  border-radius:16px;
  background:rgba(247,242,236,.72);
  border:1px solid rgba(111,87,67,.09);
}

body[data-page="legal"] .info-item--wide{
  grid-column:1 / -1;
}

body[data-page="legal"] .label{
  display:block;
  margin-bottom:8px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--legal-brand-deep);
}

body[data-page="legal"] .info-item p{
  margin:0;
  line-height:1.7;
  color:#3d3630;
  font-weight:600;
}

/* =========================================================
   LISTES / NOTES
========================================================= */

body[data-page="legal"] .bullet-list{
  margin-top:10px;
}

body[data-page="legal"] .bullet-list p{
  margin:0 0 12px;
  font-weight:700;
  color:#4d443d;
}

body[data-page="legal"] .bullet-list ul{
  margin:14px 0 0;
  padding-left:18px;
}

body[data-page="legal"] .bullet-list li{
  margin:0 0 10px;
  color:#4d443d;
  line-height:1.8;
  font-weight:500;
}

body[data-page="legal"] .legal-note{
  margin-top:22px;
  padding:18px 18px 16px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(198,162,126,.11), rgba(198,162,126,.05));
  border:1px solid rgba(198,162,126,.18);
}

body[data-page="legal"] .legal-note p{
  margin:0;
  color:#4a4037;
  font-weight:600;
}

body[data-page="legal"] .legal-contact-box{
  margin-top:16px;
  padding:22px 22px 18px;
  border-radius:18px;
  background:#f7efe6;
  border:1px solid rgba(180,138,101,.18);
}

body[data-page="legal"] .legal-contact-box p{
  margin:0 0 10px;
}

body[data-page="legal"] .legal-contact-box p:last-child{
  margin-bottom:0;
}

/* =========================================================
   TABLETTE
========================================================= */

@media (max-width:1100px){
  body[data-page="legal"] .legal-layout{
    grid-template-columns:1fr;
  }

  body[data-page="legal"] .legal-side{
    position:static;
  }

  body[data-page="legal"] .legal-summary{
    padding:20px;
  }

  body[data-page="legal"] .legal-summary ul{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   MOBILE — RETOUR VERSION SIMPLE ET PROPRE
========================================================= */

@media (max-width:720px){
  body[data-page="legal"] .legal-hero{
    padding:18px 0 12px;
  }

  body[data-page="legal"] .legal-hero .container,
  body[data-page="legal"] .legal-content .container{
    width:100%;
    padding-inline:14px;
  }

  body[data-page="legal"] .legal-hero-box{
    min-height:280px;
    padding:34px 24px 28px;
    border-radius:22px;
  }

  body[data-page="legal"] .legal-hero-box::after{
    inset:12px;
    border-radius:16px;
  }

  body[data-page="legal"] .legal-kicker{
    margin-bottom:12px;
    padding:7px 12px;
    font-size:.62rem;
    letter-spacing:.09em;
  }

  body[data-page="legal"] .legal-hero h1{
    margin-bottom:12px;
    font-size:clamp(2rem, 10vw, 2.8rem);
    line-height:1.02;
    letter-spacing:-.05em;
  }

  body[data-page="legal"] .legal-hero p:not(.legal-kicker){
    max-width:100%;
    font-size:.88rem;
    line-height:1.48;
  }

  body[data-page="legal"] .legal-content{
    padding:16px 0 56px;
  }

  body[data-page="legal"] .legal-layout{
    gap:16px;
  }

  body[data-page="legal"] .legal-summary{
    padding:18px;
    border-radius:20px;
  }

  body[data-page="legal"] .summary-title{
    margin-bottom:14px;
    font-size:.72rem;
  }

  body[data-page="legal"] .legal-summary ul{
    grid-template-columns:1fr;
    gap:8px;
  }

  body[data-page="legal"] .legal-summary a{
    padding:10px 12px;
    font-size:.86rem;
  }

  body[data-page="legal"] .legal-card{
    padding:24px 20px 22px;
    border-radius:18px;
  }

  body[data-page="legal"] .card-head{
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
    padding-bottom:15px;
  }

  body[data-page="legal"] .card-number{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:.78rem;
  }

  body[data-page="legal"] .card-head h2{
    font-size:clamp(1.35rem, 7vw, 1.75rem);
    line-height:1.04;
  }

  body[data-page="legal"] .legal-card p{
    font-size:.92rem;
    line-height:1.65;
  }

  body[data-page="legal"] .legal-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  body[data-page="legal"] .info-item,
  body[data-page="legal"] .info-item--wide{
    grid-column:auto;
  }

  body[data-page="legal"] .info-item{
    padding:16px;
    border-radius:15px;
  }

  body[data-page="legal"] .label{
    font-size:.68rem;
  }

  body[data-page="legal"] .info-item p{
    font-size:.9rem;
    line-height:1.5;
  }

  body[data-page="legal"] .bullet-list ul{
    padding-left:18px;
  }

  body[data-page="legal"] .bullet-list li{
    font-size:.9rem;
    line-height:1.6;
  }

  body[data-page="legal"] .legal-note{
    padding:16px;
  }

  body[data-page="legal"] .legal-note p{
    font-size:.88rem;
    line-height:1.55;
  }

  body[data-page="legal"] .legal-contact-box{
    padding:18px;
  }
}

/* =========================================================
   PETIT MOBILE
========================================================= */

@media (max-width:390px){
  body[data-page="legal"] .legal-hero .container,
  body[data-page="legal"] .legal-content .container{
    padding-inline:12px;
  }

  body[data-page="legal"] .legal-hero-box{
    min-height:260px;
    padding:30px 20px 24px;
    border-radius:20px;
  }

  body[data-page="legal"] .legal-hero h1{
    font-size:1.95rem;
  }

  body[data-page="legal"] .legal-hero p:not(.legal-kicker){
    font-size:.82rem;
    line-height:1.42;
  }

  body[data-page="legal"] .legal-card{
    padding:22px 18px 20px;
  }

  body[data-page="legal"] .card-head h2{
    font-size:1.28rem;
  }

  body[data-page="legal"] .legal-card p{
    font-size:.86rem;
  }

  body[data-page="legal"] .info-item p{
    font-size:.84rem;
  }
}

/* =========================================================
   ACCESSIBILITÉ / MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){
  body[data-page="legal"] *,
  body[data-page="legal"] *::before,
  body[data-page="legal"] *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}