/* Keep Astra and Academy structure and spacing; only institutional accents. */
.woocommerce-checkout, .dai-admission-record { font-family: Inter, sans-serif; color: #1e293b; }
.woocommerce-checkout h1, .woocommerce-checkout h2, .woocommerce-checkout h3,
.dai-admission-record h3 { font-family: Montserrat, sans-serif; color: #51014d; }
.woocommerce-checkout input:not([type=checkbox]):not([type=radio]),
.woocommerce-checkout select, .woocommerce-checkout button,
.woocommerce-checkout .select2-selection, .dai-admission-record .academy-btn { min-height: 48px; }
.woocommerce-checkout input, .woocommerce-checkout select { max-width: 100%; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { background: transparent; border: 0; padding: 0; margin: 0 0 1.5rem; color: #64748b; box-shadow: none; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout .woocommerce-form-login-toggle a { color: #51014d; text-decoration: underline; }
.academy-course-complete--header .academy-btn--complete,
.academy-btn--complete { background: #51014d !important; color: #fff !important; border: 2px solid #fff !important; min-height: 48px; }
.academy-btn--complete:hover, .academy-btn--complete:focus-visible { background: #800E9C !important; outline: 2px solid #FFE900; outline-offset: 2px; }
.dai-admission-record dl { display: grid; grid-template-columns: minmax(120px, 1fr) 2fr; gap: .6rem 1rem; }
.dai-admission-record dt { color: #64748b; }
.dai-admission-record dd { margin: 0; overflow-wrap: anywhere; }
.dai-admission-record .academy-btn { display: inline-flex; align-items: center; padding: .7rem 1rem; background: #51014d; color: #fff; }
#dai-portal-topbar a { min-height: 48px; align-items: center; }
body.dai-portal-isolated .dai-topbar-nav { display: flex !important; flex-wrap: wrap; }
@media (max-width: 600px) {
 body.woocommerce-checkout form.checkout .form-row-first,
 body.woocommerce-checkout form.checkout .form-row-last { float: none !important; width: 100% !important; }
 .dai-admission-record dl { grid-template-columns: 1fr; gap: .3rem; }
 .dai-admission-record dd { margin-bottom: .8rem; }
 #dai-portal-topbar > div { flex-wrap: wrap; padding: 10px 16px !important; }
}

/* React Academy uses this element itself, not a nested academy-btn--complete. */
.academy-course-complete--header {background:#51014d!important;color:#fff!important;border:1px solid #51014d;border-radius:4px;cursor:pointer;min-height:44px}
.academy-course-complete--header p,.academy-course-complete--header .academy-icon:before {color:#fff!important}
.academy-course-complete--header:hover {background:#800e9c!important;color:#fff!important}
.academy-course-complete--header:focus-visible {outline:2px solid #51014d!important;outline-offset:3px}
.academy-course-complete--header[aria-disabled=true],.academy-course-complete--header:disabled {background:#eee8ee!important;color:#514451!important;border-color:#c9bec9;cursor:not-allowed}
.academy-course-complete--header[aria-disabled=true] p,.academy-course-complete--header:disabled p {color:#514451!important}
.academy-course-progress--header,.academy-course-progress__label {color:#51014d}
.academy-lessons .academy-lesson-topics {border:1px solid #d8cfd8;border-radius:4px;margin-bottom:8px;background:#fff}
.academy-lessons .academy-topics-title {background:#f3edf3;color:#51014d;border-bottom:1px solid #d8cfd8}
.academy-lessons .academy-topics-title__text,.academy-lessons .academy-lesson-topic-item__text {min-width:0;overflow-wrap:anywhere}
.academy-lessons .academy-lesson-topic-item:hover {background:#f3edf3}
.academy-lessons .academy-lesson-topic-item.active {background:#eae8fa;border-inline-start:3px solid #51014d}
.academy-lessons .academy-entry-left {min-width:0}
.academy-lessons .academy-entry-right {flex-shrink:0}
/* Preserve the existing hero, with a consistent baseline and touch targets. */
.elementor-906 .elementor-element-6051abb > .elementor-widget-wrap {column-gap:16px}
.elementor-906 :is(.elementor-element-dai_apply_9255c34,.elementor-element-ff6790e) {margin:0!important;align-self:center;max-width:100%}
.elementor-906 :is(.elementor-element-dai_apply_9255c34,.elementor-element-ff6790e) .elementor-button {display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box}
.elementor-72 .elementor-element-8e4df95 a,.elementor-72 .elementor-element-8e4df95 img {display:block}
.elementor-72 .elementor-element-3bb99c8 > .elementor-container {align-items:center}
.elementor-906 .elementor-element-6051abb > .elementor-widget-wrap {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.elementor-906 .elementor-element-6051abb > .elementor-widget-wrap > :not(.elementor-widget-button) {grid-column:1 / -1}
.elementor-906 :is(.elementor-element-dai_apply_9255c34,.elementor-element-ff6790e) {width:100%!important;align-self:stretch}
.elementor-906 :is(.elementor-element-dai_apply_9255c34,.elementor-element-ff6790e) :is(.elementor-widget-container,.elementor-button-wrapper,.elementor-button) {height:100%;width:100%}
.elementor-906 .elementor-element-7a6e12c {overflow:clip}
@media(max-width:767px){.elementor-906 .elementor-element-6051abb > .elementor-widget-wrap{grid-template-columns:1fr}.elementor-906 .elementor-element-6051abb > .elementor-widget-wrap > * {grid-column:1}}
.elementor-906 .elementor-element.elementor-element-7a6e12c {overflow:hidden}
.dai-admission-summary {max-width:760px;margin-bottom:28px}
.dai-admission-summary h2 {font-size:clamp(22px,2vw,28px);line-height:1.35;margin:10px 0 12px}
.dai-admission-summary p {font-size:16px;line-height:1.7;color:#555;margin:0}
.dai-status-label {display:inline-block;font-size:13px;font-weight:600;color:#51014d;background:#f3edf3;padding:5px 10px;border-radius:4px}
.dai-admission-steps {display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:16px;margin:0 0 28px!important;padding:0!important;list-style:none}
.dai-admission-steps li {display:flex;align-items:flex-start;gap:10px;min-width:0;font-size:14px;line-height:1.5;padding:16px 0;border-top:2px solid #e5e4e6}
.dai-admission-steps li.is-complete {border-color:#6d8c70}
.dai-admission-steps li.is-current {border-color:#800e9c}
.dai-step-number {display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#f1f1f1;color:#555;font-size:13px}
.is-complete .dai-step-number {background:#edf4ee;color:#315d38}
.is-current .dai-step-number {background:#51014d;color:#fff}
.dai-admission-steps small {display:block;font-size:12px;color:#666;margin-top:3px}
.dai-admission-actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:0 0 28px}
.dai-admission-actions a.academy-btn {background:#51014d;color:#fff;padding:12px 18px;border-radius:4px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.dai-admission-actions a {font-size:14px;font-weight:500}
.dai-admission-actions a:focus-visible,.dai-application-details summary:focus-visible {outline:2px solid #800e9c;outline-offset:3px}
.dai-application-details {border-top:1px solid #e5e4e6;padding:20px 0;max-width:760px}
.dai-application-details summary {font-size:16px;font-weight:600;cursor:pointer;margin-bottom:20px}
.dai-admission-record .dai-application-details dl {grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:14px 24px;font-size:14px}
.dai-application-details dd {margin:0;overflow-wrap:anywhere;color:#222}
@media(max-width:600px){.dai-admission-steps{grid-template-columns:1fr;gap:0}.dai-admission-steps li{padding:12px 0}.dai-admission-record .dai-application-details dl{grid-template-columns:1fr;gap:4px}.dai-application-details dd{margin-bottom:14px}.dai-admission-actions{align-items:stretch;gap:16px}.dai-admission-actions a.academy-btn{width:100%;justify-content:center}}
/* Stable widget classes added by the activation installer (independent of page IDs). */
.dai-home-hero-copy>.elementor-widget-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.dai-home-hero-copy>.elementor-widget-wrap>:not(.elementor-widget-button){grid-column:1/-1}
.dai-home-hero-copy .elementor-widget-button{width:100%;margin:0!important;align-self:stretch}
.dai-home-hero-copy .elementor-button{display:flex;justify-content:center;align-items:center;min-height:56px;height:100%;box-sizing:border-box}
.dai-home-contained{overflow:hidden}
@media(max-width:767px){.dai-home-hero-copy>.elementor-widget-wrap{grid-template-columns:1fr}.dai-home-hero-copy>.elementor-widget-wrap>*{grid-column:1}}

.dai-decision-review .do-decision-preview{max-height:none;background:transparent;padding:0}
.dai-decision-card{padding:20px;border:1px solid #dfe3ea;border-radius:8px;margin:16px 0;background:#fff}
.dai-decision-card h3{font-size:20px;margin:0 0 8px}.dai-decision-change{margin:0 0 16px;color:#526078}
.dai-decision-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:0}.dai-decision-facts dt{color:#526078}.dai-decision-facts dd{margin:0;font-weight:600;text-align:right}
.dai-decision-outcome{padding:12px;margin:16px 0 0;border-left:3px solid #ad6420;background:#fff6e8;color:#673710;line-height:1.6}.is-ready .dai-decision-outcome{border-color:#21754f;background:#eef8f2;color:#175334}
.dai-decision-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dai-decision-footer{border-top:1px solid #dfe3ea;padding-top:16px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.dai-decision-status{flex-basis:100%;margin:0;line-height:1.6}.dai-decision-footer button:disabled{opacity:.55;cursor:not-allowed}
#progression-review>summary{cursor:pointer;font-weight:600;padding:12px 0}
@media(max-width:600px){.dai-decision-options{grid-template-columns:1fr}.dai-decision-card{padding:14px}.dai-decision-footer button{width:100%}}
.academy-frontend-dashboard__content[aria-busy="true"] #progression-review{visibility:hidden}

/* Keep the WordPress visual editor isolated from theme button and field styles. */
.dw-dialog .dai-rich-field{display:block;grid-column:1 / -1;min-width:0;width:100%;margin:8px 0 20px}
.dw-dialog .dai-rich-field>span{display:block;margin-bottom:10px;font-weight:600}
.dw-dialog .dai-rich-field .wp-editor-wrap{width:100%;min-width:0;clear:both}
.dw-dialog .dai-rich-field .wp-editor-tools{display:flex;justify-content:flex-end;min-height:38px;float:none;margin-bottom:6px}
.dw-dialog .dai-rich-field .wp-editor-tabs{float:none;display:flex;gap:4px}
.dw-dialog .dai-rich-field .wp-editor-container{clear:both;border:1px solid #d8dce5;border-radius:8px;overflow:hidden}
.dw-dialog .dai-rich-field .mce-panel{box-shadow:none;background:#f7f8fa}
.dw-dialog .dai-rich-field .mce-toolbar-grp{padding:6px;border-bottom:1px solid #d8dce5}
.dw-dialog .dai-rich-field .mce-btn{border-radius:4px;box-shadow:none;margin:2px;background:transparent}
.dw-dialog .dai-rich-field .mce-btn button,.dw-dialog .dai-rich-field .wp-switch-editor{position:static!important;float:none!important;transform:none!important;min-width:0!important;min-height:30px!important;height:30px!important;width:auto!important;padding:4px 7px!important;margin:0!important;border-radius:4px!important;box-shadow:none!important;background:transparent!important;color:#263044!important;font:13px Arial,sans-serif!important;line-height:20px!important;text-transform:none!important}
.dw-dialog .dai-rich-field .mce-btn:hover,.dw-dialog .dai-rich-field .mce-btn.mce-active{background:#ede4f3}
.dw-dialog .dai-rich-field .wp-switch-editor{border:1px solid #d8dce5!important;background:#f7f8fa!important}
.dw-dialog .dai-rich-field .mce-ico{color:#394254}
.dw-dialog .dai-rich-field iframe{display:block;max-width:100%;border:0}
.dw-dialog .dai-rich-field textarea.wp-editor-area{width:100%;box-sizing:border-box;min-height:320px;padding:14px;font:14px/1.6 monospace}
