/* Approved Cameroon palette shared by the entry and the existing workspaces. */
:root { --paper:#fbfaf5; --paper-strong:#ffffff; --ink:#141b2e; --muted-ink:#515d57; --line:#dedfd8; --course:#007a5e; --course-deep:#005a46; --course-soft:#fff6cc; --gold:#fcd116; --correction:#007a5e; --accent:#007a5e; --deep:#005a46; --tint:#fff6cc; --signal:#fcd116; --role:#007a5e; --blue:#007a5e; }
body[data-course="primary"] { --accent:#007a5e; --deep:#005a46; --tint:#fff6cc; --signal:#fcd116; --role:#007a5e; --blue:#007a5e; }
body[data-course="college"] { --course:#007a5e; --course-deep:#005a46; --course-soft:#e3eee9; --chalk:#f5edcf; --accent:#007a5e; --deep:#005a46; --tint:#e3eee9; --signal:#fcd116; --role:#007a5e; --blue:#007a5e; }
body[data-entry]:not([data-entry="workspace"]) { display:block; background:#fbfaf5; }
body[data-entry]:not([data-entry="workspace"]) > aside,body[data-entry]:not([data-entry="workspace"]) > main { display:none; }
#entry-root[hidden] { display:none; }
body[data-entry="workspace"] .switch,body[data-entry="workspace"] .role-heading { display:none; }
body[data-entry="workspace"] #course-bar { display:none; }
.entry-header { max-width:1160px; margin:auto; padding:24px; display:flex; align-items:center; gap:24px; border:0; }
.entry-brand { margin-right:auto; color:#141b2e; font-size:2rem; font-weight:850; text-decoration:none; letter-spacing:-.04em; white-space:nowrap; }
.entry-brand span { color:#007a5e; }
.entry-brand i { display:inline-block; width:7px; height:18px; background:#007a5e; transform:rotate(30deg); margin-left:12px; border-bottom:6px solid #fcd116; }
.entry-header label { display:flex; align-items:center; gap:8px; font-size:.875rem; margin:0; }
.entry-header select { width:auto; margin:0; }
.entry-content { max-width:1160px; padding:24px; margin:auto; min-height:75vh; }
.entry-content h1 { font-size:clamp(2rem,4vw,3.5rem); max-width:22ch; line-height:1.12; letter-spacing:-.035em; margin:0 0 14px; }
.entry-content h2 { font-size:2rem; }
.entry-intro { margin-bottom:32px; }
.entry-intro p { font-size:1.125rem; }
.entry-worlds { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.entry-world { position:relative; min-width:0; overflow:hidden; border-radius:24px; background:#fcd116; color:#141b2e; }
.entry-world > div { padding:28px 28px 20px; position:relative; z-index:1; }
.entry-world h2 { margin:0 0 8px; font-size:2.6rem; }
.entry-world p { margin:0 0 8px; font-size:1.125rem; }
.entry-world small { display:block; font-size:.875rem; margin-bottom:20px; }
.entry-world img { display:block; width:100%; height:260px; object-fit:cover; }
.primary-world h2 { color:#a2162d; }
.primary-world button { background:#007a5e; color:#fff; }
.secondary-world { background:#005a46; color:#fff; }
.secondary-world h2,.secondary-world p { color:#fff; }
.secondary-world button { background:#fcd116; color:#141b2e; }
.entry-bottom { text-align:center; padding:20px 0; }
.entry-link { background:transparent; border:0; box-shadow:none; color:#006344; padding:8px 0; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
.entry-link:hover { background:transparent; color:#005a46; }
.entry-login { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.entry-family-art { display:block; width:100%; height:auto; border-radius:24px; }
.entry-login h1 { font-size:2.25rem; }
.entry-login input,.entry-login label { display:block; width:100%; }
.entry-login label { margin-top:18px; }
.entry-password { display:flex; gap:10px; align-items:center; }
.entry-password input { min-width:0; }
.entry-submit { width:100%; margin-top:16px; background:#007a5e; }
.entry-account-links { display:grid; margin:20px 0; }
.entry-note { background:#fff6cc; color:#4e3516; padding:16px 20px; border-radius:11px; font-size:1rem; }
.entry-narrow { max-width:640px; margin:auto; }
.entry-narrow form label { display:block; margin-top:16px; }
.entry-narrow form button { margin-top:20px; }
.entry-narrow > .entry-link { display:block; margin-top:16px; }
.entry-system { border:1px solid var(--line); border-radius:11px; padding:20px; margin:24px 0; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.entry-system legend { font-weight:750; padding:0 8px; }
.entry-role-list { display:grid; gap:12px; }
.entry-role { text-align:left; background:#fff; border:1px solid var(--line); color:#141b2e; padding:18px 24px; }
.entry-role:hover { background:#fff6cc; color:#141b2e; }
.entry-role strong,.entry-role span { display:block; }
.entry-role strong { font-size:1.125rem; }
.entry-role span { margin-top:4px; font-weight:400; }
.entry-family-list { max-width:780px; margin:auto; }
.entry-child-group { margin:32px 0; }
.primary-group h2 { color:#007a5e; }
.secondary-group h2 { color:#007a5e; }
.entry-child { display:flex; gap:20px; align-items:center; padding:20px; background:#f8f8f4; border-radius:16px; margin:14px 0; }
.entry-child > div { flex:1; min-width:0; }
.entry-child h3 { font-size:1.3rem; margin:0; overflow-wrap:anywhere; }
.entry-child p { margin:4px 0 0; }
.entry-avatar { background:#fcd116; color:#141b2e; border-radius:50%; width:58px; height:58px; display:grid; place-items:center; flex-shrink:0; font-size:1.5rem; font-weight:750; }
.secondary-group .entry-avatar { background:#e3eee9; color:#007a5e; }
.secondary-group button { background:#007a5e; }
.entry-footer { text-align:center; padding:24px; color:#515d57; border-top:1px solid var(--line); }
.entry-workspace-art { width:100%; max-height:210px; object-fit:cover; object-position:center 50%; border-radius:16px; margin-bottom:24px; }
body[data-course="primary"] .entry-workspace-art { animation:entry-reveal .45s ease-out; }
@keyframes entry-reveal { from { clip-path:inset(0 0 6% 0); } to { clip-path:inset(0); } }
@media(max-width:760px) { .entry-worlds,.entry-login { grid-template-columns:1fr; } .entry-header { flex-wrap:wrap; gap:12px; padding:18px; } .entry-header label { font-size:0; } .entry-header select { font-size:.875rem; } .entry-content { padding:18px; } .entry-world > div { padding:24px; } .entry-world img { height:230px; } .entry-family-art { max-height:230px; object-fit:cover; } .entry-login { gap:24px; } .entry-child { padding:16px; gap:12px; flex-wrap:wrap; } .entry-child button { margin-left:auto; } .entry-system { grid-template-columns:1fr; } .entry-workspace-art { max-height:160px; } }
@media(prefers-reduced-motion:reduce) { .entry-workspace-art { animation:none!important; } }

.entry-billing { max-width:640px; margin:32px auto; padding:32px; }
.entry-billing .entry-note { margin:24px 0; padding:20px; border-radius:16px; }
.entry-billing .entry-note strong { font-size:1.4rem; color:#007a5e; }
.entry-billing .entry-note p { margin-bottom:0; }
.entry-billing #entry-check-payment { margin-right:12px; }
@media(max-width:700px) { .entry-billing { padding:20px 0; margin:12px auto; } }

/* Entry maquette — welcome, login, rôle et famille restent dans le même carnet. */
body[data-entry]:not([data-entry="workspace"]) {
  display: block;
  min-height: 100dvh;
  padding: 24px 16px 18px;
  color: #141b2e;
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  background-color: #fff6cc;
  background-image: radial-gradient(circle at 8% 12%, rgba(181,31,54,.13) 0 2px, transparent 2.5px), radial-gradient(circle at 92% 78%, rgba(0,108,73,.13) 0 2px, transparent 2.5px), linear-gradient(135deg, rgba(255,255,255,.3), transparent 42%);
  background-size: 28px 28px, 34px 34px, auto;
}
body[data-entry]:not([data-entry="workspace"]) > aside,
body[data-entry]:not([data-entry="workspace"]) > main { display: none; }
.entry-header,
.entry-content,
.entry-footer {
  width: min(100%, 1040px);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  background: #fbfaf5;
}
.entry-header {
  min-height: 78px;
  padding: 18px 28px;
  gap: 18px;
  border: 1px solid rgba(18,63,58,.12);
  border-bottom: 0;
  border-radius: 28px 28px 0 0;
  box-shadow: 0 18px 50px rgba(41,36,23,.11);
}
.entry-brand { font-size: 2.15rem; color: #141b2e; }
.entry-brand span { color: #007a5e; }
.entry-brand i { width: 8px; height: 21px; background: #007a5e; border-bottom-color: #fcd116; }
.entry-header label { color: #5a655e; font-size: .78rem; letter-spacing: .02em; }
.entry-header select { min-height: 42px; padding: 7px 30px 7px 10px; border-color: #d8d5c8; background: #fff; }
.entry-header .secondary { min-height: 42px; padding: 9px 16px; border-color: #cfd7cd; color: #005a46; background: transparent; }
.entry-content {
  min-height: 0;
  padding: 34px clamp(22px, 5vw, 70px) 40px;
  border: 1px solid rgba(18,63,58,.12);
  border-top: 0;
  border-bottom: 0;
  box-shadow: 0 18px 50px rgba(41,36,23,.11);
}
.entry-content h1 { max-width: 18ch; color: #141b2e; font-size: clamp(2.35rem, 5vw, 4.5rem); line-height: 1.02; letter-spacing: -.04em; }
.entry-panel { position: relative; overflow: hidden; }
.entry-kicker { margin: 0 0 10px; color: #007a5e; font-size: .72rem; font-weight: 800; letter-spacing: .18em; line-height: 1.3; }
.entry-lead { max-width: 55ch; margin: 0 0 28px; color: #53625b; font-size: 1.08rem; line-height: 1.6; }
.entry-panel-home > .entry-lead { max-width: 38ch; font-size: 1.2rem; }
.entry-world-stack { display: grid; gap: 20px; margin-top: 30px; }
.entry-world {
  min-height: 260px;
  display: grid;
  grid-template-columns: minmax(205px, .92fr) minmax(0, 1.08fr);
  overflow: hidden;
  border: 1px solid rgba(23,34,30,.1);
  border-radius: 24px;
  box-shadow: 0 12px 28px rgba(31,45,37,.12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.entry-world:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(31,45,37,.17); }
.entry-world-visual { min-height: 250px; overflow: hidden; padding: 0; position: relative; z-index: 1; }
.entry-world-visual img { display: block; width: 100%; height: 100%; min-height: 250px; object-fit: cover; object-position: center; }
.entry-world-copy { padding: 25px 26px 24px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.entry-world-meta { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px; color: #7c2a35; font-size: .7rem; font-weight: 850; letter-spacing: .13em; }
.secondary-world .entry-world-meta { color: #fcd116; }
.entry-world-meta small { font-size: .76rem; letter-spacing: .02em; opacity: .88; }
.entry-world h2 { margin: 12px 0 8px; color: #a2162d; font-size: clamp(1.7rem, 3vw, 2.45rem); line-height: 1.02; letter-spacing: -.045em; }
.entry-world p { margin: 0 0 13px; font-size: 1rem; }
.entry-world-badges { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 19px; }
.entry-world-badges b { padding: 5px 9px; border: 1px solid rgba(162,22,45,.2); border-radius: 99px; color: #7b2936; background: rgba(255,255,255,.45); font-size: .69rem; letter-spacing: .01em; }
.secondary-world .entry-world-badges b { border-color: rgba(245,197,66,.4); color: #fff3cc; background: rgba(0,0,0,.11); }
.entry-world button { min-height: 44px; padding: 10px 15px; font-size: .86rem; }
.primary-world { background: #fcd116; }
.secondary-world { background: #005a46; color: #fbfaf5; }
.secondary-world h2,.secondary-world p { color: #fbfaf5; }
.entry-bottom { margin: 25px 0 0; color: #53625b; text-align: left; }
.entry-bottom .entry-link { margin-left: 6px; }
.entry-pattern { height: 22px; display: flex; gap: 9px; margin: 30px -70px -40px; padding: 0 26px; overflow: hidden; background: #141b2e; }
.entry-pattern i { width: 38px; min-width: 38px; height: 38px; margin-top: -18px; border: 7px solid #fcd116; border-radius: 50%; transform: rotate(45deg); }
.entry-pattern i:nth-child(2n) { border-color: #007a5e; transform: rotate(-45deg); }
.entry-pattern i:nth-child(3n) { border-color: #fbfaf5; }
.entry-panel-login > h1 { max-width: 15ch; }
.entry-family-art { width: 100%; max-height: 285px; margin: 4px 0 28px; object-fit: cover; object-position: center 43%; border: 1px solid rgba(18,63,58,.12); border-radius: 22px; box-shadow: 0 13px 30px rgba(31,45,37,.12); }
.entry-form-block { max-width: 700px; padding: 25px 28px 28px; border: 1px solid #e3ded0; border-radius: 20px; background: #fff; }
.entry-form-block h2 { margin: 0 0 4px; color: #141b2e; font-size: 1.45rem; }
.entry-form-block .entry-note { margin: 14px 0; }
.entry-login input,.entry-login label { width: 100%; }
#entry-root[data-entry-ready="demo"] .entry-form-block form,
#entry-root[data-entry-ready="demo"] .entry-form-block .entry-account-links { display: none; }
#entry-root[data-entry-ready="demo"] .entry-form-block > .secondary { width: 100%; margin-top: 14px; background: #007a5e; border-color: #007a5e; color: #fff; box-shadow: 0 8px 18px rgba(181,31,54,.2); }
#entry-root[data-entry-ready="demo"] .entry-form-block > .secondary:hover { background: #8f182c; }
.entry-account-links { gap: 4px; }
.entry-panel-roles h1 { max-width: 22ch; }
.entry-system { margin: 26px 0 24px; padding: 18px; border: 1px solid #dad8cc; border-radius: 18px; background: #fffaf0; }
.entry-system legend { color: #141b2e; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.entry-system label { color: #53625b; font-size: .82rem; }
.entry-system select { margin-top: 7px; background: #fff; }
.entry-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.entry-role-card { min-height: 122px; display: grid; grid-template-columns: 86px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 11px; border: 1px solid #dcded5; border-radius: 18px; background: #fff; color: #141b2e; box-shadow: 0 6px 17px rgba(31,45,37,.06); }
.entry-role-card:hover { border-color: #007a5e; background: #fffaf0; color: #141b2e; transform: translateY(-2px); }
.entry-role-art { width: 86px; height: 86px; overflow: hidden; border-radius: 14px; background: #fcd116; }
.entry-role-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.entry-role-copy { min-width: 0; text-align: left; }
.entry-role-copy strong { display: block; font-size: 1.05rem; line-height: 1.2; }
.entry-role-copy span { display: block; margin-top: 5px; color: #63716b; font-size: .82rem; line-height: 1.35; }
.entry-role-arrow { color: #007a5e; font-size: 1.35rem; font-weight: 800; }
.entry-panel-family { padding-bottom: 0; }
.entry-family-heading,.entry-form-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.8fr); align-items: center; gap: 30px; margin-bottom: 24px; }
.entry-family-heading h1,.entry-form-heading h1 { margin-bottom: 12px; }
.entry-family-heading img,.entry-form-heading img { width: 100%; max-height: 190px; object-fit: cover; object-position: center; border-radius: 20px; box-shadow: 0 12px 28px rgba(31,45,37,.13); }
.entry-child-group { margin: 28px 0; padding: 19px; border: 1px solid #dedfd7; border-radius: 20px; background: #fff; }
.primary-group { border-top: 5px solid #007a5e; }
.secondary-group { border-top: 5px solid #007a5e; }
.entry-group-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 11px; }
.entry-group-heading .entry-kicker { margin-bottom: 3px; }
.entry-group-heading h2 { margin: 0; color: #a2162d; font-size: 1.55rem; }
.secondary-group .entry-group-heading h2 { color: #007a5e; }
.entry-group-heading > span { color: #6a746e; font-size: .8rem; white-space: nowrap; }
.entry-child { margin: 10px 0; padding: 13px 14px; border: 1px solid #e6e4dc; border-radius: 15px; background: #fbfaf5; }
.entry-child:hover { border-color: #d3b65d; box-shadow: 0 7px 18px rgba(31,45,37,.07); }
.entry-avatar { width: 58px; height: 58px; overflow: hidden; border: 2px solid rgba(255,255,255,.86); box-shadow: 0 3px 8px rgba(31,45,37,.14); }
.entry-avatar-primary { background: #fcd116 url("assets/entry-primary.webp") center/cover; }
.entry-avatar-secondary { background: #005a46 url("assets/entry-secondary.webp") center/cover; }
.entry-avatar span { display: grid; width: 100%; height: 100%; place-items: center; color: #fff; background: rgba(23,59,53,.48); font-size: 1.35rem; }
.entry-child h3 { color: #141b2e; font-size: 1.08rem; }
.entry-child p { color: #63716b; font-size: .84rem; }
.entry-child button { min-height: 40px; padding: 8px 13px; background: #141b2e; font-size: .8rem; }
.secondary-group .entry-child button { background: #007a5e; }
.entry-empty { margin: 10px 0 2px; color: #6b766f; font-size: .9rem; }
.entry-add-child { width: 100%; min-height: 50px; margin-top: 4px; border: 1px dashed #b8b9ab; background: transparent; color: #007a5e; }
.entry-add-child:hover { background: #eef5ef; color: #005a46; }
.entry-panel-form form { max-width: 700px; }
.entry-panel-form form label { display: block; margin-top: 15px; color: #53625b; font-size: .85rem; }
.entry-panel-form form input,.entry-panel-form form select { margin-top: 7px; }
.entry-form-help { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid #fcd116; color: #5b665f; font-size: .87rem; line-height: 1.5; }
.entry-panel-form form > button { margin-top: 20px; background: #007a5e; }
.entry-workspace-art { max-height: 250px; border: 1px solid rgba(18,63,58,.12); box-shadow: 0 10px 26px rgba(31,45,37,.1); }
.entry-noscript { max-width: 560px; margin: 12vh auto; padding: 34px; border: 1px solid #dedfd7; border-radius: 22px; background: #fbfaf5; box-shadow: 0 18px 50px rgba(41,36,23,.11); }
.entry-noscript h1 { margin: 0 0 12px; color: #141b2e; font-size: clamp(2.1rem, 6vw, 3.7rem); line-height: 1.03; letter-spacing: -.04em; }
@media(max-width:760px) {
  body[data-entry]:not([data-entry="workspace"]) { padding: 0; }
  .entry-header,.entry-content,.entry-footer { width: 100%; border-radius: 0; }
  .entry-header { min-height: 70px; padding: 15px 18px; }
  .entry-brand { font-size: 1.9rem; }
  .entry-header .secondary { margin-left: auto; }
  .entry-header label { font-size: .78rem; }
  .entry-content { padding: 28px 18px 34px; }
  .entry-content h1 { font-size: clamp(2.15rem, 11vw, 3.25rem); }
  .entry-world { grid-template-columns: 1fr; }
  .entry-world-visual,.entry-world-visual img { min-height: 190px; height: 190px; }
  .entry-world-copy { padding: 20px; }
  .entry-world h2 { font-size: 1.85rem; }
  .entry-pattern { margin: 26px -18px -34px; padding-left: 18px; }
  .entry-form-block { padding: 20px; }
  .entry-role-grid { grid-template-columns: 1fr; }
  .entry-role-card { grid-template-columns: 74px minmax(0,1fr) auto; }
  .entry-role-art { width: 74px; height: 74px; }
  .entry-family-heading,.entry-form-heading { grid-template-columns: 1fr; gap: 15px; }
  .entry-family-heading img,.entry-form-heading img { max-height: 180px; order: -1; }
  .entry-group-heading { align-items: start; flex-direction: column; gap: 4px; }
  .entry-child { gap: 10px; }
  .entry-child button { margin-left: auto; }
}
@media(min-width:761px) and (max-width:1040px) {
  body[data-entry]:not([data-entry="workspace"]) { padding-left: 10px; padding-right: 10px; }
  .entry-content { padding-left: 38px; padding-right: 38px; }
  .entry-role-grid { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { .entry-world,.entry-role-card { transition: none; } .entry-world:hover,.entry-role-card:hover { transform: none; } }

/* Audit: consistent touch targets for family controls. */
.entry-child button,.entry-link { min-height:44px; }

/* Clear plan comparison, available before signup and from the expired trial. */
.entry-header-offers { min-height:44px; padding:8px 12px; background:transparent; color:#005a46; border:0; font-weight:700; }
.entry-header-offers:hover,.entry-header-offers:focus-visible { text-decoration:underline; }
.entry-pricing .entry-lead { max-width:720px; }
.entry-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:30px 0 20px; }
.entry-offer-card { overflow:hidden; border:1px solid #dcded5; border-radius:20px; background:#fff; box-shadow:0 7px 24px rgba(31,45,37,.07); }
.entry-offer-featured { border:2px solid #007a5e; }
.entry-offer-card img { display:block; width:100%; height:136px; object-fit:cover; }
.entry-offer-body { padding:20px; }
.entry-offer-audience { margin:0 0 7px; color:#007a5e; font-size:.75rem; font-weight:800; letter-spacing:.09em; }
.entry-offer-card h2 { margin:0 0 12px; color:#141b2e; font-size:1.45rem; line-height:1.2; }
.entry-offer-price { min-height:54px; margin:0 0 15px; color:#a2162d; font-size:1.4rem; font-weight:800; line-height:1.2; }
.entry-offer-price small { display:block; color:#5c675f; font-size:.75rem; font-weight:500; }
.entry-offer-card ul { margin:0; padding-left:18px; color:#31413b; font-size:.89rem; line-height:1.5; }
.entry-offer-card li + li { margin-top:9px; }
.entry-offer-label { margin:0 0 9px; color:#285045; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.entry-offer-ai { margin-top:20px; padding:13px 14px; border-radius:13px; background:#f1f6f2; color:#285045; font-size:.86rem; line-height:1.5; }
.entry-offer-ai strong { display:block; margin-bottom:5px; color:#005a46; }
.entry-offer-ai p { margin:0; }
.entry-ai-method { margin:22px 0; padding:23px; border:1px solid #d5dfd4; border-radius:18px; background:#f7faf6; }
.entry-ai-method h2 { margin:0 0 15px; color:#141b2e; font-size:1.55rem; }
.entry-ai-method ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding-left:20px; line-height:1.5; }
.entry-ai-method > p:last-child { margin:17px 0 0; color:#53625b; font-size:.88rem; }
.entry-offer-notice { max-width:820px; padding:14px 17px; border-radius:12px; background:#eef5ef; color:#285045; font-size:.88rem; line-height:1.5; }
.entry-offer-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:23px; }
@media(max-width:900px) { .entry-offer-grid { grid-template-columns:1fr; } .entry-offer-card { display:grid; grid-template-columns:150px 1fr; } .entry-offer-card img { height:100%; min-height:210px; } .entry-ai-method ol { grid-template-columns:1fr; gap:10px; } }
@media(max-width:560px) { .entry-header { gap:7px; } .entry-header label { order:3; width:100%; justify-content:flex-end; } .entry-header-offers { padding:5px; font-size:.8rem; margin-left:auto; } .entry-header .secondary { margin-left:0; } .entry-offer-card { display:block; } .entry-offer-card img { height:130px; min-height:0; } .entry-offer-actions button { width:100%; } }

.entry-periods{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 14px}.entry-periods button{flex:1;min-width:130px;padding:14px}.entry-periods small{display:block;margin-top:5px;font-size:.78rem}.entry-periods button[aria-pressed="true"]{background:#074d3b;color:white;border-color:#074d3b}.entry-period-benefit{background:#edf5ef;border-radius:14px;padding:18px;line-height:1.6}.entry-period-note{font-size:.86rem;color:#53645b;line-height:1.5}.entry-offer-price small{line-height:1.6;margin-top:7px}.entry-offer-price{min-height:112px}

/* Trial access and legal information preserve the existing visual language. */
.trial-caption{font-size:.95rem!important;line-height:1.6;max-width:36rem}.entry-footer nav,.legal-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px}.entry-footer a,.legal-links a{color:inherit;text-underline-offset:4px;font-size:.9rem}.legal-accept{display:flex!important;align-items:flex-start;gap:12px;margin:20px 0;font-weight:400!important;line-height:1.6}.legal-accept input{width:20px!important;min-width:20px;height:20px;margin-top:4px}.legal-accept a{color:inherit;text-decoration:underline}.new-welcome figcaption{max-width:100%;font-size:clamp(1.2rem,3vw,2rem)}

/* ---------- Paiement Fapshi (Orange Money, MTN MoMo) ---------- */
.entry-billing fieldset{border:0;padding:0;margin:20px 0 0}
.entry-billing legend{font-weight:700;margin-bottom:8px}
.pay-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pay-plan,.pay-period{position:relative;display:flex;align-items:center;gap:10px;padding:14px 16px;border:2px solid #e3e1d6;border-radius:14px;background:#fff;cursor:pointer;min-height:56px}
.pay-plan span{display:grid}
.pay-plan small{color:#4a5166}
.pay-plan.is-on,.pay-period.is-on{border-color:#007a5e;background:#e6f4ee}
.pay-plan input,.pay-period input{width:20px;height:20px;accent-color:#007a5e;flex:0 0 auto}
.pay-plan:focus-within,.pay-period:focus-within{outline:3px solid #ce1126;outline-offset:2px}
.pay-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pay-period em{display:block;font-style:normal;font-size:.8rem;color:#005a46;font-weight:700}
.pay-kids{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 16px;border-radius:14px;background:#fbfaf5;border:1px solid #e3e1d6}
.pay-total strong{font-size:1.8rem!important}
.entry-billing #entry-start-payment{width:100%;margin-bottom:12px}
.entry-offer-cta{width:100%;margin-top:16px}
.pay-return{margin-bottom:16px}
@media(max-width:520px){.pay-plans{grid-template-columns:1fr}.pay-periods{grid-template-columns:1fr}}

/* ---------- Profil enseignant : fiche 1 (profil) puis fiche 2 (première classe) ---------- */
.tp-steps{display:flex;gap:8px;margin:4px 0 14px;flex-wrap:wrap}
.tp-steps span{padding:6px 12px;border-radius:999px;background:#f1efe6;color:#4a5166;font-weight:700;font-size:.85rem}
.tp-steps span.is-on{background:#007a5e;color:#fff}
.tp-cycle{border:0;padding:0;margin:8px 0 4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tp-cycle legend{font-weight:700;margin-bottom:8px}
.tp-form .ts-box{margin-top:12px}
.tp-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 16px;border-radius:14px;background:#e6f4ee;color:#141b2e;font-weight:600;margin-bottom:14px}
@media(max-width:560px){.tp-cycle{grid-template-columns:1fr}}
.tp-form .tp-cycle label.pay-plan{display:flex!important;flex-direction:row;align-items:center;gap:12px;min-height:64px;padding:12px 16px;margin:0}
.tp-form .tp-cycle label.pay-plan input{margin:0}
.tp-form .tp-cycle label.pay-plan span{display:grid;gap:2px}
.tp-cycle-note,.tp-context{display:inline-block;margin:4px 0 10px;padding:6px 12px;border-radius:999px;background:#e6f4ee;color:#005a46;font-weight:700;font-size:.9rem}
.tp-twin{display:grid;gap:8px;margin:4px 0 8px}
.tp-students{display:grid;gap:10px}
.entry-cgv{font-size:.88rem;color:var(--k-ink-2,#4a5163);margin:4px 0 10px}.entry-cgv a{color:inherit;font-weight:700}
