/* Stage de code: scoped styles, no changes to body, Divi headings or other forms. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');
.sdc-module{--sdc-blue:#0c71c3;--sdc-navy:#0e2b5c;--sdc-muted:#62748b;--sdc-line:#e0e8f3;width:100%;max-width:1120px;margin:0 auto;padding:0 16px;box-sizing:border-box;font:14px/1.5 'DM Sans',sans-serif;color:var(--sdc-navy)}
.sdc-module *{box-sizing:border-box}
.sdc-module [hidden]{display:none!important}
.sdc-module button,.sdc-module input{font:inherit}
.sdc-module button{cursor:pointer}
.sdc-module button:disabled{cursor:default;opacity:.6}
.sdc-module a{color:inherit;text-decoration:none}
.sdc-module button:focus-visible,.sdc-module a:focus-visible,.sdc-module input:focus-visible{outline:3px solid #69b8f5;outline-offset:4px}
.sdc-module .shared-info{display:grid;grid-template-columns:.85fr 1fr 1.45fr 1fr;align-items:center;gap:18px;padding:23px;margin-bottom:24px;background:#fff;border:1px solid var(--sdc-line);border-radius:16px}
.sdc-module .shared-info>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.sdc-module .shared-info>div+div{border-left:1px solid var(--sdc-line);padding-left:18px}
.sdc-module .shared-info strong{font:750 28px Montserrat,sans-serif;letter-spacing:-1px}
.sdc-module .shared-info small{font:400 11px 'DM Sans',sans-serif;color:var(--sdc-muted);letter-spacing:0}
.sdc-module .shared-info span{font-size:12px;color:var(--sdc-muted)}
.sdc-module .shared-info .info-label{font-size:9px;font-weight:700;letter-spacing:1.2px;color:#6c819b}
.sdc-module .shared-info b{font-size:14px;font-weight:600}
.sdc-module .shared-info>.teacher{flex-direction:row;align-items:center;gap:11px}
.sdc-module .teacher img{width:52px;height:52px;object-fit:cover;object-position:center 25%;border-radius:50%;flex-shrink:0;border:2px solid #e2effc}
.sdc-module .teacher>div{display:flex;flex-direction:column;gap:5px}
.sdc-module .filters{display:flex;flex-wrap:wrap;gap:5px}
.sdc-module .filters a{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;font-size:11px;font-weight:600;border:1px solid var(--sdc-line);background:#fff;border-radius:8px;white-space:nowrap;min-height:44px;color:#546984}
.sdc-module .filters a[aria-current=true]{background:#eaf4ff;border-color:#75afdf;color:#0a5fa3}
.sdc-module .color-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--sdc-category)}
.sdc-module .week{--sdc-category:#287cc2;--sdc-category-bg:#edf5ff}
.sdc-module .weekend{--sdc-category:#7953b5;--sdc-category-bg:#f3effb}
.sdc-module .holiday{--sdc-category:#af6c1a;--sdc-category-bg:#fff5e3}
.sdc-module .vacation{--sdc-category:#20846c;--sdc-category-bg:#eaf7f2}
.sdc-module .list-meta{margin:22px 0 13px;padding:0;font-size:12px;color:var(--sdc-muted)}
.sdc-module .sessions{display:grid;gap:13px}
.sdc-module .session{display:flex;align-items:center;gap:18px;padding:18px 20px;background:#fff;border:1px solid var(--sdc-line);border-radius:17px;box-shadow:0 3px 16px #0e2b5c03;transition:border-color .18s,box-shadow .18s}
.sdc-module .session:hover{border-color:#aacdea;box-shadow:0 7px 26px #0e2b5c08}
.sdc-module .date-tile{flex-shrink:0;background:#edf5ff;border:1px solid #e4effd;border-radius:12px;width:84px;min-height:72px;padding:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#0a5fa3}
.sdc-module .date-tile b{white-space:nowrap;font:700 22px/1.2 Montserrat,sans-serif;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.sdc-module .date-tile span{font-size:10px;letter-spacing:.8px;font-weight:600;text-transform:uppercase}
.sdc-module .session-body{flex:1;min-width:0}
.sdc-module .session h3{font:700 15px/1.6 Montserrat,sans-serif;letter-spacing:-.3px;margin:0;padding:0;color:var(--sdc-navy)}
.sdc-module .session h3 span{color:#8aa2bb;margin:0 3px}
.sdc-module .session h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.sdc-module .tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;font-size:11px}
.sdc-module .type-tag{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;background:var(--sdc-category-bg);color:var(--sdc-category);font-weight:500}
.sdc-module .type-tag::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--sdc-category);flex-shrink:0}
.sdc-module .session-action{flex-shrink:0}
.sdc-module .reserve,.sdc-module .primary{display:flex;align-items:center;justify-content:center;gap:13px;background:linear-gradient(135deg,#0c71c3,#0a5fa3);color:#fff;border:0;border-radius:9px;min-height:46px;padding:12px 18px;font-size:14px;font-weight:700;box-shadow:0 3px 9px #0c71c317}
.sdc-module .reserve:hover:not(:disabled),.sdc-module .primary:hover:not(:disabled){background:#095b9e}
.sdc-module .reserve span{font-size:14px;font-weight:500;line-height:1}
.sdc-module .pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:var(--sdc-muted);font-size:12px}
.sdc-module .pagination a,.sdc-module .pagination [aria-disabled]{padding:10px 16px;border:1px solid var(--sdc-line);border-radius:9px;background:#fff;color:#0a5fa3;font-size:12px;font-weight:600;min-height:44px}
.sdc-module .pagination [aria-disabled]{color:#8b98a9;background:#f1f4f8}
.sdc-module .sdc-notice,.sdc-module noscript{font-size:12px;color:var(--sdc-muted);margin:16px 0 0}
.sdc-module .sdc-error,.sdc-module .payment-error{background:#fff1ea;color:#a04427;border-radius:6px;padding:10px;font-size:12px}
.sdc-module dialog{width:min(570px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--sdc-line);border-radius:19px;background:#fff;color:var(--sdc-navy);padding:30px;box-shadow:0 30px 100px #0e2b5c30}
.sdc-module dialog::backdrop{background:#0e234b80;backdrop-filter:blur(4px)}
.sdc-module .sdc-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:10px;background:none;color:#647a94;font-size:27px}
.sdc-module dialog h2{font:700 22px/1.35 Montserrat,sans-serif;letter-spacing:-.6px;margin:0 24px 20px 0;padding:0;color:var(--sdc-navy)}
.sdc-module .recap{display:flex;flex-direction:column;gap:4px;background:#edf5ff;border:1px solid #dfedfc;border-radius:10px;padding:15px;margin-bottom:22px;font-size:12px;color:#526f91}
.sdc-module .recap strong{font-size:14px;color:var(--sdc-navy)}
.sdc-module form label{display:block;font-size:12px;font-weight:500;margin-bottom:15px}
.sdc-module .fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.sdc-module input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d7e2ef;border-radius:7px;background:#fff;color:var(--sdc-navy);font-size:16px;min-width:0}
.sdc-module .terms{display:flex;align-items:flex-start;gap:8px;font-size:11px}
.sdc-module .terms input{flex-shrink:0;margin-top:4px}
.sdc-module .terms a{color:#0a5fa3;text-decoration:underline}
.sdc-module .sdc-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sdc-module .total{display:flex;justify-content:space-between;align-items:center;margin:19px 0 4px;font-size:13px}
.sdc-module .total strong{font:700 22px Montserrat,sans-serif}
.sdc-module .total small{font:400 10px 'DM Sans',sans-serif;color:var(--sdc-muted)}
.sdc-module .exam-fee{font-size:10px;color:var(--sdc-muted);margin:5px 0 18px;padding:0;line-height:1.6}
.sdc-module .primary{width:100%;font-size:13px;min-height:48px}
.sdc-module .payment-status{font-size:14px;line-height:1.8;background:#edf5ff;border-radius:9px;padding:15px}
.sdc-module .check-status{border:1px solid var(--sdc-line);border-radius:8px;padding:11px 16px;min-height:44px;color:#0a5fa3;background:white}
@media(max-width:900px){.sdc-module .shared-info{grid-template-columns:1fr 1fr;gap:19px}.sdc-module .shared-info>div:nth-child(3){border-left:0;padding-left:0}.sdc-module .shared-info>div:nth-child(n+3){padding-top:17px;border-top:1px solid var(--sdc-line)}.sdc-module .shared-info>div:nth-child(4){border-left:0}}
@media(max-width:760px){.sdc-module .session{gap:16px;padding:19px}.sdc-module .date-tile{width:76px}.sdc-module .date-tile b{font-size:21px}.sdc-module .session h3{font-size:13px}.sdc-module .shared-info b{font-size:13px}}
@media(max-width:570px){.sdc-module .shared-info{padding:20px;gap:17px;align-items:stretch;margin-bottom:20px}.sdc-module .shared-info>div{justify-content:center}.sdc-module .shared-info strong{font-size:24px}.sdc-module .shared-info span{font-size:11px}.sdc-module .shared-info>div:nth-child(2) b{white-space:nowrap;font-size:12px}.sdc-module .shared-info>.teacher{padding:15px 0 0 4px;gap:9px}.sdc-module .teacher img{width:40px;height:40px}.sdc-module .teacher .info-label{font-size:8px;letter-spacing:.6px}.sdc-module .filters a{padding:9px 10px;font-size:10px}.sdc-module .list-meta{font-size:11px}.sdc-module .session{display:grid;grid-template-columns:65px minmax(0,1fr);align-items:start;gap:16px 13px;padding:18px}.sdc-module .date-tile{width:65px;min-height:76px}.sdc-module .date-tile b{font-size:18px}.sdc-module .date-tile span{font-size:8px}.sdc-module .session-body{align-self:center}.sdc-module .session h3{font-size:12px;line-height:1.65}.sdc-module .tags{gap:6px 5px}.sdc-module .type-tag{font-size:9px;padding:3px 6px}.sdc-module .session-action{grid-column:1/-1;width:100%;margin:0}.sdc-module .reserve{width:100%;min-width:0;min-height:48px;gap:10px;padding:13px 16px}.sdc-module .pagination{gap:7px;font-size:10px}.sdc-module .pagination a,.sdc-module .pagination [aria-disabled]{font-size:11px;padding:10px 12px}.sdc-module dialog{padding:25px 20px}.sdc-module dialog h2{font-size:20px}.sdc-module .fields{gap:10px}}
@media(prefers-reduced-motion:reduce){.sdc-module *{transition:none!important}}

/* A single scrolling payment surface; the return control remains reachable. */
.sdc-module dialog.checkout{padding:0;overflow:hidden}
.sdc-module dialog.checkout[open]{display:flex;flex-direction:column}
.sdc-module .checkout-header{flex:none;padding:16px 24px 12px;border-bottom:1px solid var(--sdc-line);background:#fff}
.sdc-module .checkout-header .sdc-close{position:static;display:inline-flex;align-items:center;gap:8px;width:auto;min-height:44px;height:auto;padding:8px 0;font-size:14px;font-weight:600;color:var(--sdc-blue)}
.sdc-module .checkout-header h2{margin:5px 0 0;font-size:21px;outline:none}
.sdc-module .checkout-content{padding:22px 24px;overflow-y:auto;overscroll-behavior:contain;min-height:0;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
.sdc-module dialog.checkout{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:100%;max-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}
.sdc-module .checkout-header{padding:calc(8px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 16px max(18px,env(safe-area-inset-left,0px))}
.sdc-module .checkout-header h2{font-size:20px}
.sdc-module .checkout-content{flex:1;padding:20px max(18px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}
.sdc-module .checkout-content .fields{grid-template-columns:1fr;gap:0}
.sdc-module .checkout-content form label{font-size:14px}
.sdc-module .checkout-content .terms{font-size:12px;line-height:1.7}
.sdc-module .checkout-content .primary{font-size:14px;min-height:52px}
}

/* Reset inherited Divi alignment and prevent checkout horizontal displacement. */
.sdc-module{text-align:left}
.sdc-module dialog.checkout{box-sizing:border-box;min-width:0;transform:none;text-align:left}
.sdc-module .checkout-header,.sdc-module .checkout-content,.sdc-module .stripe-mount{min-width:0;max-width:100%;width:100%}
.sdc-module .checkout-content{overflow-x:hidden}
.sdc-module .stripe-mount iframe{max-width:100%}
@media(max-width:760px){
.sdc-module{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:12px;padding-right:12px}
.sdc-module dialog.checkout{left:0;right:0;top:0;bottom:0;width:100vw;max-width:100vw;margin:0!important;padding:0!important;border-radius:0!important}
.sdc-module .checkout-header .sdc-close{font-size:14px;line-height:1.4;letter-spacing:normal}
.sdc-module .checkout-header h2{overflow-wrap:anywhere}
}
