/*
 * Thème Scolaria — styles globaux. © Scolaria, tous droits réservés.
 * Les sections ont la même structure avec Elementor (conteneurs « e-con ») et avec l'éditeur de blocs :
 * section.sc-sec.sc-<type> > .sc-wrap > contenu. Les sélecteurs couvrent les deux.
 */
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin-wght.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin-ext-wght.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --sc-ink: #0b1f4d; --sc-text: #334155; --sc-muted: #64748b; --sc-brand: #3b49df; --sc-violet: #6d4aff;
  --sc-soft: #f5f7fb; --sc-line: #e2e8f0; --sc-surface: #fff; --sc-ok: #15803d; --sc-warn: #c2410c; --sc-danger: #b91c1c;
  --sc-radius: 16px; --sc-wide: 1200px; --sc-gutter: clamp(16px, 4vw, 32px); --sc-sec-y: clamp(56px, 8vw, 104px);
  --sc-shadow: 0 24px 60px rgba(11, 31, 77, .14), 0 4px 12px rgba(11, 31, 77, .06);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 1.0625rem; line-height: 1.6; color: var(--sc-text); background: #fff; font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--sc-brand); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--sc-brand) 50%, #fff); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { color: var(--sc-ink); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 .5em; }
.sc-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sc-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--sc-ink); color: #fff; padding: 10px 16px; border-radius: 8px; font-weight: 600; }
.sc-skip:focus { top: 12px; }
.sc-main:focus { outline: none; }

