/* Shared LearnPress surfaces. Preserve plugin actions, status meanings and timers. */
.medyany-theme.learnpress-page { --lp-primary-color:#c7353b; --lp-secondary-color:#a92930; --lp-border-color:#e5dfd8; --lp-color-base:#292624; }
.medyany-theme :is(.lp-archive-courses,#learn-press-profile,#learn-press-checkout) { font-family:var(--font,Gilroy,Arial,sans-serif); color:#292624; }
.medyany-theme :is(.lp-archive-courses,#learn-press-profile,#learn-press-checkout) :is(button,input,select,textarea) { font-family:inherit; }
.medyany-theme :is(.lp-archive-courses,#learn-press-profile) .lp-content-area { width:100%; max-width:none; padding-inline:0; }
.medyany-theme :is(.lp-archive-courses,#learn-press-profile) { min-width:0; }
.medyany-theme .lp-archive-courses .lp-courses-bar { gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.medyany-theme .lp-courses-bar .search-courses { min-width:0; flex:1 1 240px; max-width:440px; }
.medyany-theme .lp-courses-bar .search-courses input { width:100%; min-width:0; min-height:48px; padding-right:48px; border-radius:10px; background:#faf8f5; border-color:#d8cec5; }
.medyany-theme .learn-press-courses .course-item { overflow:hidden; border-radius:18px; border-color:#e5dfd8; background:#fff; }
.medyany-theme .learn-press-courses .course-title { font-size:22px; line-height:1.35; color:#292624; }
.medyany-theme .learn-press-courses .course-content { padding:24px; }
.medyany-theme .learn-press-courses .course-footer { border-color:#e5dfd8; }
.medyany-theme #learn-press-profile .lp-profile-content { min-width:0; }
.medyany-theme #learn-press-profile .profile-tabs { border-radius:14px; border-color:#e5dfd8; }
.medyany-theme #learn-press-profile :is(.lp-tab-sections,.profile-tabs ul) { flex-wrap:wrap; }
.medyany-theme #learn-press-profile :is(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea) { max-width:100%; min-height:46px; border-radius:9px; border-color:#c8bdb3; }
.medyany-theme #learn-press-profile table { display:block; max-width:100%; overflow-x:auto; }

/* Light, high-contrast semantic notices: not white text on fluorescent red/green. */
.medyany-theme :is(.learn-press-message,.lp-toast.toastify) {
	--pm-notice-bg:#eef5fc; --pm-notice-ink:#214e7a; --pm-notice-border:#b9cfe5;
	box-sizing:border-box; max-width:100%; padding:16px 20px; border:1px solid var(--pm-notice-border); border-radius:12px;
	background:var(--pm-notice-bg); color:var(--pm-notice-ink); font-family:var(--font,Gilroy,Arial,sans-serif);
	font-size:16px; font-weight:500; line-height:1.55; text-transform:none; overflow-wrap:anywhere; align-items:flex-start; gap:12px;
}
.medyany-theme :is(.learn-press-message,.lp-toast.toastify).success { --pm-notice-bg:#edf7ef; --pm-notice-ink:#205b38; --pm-notice-border:#b9d8c2; }
.medyany-theme :is(.learn-press-message,.lp-toast.toastify).error { --pm-notice-bg:#fff0ef; --pm-notice-ink:#902a2d; --pm-notice-border:#e9bcba; }
.medyany-theme :is(.learn-press-message,.lp-toast.toastify).warning { --pm-notice-bg:#fff8e8; --pm-notice-ink:#795313; --pm-notice-border:#e6d3a3; }
/* LearnPress sets margin:0 !important, so inline spacing must override that reset. */
.medyany-theme .learn-press-message:not(.fixed) { margin-block:20px 24px !important; }
.medyany-theme .learn-press-message::before { flex:0 0 22px; width:22px; margin:2px 0 0; font-size:20px; line-height:1.2; color:inherit; }
.medyany-theme :is(.learn-press-message,.lp-toast.toastify) a { color:inherit; text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.medyany-theme .learn-press-message p { margin:0; font-size:inherit; line-height:inherit; }
.medyany-theme .learn-press-message.fixed { width:calc(100% - 32px); max-width:560px; margin-inline:auto !important; color:var(--pm-notice-ink); z-index:1000000; box-shadow:0 12px 40px #30241c20; }
.medyany-theme .lp-toast.toastify { width:max-content; max-width:min(460px,calc(100% - 32px)); padding:18px 56px 18px 20px; min-height:64px; box-shadow:0 10px 36px #30241c24; z-index:1000000; }
.medyany-theme .lp-toast.toastify .toast-close { position:absolute; top:8px; right:6px; display:grid; place-items:center; width:44px; height:44px; padding:0; margin:0; opacity:1; color:inherit; border:0; border-radius:8px; }
.medyany-theme .lp-toast.toastify .toast-close::before { color:inherit; font-size:16px; }
.medyany-theme .lp-toast.toastify .toast-close:hover { background:#00000008 !important; }
.medyany-theme :is(.learn-press-message,.lp-toast.toastify) :focus-visible { outline:3px solid currentColor; outline-offset:3px; }

/* Both native LP dialogs (legacy overlay and current React quiz modal). */
.medyany-theme .lp-overlay { background:#24201dcc; }
.medyany-theme .lp-modal-dialog { box-sizing:border-box; min-height:100vh; min-height:100dvh; padding:16px; }
.medyany-theme .lp-modal-dialog .lp-modal-content { display:flex; flex-direction:column; width:540px; max-width:100%; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); border:1px solid #e5dfd8; border-radius:18px; color:#292624; font-family:var(--font,Gilroy,Arial,sans-serif); box-shadow:0 24px 80px #0003; }
.medyany-theme .lp-modal-dialog .lp-modal-header { flex:0 0 auto; background:#faf6f1; border-color:#e5dfd8; padding:22px 24px; }
.medyany-theme .lp-modal-dialog .lp-modal-header h3 { color:#292624; font-size:22px; line-height:1.35; font-weight:700; }
.medyany-theme .lp-modal-dialog .lp-modal-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.medyany-theme .lp-modal-dialog .lp-modal-body .main-content { max-height:none; padding:24px; overflow:visible; font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.medyany-theme .lp-modal-dialog .lp-modal-body .main-content > :first-child { margin-top:0; }
.medyany-theme .lp-modal-dialog .lp-modal-body .main-content > :last-child { margin-bottom:0; }
.medyany-theme .lp-modal-dialog .lp-modal-footer { display:flex; justify-content:flex-end; gap:12px; flex-wrap:wrap; flex:0 0 auto; padding:20px 24px; border-top:1px solid #e5dfd8; background:#faf8f5; }
.medyany-theme #lp-modal-window { box-sizing:border-box; width:480px; max-width:calc(100% - 32px); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; padding:28px; border:1px solid #e5dfd8; border-radius:18px; font-family:var(--font,Gilroy,Arial,sans-serif); box-shadow:0 24px 80px #0003; }
.medyany-theme #lp-modal-window #lp-modal-content { color:#292624; font-size:18px; line-height:1.6; text-align:left; overflow-wrap:anywhere; }
.medyany-theme #lp-modal-window #lp-modal-buttons { flex-wrap:wrap; gap:12px; }
.medyany-theme :is(.lp-modal-dialog,#lp-modal-window) :is(.lp-button,.btn-yes,.btn-no) { box-sizing:border-box; min-height:48px; height:auto; margin:0 !important; padding:12px 20px; border:1px solid #c7353b; border-radius:10px; background:#c7353b; color:#fff; font:600 16px/1.4 var(--font,Gilroy,Arial,sans-serif); white-space:normal; text-transform:none; cursor:pointer; }
.medyany-theme :is(.lp-modal-dialog,#lp-modal-window) :is(.btn-no,.modal-button-cancel,.lp-button[data-type=cancel]) { border-color:#bdb1a7; background:#fff; color:#51463e; }
.medyany-theme :is(.lp-modal-dialog,#lp-modal-window) :is(button,a):focus-visible { outline:3px solid #a92930; outline-offset:3px; }
.medyany-theme :is(.lp-modal-dialog,#lp-modal-window) button:hover { filter:brightness(.96); }
.medyany-theme .pmcs-panel { font-family:var(--font,Gilroy,Arial,sans-serif); }
.medyany-theme .pmcs-panel .pmcs-button { font-family:inherit; }
/* A card heading is not an article section: resist late generic h2 typography. */
.medyany-theme .pmcs-panel > h2 { margin:0 0 16px; padding:0; }
.medyany-theme .pmcs-panel > .pmcs-help { margin:14px 0 0; }
@media(max-width:520px) {
	.medyany-theme :is(.learn-press-message,.lp-toast.toastify) { font-size:15px; }
	.medyany-theme .learn-press-message { padding:16px; }
	.medyany-theme .lp-modal-dialog .lp-modal-header { padding:18px 20px; }
	.medyany-theme .lp-modal-dialog .lp-modal-body .main-content { padding:20px; }
	.medyany-theme .lp-modal-dialog .lp-modal-footer { padding:16px 20px; }
	.medyany-theme #lp-modal-window { padding:24px 20px; }
	.medyany-theme :is(.lp-modal-dialog,#lp-modal-window) :is(.lp-button,.btn-yes,.btn-no) { flex:1 1 120px; }
}
@media(prefers-reduced-motion:reduce) {
	.medyany-theme :is(.lp-overlay,.lp-toast.toastify,.learn-press-message) { transition:none; animation:none; }
}
