.course-page{max-width:1500px;margin:auto;padding:16px 0 48px}.course-heading h1{font-size:clamp(2rem,4vw,3.5rem);margin:.2em 0}.course-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line,#dedcd6);padding:12px 0;margin-bottom:26px}.course-tabs a{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;color:inherit;text-decoration:none;border-radius:12px}.course-tabs a:hover{background:var(--card,#fff)}.course-tabs svg{width:22px;height:22px}.course-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.course-card{background:var(--card,#fff);border:1px solid var(--line,#e1ded8);border-radius:22px;padding:24px;margin:18px 0}.course-catalog .course-card{margin:0}.course-card>header,.course-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.course-card h2{font-size:1.25rem;margin:0 0 12px}.course-card h2 small{display:block;font-size:.8rem;font-weight:400;margin-bottom:12px}.course-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}.course-page button,.course-page a.secondary,.course-page a.primary,.course-dialog button{min-height:44px;touch-action:manipulation}.course-pill{display:inline-block;padding:6px 12px;border-radius:20px;background:#edece7;color:#393b36;font-size:.85rem;margin:4px 8px 4px 0}.course-notice{padding:14px;border-left:3px solid #a77e35;background:#faf2df;color:#624d23}.course-table-wrap{max-width:100%;overflow-x:auto}.course-table{border-collapse:collapse;width:100%;font-size:.92rem}.course-table th{text-align:left;font-weight:500;color:var(--muted,#6c716b);padding:12px 10px;border-bottom:1px solid var(--line,#dedcd6)}.course-table td{vertical-align:top;padding:16px 10px;border-bottom:1px solid var(--line,#e9e7e1);min-width:95px}.course-table td:first-child{min-width:180px}.course-table small,.course-person-history small{display:block;line-height:1.6;color:var(--muted,#6c716b);margin-top:5px}.course-table td button,.course-table td a.secondary{margin:4px 5px 4px 0;font-size:.82rem;padding:8px 12px}.course-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 0}.course-stats b,.course-stats span{display:block}.course-stats b{font-size:1.6rem}.course-stats span{color:var(--muted,#6c716b);font-size:.9rem;margin-top:6px}.course-dialog{max-width:1000px;width:calc(100% - 40px)}.course-dialog form{display:grid;gap:18px}.course-dialog input,.course-dialog select,.course-dialog textarea{max-width:100%}.course-dialog textarea{min-height:90px}.course-dialog fieldset{border:1px solid var(--line,#dedcd6);border-radius:12px;padding:18px}.course-dialog legend{padding:0 6px}.course-presence-choices{display:flex;flex-wrap:wrap;gap:10px}.course-presence-choices label{padding:12px;border:1px solid var(--line,#dedcd6);border-radius:12px;min-height:44px;display:flex;align-items:center;gap:8px}.course-session-actions article,.course-request{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#dedcd6)}.course-session-actions article span{flex:1;min-width:180px}.course-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.course-candidates label{border:1px solid var(--line,#dedcd6);border-radius:14px;padding:18px}.course-candidates small{display:block}.course-public{max-width:1000px;padding:25px;margin:auto}.course-public>img{max-width:120px}.course-empty{padding:25px 0}.course-person-history{padding:20px 0;border-top:1px solid var(--line,#dedcd6)}
@media(max-width:700px){.course-page{padding:12px 0 40px}.course-public{padding:20px}.course-card{padding:18px;border-radius:18px}.course-stats{grid-template-columns:1fr 1fr}.course-dialog{width:100%;max-width:none}.course-table td:first-child{min-width:155px}.course-table{font-size:.88rem}.course-section-head h2{font-size:1.5rem}.course-presence-choices label{flex:1;min-width:110px}}

