/* === Variables & Base Theme === */
:root{
  --mbs-bg:#ffffff;
  --mbs-surface:#f8fbff;
  --mbs-surface-strong:#eef4ff;
  --mbs-ink:#0f172a;
  --mbs-muted:#475569;
  --mbs-muted-soft:#64748b;
  --mbs-primary:#0ea5e9;
  --mbs-primary-dark:#0284c7;
  --mbs-accent:#10b981;
  --mbs-accent-dark:#059669;
  --mbs-border:#dbeafe;
  --mbs-radius-sm:12px;
  --mbs-radius:20px;
  --mbs-radius-lg:28px;
  --mbs-shadow:0 22px 60px rgba(15,23,42,.12);
  --mbs-shadow-soft:0 14px 40px rgba(15,23,42,.16);
  --mbs-max:1240px;
  --mbs-card-border:rgba(15,23,42,.12);
  --mbs-card-hover:rgba(14,165,233,.08);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.6; color:var(--mbs-ink); background:linear-gradient(180deg,#ffffff 0%,#f0f5ff 55%,#ffffff 100%); overflow-x:hidden}
.mbs-home{background:transparent !important; color:var(--mbs-ink); overflow-x:hidden}
.mbs-container{max-width:var(--mbs-max); margin-inline:auto; padding:clamp(1.8rem,4.4vw,3rem) clamp(1.2rem,4.6vw,2.4rem)}
h1,h2,h3{font-weight:700; margin:0 0 .6em; line-height:1.15; color:var(--mbs-ink)}
h2{font-size:clamp(2rem,3vw,2.6rem)}
p{margin:0 0 1rem; color:var(--mbs-muted)}
a{color:inherit; text-decoration:none}
a:hover{color:inherit}
strong{color:var(--mbs-ink)}
.mbs-text-accent{color:var(--mbs-primary); font-weight:700}
:focus-visible{outline:3px solid var(--mbs-primary); outline-offset:3px}
.screen-reader-text{position:absolute; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; overflow:hidden; margin:-1px}

/* === Buttons === */
.mbs-btn{display:inline-flex; align-items:center; justify-content:center; gap:.45rem; padding:.75rem 1.4rem; border-radius:999px; font-weight:700; font-size:.975rem; border:1px solid var(--mbs-card-border); background:#fff; color:var(--mbs-primary-dark); box-shadow:none; transition:transform .2s ease, border-color .25s ease, background .25s ease, color .25s ease; cursor:pointer}
.mbs-btn:hover{background:var(--mbs-card-hover); border-color:rgba(14,165,233,.4); color:var(--mbs-primary-dark)}
.mbs-btn:active{transform:translateY(1px)}
.mbs-btn svg{fill:currentColor}
.mbs-btn--primary{background:var(--mbs-primary); border-color:var(--mbs-primary); color:#fff}
.mbs-btn--primary:hover{background:var(--mbs-primary-dark); border-color:var(--mbs-primary-dark); color:#fff}
.mbs-btn--secondary{background:#fff; color:var(--mbs-primary-dark); border-color:var(--mbs-card-border)}
.mbs-btn--secondary:hover{background:var(--mbs-card-hover); border-color:rgba(14,165,233,.4); color:var(--mbs-primary-dark)}
.mbs-btn--accent{background:var(--mbs-primary); border-color:var(--mbs-primary); color:#fff}
.mbs-btn--accent:hover{background:var(--mbs-primary-dark); border-color:var(--mbs-primary-dark); color:#fff}

/* === HERO === */
.mbs-hero{position:relative; overflow:visible; padding:0; z-index:1}
.mbs-hero::before,
.mbs-hero::after{content:""; position:absolute; z-index:0; border-radius:50%; filter:blur(0); opacity:.65}
.mbs-hero::before{width:380px; height:380px; background:radial-gradient(circle,rgba(14,165,233,.28) 0%,rgba(14,165,233,0) 70%); top:-150px; right:-120px; animation:mbs-orb 22s ease-in-out infinite}
.mbs-hero::after{width:320px; height:320px; background:radial-gradient(circle,rgba(16,185,129,.24) 0%,rgba(16,185,129,0) 68%); bottom:-140px; left:-140px; animation:mbs-orb 26s ease-in-out infinite reverse}
.mbs-hero--light{background:linear-gradient(150deg,#ffffff 0%,#f6faff 55%,#ffffff 100%)}
.mbs-hero .mbs-container{position:relative; z-index:1; display:grid; gap:clamp(1rem,2.4vw,1.6rem); justify-items:start}
.mbs-hero__title{font-size:clamp(2.15rem,5.4vw,3.05rem); margin:0; content-visibility: auto;
  contain-intrinsic-size: 300px;}
.mbs-hero__accent{color:var(--mbs-primary-dark); font-style:italic; font-weight:600}
.mbs-hero__accent-alt{color:var(--mbs-primary-dark); font-style:italic; font-weight:600}
.mbs-hero__subtitle{max-width:70ch; font-size:1.05rem; color:var(--mbs-muted-soft); margin-bottom:.4rem}

.mbs-trustbelt{padding-block:0 clamp(1.6rem,4.8vw,3.3rem); background:linear-gradient(180deg,#f0f7ff 0%,#ffffff 100%)}
.mbs-trustbelt h2{margin:0 0 1.4rem; font-size:clamp(1.8rem,3vw,2.4rem); text-align:center; color:#000}

.mbs-hero__grid{display:grid; gap:clamp(1.2rem,2.6vw,1.9rem); align-items:stretch; justify-content:center; grid-template-columns:repeat(2,minmax(0,1fr))}
.mbs-hero__col{display:flex; flex-direction:column; justify-content:center; gap:1.4rem; height:100%}
.mbs-hero__intro{display:flex; flex-direction:column; gap:.9rem; max-width:620px; width:100%; position:relative}
.mbs-hero__subtitle{font-size:1.02rem; max-width:42ch}
.mbs-hero__card{position:relative; display:grid; gap:1rem; width:100%; max-width:none; padding:clamp(1.5rem,3.6vw,2.2rem); border-radius:var(--mbs-radius-lg); background:#fff; border:1px solid var(--mbs-card-border); box-shadow:none; overflow:visible; align-self:stretch; min-height:100%; z-index:2}
.mbs-hero__card::before,
.mbs-hero__card::after{content:none}
.mbs-hero__eyebrow{margin:0; font-size:clamp(.9rem,1.4vw,1.1rem); letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--mbs-primary-dark)}
.mbs-hero__hint{margin:0; font-size:.9rem; color:var(--mbs-muted); font-weight:500}

.mbs-search{position:relative; display:flex; flex-direction:column; align-items:stretch; gap:.75rem; background:#fff; border:2px solid rgba(15,23,42,.12); padding:clamp(1.05rem,2.3vw,1.35rem); border-radius:var(--mbs-radius); box-shadow:0 16px 42px rgba(15,23,42,.08); width:100%; justify-self:stretch; margin-top:0; transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease; z-index:5}
.mbs-search:focus-within{box-shadow:0 26px 60px rgba(15,23,42,.18); border-color:rgba(15,23,42,.35); transform:translateY(-2px)}
.mbs-inputwrap{position:relative; flex:1; min-width:0}
#mbs-search-input{width:100%; height:60px; border-radius:var(--mbs-radius-sm); border:2px solid rgba(15,23,42,.4); padding:0 2rem 0 1.25rem; font-size:1.08rem; font-weight:600; color:var(--mbs-primary-dark); background:#fff; box-shadow:0 0 0 2px rgba(15,23,42,.05) inset; transition:border-color .2s ease, box-shadow .2s ease; font-style:normal}
#mbs-search-input:focus{border-color:rgba(15,23,42,.75); box-shadow:0 0 0 3px rgba(59,130,246,.15) inset;}
#mbs-search-input::placeholder{color:var(--mbs-primary-dark); font-weight:600; letter-spacing:.005em}
.mbs-clear{position:absolute; right:.75rem; top:50%; transform:translateY(-50%); width:32px; height:32px; border-radius:50%; border:1px solid rgba(148,163,184,.18); background:#fff; color:var(--mbs-muted-soft); cursor:pointer; font-size:1.2rem; line-height:28px; padding:0; box-shadow:0 10px 16px rgba(15,23,42,.08)}
.mbs-clear:hover{background:#f8fafc}
.mbs-searchbtn{height:58px; padding-inline:clamp(2.05rem,4.9vw,2.9rem); font-size:1.22rem; font-weight:700; width:100%; border:none}

.mbs-hero__points{position:relative; z-index:0; margin:0; padding:0; list-style:none; display:grid; gap:.6rem; font-weight:600; color:var(--mbs-ink)}
.mbs-hero__points li{position:relative; z-index:0; padding-left:2.6rem; font-size:clamp(1rem,0.95vw,1.1rem); line-height:1.45}
.mbs-hero__points li::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:18px; height:18px; border-radius:7px; background:linear-gradient(135deg,#00b67a,#14b8a6); box-shadow:0 6px 14px rgba(20,184,166,.28)}
.mbs-hero__points li::after{content:""; position:absolute; left:9px; top:50%; width:6px; height:10px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:translate(-50%,-50%) rotate(45deg)}
.mbs-hero__meta{display:flex; justify-content:flex-start; align-items:center; gap:.85rem; width:100%; margin:.4rem 0 0; flex-wrap:wrap}
.mbs-hero__trust{display:flex; align-items:center; gap:.9rem; flex-wrap:wrap}
.mbs-hero__trustbadge{display:inline-flex; align-items:center; gap:.7rem; padding:.55rem 1.3rem; border-radius:999px; background:#fff; border:1px solid rgba(15,23,42,.12); box-shadow:0 10px 24px rgba(15,23,42,.08); font-weight:600; color:inherit; text-decoration:none; transition:transform .2s ease, box-shadow .25s ease, border-color .25s ease}
.mbs-hero__trustbadge:hover{transform:translateY(-1px); box-shadow:0 16px 30px rgba(15,23,42,.15)}
.mbs-hero__trustlabel{font-weight:700; color:var(--mbs-ink); letter-spacing:.01em}
.mbs-hero__trustscore{display:inline-flex; align-items:baseline; gap:.25rem}
.mbs-hero__trustvalue{font-weight:700; color:var(--mbs-primary-dark); font-size:1.05rem}
.mbs-hero__trustdenom{font-weight:600; color:var(--mbs-muted); font-size:.92rem}
.mbs-hero__trustlogo{display:inline-flex; align-items:center; justify-content:center; max-width:120px; transform:translateY(-2px)}
.mbs-hero__trustlogo img{display:block; width:100%; height:auto}
.mbs-hero__brands{position:relative; width:100%; margin-top:clamp(1.2rem,3.6vw,2rem); padding-block:.6rem; display:grid; gap:.6rem}
.mbs-hero__brandnote{
  margin:0 auto .4rem;
  padding:.2rem 1.4rem;
  font-size:1rem;
  font-weight:700;
  color:var(--mbs-primary-dark);
  text-align:center;
  letter-spacing:.01em;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(14,165,233,.2);
}
.mbs-hero__brands-viewport{position:relative; width:100%; overflow:hidden}
.mbs-hero__brands-viewport::before,
.mbs-hero__brands-viewport::after{content:""; position:absolute; top:0; bottom:0; width:70px; z-index:2; pointer-events:none}
.mbs-hero__brands-viewport::before{left:0; background:linear-gradient(90deg,#f6faff 0%,rgba(246,250,255,0) 100%)}
.mbs-hero__brands-viewport::after{right:0; background:linear-gradient(270deg,#f6faff 0%,rgba(246,250,255,0) 100%)}
.mbs-hero__brandnote{position:relative; z-index:2}
.mbs-hero__brands-track{position:relative; z-index:1; display:flex; align-items:center; gap:clamp(1rem,3.6vw,1.8rem); width:max-content; animation:mbs-hero-brands 30s linear infinite; will-change:transform; padding-block:.1rem}
.mbs-hero__brand{flex:0 0 auto; display:flex; align-items:center; justify-content:center; min-width:118px; padding:0 .4rem; opacity:.95}
.mbs-hero__brandlink{display:flex; align-items:center; justify-content:center; padding:.35rem .45rem; border-radius:18px; transition:transform .3s ease, box-shadow .3s ease, background .3s ease}
.mbs-hero__brandlink:focus-visible{outline:3px solid rgba(14,165,233,.45); outline-offset:4px}
.mbs-hero__brand img{height:102px; width:auto; display:block; object-fit:contain; filter:grayscale(0); transition:transform .3s ease, opacity .3s ease; max-width:210px}
.mbs-hero__brandlink:hover img{transform:translateY(-2px); opacity:1}
.mbs-hero__brandlink--static{pointer-events:none; cursor:default}
.mbs-hero__cta{margin-top:0; display:flex; justify-content:center; width:100%}
.mbs-hero__cta .mbs-btn{width:100%; max-width:320px; white-space:nowrap}

.mbs-suggest{position:absolute; left:0; right:0; top:calc(100% + 10px); background:#fff; border:1px solid rgba(14,165,233,.28); border-radius:18px; box-shadow:0 30px 62px rgba(15,23,42,.24); padding:.6rem; margin:0; list-style:none; z-index:90; max-height:320px; overflow:auto}
.mbs-suggest li{margin:0}
.mbs-suggest__item{display:flex; justify-content:space-between; align-items:center; gap:.8rem; padding:.65rem .8rem; border-radius:12px; font-weight:600; color:var(--mbs-ink); background:#fff}
.mbs-suggest__item:hover,.mbs-suggest__item.is-active{background:#eef6ff; color:var(--mbs-primary-dark)}

/* soft glow under hero */
.mbs-hero .mbs-container::after{content:none}

@media (min-width:980px){
  .mbs-hero__grid{gap:clamp(1.3rem,2.4vw,2rem)}
  .mbs-hero__intro{max-width:620px}
  .mbs-hero__cta .mbs-btn{max-width:360px}
}

/* === Sections: Comment ça marche === */
.mbs-how{padding-block:0 clamp(1.6rem,4.8vw,3.3rem); background:linear-gradient(180deg,#ffffff 0%,#f3f7ff 100%)}
.mbs-steps-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.4rem}
.mbs-step{position:relative; background:#fff; border-radius:18px; border:1px solid var(--mbs-card-border); padding:1.8rem 1.6rem; box-shadow:none; transition:transform .25s ease, border-color .25s ease, background .25s ease; overflow:hidden; transform:translateY(16px); opacity:0; animation:mbs-reveal .75s ease forwards}
.mbs-step:nth-child(2){animation-delay:.12s}
.mbs-step:nth-child(3){animation-delay:.24s}
.mbs-step:hover{transform:translateY(-6px); border-color:rgba(14,165,233,.38); background:var(--mbs-card-hover)}
.mbs-step__accent{display:none}
.mbs-step__icon{width:52px; height:52px; display:grid; place-items:center; border-radius:14px; background:rgba(14,165,233,.12); color:var(--mbs-primary-dark); margin-bottom:1rem; transition:transform .3s ease}
.mbs-step:hover .mbs-step__icon{transform:translateY(-4px)}
.mbs-inline-cta{margin:.9rem 0 0}
.mbs-inline-cta .mbs-btn{padding:.55rem 1.05rem; font-size:.9rem}
.mbs-how__note{margin-top:1.8rem; padding:1.1rem 1.3rem; border:1px dashed rgba(148,163,184,.55); border-radius:16px; background:rgba(241,245,249,.7); font-weight:600; color:var(--mbs-ink); text-align:center}

/* === Pourquoi eSIM === */
.mbs-why{padding-block:0 clamp(1.6rem,4.8vw,3.3rem); background:linear-gradient(180deg,#f6faff 0%,#ffffff 100%)}
.mbs-why__inner{max-width:960px; margin:0 auto; background:#fff; border-radius:var(--mbs-radius-lg); padding:clamp(2rem,5.4vw,3.2rem); border:1px solid var(--mbs-card-border); box-shadow:none; text-align:center}
.mbs-why__inner p{color:var(--mbs-muted)}
.mbs-why__list{list-style:none; margin:2rem auto; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; max-width:760px; text-align:left}
.mbs-why__list li{position:relative; flex:1 1 calc(33% - 1rem); min-width:220px; background:#fff; border:1px solid var(--mbs-card-border); border-radius:18px; padding:1.1rem 1.4rem 1.1rem 3.1rem; font-weight:600; color:var(--mbs-ink); box-shadow:none; transition:transform .25s ease, border-color .25s ease, background .25s ease; white-space:normal; overflow-wrap:break-word}
.mbs-why__list li:nth-child(3){flex-basis:100%; max-width:560px; white-space:normal; margin-inline:auto; text-align:left}
.mbs-why__list li:hover{transform:translateY(-4px); border-color:rgba(14,165,233,.4); background:var(--mbs-card-hover)}
.mbs-why__list li::before{content:""; position:absolute; left:1.1rem; top:50%; width:1.4rem; height:1.4rem; border-radius:50%; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath fill='%23fff' d='M10.24 1.88 4.66 7.47 1.86 4.68 0.68 5.86 4.66 9.84 11.42 3.08z'/%3E%3C/svg%3E"),linear-gradient(135deg,#10b981,#34d399); background-repeat:no-repeat,no-repeat; background-position:center,center; background-size:58% 48%,100% 100%; transform:translateY(-50%); box-shadow:none}
.mbs-why__list li::after{content:none}
.mbs-why__cta{margin-top:2rem}

@media (min-width:721px){
  .mbs-why__list li:nth-child(3){
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    text-align:center;
    padding:1.1rem 2.6rem;
  }
  .mbs-why__list li:nth-child(3)::before{
    position:static;
    transform:none;
    margin:0;
    flex:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.4rem;
    height:1.4rem;
    border-radius:50%;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath fill='%23fff' d='M10.24 1.88 4.66 7.47 1.86 4.68 0.68 5.86 4.66 9.84 11.42 3.08z'/%3E%3C/svg%3E"),
      linear-gradient(135deg,#10b981,#34d399);
    background-repeat:no-repeat,no-repeat;
    background-position:center,center;
    background-size:58% 48%,100% 100%;
  }
  .mbs-why__list li:nth-child(3)::after{content:none;}
}

/* === FAQ === */
.mbs-faq{padding-block:0 clamp(1.8rem,5.2vw,3.6rem); background:linear-gradient(180deg,#eef6ff 0%,#ffffff 100%)}
.mbs-faq__shell{max-width:1000px; margin:0 auto; padding:0}
.mbs-faq__header{text-align:center; margin-bottom:1.6rem}
.mbs-faq__header h2{margin:0}
.mbs-faq__list{margin:0; padding:0; list-style:none; display:grid; gap:.8rem}
.mbs-faq__row{border-bottom:1px solid rgba(148,163,184,.25)}
.mbs-faq__row:last-child{border-bottom:0}
.mbs-faq__question{all:unset; cursor:pointer; width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.6rem; border-radius:18px; background:linear-gradient(90deg,rgba(14,165,233,.08),rgba(14,165,233,0)); transition:background .25s ease, transform .25s ease}
.mbs-faq__question:hover{background:linear-gradient(90deg,rgba(14,165,233,.12),rgba(14,165,233,.02)); transform:translateY(-2px)}
.mbs-faq__question span{display:inline-flex}
.mbs-faq__question span:nth-child(2){flex:1; font-weight:600; color:var(--mbs-ink); font-size:1.05rem}
.mbs-faq__index{display:inline-flex; width:40px; height:40px; border-radius:50%; align-items:center; justify-content:center; background:linear-gradient(135deg,#0ea5e9,#38bdf8); color:#fff; font-weight:700; font-size:1rem; box-shadow:0 10px 20px rgba(14,165,233,.25)}
.mbs-faq__icon{width:34px; height:34px; border-radius:50%; background:rgba(14,165,233,.16); display:grid; place-items:center; position:relative; transition:transform .25s ease, background .25s ease}
.mbs-faq__icon svg{width:14px; height:14px}
.mbs-faq__icon::before,.mbs-faq__icon::after{content:""; position:absolute; width:14px; height:2px; background:var(--mbs-primary-dark); border-radius:999px; transition:transform .25s ease}
.mbs-faq__icon::before{transform:translate(-50%, -50%) rotate(90deg); left:50%; top:50%;}
.mbs-faq__icon::after{transform:translate(-50%, -50%) rotate(0deg); left:50%; top:50%;}
.mbs-faq__question[aria-expanded="true"] .mbs-faq__icon{background:rgba(16,185,129,.2)}
.mbs-faq__question[aria-expanded="true"] .mbs-faq__icon::before{transform:translate(-50%, -50%) rotate(0deg)}

.mbs-faq__cta{display:flex; justify-content:center; margin-top:.6rem}
.mbs-link{color:var(--mbs-primary-dark); text-decoration:none; border-bottom:1px dashed rgba(14,165,233,.45)}
.mbs-link:hover{color:var(--mbs-primary); border-bottom-color:var(--mbs-primary)}

/* === Fournisseurs === */
.mbs-providers{padding-block:0 clamp(1.6rem,4.8vw,3.3rem); background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.mbs-providers__layout{display:grid; gap:clamp(2rem,6vw,3rem); grid-template-columns:1fr; align-items:start; max-width:960px; margin:0 auto}
.mbs-providers__intro{display:grid; gap:1rem}
.mbs-providers__subtitle{margin:0; font-size:1.05rem; color:var(--mbs-primary-dark); text-transform:uppercase; letter-spacing:.2em}
.mbs-providers__intro p{color:var(--mbs-muted)}
.mbs-providers__list{display:grid; gap:1rem; margin-top:.8rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mbs-provider-card{display:grid; grid-template-columns:110px minmax(0,1fr); gap:1.1rem; align-items:center; padding:1.3rem 1.6rem; border:1px solid var(--mbs-card-border); border-radius:20px; background:#fff; transition:transform .25s ease, border-color .25s ease, background .25s ease; text-decoration:none; color:inherit}
.mbs-provider-card:hover{transform:translateY(-4px); border-color:rgba(14,165,233,.4); background:var(--mbs-card-hover)}
.mbs-provider-card:hover{cursor:pointer}
.mbs-provider-card__logo{width:96px; height:96px; border-radius:18px; display:flex; align-items:center; justify-content:center; background:transparent; border:0}
.mbs-provider-card__logo img{max-width:76px; width:100%; height:auto}
.mbs-provider-card__content{display:flex; align-items:center; gap:.6rem}
.mbs-provider-card__content h3{margin:0; font-size:1.08rem; color:var(--mbs-primary-dark); letter-spacing:.01em}

/* === Pourquoi MyBestSim === */
.mbs-why-mbs{padding-block:0 clamp(1.6rem,4.8vw,3.2rem); background:#ffffff}
.mbs-why-mbs__card{max-width:1000px; margin:0 auto; background:#fff; border-radius:var(--mbs-radius-lg); padding:clamp(2rem,5.4vw,3.1rem); border:1px solid var(--mbs-card-border); box-shadow:none; display:grid; gap:clamp(1.6rem,3.6vw,2.2rem)}
.mbs-why-mbs__card p{color:var(--mbs-muted)}
.mbs-why-mbs__grid{display:grid; gap:1.2rem; grid-template-columns:repeat(2,minmax(0,1fr))}
.mbs-why-mbs__item{position:relative; background:#fff; border-radius:22px; border:1px solid var(--mbs-card-border); padding:1.45rem 1.7rem; box-shadow:none; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; transition:transform .3s ease, border-color .3s ease, background .3s ease}
.mbs-why-mbs__item::before{content:none}
.mbs-why-mbs__item:hover{transform:translateY(-6px); border-color:rgba(14,165,233,.4); background:var(--mbs-card-hover)}
.mbs-why-mbs__icon{font-size:1.5rem; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:14px; background:rgba(14,165,233,.12)}
.mbs-why-mbs__item h3{margin:0; font-size:1.18rem; color:var(--mbs-primary-dark)}
.mbs-why-mbs__item p{margin:0; color:var(--mbs-muted); font-weight:500; line-height:1.55; overflow-wrap:break-word}
.mbs-why-mbs__item strong{color:var(--mbs-primary); font-weight:700}
.mbs-why-mbs__cta{display:flex; justify-content:center; margin-top:1.2rem}

/* === Pourquoi MyBestSim : Extras === */
.mbs-why-mbs__extras{display:grid; gap:clamp(1.4rem,3.6vw,2.2rem); grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch}

.mbs-trustmini{background:var(--mbs-surface); border:1px solid rgba(148,163,184,.2); border-radius:24px; padding:clamp(1.4rem,3.6vw,2rem); display:flex; flex-direction:column; gap:1.1rem; box-shadow:none; overflow:hidden}
.mbs-trustmini__header{display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; justify-content:space-between}
.mbs-trustmini__badge{display:flex; align-items:center; gap:.65rem; padding:.45rem .95rem; border-radius:999px; background:#fff; border:1px solid rgba(0,182,122,.2); box-shadow:0 6px 14px rgba(0,182,122,.12)}
.mbs-trustmini__logo img{width:96px; height:auto; display:block; transform:translateY(-3px)}
.mbs-trustmini__copy{display:flex; align-items:flex-end; gap:.55rem; font-weight:500; color:var(--mbs-primary-dark)}
.mbs-trustmini__brand{display:inline-block; font-size:1.02rem; font-weight:400; color:#111827; line-height:1; padding-top:.12rem; padding-bottom:.02rem; transform:translateY(1px)}
.mbs-trustmini__cta{display:inline-flex; align-items:center; gap:.35rem; padding:.5rem 1.05rem; border-radius:999px; border:1px solid rgba(14,165,233,.24); background:linear-gradient(135deg,#fff,#f6fbff); font-weight:600; color:var(--mbs-primary-dark); transition:transform .2s ease, border-color .25s ease, background .25s ease}
.mbs-trustmini__cta:hover{transform:translateY(-1px); border-color:rgba(14,165,233,.45); background:var(--mbs-card-hover)}
.mbs-trustmini__carousel{position:relative; flex:1; display:flex; flex-direction:column; gap:1rem}
.mbs-trustmini__viewport{position:relative; overflow:hidden; width:100%; flex:1; min-height:0}
.mbs-trustmini__track{display:flex; gap:1rem; transform:translateX(0); transition:transform .35s ease; will-change:transform; height:100%}
.mbs-trustmini__card{flex:0 0 100%; background:#fff; border:1px solid rgba(14,165,233,.18); border-radius:20px; padding:1rem 1.1rem; display:flex; flex-direction:column; gap:.75rem; justify-content:space-between; position:relative; z-index:0; transition:border-color .25s ease, background .25s ease}
.mbs-trustmini__card:hover{border-color:rgba(14,165,233,.35); background:var(--mbs-card-hover); z-index:1}
.mbs-trustmini__stars{display:flex; gap:.28rem}
.mbs-trustmini__star{width:18px; height:18px; background:rgba(148,163,184,.35); clip-path:polygon(50% 0%,61% 38%,100% 38%,68% 59%,79% 100%,50% 78%,21% 100%,32% 59%,0% 38%,39% 38%); transition:background .2s ease}
.mbs-trustmini__star.is-active{background:#00b67a}
.mbs-trustmini__excerpt{margin:0; font-size:.95rem; color:var(--mbs-muted); line-height:1.5; display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden}
.mbs-trustmini__signature{margin:0; font-size:.85rem; color:var(--mbs-muted-soft); display:flex; align-items:center; gap:.35rem; flex-wrap:wrap}
.mbs-trustmini__name{font-weight:600; color:var(--mbs-primary-dark)}
.mbs-trustmini__separator{color:rgba(148,163,184,.7)}
.mbs-trustmini__destination{font-weight:500; color:var(--mbs-muted)}
.mbs-trustmini__link{font-weight:600; font-size:.9rem; color:var(--mbs-primary-dark); text-decoration:none}
.mbs-trustmini__link:hover{color:var(--mbs-primary)}
.mbs-trustmini__controls{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:.5rem; flex-wrap:wrap}
.mbs-trustmini__arrows{display:flex; gap:.6rem}
.mbs-trustmini__btn{width:38px; height:38px; border-radius:50%; border:1px solid rgba(148,163,184,.35); background:#fff; color:var(--mbs-primary-dark); font-size:1.2rem; display:grid; place-items:center; cursor:pointer; transition:transform .2s ease, border-color .25s ease, background .25s ease}
.mbs-trustmini__btn:hover{transform:translateY(-2px); border-color:rgba(14,165,233,.4); background:var(--mbs-card-hover)}
.mbs-trustmini__btn:disabled{opacity:.4; cursor:not-allowed; transform:none}

.mbs-community-mini{background:var(--mbs-surface); border:1px solid rgba(148,163,184,.2); border-radius:24px; padding:clamp(1.4rem,3.6vw,2rem); display:flex; flex-direction:column; gap:1rem; box-shadow:none}
.mbs-community-mini h3{margin:0; font-size:1.3rem; color:var(--mbs-primary-dark)}
.mbs-community-mini p{margin:0; color:var(--mbs-muted)}
.mbs-community-mini__channels{display:flex; flex-wrap:wrap; gap:1rem}
.mbs-community-mini__channel{display:flex; flex-direction:column; align-items:center; gap:.45rem; padding:.3rem .35rem; border-radius:14px; background:transparent; border:0; font-weight:600; color:var(--mbs-primary-dark); min-width:82px; transition:transform .25s ease; cursor:pointer}
.mbs-community-mini__channel:hover{transform:translateY(-3px)}
.mbs-community-mini__icon{width:44px; height:44px; border-radius:14px; display:grid; place-items:center; color:#fff}
.mbs-community-mini__icon svg{width:22px; height:22px}
.mbs-community-mini__icon--youtube{background:#ff0000}
.mbs-community-mini__icon--instagram{background:linear-gradient(135deg,#f58529,#dd2a7b 50%,#8134af)}
.mbs-community-mini__icon--tiktok{background:#000}
.mbs-community-mini__channel-label{font-size:.85rem; color:var(--mbs-ink); font-weight:600}
.mbs-community-mini__note{margin:0; font-size:.9rem; color:var(--mbs-muted-soft)}
.mbs-community-mini__links{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:auto}
.mbs-community-mini__link{display:inline-flex; align-items:center; gap:.35rem; padding:.55rem 1rem; border-radius:999px; border:1px solid rgba(14,165,233,.22); background:#fff; font-weight:600; color:var(--mbs-primary-dark); transition:transform .2s ease, border-color .25s ease, background .25s ease}
.mbs-community-mini__link:hover{transform:translateY(-2px); border-color:rgba(14,165,233,.4); background:var(--mbs-card-hover)}

/* === Toutes les destinations === */

.mbs-all__wrap{position:relative; max-height:420px; overflow:hidden; transition:max-height .4s ease;}
.mbs-all__wrap::after{content:""; position:absolute; inset:auto 0 0 0; height:120px; background:linear-gradient(180deg,rgba(255,255,255,0),#ffffff); pointer-events:none; opacity:1; transition:opacity .3s ease;}
.mbs-all__wrap.is-expanded{max-height:none;}
.mbs-all__wrap.is-expanded::after{opacity:0;}
.mbs-all__toggle{margin-top:1rem;}
.mbs-all{padding-block:0 clamp(1.6rem,4.8vw,3.1rem); background:#ffffff}
.mbs-list{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.9rem; list-style:none; padding:0; margin:1.5rem 0 0}
.mbs-list__item{margin:0}
.mbs-list__link{display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.9rem 1.1rem; border-radius:16px; border:1px solid var(--mbs-card-border); background:#fff; font-weight:600; color:var(--mbs-ink); transition:transform .22s ease, border-color .25s ease, background .25s ease}
.mbs-list__link::after{content:"›"; font-size:1.2rem; color:var(--mbs-primary-dark); transition:transform .2s ease}
.mbs-list__link:hover{transform:translateY(-4px); border-color:rgba(14,165,233,.4); background:var(--mbs-card-hover)}
.mbs-list__link:hover::after{transform:translateX(4px)}
.mbs-list__title{font-weight:700}

.mbs-backtop{position:fixed; right:24px; bottom:28px; z-index:90; width:48px; height:48px; border-radius:50%; border:1px solid var(--mbs-card-border); background:#0ea5e9; color:#fff; font-weight:700; font-size:1.3rem; display:flex; align-items:center; justify-content:center; box-shadow:0 16px 36px rgba(14,165,233,.25); cursor:pointer; transition:transform .2s ease, opacity .2s ease}
.mbs-backtop[hidden]{display:none}
.mbs-backtop:hover{transform:translateY(-3px); background:#0284c7}

.mbs-step, .mbs-provider-card, .mbs-why__list li, .mbs-list__link{user-select:text; cursor:default}
.mbs-provider-card__content *, .mbs-step *, .mbs-why__list li *{user-select:text}

/* Remplace/ajoute ceci pour la réponse */
.mbs-faq__answer{
  margin:0;
  padding:0 1.6rem 1rem 4.4rem;
  color:var(--mbs-muted);
  line-height:1.55;
  overflow:hidden;            /* important */
  height:0;                   /* on anime height, pas max-height */
  opacity:1;                  /* pas d’anim d’opacité pendant l’ouverture */
  will-change: height;        /* hint perf */
  contain: layout paint;      /* limite le recalcul au bloc */
}

/* état ouvert : pas d’anim CSS, juste le style final */
.mbs-faq__answer.is-open {
  /* pas besoin d’opacity / padding-top animés */
}

/* === Responsive === */
@media (max-width:1080px){
  .mbs-list{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:920px){
  .mbs-hero__grid{gap:1.6rem; justify-content:center; grid-template-columns:1fr}
  .mbs-hero__card{max-width:none; padding:clamp(1.3rem,6vw,1.8rem)}
  .mbs-hero__meta{justify-content:center}
  .mbs-hero__brandnote{text-align:center}
  .mbs-hero__points{gap:.5rem}
  .mbs-providers__layout{grid-template-columns:1fr}
  .mbs-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mbs-why-mbs__grid{grid-template-columns:1fr}
  .mbs-why-mbs__extras{grid-template-columns:1fr}
}

@media (max-width:720px){
  .mbs-container{padding:clamp(1.8rem,7vw,2.4rem) 18px}
  .mbs-hero__title{font-size:2.2rem}
  .mbs-hero__subtitle{font-size:1rem}
  .mbs-hero__grid{gap:1.8rem}
  .mbs-hero__card{padding:clamp(1.2rem,7vw,1.6rem)}
  .mbs-hero__eyebrow{font-size:.76rem; letter-spacing:.16em}
  .mbs-hero__hint{font-size:.88rem}
  .mbs-hero__meta{justify-content:center}
  .mbs-hero__trust{justify-content:center}
  .mbs-hero__trustbadge{text-align:center}
  .mbs-hero__brands{margin-top:clamp(.8rem,5vw,1.4rem); padding-block:.2rem}
  .mbs-hero__brands-track{gap:1.4rem}
  .mbs-hero__brand{min-width:110px}
  .mbs-hero__brand img{height:90px}
  .mbs-hero__cta .mbs-btn{max-width:none}
  .mbs-steps-grid{grid-template-columns:1fr}
  .mbs-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbs-providers__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbs-provider-card{grid-template-columns:1fr; justify-items:center; text-align:center; gap:.8rem; padding:1.1rem}
  .mbs-provider-card__logo{margin:0 auto}
  .mbs-provider-card__content{justify-content:center}
  .mbs-hero::before{width:320px; height:320px}
  .mbs-hero::after{width:260px; height:260px}
  .mbs-why__list{flex-direction:column; gap:.8rem}
  .mbs-why__list li{white-space:normal; width:100%; min-width:0}
  .mbs-why__list li:nth-child(3){max-width:none; margin-inline:0}
  .mbs-faq__shell{padding:clamp(1.6rem,6vw,2.3rem)}
  .mbs-brand-grid{grid-template-columns:1fr}
  .mbs-community-mini__channels{justify-content:center}
  .mbs-community-mini__links{justify-content:center}
  .mbs-trustmini__card{flex:0 0 calc(100% - 70px)}
  .mbs-trustmini__controls{justify-content:center}
}
@media (max-width:540px){
  #mbs-search-input{height:48px; padding-right:2.6rem}
  .mbs-clear{width:28px; height:28px}
  .mbs-hero__card::before{width:180px; height:180px; inset:auto -60px -40px auto}
  .mbs-hero__card::after{width:220px; height:220px; inset:-100px auto auto -70px}
  .mbs-hero__trust{flex-direction:column; align-items:center; gap:.6rem}
  .mbs-hero__trustcta{width:100%; justify-content:center}
  .mbs-trustmini__badge{width:100%; justify-content:space-between}
  .mbs-trustmini__cta{width:100%; justify-content:center}
  .mbs-trustmini__card{flex:0 0 calc(100% - 48px)}
  .mbs-trustmini__excerpt{-webkit-line-clamp:7}
  .mbs-community-mini__channel{flex-direction:row; align-items:center; width:100%; justify-content:flex-start; min-width:0}
  .mbs-community-mini__channel-label{font-size:.9rem}
  .mbs-community-mini__links{flex-direction:column; align-items:stretch}
  .mbs-list{grid-template-columns:1fr}
}

.mbs-search.is-highlight{box-shadow:0 0 0 4px rgba(14,165,233,.25), 0 28px 64px rgba(15,23,42,.18); border-color:rgba(14,165,233,.55)}

/* === Animations === */
@keyframes mbs-orb{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(26px,-18px,0) scale(1.08)}}
@keyframes mbs-reveal{0%{opacity:0; transform:translateY(22px)}100%{opacity:1; transform:translateY(0)}}
@keyframes mbs-hero-brands{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* Respect motion preferences */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important}
  .mbs-hero__brands-track{animation:none !important; transform:none !important}
}
@media (max-width:960px){
  .mbs-hero__brands-track{gap:1.1rem}
  .mbs-hero__brand{min-width:34vw}
}