/* ---------------------------------------------------------------- En-tête */
.sc-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .86); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
.admin-bar .sc-header { top: 32px; }
.sc-header.is-scrolled { border-color: var(--sc-line); box-shadow: 0 6px 20px rgba(11, 31, 77, .05); }
.sc-header__inner { max-width: calc(var(--sc-wide) + 2 * var(--sc-gutter)); margin: 0 auto; padding: 0 var(--sc-gutter); height: 72px; display: flex; align-items: center; gap: 24px; }
.sc-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--sc-ink); font-weight: 750; font-size: 1.25rem; letter-spacing: -.02em; }
.sc-logo__mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #fff; font-weight: 800; background: linear-gradient(135deg, var(--sc-brand), var(--sc-violet)); box-shadow: 0 6px 14px color-mix(in srgb, var(--sc-brand) 35%, transparent); }
.custom-logo-link img { max-height: 44px; width: auto; }
.sc-nav { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.sc-nav__list { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.sc-nav__list a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--sc-ink); font-weight: 560; font-size: .95rem; text-decoration: none; }
.sc-nav__list a:hover { background: var(--sc-soft); }
.sc-nav__list .current-menu-item > a, .sc-nav__list .current_page_item > a { color: var(--sc-brand); background: color-mix(in srgb, var(--sc-brand) 8%, #fff); }
.sc-header__cta { margin-left: 8px; }
.sc-nav-toggle { display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--sc-line); border-radius: 10px; background: #fff; cursor: pointer; }
.sc-nav-toggle__bars, .sc-nav-toggle__bars::before, .sc-nav-toggle__bars::after { display: block; width: 18px; height: 2px; margin: 0 auto; background: var(--sc-ink); border-radius: 2px; position: relative; transition: transform .2s, opacity .2s; content: ""; }
.sc-nav-toggle__bars::before { position: absolute; top: -6px; } .sc-nav-toggle__bars::after { position: absolute; top: 6px; }
.sc-nav-open .sc-nav-toggle__bars { background: transparent; }
.sc-nav-open .sc-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.sc-nav-open .sc-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

/* ---------------------------------------------------------------- Boutons (thème, Elementor, blocs) */
.sc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; border-radius: 10px; font-weight: 600; font-size: .98rem; text-decoration: none; border: 1px solid transparent; transition: background .2s, box-shadow .2s, transform .1s, color .2s; cursor: pointer; }
.sc-btn--primary, .sc-elbtn--primary :is(.elementor-button, .wp-block-button__link), .wp-block-button.sc-elbtn--primary .wp-block-button__link { background: var(--sc-brand); color: #fff; box-shadow: 0 8px 20px color-mix(in srgb, var(--sc-brand) 30%, transparent); }
.sc-btn--primary:hover, .sc-elbtn--primary :is(.elementor-button, .wp-block-button__link):hover { background: color-mix(in srgb, var(--sc-brand) 85%, #000); color: #fff; }
.sc-btn--secondary, .sc-elbtn--secondary :is(.elementor-button, .wp-block-button__link) { background: #fff; color: var(--sc-ink); border: 1px solid var(--sc-line); box-shadow: 0 1px 2px rgba(11, 31, 77, .06); }
.sc-btn--secondary:hover, .sc-elbtn--secondary :is(.elementor-button, .wp-block-button__link):hover { border-color: color-mix(in srgb, var(--sc-brand) 40%, var(--sc-line)); color: var(--sc-brand); background: #fff; }
.sc-elbtn--ghost :is(.elementor-button, .wp-block-button__link) { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .45); }
.sc-elbtn--ghost :is(.elementor-button, .wp-block-button__link):hover { background: rgba(255, 255, 255, .1); color: #fff; }
.sc-elbtn--link :is(.elementor-button, .wp-block-button__link) { background: none; color: var(--sc-brand); padding: 0; min-height: 0; box-shadow: none; font-weight: 650; }
.sc-elbtn--link :is(.elementor-button, .wp-block-button__link)::after { content: "→"; margin-left: 6px; transition: transform .2s; }
.sc-elbtn--link :is(.elementor-button, .wp-block-button__link):hover::after { transform: translateX(3px); }
.sc-elbtn :is(.elementor-button, .wp-block-button__link) { display: inline-flex; align-items: center; min-height: 46px; padding: 0 22px; border-radius: 10px; font-weight: 600; font-size: .98rem; line-height: 1.2; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.sc-elbtn--link :is(.elementor-button, .wp-block-button__link) { padding: 0; min-height: 0; }
.sc-actions { display: flex !important; flex-wrap: wrap; gap: 12px !important; align-items: center; margin-top: 8px; --gap: 12px; }
.sc-actions > .elementor-widget { width: auto !important; margin: 0 !important; }

/* ---------------------------------------------------------------- Sections */
.sc-sec { position: relative; padding: var(--sc-sec-y) var(--sc-gutter) !important; --padding-top: var(--sc-sec-y); --padding-bottom: var(--sc-sec-y); --padding-left: var(--sc-gutter); --padding-right: var(--sc-gutter); margin: 0 !important; }
.sc-sec.e-con { --content-width: 100%; }
.sc-wrap { width: 100%; max-width: var(--sc-wide); margin: 0 auto !important; padding: 0 !important; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; }
.sc-wrap > .e-con-inner { max-width: var(--sc-wide) !important; padding: 0 !important; gap: 0 !important; }
.sc-sec .elementor-widget:not(:last-child) { margin-block-end: 0; }
.sc-sec :is(.e-con, .e-con-inner) { --gap: 0; }
.sc-tone-soft { background: var(--sc-soft); }
.sc-eyebrow, .sc-eyebrow .elementor-heading-title { margin: 0 0 12px !important; font-size: .8rem !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--sc-brand) !important; }
.sc-title, .sc-title .elementor-heading-title { font-size: clamp(1.75rem, 3.2vw, 2.6rem) !important; font-weight: 760 !important; color: var(--sc-ink); line-height: 1.12 !important; letter-spacing: -.025em !important; margin: 0 0 16px !important; max-width: 22ch; }
.sc-lead, .sc-lead p, .sc-lead .elementor-text-editor p { font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important; line-height: 1.6; color: var(--sc-text); margin: 0 0 24px; max-width: 62ch; }
.sc-lead p:last-child { margin-bottom: 0; }
.sc-features .sc-title, .sc-features .sc-title .elementor-heading-title, .sc-steps .sc-title, .sc-faq .sc-title, .sc-demo-sec .sc-title, .sc-cta .sc-title, .sc-features .sc-title .elementor-heading-title { max-width: 26ch; }
.sc-features .sc-lead, .sc-steps .sc-lead, .sc-demo-sec .sc-lead { margin-bottom: 36px !important; }

/* Hero */
.sc-hero { background: radial-gradient(1200px 520px at 85% -10%, color-mix(in srgb, var(--sc-violet) 16%, transparent), transparent 60%), radial-gradient(900px 480px at 0% 0%, color-mix(in srgb, var(--sc-brand) 12%, transparent), transparent 55%), linear-gradient(180deg, #f7f8ff, #fff); overflow: hidden; }
.sc-hero:not(.sc-compact) :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { display: grid !important; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 64px) !important; align-items: center; }
.sc-hero .sc-title, .sc-hero .sc-title .elementor-heading-title { font-size: clamp(2.1rem, 4vw, 3.3rem) !important; max-width: 17ch; letter-spacing: -.035em !important; }
.sc-hero.sc-compact { padding-block: clamp(48px, 7vw, 88px) !important; }
.sc-hero.sc-compact .sc-title, .sc-hero.sc-compact .sc-title .elementor-heading-title { max-width: 24ch; font-size: clamp(2rem, 4vw, 3rem) !important; }
.sc-note, .sc-note p { margin: 18px 0 0 !important; font-size: .9rem !important; color: var(--sc-muted); }
.sc-note p::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--sc-ok); margin-right: 8px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--sc-ok) 18%, transparent); vertical-align: 1px; }
.sc-hero__media { position: relative; }
.sc-hero__media::before { content: ""; position: absolute; inset: 10% -10% -10% 10%; background: linear-gradient(135deg, color-mix(in srgb, var(--sc-brand) 22%, transparent), color-mix(in srgb, var(--sc-violet) 22%, transparent)); filter: blur(48px); border-radius: 50%; z-index: 0; }

/* Captures du produit mises en scène */
.sc-device { position: relative; z-index: 1; margin: 0 !important; width: 100% !important; max-width: none !important; }
.sc-hero__media, .sc-split__media, .sc-split__text, .sc-hero__text { width: 100% !important; min-width: 0; }
.sc-device img, .sc-device .elementor-widget-container img { display: block; width: 100%; height: auto; }
.sc-device--laptop :is(img) { border-radius: 14px; border: 1px solid rgba(11, 31, 77, .12); box-shadow: var(--sc-shadow); background: #fff; }
.sc-device--laptop { padding: 10px; border-radius: 20px; background: linear-gradient(180deg, #1e293b, #0f172a); box-shadow: var(--sc-shadow); }
.sc-device--laptop img { border: 0 !important; box-shadow: none !important; border-radius: 10px !important; }
.sc-device--phone { max-width: 320px !important; margin-inline: auto !important; padding: 10px; border-radius: 44px; background: #0f172a; box-shadow: var(--sc-shadow); }
.sc-device--phone img { border-radius: 34px !important; }
.sc-shot { overflow: hidden; }

/* Fonctions (cartes) */
.sc-grid { display: grid !important; gap: 20px !important; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); margin: 0 0 28px; padding: 0 !important; --padding-top: 0; --padding-bottom: 0; }
.sc-grid.sc-cols-2 { --cols: 2; } .sc-grid.sc-cols-4 { --cols: 4; }
.sc-grid > * { width: auto !important; max-width: none !important; margin: 0 !important; }
.sc-grid > .elementor-widget > .elementor-widget-container { height: 100%; }

/* Présentation alternée */
.sc-split :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: clamp(32px, 6vw, 80px) !important; align-items: center; }
.sc-split.sc-reverse .sc-split__text { order: 2; }
.sc-split + .sc-split { padding-top: 0 !important; --padding-top: 0; }
.sc-split .sc-split__media .sc-device--phone { max-width: 290px !important; }
.sc-bullets ul, ul.sc-bullets { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 10px; }
.sc-bullets li { position: relative; padding-left: 30px; color: var(--sc-ink); font-weight: 520; }
.sc-bullets li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--sc-ok) 14%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.sc-qa { margin: 0 0 18px !important; padding: 0 0 18px; border-bottom: 1px solid var(--sc-line); }
.sc-qa:last-of-type { border-bottom: 0; }
.sc-qa h3 { font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-muted); margin: 0 0 6px; }
.sc-qa p { margin: 0; }

/* Étapes */
.sc-steps__list { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px !important; counter-reset: step; padding: 0 !important; }
.sc-step { position: relative; counter-increment: step; background: #fff; border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 26px 24px 24px !important; --padding-top: 26px; }
.sc-step::before { content: counter(step); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; margin-bottom: 14px; background: var(--sc-ink); color: #fff; font-weight: 700; font-size: .95rem; }
.sc-step :is(h3, .elementor-heading-title) { font-size: 1.05rem !important; margin: 0 0 6px !important; color: var(--sc-ink); }
.sc-step p { margin: 0; font-size: .95rem; }

/* Questions */
.sc-faq__list { max-width: 860px; }
.sc-faq details { border: 1px solid var(--sc-line); border-radius: 14px; padding: 0 20px; background: #fff; margin: 0 0 10px; }
.sc-faq summary { cursor: pointer; padding: 18px 0; font-weight: 650; color: var(--sc-ink); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.sc-faq summary::-webkit-details-marker { display: none; }
.sc-faq summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--sc-brand); }
.sc-faq details[open] summary::after { content: "–"; }
.sc-faq details p { margin: 0 0 18px; }
.sc-faq .elementor-accordion .elementor-accordion-item { border: 1px solid var(--sc-line) !important; border-radius: 14px; margin-bottom: 10px; overflow: hidden; background: #fff; }
.sc-faq .elementor-accordion .elementor-tab-title { padding: 18px 20px; font-weight: 650; color: var(--sc-ink); border: 0 !important; }
.sc-faq .elementor-accordion .elementor-tab-title a { color: var(--sc-ink); text-decoration: none; }
.sc-faq .elementor-accordion .elementor-tab-content { padding: 0 20px 18px; border: 0 !important; }

/* Appel à l'action */
.sc-cta { background: radial-gradient(800px 400px at 90% 0%, rgba(109, 74, 255, .45), transparent 60%), linear-gradient(135deg, #0b1f4d, #1e1b6b); color: #fff; text-align: center; }
.sc-cta :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { display: flex !important; flex-direction: column; align-items: center; }
.sc-cta .elementor-widget, .sc-cta :is(.sc-title, .sc-lead) { width: 100%; text-align: center; }
.sc-cta .sc-title, .sc-cta .sc-title .elementor-heading-title { color: #fff !important; margin-inline: auto !important; max-width: 24ch; }
.sc-cta .sc-lead, .sc-cta .sc-lead p { color: #dbe2ff !important; margin-inline: auto !important; }
.sc-cta .sc-actions { justify-content: center; }

/* Démonstration et formulaire */
.sc-demo-sec { background: var(--sc-soft); }
.sc-hero + .sc-demo-sec { padding-top: clamp(40px, 6vw, 72px) !important; }
.sc-form-layout { display: grid !important; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px !important; align-items: start; padding: 0 !important; }
.sc-form-layout > * { width: auto !important; }
.sc-form-aside { padding: 28px !important; border-radius: 18px; background: var(--sc-soft); }
.sc-form-aside :is(h2, .elementor-heading-title) { font-size: 1.25rem !important; }
.sc-next ol, ol.sc-next { margin: 0 0 8px; padding-left: 1.2em; display: grid; gap: 10px; }
.sc-request { padding-top: 24px !important; --padding-top: 24px; }

/* Pages simples */
.sc-page { max-width: 820px; margin: 0 auto; padding: clamp(40px, 6vw, 80px) var(--sc-gutter); }
.sc-text :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { max-width: 820px !important; }
.sc-text h2 { font-size: 1.35rem; margin-top: 1.6em; }

/* ---------------------------------------------------------------- Pied de page */
.sc-footer { background: #0b1f4d; color: #c7d2fe; padding: 64px var(--sc-gutter) 28px; }
.sc-footer__inner { max-width: var(--sc-wide); margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; }
.sc-footer .sc-logo { color: #fff; }
.sc-footer__brand p { max-width: 34ch; margin: 14px 0 0; color: #a5b4fc; }
.sc-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sc-footer a { color: #e0e7ff; text-decoration: none; } .sc-footer a:hover { color: #fff; text-decoration: underline; }
.sc-footer .sc-contact { margin: 0; } .sc-footer .sc-contact a { color: #fff; } .sc-footer .sc-contact .sc-icon { color: #a5b4fc; }
.sc-footer__legal { max-width: var(--sc-wide); margin: 40px auto 0; padding-top: 20px; border-top: 1px solid rgba(165, 180, 252, .2); font-size: .85rem; color: #94a3b8; }

/* ---------------------------------------------------------------- Adaptation aux écrans */
@media (max-width: 1080px) {
  .sc-grid.sc-cols-4 { --cols: 2; }
  .sc-footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .sc-nav-toggle { display: block; }
  .sc-nav { position: fixed; inset: 72px 0 auto 0; flex-direction: column; align-items: stretch; gap: 8px; padding: 16px var(--sc-gutter) 24px; background: #fff; border-bottom: 1px solid var(--sc-line); box-shadow: 0 24px 40px rgba(11, 31, 77, .12); transform: translateY(-8px); opacity: 0; visibility: hidden; transition: transform .2s, opacity .2s, visibility .2s; }
  .admin-bar .sc-nav { top: 118px; }
  .sc-nav-open .sc-nav { transform: none; opacity: 1; visibility: visible; }
  .sc-nav__list { flex-direction: column; }
  .sc-nav__list a { padding: 14px 12px; font-size: 1.02rem; }
  .sc-header__cta { margin: 8px 0 0; }
  .sc-hero:not(.sc-compact) :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner), .sc-split :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { grid-template-columns: 1fr; }
  .sc-split.sc-reverse .sc-split__text { order: 0; }
  .sc-grid { --cols: 2; }
  .sc-form-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  body { font-size: 1rem; }
  .sc-grid, .sc-grid.sc-cols-4 { --cols: 1; }
  .sc-footer__inner { grid-template-columns: 1fr; }
  .sc-actions > * { flex: 1 1 100%; }
  .sc-actions :is(.elementor-button, .wp-block-button__link, .sc-btn) { width: 100%; justify-content: center; }
  .sc-device--laptop { padding: 6px; border-radius: 14px; }
}
@media (max-width: 782px) { .admin-bar .sc-header { top: 46px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* ================================================================ Vitrine de l'accueil (référence validée) */
.sc-showcase { padding-top: clamp(32px, 5vw, 64px) !important; padding-bottom: clamp(28px, 4vw, 48px) !important; --padding-top: clamp(32px, 5vw, 64px); background: radial-gradient(900px 500px at 0% 0%, color-mix(in srgb, var(--sc-brand) 10%, transparent), transparent 60%), linear-gradient(180deg, #f8f9ff 0%, #fff 70%); overflow: hidden; }
.sc-showcase .sc-wrap, .sc-showcase .sc-wrap > .e-con-inner { max-width: 1440px !important; }
.sc-line { display: block; text-wrap: balance; }
.sc-showcase :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { display: grid !important; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); grid-template-rows: auto auto; column-gap: clamp(24px, 3vw, 48px) !important; row-gap: 28px !important; align-items: start; }
.sc-showcase__text { grid-column: 1; grid-row: 1; position: relative; z-index: 3; padding-top: 8px !important; width: 100% !important; }
.sc-showcase__visual { grid-column: 2; grid-row: 1 / 3; position: relative; z-index: 2; width: 100% !important; min-width: 0; }
.sc-showcase__profiles { grid-column: 1 / 3; grid-row: 2; position: relative; z-index: 3; width: 67% !important; align-self: end; }
.sc-pill, .sc-pill .elementor-heading-title { display: inline-flex !important; align-items: center; gap: 10px; margin: 0 0 22px !important; padding: 8px 16px 8px 12px; border-radius: 999px; background: color-mix(in srgb, var(--sc-brand) 9%, #fff); border: 1px solid color-mix(in srgb, var(--sc-brand) 16%, #fff); color: var(--sc-ink) !important; font-size: .82rem !important; font-weight: 650 !important; letter-spacing: .04em; text-transform: uppercase; width: auto !important; }
.elementor-widget.sc-pill { width: auto !important; }
.sc-pill::before, .sc-pill .elementor-heading-title::before { content: ""; width: 20px; height: 20px; flex: none; background: var(--sc-brand); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 1 9l11 6 9-4.9V17h2V9L12 3zm-7 9.2V16c0 2.2 3.1 4 7 4s7-1.8 7-4v-3.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 1 9l11 6 9-4.9V17h2V9L12 3zm-7 9.2V16c0 2.2 3.1 4 7 4s7-1.8 7-4v-3.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.elementor-widget.sc-pill .elementor-heading-title::before { display: inline-block; }
.elementor-widget.sc-pill { background: none !important; border: 0 !important; padding: 0 !important; }
.elementor-widget.sc-pill::before { content: none; }
.sc-showcase__title, .sc-showcase__title .elementor-heading-title { font-size: clamp(2rem, 3.7vw, 3.6rem) !important; line-height: 1.04 !important; letter-spacing: -.04em !important; max-width: none !important; margin-bottom: 22px !important; font-weight: 800 !important; }
.sc-hl { background: linear-gradient(90deg, #4f46e5, #7c3aed 70%, #9333ea); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sc-showcase .sc-lead p, .sc-showcase .sc-lead { font-size: 1.12rem !important; max-width: 54ch; margin-bottom: 26px !important; }
.sc-checkrow ul, ul.sc-checkrow { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.sc-checkrow li { display: inline-flex; align-items: center; gap: 8px; font-size: .92rem; color: var(--sc-text); font-weight: 500; }
.sc-checkrow li::before { content: ""; width: 20px; height: 20px; border-radius: 50%; flex: none; background: var(--sc-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }

/* Icônes des boutons */
.sc-ico :is(.elementor-button, .wp-block-button__link) .elementor-button-text::before, .wp-block-button.sc-ico .wp-block-button__link::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 10px; vertical-align: -3px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.sc-ico--play { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16l13-8z'/%3E%3C/svg%3E"); }
.sc-ico--calendar { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
.sc-ico--calendar :is(.elementor-button, .wp-block-button__link) { color: var(--sc-ink); }
.sc-ico--calendar :is(.elementor-button, .wp-block-button__link) .elementor-button-text::before, .wp-block-button.sc-ico--calendar .wp-block-button__link::before { background: var(--sc-brand); }
.sc-showcase .sc-elbtn :is(.elementor-button, .wp-block-button__link) { min-height: 56px; padding: 0 26px; font-size: 1rem; border-radius: 12px; }
.sc-showcase .sc-elbtn--primary :is(.elementor-button, .wp-block-button__link) { background: linear-gradient(90deg, #3b3fe0, #5b3df5); box-shadow: 0 14px 30px rgba(79, 70, 229, .32); }

/* Visuel : photo, ordinateur, téléphone, cartes */
.sc-vitrine { position: relative; min-height: 600px; }
.sc-vitrine__photo { position: absolute; inset: -80px -20vw -40px 8%; z-index: 0; overflow: hidden; border-bottom-left-radius: 220px; }
.sc-vitrine__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
.sc-vitrine__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.55) 22%, rgba(255,255,255,0) 55%), linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 30%); }
.sc-vitrine:not(.has-photo)::before { content: ""; position: absolute; inset: -60px -12vw 40px 6%; z-index: 0; border-bottom-left-radius: 220px; background: radial-gradient(500px 380px at 70% 30%, rgba(124, 58, 237, .18), transparent 70%), radial-gradient(420px 320px at 30% 70%, rgba(59, 73, 223, .16), transparent 70%), linear-gradient(135deg, #eef0ff, #f6f1ff); }
.sc-vitrine:not(.has-photo)::after { content: ""; position: absolute; right: 2%; bottom: 120px; width: 160px; height: 120px; z-index: 0; background-image: radial-gradient(circle, rgba(124, 58, 237, .35) 2.4px, transparent 2.6px); background-size: 18px 18px; }
.sc-vitrine__laptop { position: relative; z-index: 1; margin: 36px 0 0 !important; width: 104%; }
.sc-laptop__screen { padding: 14px 14px 18px; border-radius: 22px 22px 6px 6px; background: linear-gradient(180deg, #1f2937, #0b1220); box-shadow: 0 40px 80px rgba(11, 31, 77, .28), 0 8px 18px rgba(11, 31, 77, .12); }
.sc-laptop__screen img { display: block; width: 100%; height: auto; border-radius: 8px; }
.sc-laptop__base { height: 18px; margin: 0 -5%; border-radius: 0 0 22px 22px; background: linear-gradient(180deg, #d9dee8, #aab2c2); box-shadow: 0 20px 30px rgba(11, 31, 77, .18); position: relative; }
.sc-laptop__base::before { content: ""; position: absolute; left: 50%; top: 0; width: 16%; height: 7px; transform: translateX(-50%); border-radius: 0 0 10px 10px; background: #9aa3b5; }
.sc-vitrine__phone { position: absolute; z-index: 4; right: -2%; bottom: -10px; width: 31%; max-width: 270px; margin: 0 !important; padding: 9px; border-radius: 38px; background: #0b1220; box-shadow: 0 30px 60px rgba(11, 31, 77, .32); }
.sc-vitrine__phone img { display: block; width: 100%; border-radius: 30px; }
.sc-vitrine__floats { list-style: none; margin: 0; padding: 0; }
.sc-float { position: absolute; z-index: 5; display: flex; align-items: center; gap: 12px; width: 236px; padding: 11px 14px; border-radius: 18px; background: rgba(255, 255, 255, .96); border: 1px solid rgba(226, 232, 240, .9); box-shadow: 0 18px 40px rgba(11, 31, 77, .14); }
.sc-float__icon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 14px; }
.sc-float__icon .sc-icon { width: 24px; height: 24px; }
.sc-float__body { display: grid; line-height: 1.25; }
.sc-float__label { font-size: .78rem; color: var(--sc-muted); }
.sc-float__value { white-space: nowrap; font-size: 1.05rem; color: var(--sc-ink); letter-spacing: -.01em; }
.sc-float__sub { font-size: .76rem; color: var(--sc-muted); }
.sc-float--ok .sc-float__icon { background: var(--sc-ok); color: #fff; } .sc-float--ok .sc-float__value, .sc-float--ok .sc-float__label { color: var(--sc-ok); }
.sc-float--note .sc-float__icon { background: color-mix(in srgb, #7c3aed 14%, #fff); color: #6d28d9; } .sc-float--note .sc-float__value { color: #4f46e5; }
.sc-float--msg .sc-float__icon { background: color-mix(in srgb, #e11d48 12%, #fff); color: #e11d48; }
.sc-float--1 { right: 29%; top: 47%; }
.sc-float--2 { right: 29%; top: calc(47% + 88px); }
.sc-float--3 { right: 29%; top: calc(47% + 176px); }
.sc-float__sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 160px; }
.sc-vitrine__caption { position: absolute; z-index: 5; left: 6%; bottom: -26px; margin: 0; font-size: .74rem; color: var(--sc-muted); }

/* Cartes de profils (rangée compacte) */
.sc-profiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.sc-profile form { margin: 0; height: 100%; }
.sc-profile :is(button, a) { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; height: 100%; width: 100%; padding: 0 14px 14px; border-radius: 18px; border: 1px solid var(--_b, #ddd6fe); background: linear-gradient(180deg, var(--_t, #f1edff) 0%, #fff 62%); overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.sc-profile :is(button, a):hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(11, 31, 77, .12); }
.sc-profile :is(button, a):focus-visible { outline: 3px solid color-mix(in srgb, var(--sc-brand) 50%, #fff); outline-offset: 2px; }
.sc-profile__visual { grid-column: 1 / 3; display: grid; place-items: end center; height: 104px; margin: 0 -14px 10px; }
.sc-profile__visual img { width: 96px; height: 104px; object-fit: cover; object-position: top; }
.sc-profile__icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 8px; border-radius: 20px; color: #fff; background: var(--_c, #7c3aed); box-shadow: 0 10px 22px color-mix(in srgb, var(--_c, #7c3aed) 35%, transparent); }
.sc-profile__icon .sc-icon { width: 30px; height: 30px; }
.sc-profile__body { display: grid; gap: 2px; align-content: center; min-width: 0; }
.sc-profile__title { font-weight: 700; color: var(--_c, #5b21b6); font-size: 1rem; }
.sc-profile__text { font-size: .8rem; color: var(--sc-muted); line-height: 1.3; }
.sc-profile__go { align-self: center; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1.6px solid var(--_c, #7c3aed); color: var(--_c, #7c3aed); }
.sc-profile__go .sc-icon { width: 16px; height: 16px; }
.sc-profile--direction { --_c: #6d28d9; --_t: #efe9ff; --_b: #ddd6fe; }
.sc-profile--enseignant { --_c: #059669; --_t: #e3f8ef; --_b: #bbf0d9; }
.sc-profile--secretariat { --_c: #d97706; --_t: #fff3df; --_b: #fde3b5; }
.sc-profile--caisse { --_c: #2563eb; --_t: #e7f0ff; --_b: #c8dafe; }
.sc-profile--parent { --_c: #e11d48; --_t: #ffe8ee; --_b: #fecdd8; }

/* Bandeau de bénéfices */
.sc-style-inline { padding-top: 28px !important; padding-bottom: 40px !important; --padding-top: 28px; }
.sc-style-inline .sc-grid { gap: 28px !important; margin: 0; }
.sc-style-inline .sc-card { display: grid; grid-template-columns: 58px 1fr; column-gap: 14px; align-items: start; padding: 0; border: 0; background: none; box-shadow: none !important; }
.sc-style-inline .sc-card__icon { grid-row: 1 / 3; width: 56px; height: 56px; border-radius: 50%; margin: 0; }
.sc-style-inline .sc-card__title { font-size: .98rem; margin: 4px 0 4px; }
.sc-style-inline .sc-card__text { font-size: .88rem; }
.sc-style-inline .elementor-widget:nth-child(1) .sc-card__icon, .sc-style-inline .sc-grid > .sc-card:nth-child(1) .sc-card__icon { background: #efe9ff; color: #6d28d9; }
.sc-style-inline .elementor-widget:nth-child(2) .sc-card__icon, .sc-style-inline .sc-grid > .sc-card:nth-child(2) .sc-card__icon { background: #e3f8ef; color: #059669; }
.sc-style-inline .elementor-widget:nth-child(3) .sc-card__icon, .sc-style-inline .sc-grid > .sc-card:nth-child(3) .sc-card__icon { background: #fff3df; color: #d97706; }
.sc-style-inline .elementor-widget:nth-child(4) .sc-card__icon, .sc-style-inline .sc-grid > .sc-card:nth-child(4) .sc-card__icon { background: #e7f0ff; color: #2563eb; }
.sc-style-inline .elementor-widget:nth-child(5) .sc-card__icon, .sc-style-inline .sc-grid > .sc-card:nth-child(5) .sc-card__icon { background: #efe9ff; color: #7c3aed; }
.sc-grid.sc-cols-5 { --cols: 5; }

/* Navigation : rubrique active en pastille */
.sc-nav__list .current-menu-item > a, .sc-nav__list .current_page_item > a { background: color-mix(in srgb, var(--sc-brand) 10%, #fff); color: var(--sc-brand); border-radius: 999px; }
.sc-nav__list a { border-radius: 999px; }
.sc-header__cta { border-radius: 999px; padding: 0 22px; background: linear-gradient(90deg, #3b3fe0, #5b3df5); }
.sc-header__cta::after { content: "→"; margin-left: 4px; }

@media (max-width: 1200px) { .sc-showcase__profiles { width: 100% !important; grid-row: 3; } .sc-showcase__visual { grid-row: 1 / 2; } .sc-vitrine { min-height: 520px; } }
@media (max-width: 1080px) { .sc-grid.sc-cols-5 { --cols: 3; } }
@media (max-width: 900px) {
  .sc-showcase :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { grid-template-columns: 1fr; }
  .sc-showcase__text, .sc-showcase__visual, .sc-showcase__profiles { grid-column: 1; grid-row: auto; }
  .sc-vitrine { min-height: 0; padding-bottom: 40px; }
  .sc-vitrine__laptop { width: 100%; }
  .sc-float--1, .sc-float--3 { display: none; }
  .sc-float--2 { right: auto; left: 0; bottom: 0; }
  .sc-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) { .sc-grid.sc-cols-5 { --cols: 1; } .sc-vitrine__phone { width: 38%; } .sc-float { width: 210px; } }
/* Colonne de texte de la vitrine : flux normal (espacements maîtrisés, sans l'écart automatique d'Elementor) */
.sc-showcase__text.e-con, .sc-showcase__text { display: block !important; }
.sc-showcase__text > .elementor-widget, .sc-showcase__text > .e-con { margin: 0 !important; }
.sc-showcase__text .sc-actions { margin-top: 0 !important; padding: 0 !important; }
.sc-showcase .sc-checkrow ul, .sc-showcase ul.sc-checkrow { gap: 8px 22px; margin-top: 22px; }
.sc-showcase .sc-checkrow li { font-size: .9rem; }
.sc-showcase .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
/* Ajustements d'après la référence : ordinateur en perspective, cartes de profils, légende */
.sc-vitrine { perspective: 2200px; }
.sc-vitrine__laptop { transform: rotateY(-9deg) rotateX(2deg) translateX(2%); transform-origin: 70% 50%; }
.sc-vitrine__phone { transform: rotate(3deg); }
.sc-vitrine__caption { left: auto; right: 0; bottom: auto; top: -6px; }
.sc-profile :is(button, a) { grid-template-columns: 1fr auto; grid-template-rows: 92px auto; padding: 0 14px 16px; min-height: 152px; }
.sc-profile__visual { grid-column: 1 / 3; place-items: center start; height: 92px; margin: 0 0 6px; padding-left: 2px; }
.sc-profile__visual img { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; }
.sc-profile__icon { width: 56px; height: 56px; margin: 0; border-radius: 50%; }
.sc-profile__title { font-size: 1.02rem; }
.sc-profile__text { font-size: .8rem; }
.sc-profile__go { width: 30px; height: 30px; align-self: end; }
@media (prefers-reduced-motion: reduce) { .sc-vitrine__laptop, .sc-vitrine__phone { transform: none; } }
@media (max-width: 900px) { .sc-vitrine__laptop, .sc-vitrine__phone { transform: none; } }
.sc-vitrine__caption { top: auto; bottom: -40px; right: 2%; }
.sc-style-inline .sc-wrap, .sc-style-inline .sc-wrap > .e-con-inner { max-width: 1440px !important; }
.sc-style-inline { padding-top: 8px !important; border-bottom: 1px solid var(--sc-line); }
/* Photo d'ambiance : discrète, fondue dans le blanc vers le texte et vers le bas */
.sc-vitrine__photo { inset: -90px -22vw 60px 4%; opacity: .5; }
.sc-vitrine__photo::after { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.75) 18%, rgba(255,255,255,.15) 50%, rgba(255,255,255,0) 70%), linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 35%); }
.sc-profile__visual img { box-shadow: 0 8px 18px rgba(11, 31, 77, .14); border: 3px solid #fff; }
.sc-profiles .sc-profile .sc-profile__visual img { width: 88px !important; height: 88px !important; max-width: none !important; border-radius: 50% !important; object-fit: cover; object-position: center 30%; border: 3px solid #fff !important; box-shadow: 0 8px 18px rgba(11, 31, 77, .16) !important; }

/* ================================================================ Densité d'après la référence (tout l'accueil tient dans le premier écran) */
:root { --sc-sec-y: clamp(44px, 5.5vw, 80px); }
.sc-header__inner { height: 64px; }
.sc-nav__list a { padding: 8px 14px; font-size: .9rem; }
.sc-header__cta { min-height: 42px; font-size: .92rem; }
.sc-hero.sc-compact { padding-block: clamp(36px, 5vw, 64px) !important; }
.sc-features .sc-lead, .sc-steps .sc-lead, .sc-demo-sec .sc-lead { margin-bottom: 24px !important; }
.sc-title, .sc-title .elementor-heading-title { margin-bottom: 12px !important; }
.sc-lead, .sc-lead p { margin-bottom: 18px; }
.sc-grid { margin-bottom: 16px; }
.sc-split :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { gap: clamp(28px, 4vw, 56px) !important; }

.sc-showcase { padding-top: 22px !important; --padding-top: 22px; padding-bottom: 0 !important; --padding-bottom: 0; }
.sc-showcase :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { row-gap: 22px !important; }
.sc-showcase__text { padding-top: 18px !important; }
.sc-pill, .sc-pill .elementor-heading-title { margin-bottom: 18px !important; padding: 6px 14px 6px 10px; font-size: .74rem !important; }
.sc-pill::before, .sc-pill .elementor-heading-title::before { width: 17px; height: 17px; }
.sc-showcase__title, .sc-showcase__title .elementor-heading-title { font-size: clamp(1.9rem, 2.9vw, 2.9rem) !important; line-height: 1.06 !important; margin-bottom: 18px !important; }
.sc-showcase .sc-lead p, .sc-showcase .sc-lead { font-size: 1.02rem !important; line-height: 1.55; max-width: 52ch; margin-bottom: 22px !important; }
.sc-showcase .sc-elbtn :is(.elementor-button, .wp-block-button__link) { min-height: 52px; font-size: .96rem; }
.sc-showcase .sc-checkrow ul, .sc-showcase ul.sc-checkrow { flex-wrap: nowrap; gap: 20px; margin-top: 18px; }
.sc-showcase .sc-checkrow li { font-size: .84rem; white-space: nowrap; }
.sc-showcase .sc-checkrow li::before { width: 18px; height: 18px; background-size: 10px; }
.sc-vitrine { min-height: 540px; }
.sc-vitrine__laptop { margin-top: 0 !important; }
.sc-vitrine__phone { max-width: 230px; bottom: 0; }
.sc-float { width: 220px; padding: 9px 12px; }
.sc-float--1 { top: 50%; } .sc-float--2 { top: calc(50% + 78px); } .sc-float--3 { top: calc(50% + 156px); }
.sc-float__icon { width: 38px; height: 38px; border-radius: 12px; }
.sc-float__value { font-size: .98rem; }
.sc-profiles { gap: 12px; }
.sc-profile :is(button, a) { grid-template-rows: 70px auto; min-height: 0; padding: 0 12px 12px; border-radius: 16px; }
.sc-profile__visual { height: 70px; margin: 10px 0 6px; }
.sc-profiles .sc-profile .sc-profile__visual img { width: 64px !important; height: 64px !important; }
.sc-profile__icon { width: 52px; height: 52px; }
.sc-profile__title { font-size: .95rem; }
.sc-profile__text { font-size: .74rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-profile__go { width: 28px; height: 28px; }
.sc-style-inline { padding-top: 22px !important; --padding-top: 22px; padding-bottom: 28px !important; --padding-bottom: 28px; border-bottom: 0; }
.sc-style-inline .sc-card__icon { width: 48px; height: 48px; }
.sc-style-inline .sc-card { grid-template-columns: 50px 1fr; }
.sc-style-inline .sc-card__title { font-size: .92rem; margin-top: 2px; }
.sc-style-inline .sc-card__text { font-size: .82rem; line-height: 1.45; }
@media (max-width: 1200px) { .sc-showcase .sc-checkrow ul, .sc-showcase ul.sc-checkrow { flex-wrap: wrap; } }
.sc-showcase .sc-lead p, .sc-showcase .sc-lead { max-width: 58ch; }
.sc-float--1 { top: 64%; right: 27%; } .sc-float--2 { top: calc(64% + 74px); right: 27%; } .sc-float--3 { top: calc(64% + 148px); right: 27%; }
.sc-vitrine__caption { top: auto; bottom: -34px; right: auto; left: 46%; }

/* ================================================================ 1.2.0 : profils, galeries, cadres d'appareils (CSS seul, aucune image externe) */
/* Ordinateur : écran sombre avec caméra ; tablette ; téléphone (déjà défini plus haut) */
.sc-device--laptop { padding: 14px 10px 10px; }
.sc-device--laptop::before { content: ""; position: absolute; top: 5px; left: 50%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: #475569; }
.sc-device--tablet { max-width: 720px !important; margin-inline: auto !important; padding: 14px; border-radius: 30px; background: #0f172a; box-shadow: var(--sc-shadow); }
.sc-device--tablet img { border-radius: 16px !important; }
.sc-device--tablet::before { content: ""; position: absolute; top: 50%; left: 5px; width: 4px; height: 4px; margin-top: -2px; border-radius: 50%; background: #475569; }
.sc-device--phone::before { content: ""; position: absolute; top: 16px; left: 50%; z-index: 3; width: 62px; height: 16px; margin-left: -31px; border-radius: 10px; background: #0f172a; }
.sc-hero__media .sc-device--tablet, .sc-split__media .sc-device--tablet { max-width: 640px !important; }

/* « Pour chaque profil » : une carte par profil (capture, trois bénéfices, lien) */
.sc-pgrid { display: grid !important; gap: 22px !important; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); padding: 0 !important; margin: 0; }
.sc-pgrid.sc-cols-2 { --cols: 2; } .sc-pgrid.sc-cols-4 { --cols: 4; }
.sc-pgrid > * { width: auto !important; max-width: none !important; margin: 0 !important; }
.sc-pcard { display: flex !important; flex-direction: column; gap: 0; padding: 16px 18px 20px !important; border: 1px solid var(--sc-line); border-radius: var(--sc-radius); background: #fff; box-shadow: 0 1px 2px rgba(11, 31, 77, .04); transition: box-shadow .2s, transform .2s; }
.sc-pcard:hover { box-shadow: 0 18px 36px rgba(11, 31, 77, .10); transform: translateY(-2px); }
.sc-pcard .sc-pcard__shot { margin: 0 0 16px !important; }
.sc-pcard .sc-device--laptop { padding: 8px 6px 6px; border-radius: 12px; box-shadow: 0 10px 24px rgba(11, 31, 77, .14); }
.sc-pcard .sc-device--laptop::before { top: 2px; width: 3px; height: 3px; margin-left: -1.5px; }
.sc-pcard .sc-device--laptop img { border-radius: 6px !important; }
.sc-pcard .sc-device--phone { max-width: 150px !important; padding: 6px; border-radius: 26px; box-shadow: 0 10px 24px rgba(11, 31, 77, .14); }
.sc-pcard .sc-device--phone img { border-radius: 20px !important; }
.sc-pcard .sc-device--phone::before { top: 10px; width: 34px; height: 9px; margin-left: -17px; }
.sc-pcard .sc-device--tablet { padding: 8px; border-radius: 18px; }
.sc-pcard__title, .sc-pcard__title .elementor-heading-title { font-size: 1.15rem !important; margin: 0 0 10px !important; color: var(--sc-ink); }
.sc-pcard .sc-bullets ul, .sc-pcard ul.sc-bullets { gap: 8px; margin-bottom: 14px; }
.sc-pcard .sc-bullets li { font-size: .93rem; font-weight: 500; line-height: 1.45; }
.sc-pcard .sc-actions { margin-top: auto !important; padding: 0 !important; }

/* Galerie d'écrans (page détail d'un profil, application mobile) */
.sc-gallery__list { display: grid !important; gap: 28px !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); align-items: start; padding: 0 !important; }
.sc-gallery__list > * { width: auto !important; max-width: none !important; margin: 0 !important; }
.sc-gitem { display: flex !important; flex-direction: column; }
.sc-gitem .sc-device { margin: 0 0 16px !important; }
.sc-gitem--phone .sc-device--phone { max-width: 250px !important; }
.sc-gitem :is(h3, .elementor-heading-title) { font-size: 1.05rem !important; margin: 0 0 6px !important; color: var(--sc-ink); }
.sc-gitem p { margin: 0; font-size: .95rem; }
@media (min-width: 1081px) { .sc-gitem--tablet { grid-column: span 2; } }

@media (max-width: 1080px) { .sc-pgrid { --cols: 2; } .sc-pgrid.sc-cols-4 { --cols: 2; } }
@media (max-width: 600px) {
  .sc-pgrid, .sc-pgrid.sc-cols-2 { --cols: 1; }
  .sc-device--tablet { padding: 8px; border-radius: 20px; }
  .sc-device--tablet img { border-radius: 12px !important; }
  .sc-gallery__list { grid-template-columns: 1fr; }
}
/* Menu principal plus long : resserré entre 900 et 1240 px */
@media (min-width: 901px) and (max-width: 1240px) { .sc-nav__list a { padding: 8px 9px; font-size: .86rem; } .sc-header__inner { gap: 14px; } .sc-header__cta { padding: 0 14px; } }
/* Bouton secondaire discret sur fond clair */
.sc-elbtn--ghost-dark :is(.elementor-button, .wp-block-button__link) { background: transparent; color: var(--sc-ink); border: 1px solid var(--sc-line); }
.sc-elbtn--ghost-dark :is(.elementor-button, .wp-block-button__link):hover { border-color: color-mix(in srgb, var(--sc-brand) 40%, var(--sc-line)); color: var(--sc-brand); background: #fff; }
/* Bénéfices d'un profil (sans texte secondaire) */
.sc-style-inline .sc-card__text:empty { display: none; }
.sc-style-inline .sc-card { align-items: center; }
/* Cartes de profils : un téléphone est montré par le haut de son écran, à la même hauteur qu'un ordinateur */
.sc-pcard .sc-device--phone { max-width: 140px !important; }
.sc-pcard .sc-device--phone img { aspect-ratio: 780 / 930; object-fit: cover; object-position: top; }

/* ================================================================ Espace élève : tablette au premier plan, téléphone en second plan */
.sc-student :is(.sc-wrap:not(.e-con), .sc-wrap > .e-con-inner) { display: block !important; }
.sc-eleve { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; margin-top: 8px; }
.sc-eleve__stage { position: relative; padding: 0 0 40px 0; min-width: 0; }
.sc-eleve__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.sc-eleve__tab { appearance: none; border: 1px solid var(--sc-line); background: #fff; color: var(--sc-ink); font: 600 .9rem/1.2 Inter, system-ui, sans-serif; padding: 10px 16px; min-height: 44px; border-radius: 999px; cursor: pointer; }
.sc-eleve__tab:hover { border-color: color-mix(in srgb, var(--sc-brand) 40%, var(--sc-line)); color: var(--sc-brand); }
.sc-eleve__tab[aria-selected="true"] { background: var(--sc-brand); border-color: var(--sc-brand); color: #fff; }
.sc-eleve__tablet { position: relative; z-index: 2; max-width: none !important; margin: 0 8% 0 0 !important; }
.sc-eleve__panel img { display: block; width: 100%; height: auto; border-radius: 14px; }
.sc-eleve:not(.is-tabs) .sc-eleve__panel + .sc-eleve__panel { margin-top: 12px; }
.sc-eleve__phone { position: absolute !important; z-index: 3; right: 0; bottom: 0; width: 22%; max-width: 190px !important; margin: 0 !important; padding: 6px !important; border-radius: 28px !important; }
.sc-eleve__phone img { border-radius: 22px !important; }
.sc-eleve__phone::before { top: 10px !important; width: 36px !important; height: 9px !important; margin-left: -18px !important; }
.sc-eleve__benefits { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 18px; }
.sc-eleve__benefits li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.sc-eleve__benefits strong { display: block; color: var(--sc-ink); font-size: 1.02rem; margin-bottom: 2px; }
.sc-eleve__benefits li > span > span { display: block; font-size: .95rem; color: var(--sc-text); }
.sc-eleve__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: color-mix(in srgb, var(--sc-brand) 10%, #fff); color: var(--sc-brand); }
.sc-eleve__ico .sc-icon { width: 22px; height: 22px; }
.sc-eleve__note { font-size: .88rem; color: var(--sc-muted); margin: 0 0 16px; }
.sc-eleve__box { padding: 16px 18px; border-radius: 14px; border: 1px solid color-mix(in srgb, var(--sc-brand) 22%, var(--sc-line)); background: color-mix(in srgb, var(--sc-brand) 5%, #fff); font-size: .94rem; }
.sc-eleve__box p { margin: 0 0 8px; } .sc-eleve__box p:last-child { margin: 0; }
.sc-eleve__box a { font-weight: 650; }
@media (max-width: 1080px) { .sc-eleve { grid-template-columns: 1fr; } .sc-eleve__tablet { margin-right: 12% !important; } }
@media (max-width: 600px) {
  .sc-eleve__tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  .sc-eleve__tab { flex: none; padding: 8px 13px; font-size: .85rem; }
  .sc-eleve__tablet { margin-right: 18% !important; }
  .sc-eleve__phone { width: 26%; }
}
/* Bloc unique (ex. édition en préparation) */
.sc-grid.sc-cols-1 { --cols: 1; max-width: 760px; }
.sc-card__badge { white-space: nowrap; }
.sc-eleve__phone { width: 22% !important; }
@media (max-width: 600px) { .sc-eleve__phone { width: 27% !important; } .sc-eleve__stage { padding-bottom: 28px; } }
/* 1.3.0 : menu principal à 8 entrées (page EDUVANCIA Academy) — libellés sur une ligne, espacements resserrés */
.sc-nav__list a { white-space: nowrap; }
@media (min-width: 1081px) { .sc-nav__list { gap: 0; } .sc-nav__list a { padding: 8px 11px; } }
/* Menu repliable dès 1080 px (8 entrées) */
@media (max-width: 1080px) {
  .sc-nav-toggle { display: block; }
  .sc-nav { position: fixed; inset: 72px 0 auto 0; flex-direction: column; align-items: stretch; gap: 8px; padding: 16px var(--sc-gutter) 24px; background: #fff; border-bottom: 1px solid var(--sc-line); box-shadow: 0 24px 40px rgba(11, 31, 77, .12); transform: translateY(-8px); opacity: 0; visibility: hidden; transition: transform .2s, opacity .2s, visibility .2s; }
  .admin-bar .sc-nav { top: 118px; }
  .sc-nav-open .sc-nav { transform: none; opacity: 1; visibility: visible; }
  .sc-nav__list { flex-direction: column; }
  .sc-nav__list a { padding: 14px 12px; font-size: 1.02rem; }
  .sc-header__cta { margin: 8px 0 0; }
}
/* Étapes en blocs : pas de marge de bloc WordPress entre les cartes (alignement de la première étape) */
.sc-steps__list > * { margin-block: 0 !important; }