.course-public-hero {margin:28px 0;}
.course-public-hero h1 {font-size:clamp(27px,3.5vw,38px);line-height:1.15;letter-spacing:-.035em;margin:12px 0;}
.course-public-hero .course-edition {color:#62685f;font-size:16px;line-height:1.6;}
.course-offer-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;}
.course-offer-layout>.course-card {margin:0;}
.course-offer-summary {margin:0;}
.course-offer-summary>div {padding:16px 0;border-bottom:1px solid #e5e1da;}
.course-offer-summary>div:first-child {padding-top:0;}
.course-offer-summary dt {color:#62685f;font-size:12px;margin:0 0 6px;}
.course-offer-summary dd {font-size:17px;line-height:1.5;margin:0;color:#30372e;}
.course-offer-summary dd small {display:block;font-size:13px;color:#62685f;margin-top:4px;}
.course-offer-layout form {display:grid;gap:18px;}
.course-offer-layout form>button {width:100%;}
.course-offer-layout form>[role=status]:empty {display:none;}
.course-offer-layout .field input {width:100%;}
.course-offer-note {font-size:13px;line-height:1.6;color:#62685f;margin:18px 0;}
.course-brand {display:inline-flex;width:120px;}
.course-brand>span {
 display:block;width:100%;aspect-ratio:357/136;background:#ff3c01;
 -webkit-mask:url('/vix-logo-white.png') center/contain no-repeat;
 mask:url('/vix-logo-white.png') center/contain no-repeat;
}
.course-brand:focus-visible,.course-schedule-summary>summary:focus-visible {outline:3px solid #a83208;outline-offset:4px;}
.course-schedule-summary {margin-top:20px;border:1px solid #d6b29f;border-radius:16px;background:#fffdfa;overflow:hidden;}
.course-schedule-summary>summary {
 cursor:pointer;min-height:64px;display:flex;align-items:center;gap:12px;
 padding:14px 16px;color:#963009;font-size:16px;font-weight:600;list-style:none;
}
.course-schedule-summary>summary::-webkit-details-marker {display:none;}
.course-schedule-summary>summary:hover {background:#fff0e7;}
.course-schedule-summary>summary>svg {width:24px;height:24px;flex:none;}
.course-schedule-summary>summary small {display:block;color:#62685f;font-size:12px;font-weight:400;margin-top:3px;}
.course-schedule-chevron {width:9px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-left:auto;margin-right:4px;flex:none;}
.course-schedule-summary[open] .course-schedule-chevron {transform:rotate(225deg);}
.course-schedule-days {border-top:1px solid #e5e1da;padding:0 16px;}
.course-schedule-day {padding:20px 0;}
.course-schedule-day+.course-schedule-day {border-top:1px solid #e5e1da;}
.course-schedule-day h2 {font-size:15px;line-height:1.5;margin:0 0 16px;color:#30372e;}
.course-schedule-day ol {list-style:none;margin:0;padding:0;}
.course-schedule-day li {padding-left:14px;border-left:2px solid #ebded3;overflow-wrap:anywhere;}
.course-schedule-day li+li {margin-top:22px;}
.course-schedule-time {font-size:12px;color:#62685f;line-height:1.6;margin:0 0 5px;}
.course-schedule-day h3 {font-size:16px;line-height:1.4;font-weight:600;margin:0;color:#30372e;}
.course-lesson-description {font-size:14px;line-height:1.6;white-space:pre-line;color:#535b50;margin:6px 0 0;overflow-wrap:anywhere;}
.course-schedule-required {display:inline-block;font-size:11px;font-weight:500;color:#755029;background:#f4eadb;padding:4px 8px;border-radius:6px;margin-top:10px;}
.course-fee-list {list-style:none;padding:0;margin:10px 0;}
.course-fee-list li {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e5e1da;font-size:14px;}
.course-fee-total {display:flex;justify-content:space-between;gap:20px;padding:8px 0;}
.course-payment-instructions {white-space:pre-wrap;overflow-wrap:anywhere;}
.course-registration-result {max-width:660px;}
.course-registration-result>a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:12px 0;text-decoration:none;}
.course-registration-copy {margin-top:20px;padding-top:20px;border-top:1px solid #e5e1da;}
.course-registration-copy [role=status] {font-size:13px;color:#62685f;}
.course-registration-copy input {width:100%;font-size:13px;}
.course-invite-body {padding:24px;}
.course-invite-state {display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px;border-radius:12px;background:#f4f1eb;margin:16px 0;}
.course-invite-state span {font-size:14px;}
.course-invite-template {margin:20px 0;}
.course-invite-template summary,.course-invite-review summary {cursor:pointer;min-height:44px;display:flex;align-items:center;}
.course-invite-body pre {white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.7;background:#f6f3ed;border-radius:12px;padding:18px;}
.course-invite-body>.field input {width:100%;}
.course-invite-recipients {display:grid;gap:0;margin:16px 0;}
.course-invite-recipients article {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #ded8cd;}
.course-invite-recipients article>label {display:flex;align-items:center;gap:12px;min-height:44px;}
.course-invite-recipients small {display:block;font-size:13px;line-height:1.6;color:#62685f;margin-top:4px;}
.course-invite-recipients .course-invite-ok {color:#28623d;}
.course-invite-select {display:flex;align-items:center;gap:12px;min-height:44px;line-height:1.5;margin:16px 0;}
.course-invite-body input[type=checkbox] {width:20px;height:20px;flex:none;}
.course-invite-review {border-top:1px solid #ded8cd;margin-top:24px;padding-top:20px;}
.course-invite-progress {font-size:14px;line-height:1.6;}
@media(max-width:700px) {
 .course-invite-body {padding:18px;}
 .course-invite-recipients article {align-items:flex-start;flex-direction:column;gap:8px;}
 .course-invite-recipients article>button {margin-left:32px;}
 .course-public-hero {margin:20px 0 24px;}
 .course-public-hero .course-edition {font-size:14px;}
 .course-offer-layout {grid-template-columns:minmax(0,1fr);gap:20px;}
 .course-offer-summary {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;}
 .course-offer-summary>div:first-child {grid-column:1/-1;}
 .course-offer-summary dd {font-size:15px;}
 .course-offer-note {margin:12px 0;}
 .course-schedule-summary {margin-top:8px;}
 .course-registration-result>a {width:100%;}
}
