/* Public enrollment form: scoped to the registration shortcode only. */
/* Layout guard: prevents theme/Elementor grid rules from splitting form children. */
.dsm-registration-shell .dsm-registration-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;align-items:stretch!important;width:100%!important;min-width:0!important}
.dsm-registration-shell .dsm-registration-form>.dsm-registration-section,.dsm-registration-shell .dsm-registration-form>.dsm-registration-consent,.dsm-registration-shell .dsm-registration-form>.dsm-message,.dsm-registration-shell .dsm-registration-form>.dsm-registration-submit{grid-column:1 / -1!important;width:100%!important;min-width:0!important}
.dsm-registration-shell .dsm-registration-form>.dsm-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;overflow:hidden!important}
.dsm-registration-shell .dsm-registration-subsection{grid-column:1 / -1!important;width:100%!important;min-width:0!important}.dsm-registration-shell .dsm-registration-subsection .dsm-registration-grid{width:100%!important}.dsm-registration-shell .dsm-registration-form label{display:block!important;min-width:0!important}
.dsm-registration-shell .dsm-registration-form input,.dsm-registration-shell .dsm-registration-form select,.dsm-registration-shell .dsm-registration-form textarea{max-width:100%!important;min-width:0!important}
.dsm-registration-shell{--reg-bg:#f3f5fb;--reg-surface:#fff;--reg-surface-2:#f8f9ff;--reg-ink:#20243a;--reg-muted:#6d7690;--reg-line:#e2e6f0;--reg-primary:#6657f4;--reg-primary-2:#35277b;max-width:860px;margin:42px auto;padding:14px;background:var(--reg-bg);border-radius:28px;color:var(--reg-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 20px 70px rgba(32,44,80,.12)}.dsm-registration-shell *{box-sizing:border-box}.dsm-registration-hero{padding:34px 38px 30px;border-radius:20px;background:linear-gradient(118deg,var(--reg-primary-2),var(--reg-primary));color:#fff;box-shadow:0 14px 30px color-mix(in srgb,var(--reg-primary) 25%,transparent)}.dsm-registration-eyebrow{margin:0 0 9px;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:900;letter-spacing:.18em}.dsm-registration-hero h1{margin:0;color:#fff;font-size:clamp(2rem,5vw,3rem);font-weight:900;letter-spacing:-.045em;line-height:1.05}.dsm-registration-hero>p:last-child{max-width:650px;margin:14px 0 0;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.55}.dsm-registration-form{display:grid;gap:16px;margin-top:16px}.dsm-registration-section,.dsm-registration-consent{padding:25px;border:1px solid var(--reg-line);border-radius:20px;background:var(--reg-surface);box-shadow:0 8px 24px rgba(32,44,80,.07)}.dsm-registration-section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.dsm-registration-section-heading>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:color-mix(in srgb,var(--reg-primary) 12%,var(--reg-surface));color:var(--reg-primary);font-size:.76rem;font-weight:900}.dsm-registration-section-heading h2{margin:0;color:var(--reg-ink);font-size:1.15rem;font-weight:900;letter-spacing:-.02em}.dsm-registration-section-heading p{margin:4px 0 0;color:var(--reg-muted);font-size:.86rem}.dsm-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}.dsm-registration-form label{display:grid;gap:7px;color:var(--reg-ink);font-size:.82rem;font-weight:850;letter-spacing:.01em}.dsm-registration-form label em,.dsm-registration-form legend em,.dsm-registration-signature h2 em{color:#d32645;font-style:normal;font-weight:900}.dsm-registration-form input:not([type=checkbox]),.dsm-registration-form select,.dsm-registration-form textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--reg-line);border-radius:12px;background:var(--reg-surface-2);color:var(--reg-ink);font:inherit;font-size:.94rem;outline:0;transition:border-color .18s,box-shadow .18s,background .18s}.dsm-registration-form select[multiple]{min-height:124px;padding:8px}.dsm-registration-form input:not([type=checkbox]):focus,.dsm-registration-form select:focus,.dsm-registration-form textarea:focus{border-color:var(--reg-primary);background:var(--reg-surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--reg-primary) 16%,transparent)}.dsm-registration-full{grid-column:1/-1}.dsm-registration-form small{color:var(--reg-muted);font-size:.75rem;font-weight:500}.dsm-registration-section--compact>label{max-width:400px}.dsm-registration-consent{padding:18px 22px;background:var(--reg-surface-2)}.dsm-registration-consent>label{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;line-height:1.45;font-weight:700}.dsm-registration-consent input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:1px 0;accent-color:var(--reg-primary)}.dsm-registration-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:0 22px;border:0;border-radius:15px;background:linear-gradient(110deg,var(--reg-primary),var(--reg-primary-2));color:#fff;font:inherit;font-size:1rem;font-weight:900;box-shadow:0 12px 24px color-mix(in srgb,var(--reg-primary) 27%,transparent);cursor:pointer;transition:transform .18s,box-shadow .18s}.dsm-registration-submit span{font-size:1.45rem}.dsm-registration-submit:hover{transform:translateY(-2px);box-shadow:0 16px 30px color-mix(in srgb,var(--reg-primary) 35%,transparent)}.dsm-message{margin:0;padding:0 4px;color:var(--reg-primary);font-weight:800}.dsm-registration-shell .dsm-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.dsm-registration-shell[data-dsm-registration-theme="midnight"]{--reg-bg:#080c15;--reg-surface:#101629;--reg-surface-2:#121b30;--reg-ink:#f1f3ff;--reg-muted:#9aa6c3;--reg-line:#293653;--reg-primary:#6657f4;--reg-primary-2:#35277b}.dsm-registration-shell[data-dsm-registration-theme="ocean"]{--reg-bg:#07131d;--reg-surface:#0c202e;--reg-surface-2:#102b3b;--reg-ink:#e8fbff;--reg-muted:#91b7c7;--reg-line:#24506a;--reg-primary:#13a6c7;--reg-primary-2:#075d78}.dsm-registration-shell[data-dsm-registration-theme="lavender"]{--reg-bg:#f4f1fc;--reg-surface:#fff;--reg-surface-2:#f2edff;--reg-ink:#28213d;--reg-muted:#776d91;--reg-line:#ddd3f2;--reg-primary:#8065d8;--reg-primary-2:#51417d}.dsm-registration-shell[data-dsm-registration-theme="rose"]{--reg-bg:#fff4f7;--reg-surface:#fff;--reg-surface-2:#fff0f4;--reg-ink:#3b2430;--reg-muted:#906c7b;--reg-line:#f1d2dc;--reg-primary:#cf5b83;--reg-primary-2:#7b3657}.dsm-registration-shell[data-dsm-registration-theme="blush"]{--reg-bg:#fff8f5;--reg-surface:#fff;--reg-surface-2:#fff1ed;--reg-ink:#402a2a;--reg-muted:#997b78;--reg-line:#f3d9d1;--reg-primary:#d98483;--reg-primary-2:#89575c}.dsm-registration-shell[data-dsm-registration-theme="mint"]{--reg-bg:#effaf6;--reg-surface:#fff;--reg-surface-2:#e9f8f2;--reg-ink:#173c38;--reg-muted:#668b83;--reg-line:#c9e7dc;--reg-primary:#24a887;--reg-primary-2:#176354}.dsm-registration-shell[data-dsm-registration-theme="sky"]{--reg-bg:#f1f8ff;--reg-surface:#fff;--reg-surface-2:#edf6ff;--reg-ink:#1e3349;--reg-muted:#6e879e;--reg-line:#cfe2f4;--reg-primary:#398bda;--reg-primary-2:#245785}.dsm-registration-shell[data-dsm-registration-theme="sand"]{--reg-bg:#fbf7ef;--reg-surface:#fffdf9;--reg-surface-2:#f8f0df;--reg-ink:#493827;--reg-muted:#917b61;--reg-line:#eadcc3;--reg-primary:#b77937;--reg-primary-2:#6b4e2e}.dsm-registration-shell[data-dsm-registration-theme="graphite"]{--reg-bg:#171a21;--reg-surface:#222733;--reg-surface-2:#2a3040;--reg-ink:#f1f4fa;--reg-muted:#a6afc0;--reg-line:#414b61;--reg-primary:#7d91ba;--reg-primary-2:#536581}.dsm-registration-shell[data-dsm-registration-theme="plum"]{--reg-bg:#1a1022;--reg-surface:#281832;--reg-surface-2:#33203f;--reg-ink:#fff1ff;--reg-muted:#c7a9c9;--reg-line:#5b3b69;--reg-primary:#b967c9;--reg-primary-2:#7e3b91}@media(max-width:620px){.dsm-registration-shell{margin:18px 10px;padding:9px;border-radius:20px}.dsm-registration-hero{padding:27px 23px}.dsm-registration-section{padding:19px}.dsm-registration-grid{grid-template-columns:1fr;gap:14px}.dsm-registration-full{grid-column:auto}.dsm-registration-section-heading{margin-bottom:16px}.dsm-registration-section-heading h2{font-size:1.05rem}}
.dsm-eu-date-control{position:relative;display:flex;align-items:center;gap:8px;width:100%}.dsm-eu-date-control .dsm-eu-date{flex:1 1 auto;min-width:0}.dsm-date-picker{display:inline-grid;place-items:center;width:42px;min-width:42px;height:42px;padding:0;border:1px solid var(--reg-line,#e2e6f0);border-radius:10px;background:var(--reg-surface-2,#f8f9ff);cursor:pointer;font-size:1.1rem}.dsm-date-picker:focus-visible{outline:2px solid var(--reg-primary,#6657f4);outline-offset:2px}.dsm-native-date{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
/* On touch devices, the real date control sits over the calendar icon so iOS
   opens its native picker from a genuine user tap. */
@media (pointer:coarse){.dsm-native-date{right:0!important;top:0!important;width:42px!important;height:42px!important;pointer-events:auto!important;cursor:pointer}}
.dsm-registration-shell .dsm-message{white-space:pre-line;line-height:1.55}
.dsm-registration-supporting-document{display:grid;gap:9px;padding:16px;border:1px dashed color-mix(in srgb,var(--reg-primary) 55%,var(--reg-line));border-radius:14px;background:color-mix(in srgb,var(--reg-primary) 7%,var(--reg-surface))}.dsm-registration-supporting-document[hidden]{display:none}.dsm-registration-supporting-document>strong{color:var(--reg-primary-2);font-size:.9rem}.dsm-registration-supporting-document>strong::after{content:" *";color:#d32645;font-weight:900}.dsm-registration-document-instructions{margin:0;color:var(--reg-muted);font-size:.84rem;line-height:1.45}
/* Keep public registration headings independent from the active WordPress theme. */
.dsm-registration-shell .dsm-registration-section-heading h2,.dsm-registration-shell .dsm-registration-subsection h3{display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--reg-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:1.15rem!important;font-weight:900!important;letter-spacing:-.02em!important;line-height:1.2!important;text-transform:none!important}.dsm-registration-shell .dsm-registration-subsection h3{font-size:.95rem!important}.dsm-registration-shell .dsm-registration-section-heading h2::before,.dsm-registration-shell .dsm-registration-section-heading h2::after,.dsm-registration-shell .dsm-registration-subsection h3::before,.dsm-registration-shell .dsm-registration-subsection h3::after{display:none!important;content:none!important}
.dsm-registration-class-picker{min-width:0;margin:0;padding:0;border:0}.dsm-registration-class-picker>legend{margin:0 0 8px;padding:0;color:var(--reg-ink);font-size:.82rem;font-weight:850;letter-spacing:.01em}.dsm-registration-class-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;padding:4px;overflow:auto;border:1px solid var(--reg-line);border-radius:14px;background:var(--reg-surface-2)}.dsm-registration-shell .dsm-registration-class-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid transparent;border-radius:11px;background:var(--reg-surface);cursor:pointer;transition:border-color .18s,box-shadow .18s}.dsm-registration-class-option:hover{border-color:color-mix(in srgb,var(--reg-primary) 45%,var(--reg-line))}.dsm-registration-class-option:has(input:checked){border-color:var(--reg-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--reg-primary) 14%,transparent)}.dsm-registration-class-option input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--reg-primary)}.dsm-registration-class-copy{display:grid;gap:3px;min-width:0}.dsm-registration-class-copy strong{color:var(--reg-ink);font-size:.88rem;line-height:1.25}.dsm-registration-class-copy small{font-size:.74rem}.dsm-registration-class-copy b{color:var(--reg-primary-2);font-size:.78rem;line-height:1.35}.dsm-registration-class-empty{margin:8px;color:var(--reg-muted)}
.dsm-registration-phone-row{display:flex;gap:8px}.dsm-registration-phone-row select{width:145px!important;flex:0 0 145px}.dsm-registration-phone-row input{min-width:0;flex:1}@media(max-width:420px){.dsm-registration-phone-row{flex-direction:column}.dsm-registration-phone-row select{width:100%!important;flex:auto}}
@media(max-width:620px){.dsm-registration-shell .dsm-registration-section-heading h2{font-size:1.02rem!important}.dsm-registration-class-options{grid-template-columns:1fr;max-height:440px}.dsm-registration-class-option{padding:11px}}
.dsm-registration-signature{margin:22px 0;padding:20px;border:1px solid #ead9e4;border-radius:14px;background:#fff8fc}.dsm-registration-signature h2{margin:0 0 6px}.dsm-registration-signature p{margin:0 0 16px}.dsm-registration-signature label{display:grid;gap:6px;margin-bottom:14px;font-weight:700}.dsm-registration-signature input{min-height:42px;padding:8px 10px;border:1px solid #d8c0d1;border-radius:9px;font:inherit}.dsm-registration-signature canvas{display:block;width:100%;height:190px;border:2px dashed #c67ba4;border-radius:12px;touch-action:none;background:#fff}.dsm-registration-signature canvas.is-fallback{opacity:.45;pointer-events:none}.dsm-registration-clear-signature{padding:9px 13px;border:0;border-radius:8px;background:#eee0e9;color:#713a59;font:inherit;font-weight:800;cursor:pointer}.dsm-registration-signature-actions{display:flex;align-items:flex-start;gap:14px;margin-top:10px}.dsm-registration-signature-actions .dsm-registration-clear-signature{flex:0 0 auto;margin:0}.dsm-registration-signature .dsm-registration-signature-fallback{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;min-width:0;margin:0;padding:8px 10px;border:1px solid #ead9e4;border-radius:9px;background:#fff;color:#4b3341;font-size:.78rem;font-weight:650;line-height:1.4}.dsm-registration-signature .dsm-registration-signature-fallback input{width:18px;min-height:18px;height:18px;flex:0 0 18px;margin:1px 0;padding:0;accent-color:var(--reg-primary)}
@media(max-width:620px){.dsm-registration-signature-actions{flex-direction:column}.dsm-registration-signature-actions .dsm-registration-clear-signature{width:100%}}
.dsm-registration-form select:not([multiple]){appearance:none;-webkit-appearance:none;padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%236d7690' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px 8px;cursor:pointer}.dsm-registration-picker-field{display:block!important}.dsm-registration-selected-items{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--reg-line);border-radius:14px;background:var(--reg-surface-2)}.dsm-registration-selected-items-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--reg-ink);font-size:.82rem}.dsm-registration-selected-items-head>span{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--reg-primary) 12%,var(--reg-surface));color:var(--reg-primary);font-size:.75rem;font-weight:900}.dsm-registration-selected-items-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;min-height:36px}.dsm-registration-selected-item{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 7px 6px 10px;border:1px solid var(--reg-line);border-radius:999px;background:var(--reg-surface);color:var(--reg-ink);font-size:.76rem;font-weight:750;line-height:1.35}.dsm-registration-selected-item>span:first-child{min-width:0;overflow-wrap:anywhere}.dsm-registration-selection-remove{display:inline-grid;place-items:center;width:25px;min-width:25px;height:25px;padding:0;border:1px solid var(--reg-line);border-radius:999px;background:var(--reg-surface-2);color:var(--reg-primary-2);font:inherit;font-size:1rem;font-weight:800;line-height:1;cursor:pointer}.dsm-registration-selection-remove:hover,.dsm-registration-selection-remove:focus-visible{border-color:var(--reg-primary);color:var(--reg-primary)}.dsm-registration-selected-items-list>p{margin:0;padding:4px 0;color:var(--reg-muted);font-size:.75rem}.dsm-registration-phone-row select{width:96px!important;min-width:96px!important;flex:0 0 96px!important;padding-right:29px!important;background-position:right 9px center;background-size:12px 7px}.dsm-registration-phone-row input{flex:1 1 auto}@media(max-width:420px){.dsm-registration-phone-row{gap:6px}.dsm-registration-phone-row select{width:96px!important;min-width:96px!important;flex-basis:96px!important}}
.dsm-registration-shell .dsm-registration-form .dsm-registration-class-search-field{position:relative!important;display:block!important;margin:0 0 8px}.dsm-registration-class-search-field input{padding-left:40px!important}.dsm-registration-search-button{position:absolute;z-index:1;left:10px;top:50%;display:grid;place-items:center;width:25px;height:30px;padding:0;border:0;background:transparent;color:var(--reg-muted);cursor:pointer;transform:translateY(-50%)}.dsm-registration-search-button:focus-visible{outline:2px solid var(--reg-primary);outline-offset:2px;border-radius:6px}.dsm-registration-search-icon{display:block;color:inherit;font-size:1rem;line-height:1;pointer-events:none}
.dsm-registration-class-picker-control{border:1px solid var(--reg-line);border-radius:14px;background:var(--reg-surface-2);overflow:hidden}.dsm-registration-shell .dsm-registration-form .dsm-registration-class-picker-control .dsm-registration-class-search-field{margin:0!important;padding:0 12px;border-bottom:1px solid var(--reg-line);background:var(--reg-surface)}.dsm-registration-class-picker-control .dsm-registration-class-search-field input{min-height:46px;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;padding-left:31px!important}.dsm-registration-class-picker-control .dsm-registration-class-search-field input:focus{box-shadow:none!important}.dsm-registration-shell .dsm-registration-form .dsm-registration-class-picker-control .dsm-registration-picker-field{margin:0}.dsm-registration-class-picker-control .dsm-registration-picker-field select{border:0!important;border-radius:0;background-color:var(--reg-surface-2)}
@media(max-width:620px){.dsm-registration-phone-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;width:100%}.dsm-registration-phone-row select{width:88px!important;min-width:88px!important;flex:0 0 88px!important;min-height:48px!important;padding:10px 25px 10px 9px!important;font-size:.68rem!important;background-position:right 8px center!important;background-size:10px 6px!important}.dsm-registration-phone-row input{width:auto!important;min-width:0!important;flex:1 1 0!important}}@media(max-width:350px){.dsm-registration-phone-row select{width:82px!important;min-width:82px!important;flex-basis:82px!important;padding-left:7px!important;padding-right:23px!important;font-size:.64rem!important}}
.dsm-registration-phone-row select{font-size:.72rem!important;padding-left:9px!important;padding-right:27px!important}@media(max-width:620px){.dsm-registration-phone-row select{font-size:.68rem!important;padding-right:25px!important}}@media(max-width:350px){.dsm-registration-phone-row select{font-size:.64rem!important;padding-right:23px!important}}
/* Use the available page width for the public registration on phones. */
@media(max-width:620px){.dsm-registration-shell{width:auto!important;max-width:none!important;margin:0 -20px 16px!important;padding:8px!important;border-radius:0!important}.dsm-registration-shell .dsm-registration-hero{border-radius:14px}.dsm-registration-shell .dsm-registration-section,.dsm-registration-shell .dsm-registration-consent{border-radius:16px}}@media(min-width:621px){.dsm-registration-shell{max-width:960px!important}}body:has(.dsm-registration-shell) .joinchat{display:none!important}
