/* Cartes de catalogue dans la continuité des fiches de formation. */
.ui-polish #programmes .programme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;list-style:none}
.ui-polish #programmes .programme-grid>li{min-width:0}
.ui-polish #programmes .programme-link{display:flex;flex-direction:column;align-items:stretch;position:relative;height:100%;padding:34px 36px;border:1px solid var(--gray-200);border-radius:16px;background:var(--white);box-shadow:none;overflow:hidden;transition:translate .25s,box-shadow .25s,border-color .25s}
.ui-polish #programmes .programme-link::before,.ui-polish #programmes .programme-link::after{display:none}
.ui-polish #programmes .programme-top{display:block;margin:0 0 18px}
.ui-polish #programmes .catalogue-subject{display:block;color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:18px}
.ui-polish #programmes .programme-top h3{font-size:clamp(22px,2vw,27px);line-height:1.22;letter-spacing:-.025em;color:var(--gray-900);margin:0}
.ui-polish #programmes .programme-top h3 span{color:var(--primary)}
.ui-polish #programmes .programme-description{font-size:15px;line-height:1.8;color:var(--text-body);max-width:43ch;margin:0 0 20px}
.ui-polish #programmes .programme-link .course-card-duration{font-size:12px;line-height:1.7;margin:0 0 24px;color:var(--text-secondary)}
.ui-polish #programmes .programme-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid var(--gray-200);color:var(--primary);font-size:14px;font-weight:600}
.ui-polish #programmes .programme-action svg{width:20px;height:20px;color:var(--accent-text);transition:translate .25s}
.ui-polish #programmes .programme-link:hover,.ui-polish #programmes .programme-link:focus-visible{translate:0 -4px;border-color:#94afea;box-shadow:0 14px 30px #17305c0c}
.ui-polish #programmes .programme-link:is(:hover,:focus-visible) .programme-action svg{translate:5px 0}
.ui-polish #programmes .programme-link:focus-visible{outline:3px solid #f97316;outline-offset:4px}
.ui-polish .secteur-card{border-radius:16px;text-align:left;padding:30px;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start}
.ui-polish .secteur-card::before,.ui-polish .secteur-card::after{display:none}
.ui-polish .secteur-card-title{font-size:23px;line-height:1.3;margin:0 0 14px}
.ui-polish .secteur-card-description{font-size:14px;line-height:1.8;margin-bottom:24px}
.ui-polish .secteur-card>.btn{margin-top:auto;white-space:normal;text-align:left}
@media(max-width:680px){.ui-polish #programmes .programme-grid{grid-template-columns:1fr;gap:18px}.ui-polish #programmes .programme-link{padding:28px 24px}.ui-polish #programmes .programme-top h3{font-size:25px}}
/* Shared card treatment: blue actions, restrained icons and consistent corners. */
.ui-polish.layout-refresh .secteur-card{border:1px solid var(--gray-200);background:var(--white);gap:0;transition:transform .2s,border-color .2s,box-shadow .2s}
.ui-polish.layout-refresh .secteur-card .secteur-card-icon{width:48px;height:48px;margin:0 0 24px;border-radius:12px;background:var(--gray-50);color:var(--primary);transform:none}
.ui-polish.layout-refresh .secteur-card-icon svg{width:26px;height:26px}
.ui-polish.layout-refresh .secteur-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}
.ui-polish.layout-refresh .secteur-card:hover .secteur-card-title{color:var(--gray-900)}
.ui-polish.layout-refresh .secteur-card .secteur-btn{width:100%;justify-content:space-between;gap:16px;border:0;border-top:1px solid var(--gray-200);border-radius:0;padding:18px 0 0;min-height:48px;background:transparent;color:var(--primary);font-size:13px;box-shadow:none;transform:none;text-align:left}
.ui-polish.layout-refresh .secteur-card .secteur-btn::after{content:'→';color:var(--accent-text);font-size:22px;font-weight:400}
.ui-polish.layout-refresh .secteur-card .secteur-btn:hover{text-decoration:underline;text-underline-offset:4px}
.ui-polish.layout-refresh .secteur-card .secteur-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.ui-polish #programmes .programme-link,.ui-polish #programmes .programme-action svg,.ui-polish.layout-refresh .secteur-card{transition:none}.ui-polish #programmes .programme-link:is(:hover,:focus-visible),.ui-polish #programmes .programme-link:is(:hover,:focus-visible) .programme-action svg{translate:none}.ui-polish.layout-refresh .secteur-card:hover{transform:none}}
/* Formats: comparable durations, contents and actions, with no hidden mobile cards. */
#formats{background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%)}
#formats .formats-heading{grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:end;margin-bottom:36px}
#formats .section-header{max-width:820px;text-align:left}
#formats .section-description{max-width:66ch;margin-bottom:0}
#formats .formats-guide{display:grid;gap:8px;padding:18px 0 18px 22px;border-left:2px solid #f97316;font-size:14px;font-weight:600;line-height:1.6;color:var(--text-primary)}
#formats .formats-guide>span{display:flex;justify-content:space-between;gap:10px;color:var(--primary);font-size:12px}
#formats .formats-guide:hover>span{text-decoration:underline;text-underline-offset:4px}
#formats .format-showcase{gap:22px}
#formats .format-card{position:relative;min-width:0;min-height:0;padding:28px;border-radius:16px;border:1px solid var(--gray-200);background:var(--white);box-shadow:0 10px 28px #17305c08;transition:border-color .2s,box-shadow .2s}
#formats .format-card:hover{border-color:#95ade0;box-shadow:0 16px 32px #17305c10}
#formats .format-card-top{margin-bottom:26px;gap:12px}
#formats .format-index{display:grid;place-items:center;width:40px;height:40px;border:1px solid #f2d1b8;border-radius:50%;color:#b45309;font:600 14px var(--font-heading);background:#fff8f1}
#formats .format-badge{padding:6px 0;background:transparent;color:var(--text-secondary);font-size:10px;letter-spacing:.09em;text-transform:uppercase}
#formats .format-card h3{margin:0 0 12px;color:var(--text-primary);font-size:25px;line-height:1.2;letter-spacing:-.025em}
#formats .format-card>.format-purpose{min-height:3.4em;margin:0 0 24px;color:var(--text-secondary);font-size:14px;line-height:1.7}
#formats .format-duration{padding:20px 0;gap:7px;border-block:1px solid var(--gray-200)}
#formats .format-duration strong{color:var(--primary);font:600 clamp(28px,2.7vw,36px)/1.2 var(--font-heading);letter-spacing:-.04em}
#formats .format-duration>span{font-size:11px;line-height:1.6;color:var(--text-secondary)}
#formats .format-includes{display:grid;gap:13px;list-style:none;margin:5px 0 28px;padding:0;font-size:13px;line-height:1.6;color:var(--text-body)}
#formats .format-includes li{display:flex;gap:10px;align-items:baseline}
#formats .format-includes li::before{content:'✓';flex-shrink:0;color:#b45309;font-weight:700}
#formats .format-card>.format-action{min-height:50px;align-items:center;padding:13px 16px;border:1px solid #d5e0f6;border-radius:8px;background:#edf2fc;color:#204ab5;font-size:13px}
#formats .format-action:hover{background:#e1eafb;border-color:#94afea}
#formats .format-action>span{font-size:22px;line-height:1;color:#b45309}
#formats .formats-advice{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:20px;align-items:center;padding:26px 28px;margin-top:28px;border:1px solid #f1dfd0;border-radius:12px;background:#fffbf6}
#formats .formats-advice-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fcebdc;color:#a34a0f}
#formats .formats-advice h3{margin:0 0 6px;font-size:18px;line-height:1.4;color:#14213b;letter-spacing:-.02em}
#formats .formats-advice p{max-width:74ch;margin:0;font-size:13px;line-height:1.75;color:#4b5b72}
#formats .formats-advice>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 18px;border:1px solid #cdd7e6;border-radius:8px;background:#fff;color:#14213b;font-size:13px;font-weight:600;white-space:nowrap}
#formats .formats-advice>a>span{color:#b45309;font-size:20px}
#formats .formats-advice>a:hover{border-color:#b45309}
#formats .formats-practical{background:transparent;border:0;border-radius:0;gap:32px;margin-top:24px}
#formats .formats-practical p{padding:0;background:transparent;line-height:1.8;color:var(--text-secondary)}
#formats .formats-practical p>span:first-child{background:transparent;color:#b45309;font-size:18px}
#formats a:focus-visible{outline:3px solid #b45309;outline-offset:4px}
[data-theme=dark] #formats .format-index{background:#342c25;border-color:#725038;color:#ffb17a}
[data-theme=dark] #formats .format-includes li::before,[data-theme=dark] #formats .format-action>span,[data-theme=dark] #formats .formats-practical p>span:first-child{color:#ffb17a}
[data-theme=dark] #formats .format-card>.format-action{background:#233955;border-color:#4b607b;color:#c3d9ff}
[data-theme=dark] #formats .format-action:hover{background:#314b70}
[data-theme=dark] #formats .formats-advice{background:#272d37;border-color:#635044}
[data-theme=dark] #formats .formats-advice h3{color:#f1f5fb}
[data-theme=dark] #formats .formats-advice p{color:#c6d3e5}
[data-theme=dark] #formats .formats-advice>a{background:#1e324e;border-color:#4b607b;color:#fff}
@media(max-width:1050px){
 #formats .formats-heading{grid-template-columns:1fr;gap:20px}
 #formats .formats-guide{width:fit-content;min-width:270px;padding-block:8px}
 #formats .format-card{padding:24px 20px}
 #formats .format-card h3{font-size:23px}
 #formats .formats-advice{grid-template-columns:48px minmax(0,1fr)}
 #formats .formats-advice>a{grid-column:2;justify-self:start}
}
@media(max-width:960px){
 #formats .format-showcase{grid-template-columns:1fr}
 #formats .format-card{padding:26px;border-radius:16px}
 #formats .format-card-top{margin-bottom:22px}
 #formats .format-card h3{font-size:26px}
 #formats .format-card>.format-purpose{min-height:0;max-width:45ch;margin-bottom:22px}
 #formats .format-duration strong{font-size:34px}
 #formats .formats-advice{padding:24px;grid-template-columns:1fr;gap:14px}
 #formats .formats-advice>a{grid-column:auto;justify-self:stretch}
 #formats .formats-practical{grid-template-columns:1fr;gap:18px}
}
@media(prefers-reduced-motion:reduce){#formats .format-card{transition:none}}
