.vitrine-checkout-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:3rem 1rem}.vitrine-checkout-container{width:100%;max-width:32rem;margin-left:auto;margin-right:auto}.vitrine-checkout-container--event{max-width:38rem}.vitrine-checkout-card{background:var(--color-surface);border:1px solid var(--vitrine-border);border-radius:var(--radius-card);padding:2rem}.vitrine-checkout-back{display:inline-block;font-size:.875rem;color:var(--vitrine-text-secondary);text-decoration:none;transition:opacity .15s ease}.vitrine-checkout-back:hover{opacity:.82;color:var(--color-primary)}.vitrine-checkout-title{color:var(--color-primary);font-size:clamp(1.25rem,3vw,1.375rem);line-height:1.2;margin:1rem 0 .5rem}.vitrine-checkout-subtitle{font-size:.875rem;color:var(--vitrine-text-secondary);margin:0 0 1.5rem}.vitrine-checkout-field{display:block;margin-bottom:.75rem}.vitrine-checkout-field-label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--vitrine-text-secondary);margin-bottom:.375rem}.vitrine-checkout-input{width:100%;padding:.625rem .75rem;font-size:.875rem;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--vitrine-border);border-radius:var(--radius-card);transition:border-color .15s ease}.vitrine-checkout-input:focus{outline:none;border-color:var(--color-accent)}.vitrine-checkout-input::-moz-placeholder{color:var(--vitrine-text-tertiary)}.vitrine-checkout-input::placeholder{color:var(--vitrine-text-tertiary)}.vitrine-checkout-recap{border:1px solid var(--vitrine-border);border-radius:var(--radius-card);padding:1rem;margin-bottom:1.5rem;font-size:.875rem;background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.vitrine-checkout-recap-row{display:flex;justify-content:space-between;gap:1rem;color:var(--color-primary)}.vitrine-checkout-recap-row+.vitrine-checkout-recap-row{margin-top:.25rem}.vitrine-checkout-recap-row--strong{font-weight:600;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--vitrine-border)}.vitrine-checkout-recap-muted{font-size:.75rem;color:var(--vitrine-text-secondary);margin-top:.5rem}.vitrine-checkout-recap-muted--nested{padding-left:.75rem}.vitrine-checkout-section-divider{margin:1.5rem 0;padding-top:.5rem;border-top:1px solid var(--vitrine-border)}.vitrine-checkout-consent{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--color-primary)}.vitrine-checkout-consent+.vitrine-checkout-consent{margin-top:1rem}.vitrine-checkout-consent input[type=checkbox]{margin-top:.15rem;flex-shrink:0;accent-color:var(--color-accent)}.vitrine-checkout-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.vitrine-checkout-link:hover{color:var(--color-accent)}.vitrine-checkout-hint{font-size:.75rem;color:var(--vitrine-text-secondary);margin-top:.25rem}.vitrine-checkout-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1.5rem;padding:.875rem 1.5rem;border-radius:var(--radius-button);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .15s ease}.vitrine-checkout-cta:hover:not(:disabled){opacity:.9}.vitrine-checkout-cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.vitrine-checkout-cta:disabled{opacity:.5;cursor:not-allowed}.vitrine-checkout-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);background:transparent;border:1px solid var(--color-accent);border-radius:var(--radius-button);cursor:pointer;transition:opacity .15s ease}.vitrine-checkout-btn-secondary:hover:not(:disabled){opacity:.85}.vitrine-checkout-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.vitrine-checkout-btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--vitrine-border);border-radius:var(--radius-button);cursor:pointer;transition:opacity .15s ease}.vitrine-checkout-btn-ghost:hover:not(:disabled){opacity:.85}.vitrine-checkout-tier-option{border:1px solid var(--vitrine-border);background:transparent;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.vitrine-checkout-tier-option:hover{border-color:var(--vitrine-border-strong)}.vitrine-checkout-tier-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vitrine-checkout-tier-option--selected,.vitrine-checkout-tier-option--selected:hover{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.vitrine-checkout-payment-mode{margin-bottom:.5rem}.vitrine-checkout-payment-mode-tabs{display:flex;flex-direction:column;gap:.375rem;padding:.375rem;background:color-mix(in srgb,var(--color-primary) 5%,var(--color-background));border:1px solid var(--vitrine-border);border-radius:4px}@media (min-width:480px){.vitrine-checkout-payment-mode-tabs{display:grid;grid-template-columns:1fr 1fr}}.vitrine-checkout-payment-mode-tab{display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.625rem .75rem;font-family:var(--font-geist-mono,ui-monospace,monospace);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.35;color:var(--vitrine-text-secondary);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.vitrine-checkout-payment-mode-tab:hover:not(.vitrine-checkout-payment-mode-tab--active){color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.vitrine-checkout-payment-mode-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vitrine-checkout-payment-mode-tab--active{color:var(--color-accent);background:var(--color-surface);border-color:var(--vitrine-border)}.vitrine-checkout-payment-mode-body{margin-top:1rem}.vitrine-checkout-gift-card-toggle{display:inline;padding:0;font-size:.875rem;color:var(--color-primary);background:none;border:none;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease}.vitrine-checkout-gift-card-toggle:hover{color:var(--color-accent)}.vitrine-checkout-gift-card-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.vitrine-checkout-alert{font-size:.875rem;margin-top:1rem}.vitrine-checkout-alert--error{color:var(--state-error)}.vitrine-checkout-alert--success{color:var(--state-success)}.vitrine-checkout-legal-mention{font-size:.75rem;color:var(--vitrine-text-secondary);margin-top:.25rem}.vitrine-course-page{--space-section:2rem;--course-text-muted:var(--vitrine-text-secondary);--course-hairline:var(--vitrine-border);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}@media (min-width:1024px){.vitrine-course-page{--space-section:3.5rem}}.vitrine-course-container{width:100%;max-width:73.75rem;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}@media (min-width:640px){.vitrine-course-container{padding-left:40px;padding-right:40px}}.vitrine-course-body-container{width:100%;max-width:60rem;margin-left:auto;margin-right:auto}.vitrine-course-section-shell{border-top:1px solid var(--course-hairline)}.vitrine-course-back{color:var(--color-primary)}.vitrine-course-back:hover{opacity:.82}.vitrine-course-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:999px}.vitrine-course-hero{padding-top:.75rem;padding-bottom:2.5rem}.vitrine-course-hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media (min-width:860px){.vitrine-course-hero-grid{grid-template-columns:1.05fr .95fr;gap:4rem}}.vitrine-course-hero-media{aspect-ratio:40/34;border-radius:6px;overflow:hidden;background:var(--color-surface)}.vitrine-course-hero-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vitrine-course-offer-title{color:var(--color-primary);font-size:clamp(2rem,4.8vw,2.875rem);line-height:1.08;margin-bottom:.75rem}@media (max-width:859px){.vitrine-course-offer-title{font-size:clamp(1.75rem,7vw,2.75rem)}}.vitrine-course-lede{font-size:1.0625rem;line-height:1.55;color:var(--course-text-muted);margin-bottom:0}.vitrine-course-eligible-categories{font-size:.9375rem;line-height:1.55;color:var(--course-text-muted);margin:.75rem 0 0}.vitrine-course-price-block{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--course-hairline)}.vitrine-course-price{font-size:2.125rem;font-weight:700;line-height:1.1;color:var(--color-primary);margin:0 0 .35rem}.vitrine-course-price-meta{font-size:.9375rem;color:var(--course-text-muted);margin:0}.vitrine-course-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1.5rem;padding:16px 34px;border-radius:var(--radius-button);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:opacity .15s ease}.vitrine-course-cta:hover{opacity:.9}.vitrine-course-cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.vitrine-course-reassurance{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.25rem;padding:0;list-style:none}.vitrine-course-reassurance li{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--course-text-muted)}.vitrine-course-reassurance svg{flex-shrink:0;opacity:.72}.vitrine-course-about{padding-top:3.5rem;padding-bottom:2.5rem}.vitrine-course-about-eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--course-text-muted);margin:0 0 .75rem}.vitrine-course-about-title{color:var(--color-primary);font-size:clamp(1.5rem,3vw,2.125rem);line-height:1.12;margin:0 0 1.25rem}.vitrine-course-about-body{max-width:42.5rem}.vitrine-course-about-body .vitrine-rich-text{font-size:1.0625rem;line-height:1.7;color:var(--color-primary)}.vitrine-course-about-body .vitrine-rich-text p{margin:0 0 1rem}.vitrine-course-about-body .vitrine-rich-text p:last-child{margin-bottom:0}.vitrine-course-faq{padding-top:3rem;padding-bottom:2rem}.vitrine-course-faq-title{color:var(--color-primary);margin-bottom:1.5rem}.vitrine-course-faq-item{--course-faq-arrow-slot:calc(18px + 1rem)}.vitrine-course-faq-item:not(:last-child):after{content:"";display:block;width:100%;max-width:42.5rem;height:1px;background:var(--course-hairline)}.vitrine-course-faq-trigger{position:relative;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:1.125rem var(--course-faq-arrow-slot) 1.125rem 0;text-align:left;background:transparent;border:none;cursor:pointer;color:var(--color-primary);font-size:1.125rem;font-weight:400;line-height:1.35;transition:color .2s ease}.vitrine-course-faq-trigger>span{flex:1;text-align:left}.vitrine-course-faq-trigger:hover,.vitrine-course-faq-trigger[aria-expanded=true]{color:var(--color-accent)}.vitrine-course-faq-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vitrine-course-faq-chevron{position:absolute;right:0;top:50%;flex-shrink:0;transform:translateY(-50%);transition:transform .25s ease}.vitrine-course-faq-trigger[aria-expanded=true] .vitrine-course-faq-chevron{transform:translateY(-50%) rotate(180deg)}.vitrine-course-faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease}.vitrine-course-faq-answer.is-open{max-height:40rem}.vitrine-course-faq-answer-inner{padding-right:var(--course-faq-arrow-slot);padding-bottom:1.125rem;text-align:left;font-size:1rem;line-height:1.65;color:var(--course-text-muted)}@media (prefers-reduced-motion:reduce){.vitrine-course-back,.vitrine-course-cta,.vitrine-course-faq-answer,.vitrine-course-faq-chevron,.vitrine-course-faq-trigger{transition:none}.vitrine-course-faq-answer:not(.is-open){display:none}.vitrine-course-faq-answer.is-open{max-height:none;overflow:visible}}