.elementor-774 .elementor-element.elementor-element-f7732f1{--display:flex;}/* Start custom CSS for container, class: .elementor-element-f7732f1 *//* ══════════════════════════════════════════════════════
   Informations légales — CSS GLOBAL
   Elementor → Site Settings → Custom CSS
   ══════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════
   CSS — Informations légales
   Système de design : Cabinet Kerduel
   ══════════════════════════════════════════════════════ */
:root {
  --navy:#2A3B55;--teal:#70BBB7;--teal-d:#48a899;
  --cream:#F8F5F0;--soft:#F0ECE6;--white:#ffffff;--mid:#666;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--cream);color:var(--navy);line-height:1.7;overflow-x:hidden}

/* ── Layout ── */
.page-wrap{max-width:1060px;margin:0 auto;padding:0 28px}
.content-grid{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start;padding:72px 0 96px}

/* ── Hero ── */
.legal-hero{background:linear-gradient(155deg,#fefaf5 0%,#f0ece6 100%);border-bottom:1px solid rgba(42,59,85,.08);padding:56px 28px 40px;position:relative;overflow:hidden;max-width:100%;width:100%}
.legal-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(112,187,183,.08) 1.5px,transparent 1.5px);background-size:36px 36px;pointer-events:none}
.legal-hero-inner{max-width:1060px;margin:0 auto;position:relative;z-index:1}
.oline{font-size:.67rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.oline::before{content:"";width:22px;height:1px;background:var(--teal)}
.legal-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4cqi,3.6rem);font-weight:300;line-height:1.1;letter-spacing:-.02em;margin-bottom:14px}
.legal-hero h1 em{font-style:italic;color:var(--teal-d)}
.legal-hero .intro{font-size:.95rem;color:var(--mid);line-height:1.85;max-width:580px;margin-bottom:28px}
.update-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(112,187,183,.12);border:1px solid rgba(112,187,183,.28);color:var(--teal-d);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 14px;border-radius:100px}

/* ── Sidebar nav ── */
.sidebar{position:sticky;top:32px}
.sidebar-title{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:16px;padding-left:14px;border-left:2px solid var(--teal)}
.sidebar-nav{display:flex;flex-direction:column;gap:2px}
.sidebar-nav a{display:block;padding:8px 14px;font-size:.82rem;color:var(--mid);text-decoration:none;border-radius:8px;border-left:2px solid transparent;transition:all .18s;line-height:1.4}
.sidebar-nav a:hover{color:var(--navy);background:rgba(42,59,85,.05);border-left-color:var(--teal)}
.sidebar-nav a.active{color:var(--navy);font-weight:600;background:rgba(112,187,183,.10);border-left-color:var(--teal-d)}
.sidebar-sub{font-size:.74rem;color:#aaa;padding-left:24px;margin-top:1px}
.sidebar-sep{height:1px;background:rgba(42,59,85,.08);margin:10px 14px}

/* ── Content cards ── */
.legal-section{margin-bottom:56px}
.section-anchor{display:block;height:80px;margin-top:-80px;visibility:hidden}
.section-card{background:var(--white);border-radius:20px;border:1px solid rgba(42,59,85,.07);box-shadow:0 4px 24px rgba(0,0,0,.05);overflow:hidden}
.section-header{padding:28px 36px 20px;border-bottom:1px solid rgba(42,59,85,.06);display:flex;align-items:flex-start;gap:16px}
.section-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;margin-top:2px}
.si-mentions{background:rgba(42,59,85,.07)}
.si-confidentialite{background:rgba(112,187,183,.12)}
.si-cgv{background:rgba(74,140,63,.10)}
.si-enfants{background:rgba(232,163,32,.12)}
.si-sous-traitants{background:rgba(46,111,168,.10)}
.si-abonnement{background:rgba(217,78,42,.08)}
.section-header-text .sh-label{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-d);margin-bottom:5px;display:block}
.section-header h2{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:300;line-height:1.15;color:var(--navy)}
.section-body{padding:28px 36px 36px}

