/* IT Tech Académie — V33 : cartes de parcours, catalogue de modules, page parcours, fiche module. */
.theme-1{--accent:#2563eb;--accent-soft:#eaf1ff;--accent-dark:#1e40af}
.theme-2{--accent:#7c3aed;--accent-soft:#f1eaff;--accent-dark:#5b21b6}
.theme-3{--accent:#0d9488;--accent-soft:#e2f6f3;--accent-dark:#0f766e}

/* ---------- Éléments communs ---------- */
.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:700;font-size:12.5px;line-height:1.3;text-decoration:none;white-space:nowrap}
.tag.level.l1{background:#d1fae5;color:#065f46}.tag.level.l2{background:#dbeafe;color:#1e40af}.tag.level.l3{background:#ede9fe;color:#5b21b6}.tag.level.l4{background:#fce7f3;color:#9d174d}
.tag.path{background:var(--accent-soft,#eaf1ff);color:var(--accent-dark,#1e40af)}
.path-facts{list-style:none;margin:12px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.path-facts li{padding:6px 12px;border-radius:12px;background:var(--accent-soft,#eaf1ff);color:#0f172a;font-weight:600;font-size:13.5px}
.path-facts b{color:var(--accent-dark,#1e40af);font-size:1.05em}
.level-track{display:flex;gap:4px;margin:8px 0 4px}
.level-track .seg{flex:1;height:8px;border-radius:99px;background:#cbd5e1}
.level-track .seg.l1{background:#34d399}.level-track .seg.l2{background:#60a5fa}.level-track .seg.l3{background:#a78bfa}.level-track .seg.l4{background:#f472b6}
.level-caption{display:block;color:#64748b;font-weight:600;font-size:12.5px}

/* ---------- Cartes de parcours ---------- */
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.path-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-top:4px solid var(--accent);border-radius:18px;box-shadow:0 10px 26px rgba(15,45,80,.07);overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.path-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,45,80,.12)}
.path-card-media{position:relative;aspect-ratio:16/9;background:#0f172a}
.path-card-media img,.path-card-media video{width:100%;height:100%;object-fit:cover;display:block}
.path-play{position:absolute;inset:0;margin:auto;width:62px;height:62px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--accent-dark);font-size:22px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.path-play:hover{background:#fff;transform:scale(1.05)}
.path-card-body{display:flex;flex-direction:column;gap:6px;padding:18px 18px 20px;flex:1}
.path-card-body .top-badge{align-self:flex-start;background:var(--accent-soft);color:var(--accent-dark)}
.path-card-body h3{margin:4px 0 0;font-size:1.2rem;line-height:1.25}
.path-card-body h3 a{color:#0f172a;text-decoration:none}
.path-card-objective{margin:2px 0 0;color:#475569;font-size:14.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.path-modules{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.path-modules li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.35;color:#1e293b}
.path-modules i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-style:normal;font-weight:800;font-size:12px}
.path-jobs{margin:10px 0 0;color:#475569;font-size:13.5px;line-height:1.5}
.path-card-cta{margin-top:auto;padding-top:16px;display:grid;gap:8px}
.path-subscribe{width:100%;box-sizing:border-box;text-align:center;line-height:1.25;background:var(--accent)!important;border-color:var(--accent)!important}
.path-more{text-align:center;font-weight:700;color:var(--accent-dark);text-decoration:none;font-size:14px}

/* ---------- Catalogue : cartes de modules compactes ---------- */
.home-catalog-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.mod-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--accent);border-radius:16px;box-shadow:0 6px 18px rgba(15,45,80,.05)}
.mod-card:hover{box-shadow:0 12px 26px rgba(15,45,80,.1)}
.mod-card-main{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.mod-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:14px;background:var(--accent-soft)}
.mod-card .mod-icon img{width:38px!important;height:38px!important;max-width:38px!important;aspect-ratio:1/1;object-fit:contain;margin:0}
.mod-num{display:block;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-dark)}
.mod-heading h3{margin:2px 0 0;font-size:1.02rem;line-height:1.3;color:#0f172a}
.mod-tags{display:flex;flex-wrap:wrap;gap:6px}
.mod-trainer{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;text-decoration:none}
.mod-card .mod-trainer img{width:30px!important;height:30px!important;max-width:30px!important;aspect-ratio:1/1;border-radius:50%;object-fit:cover;border:1px solid #e2e8f0;margin:0}
.mod-cta{margin-top:auto;display:grid;gap:6px}
.mod-cta small{color:#64748b;font-size:12px;line-height:1.4}

/* ---------- Page parcours ---------- */
.path-hero{margin-bottom:18px;padding:28px;border-radius:22px;background:linear-gradient(135deg,var(--accent-soft),#fff);border:1px solid #e2e8f0;border-left:6px solid var(--accent)}
.path-hero h1{margin:8px 0 6px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}
.path-lead{margin:0;max-width:70ch;color:#334155;line-height:1.55}
.path-hero .top-badge{background:#fff;color:var(--accent-dark)}
.path-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.path-content{display:grid;gap:18px}
.path-block h2{margin:0 0 12px}
.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check-list li{position:relative;padding-left:28px;line-height:1.45}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.month-list{display:grid;gap:10px}
.month-item{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}
.month-item[open]{border-color:var(--accent);box-shadow:0 8px 22px rgba(15,45,80,.07)}
.month-item summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;cursor:pointer;list-style:none;font-weight:700}
.month-item summary::-webkit-details-marker{display:none}
.month-item summary:after{content:"＋";margin-left:auto;color:var(--accent);font-size:20px;font-weight:800}
.month-item[open] summary:after{content:"－"}
.month-no{padding:4px 10px;border-radius:10px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:800;white-space:nowrap}
.month-title{flex:1 1 240px;color:#0f172a}
.month-body{padding:2px 16px 18px;display:grid;gap:12px}
.month-body p{margin:0;line-height:1.55;color:#334155}
.month-trainers{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#64748b}
.month-trainers a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#0f172a}
.month-trainers img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid #e2e8f0}
.month-slot{padding:8px 12px;border-radius:10px;background:var(--accent-soft);color:#0f172a!important;font-size:14px}
.month-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.month-cols h4{margin:0 0 6px;font-size:.95rem;color:var(--accent-dark)}
.month-cols ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px;line-height:1.4}
.month-link{font-weight:800;color:var(--accent-dark);text-decoration:none}
.exam-list{margin:0 0 8px;padding-left:18px;display:grid;gap:6px}
.path-aside{position:sticky;top:96px}
.path-buy{padding:20px;background:#fff;border:1px solid #e2e8f0;border-top:4px solid var(--accent,#2563eb);border-radius:18px;box-shadow:0 10px 26px rgba(15,45,80,.08);display:grid;gap:10px}
.path-buy .price-label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.path-buy .price{font-size:2rem;font-weight:800;color:#0f172a;line-height:1.1}
.path-buy .price small{font-size:1rem;color:#475569;font-weight:700}
.path-buy p{margin:0;color:#475569;line-height:1.5;font-size:14.5px}
.path-buy .btn{width:100%;box-sizing:border-box;text-align:center}
.path-buy .btn.primary{background:var(--accent)!important;border-color:var(--accent)!important}
.path-buy hr{border:0;border-top:1px solid #e2e8f0;margin:4px 0}
.buy-list{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:7px;font-size:14px;color:#334155}
.buy-list li{padding-left:22px;position:relative}
.buy-list li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.path-switch{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 8px}
.path-switch a{display:grid;gap:2px;padding:14px 18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;text-decoration:none;color:#0f172a}
.path-switch a:last-child{text-align:right}
.path-switch small{color:#64748b;font-weight:700}
.path-sticky-cta{display:none}

/* ---------- Fiche module ---------- */
.module-hero{border-left:6px solid var(--accent,#2563eb)}
.module-crumb{margin:6px 0 0;color:#475569;font-weight:600}
.module-crumb a{color:var(--accent-dark,#1e40af);text-decoration:none;font-weight:800}
#v64ModuleInfo{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0}
.module-cta{display:grid;justify-items:center;gap:8px;margin-top:12px}
.module-cta .btn.primary{background:var(--accent,#2563eb)!important;border-color:var(--accent,#2563eb)!important}
.module-cta small{color:#475569;max-width:52ch;line-height:1.45}
.module-sequence-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:14px 0}
.module-sequence-nav .module-arrow-next{justify-self:end}
.mod-stepper-card h2{margin:0 0 10px;font-size:1.05rem}
.module-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.module-stepper a{display:grid;justify-items:center;gap:6px;padding:10px 6px;border-radius:12px;border:1px solid #e2e8f0;text-decoration:none;color:#334155;text-align:center;height:100%;box-sizing:border-box}
.module-stepper i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#e2e8f0;color:#334155;font-style:normal;font-weight:800}
.module-stepper span{font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.module-stepper .current a{border-color:var(--accent);background:var(--accent-soft)}
.module-stepper .current i{background:var(--accent);color:#fff}
.mod-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;margin-top:16px}
.mod-main{display:grid;gap:10px}
.mod-acc{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}
.mod-acc[open]{border-color:var(--accent)}
.mod-acc summary{padding:15px 18px;cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mod-acc summary::-webkit-details-marker{display:none}
.mod-acc summary:after{content:"＋";color:var(--accent);font-size:20px}
.mod-acc[open] summary:after{content:"－"}
.mod-acc-body{padding:0 18px 18px;line-height:1.55;color:#334155}
.mod-acc-body ul{margin:0;padding-left:20px;display:grid;gap:5px}
.mod-acc-body h4{margin:14px 0 6px}
.mod-slot{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mod-aside{position:sticky;top:96px}

/* ---------- Téléphone ---------- */
@media (max-width:980px){
  .path-grid{grid-template-columns:1fr}
  .path-layout,.mod-layout{grid-template-columns:1fr}
  .path-aside{position:static}
  .mod-aside{position:static;order:-1}
  .month-cols{grid-template-columns:1fr}
  .check-list{grid-template-columns:1fr}
  .module-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}
  .path-switch{grid-template-columns:1fr}
  .path-switch a:last-child{text-align:left}
  body.path-page-v33{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  body.path-page-v33 .mobile-action-bar,body.path-page-v33 .whatsapp-float{display:none!important}
  .path-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -8px 24px rgba(15,45,80,.1)}
  .path-sticky-cta div{display:grid;line-height:1.2}
  .path-sticky-cta small{color:#64748b;font-size:12px}
  .path-sticky-cta .btn{min-height:46px;padding:0 22px;background:var(--accent,#2563eb)!important;border-color:var(--accent,#2563eb)!important}
  .module-sequence-nav{grid-template-columns:1fr 1fr}
  .module-sequence-nav .btn.blue{grid-column:1/-1;order:-1}
}
@media (max-width:560px){
  .path-hero{padding:20px 16px}
  .home-catalog-grid{grid-template-columns:1fr}
  .module-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* AJUSTEMENTS-V33 */
.home-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px}
.mod-card{gap:14px;padding:18px}
.mod-card-main{gap:16px}
.mod-icon{width:88px;height:88px;border-radius:22px}
.mod-card .mod-icon img{width:64px!important;height:64px!important;max-width:64px!important}
.mod-heading h3{font-size:1.1rem}
.mod-cta{margin-top:auto;padding-top:2px}
/* Photo du responsable de module : taille fixe (un ancien style l'agrandissait) */
.month-trainers{gap:10px 14px;margin:0}
.month-trainers a{display:inline-flex;align-items:center;gap:8px}
.month-trainers img{width:38px!important;height:38px!important;max-width:38px!important;min-width:38px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;border:1px solid #e2e8f0;margin:0!important}
.month-body{gap:10px}
@media (max-width:1100px){.home-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:640px){.home-catalog-grid{grid-template-columns:1fr!important}}

/* AJUSTEMENTS-V33-2 */
/* Colonne de contenu : une seule colonne pleine largeur (une ancienne grille de 12 colonnes réduisait les rectangles) */
.path-content{grid-template-columns:minmax(0,1fr)!important}
.path-content>*{grid-column:1/-1!important;min-width:0;width:auto!important;max-width:none!important}
.path-content .month-list,.path-content .month-item{width:100%}

/* Icônes de module : grandes, pleine tuile */
.mod-icon{width:112px;height:112px;padding:0;border-radius:26px;overflow:hidden;background:var(--accent-soft)}
.mod-card .mod-icon img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0}
.mod-card-main{gap:18px}

/* Textes allégés */
.path-lead{font-size:15px;line-height:1.5}
.path-block h2{font-size:1.25rem;margin-bottom:10px}
.check-list li{font-size:14.5px;line-height:1.4}
.month-body p{font-size:14.5px;line-height:1.5}
.month-body .month-slot{font-size:13.5px}
.month-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.month-cols h4,.month-more summary{font-size:13.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-dark)}
.month-cols ul,.month-more ul{font-size:13.5px;line-height:1.4;gap:3px}
.month-more{border-top:1px dashed #e2e8f0;padding-top:8px}
.month-more summary{cursor:pointer;font-weight:800}
.month-more ul{margin:8px 0 0;padding-left:18px;display:grid}
.v26-project{font-size:14px}
.v26-project p{font-size:14px;line-height:1.45}
.path-block p,.path-block li{font-size:14.5px}
.path-buy p,.buy-list{font-size:13.5px}
.path-card-objective{font-size:14px;-webkit-line-clamp:2}
.path-modules li{font-size:13.5px}
.path-jobs{font-size:13px}
.mod-acc-body,.mod-acc-body li,.mod-acc-body p{font-size:14.5px}
.mod-heading h3{font-size:1.08rem}
@media (max-width:640px){
  .mod-icon{width:92px;height:92px;border-radius:22px}
  .month-cols{grid-template-columns:1fr}
}
