/* Mission Academy / Escola de Missão — base styles (theme-agnostic) */
:root { --msa-navy: #1d2a3a; --msa-gold: #c8a24a; --msa-sand: #f3efe6; --msa-line: #e2ddd2; }
.msa-button { display: inline-block; background: var(--msa-navy); color: #fff !important; border: 0; border-radius: 6px; padding: .7em 1.3em; font-weight: 600; text-decoration: none; cursor: pointer; font-size: 1rem; }
.msa-button:hover { background: #2c3f57; }
.msa-button-ghost { background: transparent; color: var(--msa-navy) !important; border: 2px solid var(--msa-navy); }
.msa-link { background: none; border: 0; color: #a33; cursor: pointer; text-decoration: underline; padding: 0; }
.msa-notice { background: var(--msa-sand); border-left: 4px solid var(--msa-gold); padding: .8em 1em; margin: 1em 0; border-radius: 4px; }
.msa-notice-error { border-left-color: #b4412f; }
.msa-progress { background: var(--msa-line); height: 10px; border-radius: 6px; overflow: hidden; margin: .6em 0 .2em; }
.msa-progress-sm { height: 6px; }
.msa-progress-bar { background: var(--msa-gold); height: 100%; }
.msa-progress-label { font-size: .9em; color: #555; margin: 0 0 1em; }
.msa-outline { padding-left: 1.2em; }
.msa-outline-session { margin: 1em 0; font-weight: 600; }
.msa-outline-session ul { font-weight: 400; margin: .4em 0; }
.msa-outline .msa-locked > a { color: #888; }
.msa-outline .msa-done > a::after { content: " ✓"; color: var(--msa-gold); }
.msa-lock, .msa-mins, .msa-hint { color: #777; font-size: .85em; font-weight: 400; }
.msa-crumb { font-size: .9em; }
.msa-video { position: relative; margin: 1em 0; }
.msa-video iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.msa-video-self .wp-video { width: 100% !important; max-width: 100%; }
.msa-video-self video, .msa-video-self .mejs-container { width: 100% !important; max-width: 100%; }
.msa-video-self .mejs-container:not(.mejs-container-fullscreen) { height: auto !important; aspect-ratio: 16/9; }
.msa-video-self .mejs-container:not(.mejs-container-fullscreen) .mejs-inner, .msa-video-self .mejs-mediaelement, .msa-video-self .mejs-layers { height: 100%; }
.msa-video-self video { height: auto; aspect-ratio: 16/9; display: block; }
.msa-video-placeholder { background: var(--msa-sand); aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; color: #666; border-radius: 6px; }
.msa-download { margin: .4em 0 1.4em; display: flex; align-items: center; gap: .7em; flex-wrap: wrap; }
.msa-transcript { border-top: 1px solid var(--msa-line); margin: 1.5em 0; padding-top: .6em; }
.msa-transcript summary { cursor: pointer; font-weight: 600; }
.msa-transcript h4 { margin: 1.2em 0 .3em; }
.msa-reflection, .msa-guide { background: var(--msa-sand); padding: 1em 1.2em; border-radius: 6px; margin: 1.5em 0; }
.msa-nav { display: flex; justify-content: space-between; gap: 1em; margin-top: 2em; border-top: 1px solid var(--msa-line); padding-top: 1em; }
.msa-done { color: #2e7d32; font-weight: 600; }
.msa-quiz fieldset { border: 1px solid var(--msa-line); border-radius: 6px; margin: 1em 0; padding: 1em; }
.msa-quiz legend { font-weight: 600; float: left; width: 100%; padding: 0; margin: 0 0 .6em; line-height: 1.4; }
.msa-quiz legend + * { clear: both; }
.msa-quiz label { display: block; margin: .4em 0; }
.msa-quiz textarea { width: 100%; }
.msa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2em; }
.msa-card { border: 1px solid var(--msa-line); border-radius: 8px; padding: 1.2em; background: #fff; }
.msa-card h3 { margin-top: 0; }
.msa-price { font-size: 1.3em; font-weight: 700; color: var(--msa-navy); }
.msa-tiers { color: #555; }
.msa-checkout form label { display: block; margin: .7em 0; }
.msa-checkout form input:not([type=radio]):not([type=checkbox]) { display: block; width: 100%; max-width: 420px; padding: .5em; margin-top: .25em; }
.msa-inline { display: flex !important; gap: .5em; align-items: center; }
.msa-inline-form { display: inline-flex; gap: .5em; margin: .4em .6em .8em 0; flex-wrap: wrap; }
.msa-table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: .95em; }
.msa-table th, .msa-table td { border-bottom: 1px solid var(--msa-line); padding: .55em .5em; text-align: left; vertical-align: top; }
.msa-team { margin: 2em 0; }
.msa-receipt { max-width: 720px; border: 1px solid var(--msa-line); padding: 1.5em; border-radius: 8px; background: #fff; }
.msa-receipt-head { display: flex; justify-content: space-between; border-bottom: 3px solid var(--msa-gold); padding-bottom: .6em; margin-bottom: 1em; }
.msa-receipt-title { font-weight: 700; }
@media print { .msa-print, header, footer, nav { display: none !important; } .msa-guide, .msa-receipt { border: 0; } }

/* 0.2.4 team dashboard */
.msa-team h3 .msa-team-kind { font-weight: 400; color: var(--msa-muted, #5F646C); }
.msa-table .msa-row-actions { margin-top: .25em; font-size: .85em; }
.msa-table .msa-row-actions form { display: inline; margin: 0; }
.msa-table tr.msa-empty td { color: var(--msa-muted, #5F646C); font-style: italic; text-align: center; padding: 1.2em .5em; }
/* Lesson quiz (0.3.3): short, gentle check on the lesson page */
.msa-lesson-quiz { border: 1px solid var(--msa-line); border-top: 4px solid var(--msa-gold); border-radius: 8px; padding: 1em 1.2em 1.2em; margin: 1.8em 0; background: #fff; }
.msa-lesson-quiz h3 { margin: .2em 0 .3em; }
.msa-lesson-quiz fieldset, .msa-lesson-quiz .msa-question { border: 1px solid var(--msa-line); border-radius: 6px; margin: .9em 0; padding: .8em 1em; }
/* 0.3.4: legend floated so the question sits fully inside the box (a native legend straddles the top border). */
.msa-lesson-quiz legend { font-weight: 600; float: left; width: 100%; padding: 0; margin: 0 0 .5em; line-height: 1.4; }
.msa-lesson-quiz legend + * { clear: both; }
.msa-lesson-quiz label { display: flex; gap: .55em; align-items: flex-start; margin: .45em 0; padding: .35em .4em; border-radius: 4px; cursor: pointer; line-height: 1.4; }
.msa-lesson-quiz label:hover { background: var(--msa-sand); }
.msa-lesson-quiz input[type=radio], .msa-lesson-quiz input[type=checkbox] { margin-top: .25em; flex: none; }
.msa-q-right { border-color: #9cc9a0 !important; background: #f4faf4; }
.msa-q-wrong { border-color: #e2b7a9 !important; background: #fdf6f3; }
.msa-q-mark { font-weight: 600; font-size: .85em; margin-left: .4em; white-space: nowrap; display: inline-block; }
.msa-q-right .msa-q-mark { color: #2e7d32; }
.msa-q-wrong .msa-q-mark { color: #a04a2f; }
.msa-quiz-pass { border-left-color: #2e7d32; }
.msa-quiz-retry { border-left-color: var(--msa-gold); }
.msa-choice { margin: .35em 0; padding: .3em .4em; border-radius: 4px; }
.msa-choice-key { font-weight: 600; color: #2e7d32; }
.msa-choice-wrong { color: #a04a2f; background: #fbe9e3; text-decoration: line-through; text-decoration-thickness: 1px; }
.msa-choice-key { background: #e7f3e8; }
.msa-choice-tag { font-weight: 400; font-size: .85em; color: #555; text-decoration: none; display: inline-block; }
.msa-retake { margin: .8em 0 0; font-size: .92em; }
.msa-explain { margin: .6em 0 0; padding: .55em .8em; background: var(--msa-sand); border-radius: 4px; font-size: .92em; }
.msa-explain span { font-weight: 600; }
.msa-continue { margin: .6em 0 0; }
.msa-quiz-gate { margin: .4em 0 0; }

/* 0.3.5/0.3.6 empty states (My Courses, Team Dashboard, Receipt) */
.msa-empty-state { max-width: 640px; padding: 1.4em 1.5em; border: 1px solid var(--msa-line, #E3DED3); border-radius: 8px; background: #fff; }
.msa-empty-state p { margin: 0 0 .6em; }
.msa-empty-state .msa-empty-sub { color: var(--msa-muted, #5F646C); font-size: .95em; }
.msa-empty-state .msa-empty-actions { margin: 1em 0 0; display: flex; flex-wrap: wrap; gap: .6em; }
.msa-empty-state .msa-empty-actions .msa-button { margin: 0 !important; }

/* 0.3.8: Release stays a small text link even where the theme styles every <button> */
body.mau .post-content .msa-row-actions button.msa-link[type="submit"], body .msa-table .msa-row-actions button.msa-link[type="submit"], .msa-table .msa-row-actions button.msa-link, .msa-team button.msa-link { background: none !important; border: 0 !important; box-shadow: none !important; color: #a33 !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; height: auto !important; line-height: 1.4 !important; font-size: .85rem !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: underline !important; border-radius: 0 !important; }
/* 0.3.9: receipt on phones (Amount column was clipped) and a real button for Print */
.msa-receipt { overflow-x: auto; }
.msa-receipt .msa-print button { display: inline-block; background: transparent !important; color: var(--msa-navy) !important; border: 2px solid var(--msa-navy) !important; border-radius: 6px !important; padding: .55em 1.1em !important; font-family: inherit; font-weight: 600; font-size: .95rem; line-height: 1.2; cursor: pointer; }
@media (max-width: 600px) {
	.msa-receipt { padding: 1em; }
	.msa-receipt-head { gap: 1em; }
	.msa-receipt .msa-table { font-size: .82rem; }
	.msa-receipt .msa-table th, .msa-receipt .msa-table td { padding: .45em .35em !important; white-space: nowrap; }
	.msa-receipt .msa-table tbody td:first-child { white-space: normal; min-width: 8.5em; }
}
@media (max-width: 600px) {
	.msa-receipt .msa-table thead th:nth-child(3), .msa-receipt .msa-table tbody td:nth-child(3) { display: none; }
}
/* 0.3.12 order page with Stripe Embedded Checkout */
.msa-notice-success { border-left-color: #2e7d32; }
.msa-receipt-notice, .msa-pay-notice { box-sizing: border-box; margin-left: auto; margin-right: auto; }
.msa-receipt-notice { max-width: 720px; }
.msa-pay-notice { max-width: 980px; }
.msa-pay { max-width: 980px; margin-left: auto; margin-right: auto; border: 1px solid var(--msa-line); padding: 1.5em; border-radius: 8px; background: #fff; box-sizing: border-box; }
.msa-pay *, .msa-pay *::before, .msa-pay *::after { box-sizing: border-box; }
.msa-pay h3 { margin: 0 0 .7em; font-size: 1.05rem; color: var(--msa-navy); }
.msa-pay-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.6em; align-items: start; }
.msa-pay-form { grid-column: 1; grid-row: 1; min-width: 0; }
.msa-pay-summary { grid-column: 2; grid-row: 1; background: var(--msa-sand); border-radius: 8px; padding: 1.1em 1.2em; }
.msa-pay-item { margin: 0 0 .6em; line-height: 1.4; }
.msa-pay-item span, .msa-pay-who { color: #555; font-size: .9em; }
.msa-pay-lines { margin: .4em 0 .9em; }
.msa-pay-lines td:last-child, .msa-pay-lines th:last-child { text-align: right; white-space: nowrap; padding-right: 0; }
.msa-pay-lines td:first-child, .msa-pay-lines th:first-child { padding-left: 0; }
.msa-pay-lines tfoot th { white-space: nowrap; border-bottom: 0; font-size: 1.05em; color: var(--msa-navy); padding-top: .7em; }
.msa-pay-who { margin: 0 0 .6em; line-height: 1.45; word-break: break-word; }
.msa-pay-back { margin: 0; font-size: .9em; }
.msa-checkout-mount { min-height: 320px; }
.msa-pay-loading { color: #666; padding: 2em 0; text-align: center; }
.msa-pay-secure { color: #666; font-size: .85em; margin: 1em 0 0; display: flex; gap: .45em; align-items: baseline; }
.msa-pay-secure svg { flex: none; position: relative; top: .1em; color: var(--msa-gold); }
@media (max-width: 860px) {
	.msa-pay { padding: 0; border: 0; background: transparent; }
	.msa-pay-head .msa-receipt-title { white-space: nowrap; }
	.msa-pay-summary { padding: .9em 1em; }
	.msa-pay-grid { grid-template-columns: minmax(0, 1fr); gap: 1.1em; }
	.msa-pay-summary { grid-column: 1; grid-row: 1; }
	.msa-pay-form { grid-row: 2; }
	.msa-pay-head { gap: 1em; }
}
/* 0.3.15: order summary totals table fills its box on phones (theme turns tables into display:block below ~960px) */
.msa-pay-summary table.msa-pay-lines { display: table !important; width: 100% !important; max-width: 100%; overflow: visible !important; table-layout: auto; }

/* 0.3.19 Gift a course */
.msa-gift-access { max-width: 560px; }
.msa-gift-access .msa-gift-courses { margin: .4em 0 1em 1.2em; }
.msa-gift-access .msa-gift-courses li { font-weight: 600; margin: .2em 0; }
.msa-gift-form input[type=password], .msa-gift-form input[type=email] { width: 100%; max-width: 420px; box-sizing: border-box; padding: .6em .7em; font-size: 1rem; }
.msa-gift-form .msa-button { width: 100%; max-width: 420px; }
.msa-gift-until { display: inline-block; font-size: .85em; background: var(--msa-sand); border-radius: 12px; padding: .15em .7em; margin: 0 0 .8em; color: #5c4a1c; }
.msa-card-expired { opacity: .95; }
.msa-card-expired .msa-progress-bar { background: #b9b2a3; }
.msa-expired p { margin: .3em 0; }
.msa-expired .msa-button { margin-top: .4em; }
/* 0.3.20: plugin buttons wrap instead of clipping on phones (Uncode sets white-space:nowrap on <button>) */
.msa-button, button.msa-button, .msa-form button[type="submit"], .msa-form input[type="submit"] { white-space: normal !important; height: auto !important; max-width: 100%; box-sizing: border-box; line-height: 1.3 !important; overflow-wrap: break-word; text-align: center; }
.msa-gift-form .msa-button, .msa-gift-form button[type="submit"] { display: block !important; width: 100% !important; max-width: 420px; min-height: 48px; padding: .8em 1em !important; }