/* ── Typography inside cards ── */
.section-body h3{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--navy);margin:28px 0 10px;padding-top:4px;border-top:1px solid rgba(42,59,85,.06)}
.section-body h3:first-child{margin-top:0;border-top:none;padding-top:0}
.section-body p{font-size:.9rem;color:#444;line-height:1.85;margin-bottom:10px}
.section-body p:last-child{margin-bottom:0}
.section-body ul{list-style:none;display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.section-body ul li{font-size:.88rem;color:#444;line-height:1.65;padding-left:18px;position:relative}
.section-body ul li::before{content:"→";position:absolute;left:0;color:var(--teal-d);font-weight:700;font-size:.8rem}
.section-body strong{color:var(--navy);font-weight:600}
.section-body a{color:var(--teal-d);text-decoration:none;border-bottom:1px solid rgba(112,187,183,.35);transition:border-color .2s}
.section-body a:hover{border-color:var(--teal-d)}

/* ── Info blocks ── */
.info-block{background:var(--soft);border-radius:12px;padding:18px 20px;margin:16px 0;font-size:.88rem;color:var(--navy);line-height:1.8}
.info-block.warn{background:rgba(232,163,32,.08);border:1px solid rgba(232,163,32,.2)}
.info-block.blue{background:rgba(112,187,183,.08);border:1px solid rgba(112,187,183,.2)}
.info-block.green{background:rgba(74,140,63,.07);border:1px solid rgba(74,140,63,.18)}
.info-block strong{color:var(--navy)}

/* ── Table sous-traitants ── */
.processors-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.84rem;margin:14px 0}
.processors-table th{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-d);padding:10px 14px;text-align:left;border-bottom:2px solid rgba(112,187,183,.2)}
.processors-table td{padding:12px 14px;border-bottom:1px solid rgba(42,59,85,.06);color:#444;vertical-align:top;line-height:1.55}
.processors-table tr:last-child td{border-bottom:none}
.pt-name{font-weight:600;color:var(--navy)}
.pt-badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.ptb-eu{background:rgba(74,140,63,.10);color:#2E7D32}
.ptb-us{background:rgba(232,163,32,.12);color:#C4881A}

/* ── Data contact block ── */
.contact-block{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:rgba(112,187,183,.09);border:1px solid rgba(112,187,183,.22);border-radius:12px;font-size:.88rem;color:var(--navy);margin-top:8px}
.contact-block a{color:var(--teal-d);font-weight:600;text-decoration:none}

/* ── New sections badge ── */
.new-badge{display:inline-block;background:rgba(217,78,42,.1);color:var(--feu,#D94E2A);font-family:'Nunito',sans-serif;font-size:.56rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;padding:2px 7px;border-radius:100px;margin-left:8px;vertical-align:middle}

/* ── Footer légal ── */
.legal-footer{background:var(--navy);padding:36px 28px;margin-top:0}
.lf-inner{max-width:1060px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.lf-brand{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:300;color:rgba(255,255,255,.6);letter-spacing:.02em}
.lf-brand span{color:var(--teal);font-style:italic}
.lf-links{display:flex;gap:20px;flex-wrap:wrap}
.lf-links a{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
.lf-links a:hover{color:#fff}
.lf-meta{font-size:.72rem;color:rgba(255,255,255,.3);margin-top:12px;text-align:right;width:100%}

/* ── Overflow global ── */
html,body{overflow-x:hidden}
/* ── Texte long ── */
.section-body p,.section-body li,.section-body td{word-break:break-word;overflow-wrap:break-word}
/* ── Tableau : wrapper scrollable isolé ── */
.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border-radius:8px}
.processors-table{white-space:normal;min-width:520px}
.processors-table th{white-space:nowrap}
.processors-table td{min-width:100px}
.processors-table td:nth-child(3){min-width:150px}

/* ══════════════════════════════════════════════════════
   CONTAINER QUERIES — se déclenchent sur la largeur
   réelle du conteneur (fonctionne dans Elementor)
   ══════════════════════════════════════════════════════ */
.legal-container{
  overflow-x:hidden;
  max-width:100%;
  width:100%;
}
.content-grid>*{min-width:0}
.section-body p,.section-body li,.section-body td,.info-block{word-break:break-word;overflow-wrap:anywhere}

/* ── RESPONSIVE — @media viewport (Elementor-compatible) ── */
@media(max-width:860px){
  .legal-hero { padding: 36px 20px 24px !important }
  .legal-hero-inner { max-width: 100% !important }
  .page-wrap { padding: 0 20px !important; max-width: 100% !important }
  .content-grid { grid-template-columns: 1fr !important; gap: 16px !important; padding: 20px 0 36px !important }
  .sidebar { position: relative !important; top: 0 !important }
  .sidebar-nav { display: flex !important; flex-wrap: wrap !important; flex-direction: row !important; gap: 4px !important }
  .sidebar-nav a { padding: 5px 12px !important; border-radius: 100px !important; border: 1px solid rgba(42,59,85,.12) !important; border-left-width: 1px !important; font-size: .74rem !important }
  .sidebar-sep { display: none !important }
}
@media(max-width:600px){
  .legal-hero { padding: 24px 16px 18px !important }
  .legal-hero h1 { font-size: 1.8rem !important; margin-bottom: 10px !important }
  .legal-hero .intro { font-size: .87rem !important; margin-bottom: 14px !important }
  .page-wrap { padding: 0 16px !important }
  .content-grid { padding: 14px 0 28px !important }
  .section-header { padding: 16px 18px 12px !important }
  .section-body { padding: 14px 18px 18px !important }
  .section-card { border-radius: 12px !important }
}
@media(max-width:480px){
  .legal-hero { padding: 18px 14px 14px !important }
  .legal-hero h1 { font-size: 1.5rem !important }
  .legal-hero .intro { font-size: .84rem !important }
  .page-wrap { padding: 0 14px !important }
  .content-grid { padding: 10px 0 24px !important }
  .section-header { flex-direction: column !important; padding: 14px 14px 10px !important }
  .section-header h2 { font-size: 1.25rem !important }
  .section-body { padding: 12px 14px 16px !important }
  .section-body p, .section-body ul li { font-size: .85rem !important }
  .new-badge { display: none !important }
  .legal-section { margin-bottom: 24px !important }
}
@media(max-width:380px){
  .legal-hero { padding: 14px 12px 12px !important }
  .legal-hero h1 { font-size: 1.3rem !important }
  .page-wrap { padding: 0 12px !important }
}/* End custom CSS */