:root{
    --purple:#4B0174;
    --purple-light-bg:#EFEBFF;
    --green-accent:#BEEF7C;
    --navy:#0A2C59;
    --red-accent:#E13728;
    --red-btn:#d22a16;
    --border-input:#4a5180;
    --border-input-focus:#2c335e;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    padding:0;
    background:#ffffff;
    color:#000000;
    font-family:"Arial", sans-serif;
  }
  .wrap{
    max-width:1100px;
    margin:0 auto;
    padding:40px 20px;
  }
  h1,h2,h3{
    font-family:"Barlow", sans-serif;
    margin:0;
  }

  /* ===== HERO ===== */
  .hero{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:30px;
  }
  .hero-left{
    flex:1 1 300px;
    border-radius:25px;
    padding:36px 28px;
    background:
      repeating-linear-gradient(135deg, rgba(255,255,255,0.07) 0px, rgba(255,255,255,0.07) 2px, transparent 2px, transparent 16px),
      linear-gradient(150deg, #530b82 0%, #9c1f4e 42%, #c1382b 70%, #d9542a 100%);
  }
  .hero-right{
    flex:2 1 480px;
    padding:36px 4px;
  }
  .hero-eyebrow{
    font-family:"Barlow", sans-serif;
    font-size:24px;
    font-weight:700;
    color:#ffffff;
    margin-bottom:28px;
  }
  .speaker-card{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:30px;
  }
  .speaker-card:last-child{margin-bottom:0;}
  .speaker-avatar{
    flex:0 0 84px;
    width:84px;
    height:84px;
    border-radius:100px;
    background:rgba(255,255,255,0.15);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .speaker-avatar svg{width:42px;height:42px;fill:#ffffff;opacity:.9;}
  .speaker-badge{
    display:inline-block;
    background:var(--purple);
    color:#ffffff;
    font-family:"Barlow", sans-serif;
    font-size:27px;
    font-weight:700;
    padding:7px 16px;
    margin-bottom:14px;
  }
  .speaker-badge.alt{
    background:var(--green-accent);
    color:var(--navy);
  }
  .speaker-name{
    font-family:"Barlow", sans-serif;
    font-size:20px;
    font-weight:400;
    color:#ffffff;
    margin:0;
  }
  .speaker-role{
    font-family:"Barlow", sans-serif;
    font-size:19px;
    font-weight:700;
    color:#ffffff;
    margin:0;
  }
  .event-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:28px;
  }
  .event-line{
    font-family:"Arial", sans-serif;
    font-size:20px;
    font-weight:700;
    color:var(--purple);
    margin:0;
  }
  .cta-btn{
    display:inline-block;
    flex:0 0 auto;
    background:var(--purple);
    color:#ffffff;
    font-family:"Arial", sans-serif;
    font-size:18px;
    font-weight:700;
    text-decoration:none;
    padding:10px 26px;
    border-radius:10px;
    white-space:nowrap;
  }
  .hero h2{
    font-size:35px;
    font-weight:800;
    line-height:43px;
    color:#000000;
    margin-bottom:14px;
  }
  .hero p.lead{
    font-family:"Barlow", sans-serif;
    font-size:18px;
    font-weight:400;
    color:#333333;
    margin:0 0 9px 0;
  }
  .bullet-block{
    border-left:4px solid var(--red-accent);
    padding-left:20px;
    margin-top:20px;
  }
  .bullet-item{
    display:flex;
    margin-bottom:14px;
    font-family:"Barlow", sans-serif;
    font-size:18px;
    color:#000000;
  }
  .bullet-item strong.dot{margin-right:10px;color:var(--red-accent);}
  .bullet-item span.txt strong{color:var(--purple);}

  /* ===== LIGHT PURPLE BOXES (Au programme / Pourquoi participer / Lieu) ===== */
  .box-section{
    background:var(--purple-light-bg);
    border-radius:40px;
    padding:40px;
    margin:40px 0;
  }
  .box-section h2{
    text-align:center;
    font-family:"Arial", sans-serif;
    font-size:26px;
    font-weight:700;
    color:var(--purple);
    margin-bottom:20px;
  }
  .prog-list{
    padding-left:20px;
    max-width:800px;
    margin:0 auto;
  }
  .prog-item{
    display:flex;
    margin-bottom:14px;
    font-family:"Arial", sans-serif;
    font-size:19px;
    color:#000000;
  }
  .prog-item strong.dot{margin-right:10px;}

  /* ===== RESERVER BANNER ===== */
  .reserve-banner{
    text-align:center;
    margin:40px 0 0 0;
  }
  .reserve-title{
    display:inline-block;
    background:var(--purple);
    color:#ffffff;
    font-family:"Arial", sans-serif;
    font-size:30px;
    font-weight:700;
    padding:10px 30px;
    border-radius:20px;
    margin-bottom:12px;
  }
  .reserve-sub{
    font-family:"Arial", sans-serif;
    font-size:20px;
    font-weight:700;
    color:var(--purple);
  }

  /* ===== FORM ===== */
  .custom-form{
    max-width:900px;
    margin:30px auto 0 auto;
    font-family:"Arial", sans-serif;
  }
  .form-row{
    display:flex;
    gap:20px;
    margin-bottom:20px;
    flex-wrap:wrap;
  }
  .form-col{flex:1 1 260px;}
  .form-col-full{flex:1 1 100%;}
  .custom-form input[type="text"],
  .custom-form input[type="email"],
  .custom-form input[type="tel"],
  .custom-form select{
    width:100%;
    border:1px solid var(--border-input);
    border-radius:30px;
    font-size:16px;
    color:#333;
    background:#ffffff;
    padding:12px 24px;
    outline:none;
  }
  .custom-form input:focus,
  .custom-form select:focus{border-color:var(--border-input-focus);}
  /* selects : meme pilule que les inputs, avec chevron maison */
  .custom-form select{
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%234a5180' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 20px center;
    padding-right:48px;cursor:pointer;
  }
  .custom-form select:invalid{color:#8a8a8a;}
  .form-disclaimer p{
    font-size:14px;
    color:#1a1a1a;
    line-height:1.5;
    text-align:justify;
  }
  .form-disclaimer a{color:#000;font-weight:800;text-decoration:underline;cursor:pointer;}
  .form-submit-wrapper{text-align:center;margin-top:10px;}
  .btn-submit{
    background:var(--red-btn);
    color:#ffffff;
    border:none;
    border-radius:10px;
    padding:12px 45px;
    font-size:20px;
    font-weight:bold;
    cursor:pointer;
    font-family:"Arial", sans-serif;
  }

  /* ===== QUI PARTICIPE ===== */
  .section-plain{
    text-align:center;
    margin:40px 0;
  }
  .section-plain h2{
    font-size:26px;
    font-weight:700;
    color:var(--purple);
    margin-bottom:16px;
  }
  .section-plain p{
    font-family:"Arial", sans-serif;
    font-size:19px;
    color:#000000;
    max-width:760px;
    margin:0 auto;
  }

  /* ===== LIEU ===== */
  .lieu-box{
    background:var(--purple-light-bg);
    border-radius:40px;
    padding:40px;
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    align-items:center;
    margin:40px 0;
  }
  .lieu-left{flex:1 1 340px; padding-left:10px;}
  .lieu-right{flex:1 1 340px;}
  .lieu-title{
    font-family:"Arial", sans-serif;
    font-size:20px;
    font-weight:700;
    line-height:25px;
    color:var(--purple);
    margin-bottom:20px;
  }
  .lieu-pin{
    display:flex;
    align-items:flex-start;
    gap:15px;
  }
  .lieu-pin svg{flex:0 0 34px;width:34px;height:56px;fill:var(--red-btn);}
  .lieu-pin a{
    font-family:"Arial", sans-serif;
    font-size:20px;
    font-weight:400;
    line-height:24px;
    color:#000000;
    text-decoration:none;
  }
  .lieu-right iframe{
    width:100%;
    height:280px;
    border:0;
    border-radius:20px;
  }

  /* ===== PARTENAIRE ===== */
  .partner-section{
    text-align:center;
    margin:40px 0;
  }
  .partner-section h2{
    font-size:30px;
    font-weight:700;
    color:#000000;
    margin-bottom:20px;
  }
  .partner-logo{
    max-width:280px;
    width:100%;
    height:auto;
  }

  footer{
    text-align:center;
    padding:30px 20px;
    font-size:12px;
    color:#666;
    font-family:"Arial", sans-serif;
    border-top:1px solid #eee;
    margin-top:20px;
  }
  footer a{color:#666;}

  @media (max-width:767px){
    .hero h2{font-size:28px;line-height:34px;}
    .box-section{padding:24px;border-radius:20px;}
    .lieu-box{border-radius:20px;padding:24px;}
    .reserve-title{font-size:22px;}
  }

  /* ===== BANDEAU LE MONDE INFORMATIQUE ===== */
  .lmi-header{
    background:#ffffff;
    font-family:"Arial", sans-serif;
    border-bottom:1px solid #eeeeee;
  }
  .lmi-header-inner{
    max-width:none;
    margin:0;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:16px;
    padding:12px 20px;
  }
  .lmi-logo{
    flex:0 0 auto;
    display:block;
    width:214px;
    height:41px;
    background-image:url("https://images.itnewsinfo.com/lmi/site/sprite_logo-XL.png");
    background-size:298px auto;
    background-position:0 0;
    background-repeat:no-repeat;
  }
  .lmi-search{
    flex:1 1 300px;
    max-width:520px;
    display:flex;
    align-items:center;
    gap:6px;
  }
  .lmi-search input{
    width:100%;
    min-width:0;
    height:44px;
    border:1px solid #d9d9d9;
    border-radius:4px;
    padding:0 14px;
    font-size:14px;
    outline:none;
    font-family:"Arial", sans-serif;
  }
  .lmi-search-btn{
    flex:0 0 auto;
    width:44px;
    height:44px;
    background:#333333;
    border:none;
    border-radius:4px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lmi-search-btn svg{width:17px;height:17px;fill:#ffffff;}
  .lmi-nav{
    display:flex;
    align-items:center;
    gap:20px;
    flex:0 0 auto;
    flex-wrap:nowrap;
  }
  .lmi-nav a{
    font-family:"Arial", sans-serif;
    font-weight:700;
    font-size:13px;
    color:#12142b;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .lmi-nav a:hover{color:#2464f3;}
  .lmi-nav a .caret{font-size:9px;margin-left:3px;font-weight:700;}
  .lmi-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex:0 0 auto;
    margin-left:auto;
  }
  .lmi-icon-btn{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lmi-icon-btn svg{width:23px;height:23px;fill:#ffae00;}
  .lmi-subscribe{
    background:#ffae00;
    color:#ffffff;
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    padding:10px 22px;
    border-radius:20px;
    white-space:nowrap;
    font-family:"Arial", sans-serif;
  }
  .lmi-subscribe:hover{opacity:.85;}
  .lmi-account{
    width:37px;
    height:37px;
    border-radius:50%;
    background:#ffae00;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
  }
  .lmi-account svg{width:19px;height:19px;fill:#ffffff;}
  .lmi-ticker{
    background:#2378ef;
    width:100%;
    background:radial-gradient(circle at center, #379ef8 0%, #2464f3 20%, #2378ef 70%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:26px;
    padding:10px 24px;
    flex-wrap:wrap;
  }
  .lmi-ticker-label{
    color:#ffffff;
    font-weight:700;
    font-size:13px;
    font-family:"Arial", sans-serif;
    white-space:nowrap;
  }
  .lmi-ticker a{
    color:#ffffff;
    font-weight:700;
    font-size:13px;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
    font-family:"Arial", sans-serif;
  }
  .lmi-ticker a.hl{color:#FFEA00;}
  .lmi-ticker a:hover{text-decoration:underline;}
  @media (max-width:1400px){
    .lmi-nav{gap:15px;}
    .lmi-nav a{font-size:12px;}
    .lmi-search{flex:1 1 200px;max-width:340px;}
  }
  @media (max-width:1180px){
    .lmi-search{display:none;}
    .lmi-nav{gap:18px;}
    .lmi-nav a{font-size:13px;}
  }
  @media (max-width:900px){
    .lmi-nav{display:none;}
  }


/* menu deroulant "Services" de l'en-tete (destinations reelles du site) */
.lmi-nav .lmi-drop{position:relative;display:inline-block;}
.lmi-nav .lmi-drop-m{
  display:none;position:absolute;top:100%;left:0;z-index:9999;min-width:190px;
  padding:8px 0;background:#fff;border:1px solid #ccc;border-top:none;
  border-radius:0 0 3px 3px;box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.lmi-nav .lmi-drop.open .lmi-drop-m,
.lmi-nav .lmi-drop:hover .lmi-drop-m{display:block;}
.lmi-nav .lmi-drop-m a{
  display:block;padding:8px 16px;white-space:nowrap;font-size:14px;color:#333;text-decoration:none;
}
.lmi-nav .lmi-drop-m a:hover{background:#333;color:#fff;}
